I'd strongly recommend hiring a professional programmer and let them help make the decision and then do the development. What you want to do is not trivial. Programming Access and writing a robust web-based application are the equivalent of learning to add and doing calculus.
If you choose to go it alone then my only guidance would be to use PHP is you are doing MySQL as the back-end and .NET if you are using a SQL Server back-end. I develop in both environments and those pairs work best together.
Categories: R&D and Quality
Hello,
I'm trying to figure out the best place to start in developing a cloud version of my desktop database application. Let me first describe what I have.
My business is based on selling licenses of a client/server application built on Microsoft Access. The UI is very feature rich and complex. The backend data file has about 80 tables- it's a relational database. Usually there are anywhere from 1 to 12 or so users working simultaneously in the app (in the same office, over a LAN). It is for a niche industry and does pretty well in function and in sales.
However, I need to offer a cloud version of the software in order to compete, and MS Access is not set up for this, even with the Access 2010/SharePoint functionality.
The requirements will be that there might be over 1000 different companies, each possibly with multiple users in their account at the same time, using the application simultaneously. And each company might have 10,000 records in a few different tables. So it needs to be a robust system.
I'm not sure what's the best platform to use. I only have experience with Access so I'd have to learn whatever new program I go with- that's a big consideration (it would be great if I could develop the UI in Access first and just convert it but I don't think that's doable). The back end database should be SQL or mySQL I'm pretty sure. But the UI web pages? Not sure there- PHP, Java, ASP?
From the user's pov, they would all go to a basic url to log in with a user name and password, then they'd be taken to a web page where they'd have access to only their company's data, with a lot of functionality where they enter/edit data. Again, there might be 7 people working in the same data set at the same time.
My competition has set up just this sort of system and it seems to work well, though I don't know what language or program they used. Any advice on where to start would be very appreciated.
Thanks very much for the advice. I would be looking for a programmer when I'm ready to do this step (I have to get financing secured). My problem was not knowing exactly where to start looking, what skill set to look for in a programmer. This helps point the way and I appreciate that. I was thinking it would be very long shot for me to be able to program it myself and that seems to be true.
If you are getting financing for the project then another thing to look at would be some of the 3rd party GUI controls you can buy if you go with the .NET/SQL Server option. Telerik, ComponentOne and Dundas are a couple vendors that make packaged controls that speed along the development of the user interface. Your programmer would need to evaluate which works best but paying $1000 for controls out of a box could save weeks or months of development time.
I second what smadeira has told you.
The first "programmer" to get is someone who is capable of architecting the solution set with you. Look for someone with experience with more than one successful project like yours who can discuss with you - in an interview - what options s/he thinks you have. This person needs to be competent in front end (GUI), back end(DB) and business layer(your application rules and connecting front to back) building.
There are many tools and packages out there that can save you a ton of time and money. I'm not an architect or I'd give you a list that might help in your interviewing.
It's best if this "architect" can also program and can lead a "junior programmer." As smadeira said, this is a major undertaking. You may be able to work with one programmer/architect, but don't short change the upfront architecting/designing piece or you'll pay in hours and hours of programming.
When using two people of different levels you have to have them working together for some time. A cold hand off doesn't work, the second person spends much time reengineering to meet his/her style, in addition to the learning curve. But the hand off is possible, when the second person has had time to learn and appreciate the work of the senior person and feels competent to step up to ownership of the project.
Hope this helps.
Susan
Oops, maybe I'm a little slow on the uptake. Perhaps you are the second programmer? Then you wouldn't have the hand-off problem as you would be working together from the start :D
Thanks for the advice on that. I think this would actually be my approach, that is to find a lead programmer and basically have myself as the second programmer in terms of following up and understanding the system that is set up. I'll have to look into finding the right program to set up the GUI, as that is extremely important to get right, and saving time and money is crucial. Thanks for the advice- it helps me to know where to even get started.
If you're converting from Access, then a natural migration path is ASP.NET (using VB.NET) for the web application, and SQL Server for the database.
We did a migration a bit like this a while ago. There are upsizing tools for moving an MS Access database to SQL Server, and the SQL syntax is almost identical. Other databases deal with some things differently, like date formatting and how to handle wildcards in LIKE clauses.
If you're used to the controls/UI for programming an MS Access application, then Visual Studio will be quite familiar as well.
If you go on http://www.asp.net , you'll see Microsoft has a few good programs for start-ups and small software companies, like Website Spark. They provide discounted or free licenses to get started.
However, you should definitely consider the licensing costs long-term, especially in terms of deployment. If you're putting the application "in the cloud" then likely you'll need be paying monthly for MS licenses under their SPLA pricing. They have special Web editions for both SQL Server and Windows Server, and I believe standard retail pricing is $15/month/each (might be per-CPU.. you'll need to check).
Ah, thanks Justin- that is very helpful information. I was thinking it would be an ASP.net and SQL combo kind of thing. It's all in the details, of course. The pricing issue could be a major thing to accommodate. But I do have somewhere to start now. Thanks for the help.
Do yourself a favor and hire a professional development organization.
That way you can focus on marketing/sales.
RSS
