I have "inherited" several old legacy applications. These applications are used in the healthcare industry (radiology specifically) to schedule appointments, process patients through a facility, bill insurances, post incoming cash, etc. The database is proprietary, and makes use of old indexed, chained files. The application is written in a dialect of Dartmouth BASIC... pretty old stuff. Still functional, but needs to be re-written in terms of a front and back-end that can be more widely marketed and supported. I'm really interested in gathering opinions from developers. I'm assuming I'll use something like MySQL for the back-end, as I think SQLServer or Oracle are overkill for these facilities. The applications run in closed environments, so while we could re-write in terms of a web application, it isn't imperative. What's a good, solid front-end for writiing a multi-user application? Java? C? Hope I'm giving enough info. Thanks...C.
I can't give you THE right thing to choose, but I'll try to give you some hints.
First of all : the DBMS. MySQL could be a good choice, but note that MySQL is not free for professional use. Moreover, don't ask MySQL to be as secure as Oracle ! Concerning performance, the front-end API will play an important role, but be aware that you would have more optimization choices with Oracle (though it would be long and hard to configure Oracle "optimally" for your own needs if you never worked in an Oracle environment). Basically, Oracle offers much more possibilities at the price of complexity. I will not speak much of SQL Server for I don't know it well, but from what I know, I think it might be a solution just between the first two ones, and might be a good compromise for you : finer tuning than MySQL with less complexity than Oracle.
Now, concerning your front-end. If you want a cross-platform application, choose Java. If performance is crucial : choose a C/C++ solution (JDBC, even optimized with autocommit=false, batch execution and row prefetching, is still much slower : 5 to 10 times from my experience compared to Oracle C++ API : OCCI). And if you want a nice interface (in a windows environment), choose C# (which I expect to be as slow as Java). You could also consider mixing these solutions, depending on your needs, or decide to be more homogeneous : it's up to you !
Note that what I said here is only my own opinion, but I hope I will have helped you a little.
Opinions were precisely what I was asking for...thanks. One thing the users of these systems are used to is instaneous response times. Since they run on character-based screens (they run a terminal emulator under Windows that connects them to a Linux host), they are used to 1) working on the keyboard, and 2) not waiting around for pages/forms to load. But I have to face the fact that this old proprietary stuff can't be supported by a wide range of people (i.e., I'm the only one left!). In addition, we seem to live in a point-and-click world. I not only need a better (GUI) front end, but need to get the back-end into an SQL-compliant format.
So thank you for your advice. Your opinions (particularly as to performance) really give me something to chew on. I have been thinking in terms of MySQL mainly because I'm an open-source fan. Maybe I should explore a .NET framework (using Java or C#). Again, thanks.
If you are subject to HIPPA, it is practically impossible to use MySQL. While it can be done, you'll dedicate about one technical administrator per 1200 patients to managing and reporting on HIPPA compliance with MySQL. That's based on the actual track records reported at two University hospitals (they've both switched to commercially support database engines).
If you are not subject to HIPPA, then MySQL works well. You can build a nice database/application/web server configuration scaled to your performance needs, and use clients with nothing more than a web browser. This is inexpensive, easily scalable, and allows you to concentrate all of the "geek" stuff on the servers.
You have a number of choices as far as development platform, running from Perl/PHP to Java to propriatary tools like Delphi, PowerBuilder, or .NET. Pick the one that suits your needs, and run with it!