Developing for Healthcare - .NET vs J2EE?
An anonymous reader asks: "Our small southern shop (an eleven man team) is about to commence development on some medical software geared for physician's offices and hospitals. Since we have never developed in this area before (our primary source of income comes from developing software for regional transportation offices of the government) we are at loss for the reigning technologies. The two technologies we are considering are J2EE and .NET. What are the opinions of the Slashdot crowd? Surely others have developed for the monstrous healthcare industry. Thanks!"
"My senior manager recommended using .NET. His argument is that most desktops he has seen in hospitals already run Windows, the development time will be cut down for this small to mid-size project, rich desktop clients are possible and there will be no application server costs involved. He also contends that .NET has more templates and abilities than J2EE (which is simply 'web targeted' in his opinion.
Half of my coworkers are with him and the other half have suggested using J2EE due to portability--we do not want to cut off any potential sources of income with an already dwindling future. Has GNU/Linux become widespread in the healthcare industry that we should consider developing for it too? What about Mac OS X server?
The last problem we have is winning over the IT staff hearts. They are the ones who ultimately give the go ahead to purchase the software. Java gets a bad rap for being slow, while Microsoft (and by extension) .NET has the shadow of being insecure. How can you possibly win?"
Half of my coworkers are with him and the other half have suggested using J2EE due to portability--we do not want to cut off any potential sources of income with an already dwindling future. Has GNU/Linux become widespread in the healthcare industry that we should consider developing for it too? What about Mac OS X server?
The last problem we have is winning over the IT staff hearts. They are the ones who ultimately give the go ahead to purchase the software. Java gets a bad rap for being slow, while Microsoft (and by extension) .NET has the shadow of being insecure. How can you possibly win?"
I haven't done much with .NET but I can tell you that J2EE will have a longer life than .NET - the last thing you need is Microsoft changing their APIs yet again to some god-forsaken, bloated, filth. I don't imagine that every healthcare installation uses Microsoft platforms everywhere, either. You're likely to encounter free-thinking IT managers with Linux in various, critical, places where .NET won't cut the mustard. And don't any of you retort with Mono, either. Mono is a curse on FOSS and should be treated with the contempt it deserves!
I agree with your strategy, but I would suggest changes to your suggested frameworks:
Don't use Hibernate, use JDO (Java Data Objects). Hibernate is a great product, but it's single-vendor and a proprietary API. JDO is a standard, with 30 competing vendors, some open-source, and is better designed to cope with larger systems.
Don't use Struts (or just Struts), use JSF(Java Server Faces). This transition is recommended by the creator of Struts. JSF is much simpler to code for, and is a standard API that is being widely accepted by different vendors (you can include free JSF components from, say, Sun and Oracle in the same application). There are visual form designers to speed development.
If you are developing large projects, it makes sense to develop to standards that allow you to switch between competing (possibly commercial) products.
So, You're saying that slashdot should scratch that "Stuff that matters" from its logo just because some people post angry replies full of "You suck, Thats screwed and Take a course!!!"???? If slashdot is a waste of time it is your fault. If slashdot is useful it is your fault. Slashdot is what "you" make it. Someone should take your semi-informative post and reword it so it's appealing.
Cheers,
The government which is strong enough to protect you from everything is strong enough to take everything from you.