Slashdot Mirror


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?"

406 of 645 comments (clear)

  1. ARGH!!!!!! by Anonymous Coward · · Score: 5, Insightful
    1. Java is not slow
    2. .NET is not insecure
    1. Re:ARGH!!!!!! by alpha_foobar · · Score: 3, Informative

      1. It is possible to build faster applications using a language that compiles to native/is not interpreted. Though Java is not much slower (if slower) than other languages when implemented with this in mind. For a really slow technology try microsoft distributed queries.

      2. It is possible to build very slow .NET applications. And all technologies are only secure as the code that was developed and the architecture that they are run on. You don't have to run .NET on windows, try it with mono.net with a LAMP(ish) server build.

    2. Re:ARGH!!!!!! by Bronster · · Score: 1

      mono.net with a LAMP(ish) server build.

      What, Linux, Apache, Mono, Postgresql? It's good that there's a .NET Postgresql Client API that seems to work well.

    3. Re:ARGH!!!!!! by Bastian · · Score: 1, Informative

      If Java is not slow, then how come every Java app I use at work just frickin' CRAWLS compared to similar software written in native code, and generally takes up at least twice as much RAM to boot?

      My real world example for showing why I don't like Java at work:
      Step 1: Start up Excel. Load about 20 massive spreadsheets. Also start up Safari and Firefox. And get some MP3s playing on iTunes. And start XCode and tell it to start compiling the app I've been working on. Go back to Excel, and start futzing with the spreadsheets. Did I mention that those spreadsheets have multiple worksheets and cascades of formulas all over the place? Anyway, notice how the computer is slowing down, but it's not ready to die or anything.

      Step 2: Quit EVERYTHING. Load up the Java PDF viewer whose name escapes me because I got rid of it a couple months ago. Watch the program take about 40 seconds to load. Open a 20-page PDF file, watch it take even longer to display. Listen to the hard drive make a bunch of unholy noise the whole time. When it comes up, scroll the PDF. While it's struggling to draw the next page, try clicking on the Finder and see if a Finder window comes up anytime soon.

      Yeah, I've heard that the OS X JVM is slow. I think that it's still a hit against Java, because the only strong reason I can think of to use Java for things other than applets is its platform-independence. For that to be a good argument, Java has to be viable on a whole host of platforms, not just Windows and (I assume), Solaris. So if you want multiple platforms, Java is slow because it sucks on most platforms, and if you only want one platform, Java is slow because you might as well be writing native code.

    4. Re:ARGH!!!!!! by CountBrass · · Score: 1

      Java is not slow.

      The JVM can take into account of the particular runtime environment it finds itself in (versions of libraries, capabilities of the cpu etc) it can actually be faster than a compiled application. It can also intelligently cache bits of content that regularly accessed.

      I see this running Websphere: my J2EE apps noticably speed up over the first day or two of running as the app server profiles the application.

      --
      Bad analogies are like waxing a monkey with a rainbow.
    5. Re:ARGH!!!!!! by kernelistic · · Score: 2, Insightful

      A properly designed Java app will almost always be slower than its properly-designed C counterpart. The time-to-market might be in the Java app's favor but when it comes to run-time performance, native API (Which are usually written in C) applications take the cake.

    6. Re:ARGH!!!!!! by EvilTwinSkippy · · Score: 2, Insightful
      Yes, but your app running of J2EE isn't going to die 6 months down the line if some well meaning nurse runs Windows Update.

      (Awaits the volley of flames)

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    7. Re:ARGH!!!!!! by EvilTwinSkippy · · Score: 1
      How come every US made car I use at work sucks. They ficken craws compares to stuff made by Honda, and chew up twice as much gas to boot.

      Real Word Example. Start my honda. Rev it up to the yellow line 30 times. Also adjust the mirrors. Then, start the radio playing. Drive around for a little bit. And did I mention I haul ass?

      Now, I get out of my honda and I chain the Ford Focus to 30,000 lb trailer. Now, I rev the engine and I put the car in gear, and the tires start smoking, and I get nowhere. Then I redline the engine and thing fills with smoke, and I get parts flying everywhere.

      Yeah, I've heard the Ford trannies are a little delicate. I think that's still a hit against Ford...

      ----

      Seriously, a PDF viewer written in Java? Why not write a Fast-Fourier transform to run under GW basic.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    8. Re:ARGH!!!!!! by Asphixiat · · Score: 1

      Because were talking about back end server apps dufus - not client apps mac boi

      -----
      quitting smoking: day 5 :)

    9. Re:ARGH!!!!!! by jeremyp · · Score: 1

      I'll bet he's using pre 1.5 too. 1.5 isn't available for MacOSX yet - at least I've not seen it.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    10. Re:ARGH!!!!!! by hc00jw · · Score: 2, Insightful

      Why does your client side Java experiences have any impact on whether this person should use it server side or not? Beside the fact that I could write a PDF viewer in any language that would run as slow as you described, making your entire point about client side Java moot at any rate.

    11. Re:ARGH!!!!!! by Tim+C · · Score: 1

      So, you write an entire technology stack off because of one shitty application?

      Here's an anecdote right back at you - at work, I usually have multiple browser windows/tabs open, multiple editors, terminal sessions, Outlook, Word, Excel, etc, and JBuilder running our web app under WebLogic. No appreciable slow down at all, everything's as responsive as you could wish.

    12. Re:ARGH!!!!!! by BohKnower · · Score: 1

      Java IS NOT slow.

      I can continue with this thread until new year

    13. Re:ARGH!!!!!! by GreggBert · · Score: 1
      The article author mentions they are considering J2EE, not desktop Java. Please don't mix those two things up. J2EE is server side Java and even desktop Java (J2SE) Swing based apps are pretty snappy these days if written correctly. Look at IntelliJ Idea editor as an example of a desktop Java app that responds well. For non Swing based desktop Java apps that respond well look to Eclipse with its SWT implementation as an example.

      But please, do not confuse J2SE and J2EE in terms of performance.

      --


      If you don't understand anything I post, please accept that I ate paste as a small boy...
    14. Re:ARGH!!!!!! by dstech · · Score: 1

      It's a good thing you write in Java for a living. If you were writing in English, you'd be fired.

    15. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      Bzzzt - sorry, good try. Your comment would be valid if you s/C/C++/g, but I find that Java and C programs written by the same average programmer will tend to have the same performance.

    16. Re:ARGH!!!!!! by Gherald · · Score: 1, Funny

      > I can continue with this thread until new year

      After which Java will still be slow.

    17. Re:ARGH!!!!!! by Fulcrum+of+Evil · · Score: 1

      Seriously, a PDF viewer written in Java? Why not write a Fast-Fourier transform to run under GW basic.

      Isn't that the point? If Java is only usable for some apps, then why bother using it for client side?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    18. Re:ARGH!!!!!! by TekPolitik · · Score: 1
      I find that Java and C programs written by the same average programmer will tend to have the same performance.

      There's your problem. You're using the same "average" programmer to do both.

      First problem: an average programmer has no business using C or C++. They should stay in an environment that coddles them, as Java does (so does VB).

      Second problem: A programmer who uses Java 90% of the time simply will not have the skills to write efficient C or C++, although they will probably know techniques to make the most efficient possible Java.

      For typical GUI front-ends, Java and C or C++ may appear indistinguishable, but for the places where performance matters - huge memory use and huge processing requirements - C and C++ stomp all over Java.

      Take a top C or C++ programmer against a top Java programmer, implementing the same thing, and the C or C++ programmer will produce faster and more memory efficient code every time.

    19. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      There you go again, equating C with C++. If you read my post again, I am saying that C and Java will perform about the same. On any large-scale problem, C++ will outperform both, that is sure - but not for the reasons you mention. One word: templates. (And some people think the C++ templates are bad imitations of the real thing).

      And for your information, most GUI front-ends appear slower in Java due to the JIT process....

      Please do not be such an elitist. It doesn't suit you.

    20. Re:ARGH!!!!!! by mpcooke3 · · Score: 1

      I think most javas GUI are slow because they use lightweight, non-cached and poorly optimised GUI's like Swing rather than native toolkits like SWT.

    21. Re:ARGH!!!!!! by TekPolitik · · Score: 1
      C++ will outperform both, that is sure - but not for the reasons you mention. One word: templates.

      You are sadly, sadly deluded.

      Well-written C will actually outperform well-written C++.

    22. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      Most Java GUIs are slow because of two factors:

      First is the user's perception: first impressions count, and the first impression a user gets is that the UI is dog-slow, because most code gets executed for the first time and the JVM JIT's it. After using the same programm for an hour, the UI will have become responsive (actually after the first minute or so of usage) but the user will still believe that it is slow.

      Secondly, the Java JVM is very good at optimizing hot spots. The hot spots however do not present themselves in a GUI environment because typically the GUI code is composed of many little classes, all different, without specific hotspots that the JIT compiler can focus on.

    23. Re:ARGH!!!!!! by unoengborg · · Score: 1

      I have not much experience of installing the latest version of Oracle, does it use java in the install proceess? That would not be all that surprising, starting applications is something that is quite slow in Java.

      However this doesn't mean that running them once started is slow. From my experience .net is not that a fast starter either for that matter. I really don't know if its faster than java I have run too few .net programs to know if they were bad examples of .net just like Oracle JDeveloper is a bad example of java or it is something more general.

      One thing is clear the .net is made as a clone of java and use similar technology, so I would be surprised if there was any major differences in speeed.

      Or do you have your oppinion that java is slow from using Oracle JDeveloper, that is painfully slow, but that is not representative for Java apps in general. E.g. look at HSQLDB that is will be the database of the next version of OpenOffice in most cases it is 5-10 times faster than SQL server. And is in fact one of the fastest relational databases you can get.

      So prhaps you should rephrase to Oracle is slow, rather than Java is slow.

      If you are considering J2EE vs .Net then you start your application and than it just runs and runs (well perhaps not .nat). The startup time will be very small compared to the total time the application runs. Once Java is up and running it will not run any slower than C++, apart from mathematical trigonometry functions that seam to be misdesigned somehow in JDK 1.5. However I doubt that helthcare services will use these functions much.

      Speaking of slow. Have you ever seen Microsoft showing you any real performance figures from a distributed application running .net. I would be suprised if you have. The problem with .net and distributed applications is that the XML format is too verbose, unless you invest in really fast networking infrastrukture .Net is best on applications that can run on one single machine.

      One other thing to consider is what platforms is used. .Net runs only on Microsoft and nothing else. Well, there is mono, but its not 100% compaitble yet, and I doubt that it ever will, due to potential patent problems. Using Microsoft for mission critical servers is perhaps not the best choise for security as well as stability reasons.

      A helthcare system will contain a lot of sensitive information and should really be run on a secure OS. Trusted Solaris, or some Linux with SELinux Mandatory Access control enabled comes to mind. You could raise the security in Windows as well by introduceing DRM servers, but this introduces single point of failure.

      Last you have to consider the service you can get from your system provider. If you contact Microsoft support they will tell you to upgrade to the latest version of everythign before they even make a real effort solve your problem. They normally refuse to confirm that there are bugs in their software. Its almost like Microsoft employees are forbidden to mention it. They even have had to invent the word servicepack as euphemism for bug fix.

      The most important thing to a Microsoft support person is that you have a valid licence, the second most important thing is that you have upgraded to the latest version, the third most important thing is that it is not their fault.
      And last to actually help you with your problem
      To support organization of e.g. IBM, Sun, the most important thing is to help you, and then fix other stuff if necessary.

      --
      God is REAL! Unless explicitly declared INTEGER
    24. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      Depends on what you mean by well-written. If you mean hand-unrolled loops, writing the same algorithm from scratch for each data type, reimplementing the datatypes for each use; then yes, you could say that C is faster than C++.

      But then again, C++ does these things for you....

    25. Re:ARGH!!!!!! by unoengborg · · Score: 1

      "Second problem: A programmer who uses Java 90% of the time simply will not have the skills to write efficient C or C++, although they will probably know techniques to make the most efficient possible Java."

      This is a common missconception made by many skilled C/C++ programmers. Experieced C++ programmers writing java on the side, is the problem in many slow java programs.

      --
      God is REAL! Unless explicitly declared INTEGER
    26. Re:ARGH!!!!!! by unoengborg · · Score: 1

      Nowdays, java have templates as well. But both in C++ and in Java this is mostly something that speeds the code writing rather than the execution

      --
      God is REAL! Unless explicitly declared INTEGER
    27. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      Java templates are a joke, and it's not even funny. The only thing that Java Generics buy you is some more compile-time type safety checks, in all other respects they are syntactic sugar. The actual JIT compiler cannot take advantage of the templating information because that information has been stripped away and no longer exists in the classfile in an useable form. Effective performance difference is about minus zero.

      C++ templates on the other hand can be super-opimized because the compiler knows the exact types of the participants and can inline aggresively.

      Hell, and I don't even like C++...

    28. Re:ARGH!!!!!! by TekPolitik · · Score: 1
      Experieced C++ programmers writing java on the side, is the problem in many slow java programs

      You are of course referring to knowledge rather than skills. Knowledge of the libraries is a very different thing to mastery of skills and techniques.

      A good C or C++ programmer has skills in memory management and knowledge of low-level stuff that Java insulates the programmer from. Because the Java programmer is insulated from these things, they simply do not acquire the skills (techniques) that are necessary to produce good C and C++ code. These things don't matter much in interactive code, but for high performance with large amounts of data and intensive processing requirements, they are essential.

      If you take a Java application that is running into memory problems, the typical Java programmer response is "add more memory", because they don't really know how to manage memory better, and because there are some overheads of the JVM's memory management structure that really limit the ability of the programmer to manage memory better (absent a strategy of taking things low-level with large byte arrays, at which point it ceases looking much like Java).

      But adding more memory only gets you as far as the address space limit on whatever platform you are using. If you need higher capacity, you need to go for something that is closer to the hardware, like C and C++. Quite simply, you can fit more within the available resources.

      If you can't produce an application with very large data and processing requirements in C or C++ that exceeds the performance of its Java counterpart, it is only because you don't have the skills to do so.

    29. Re:ARGH!!!!!! by opello · · Score: 1

      With the long list of potential arguments with this post, all I can say is that nobody said you had to use XML to do your message passing, there's always RPC or just use a custom protocol.

      Regarding mono and patent issues with their version of the .Net framework? What issues? wxWindows buttons look like windows widget set, as do many other graphical toolkits.

    30. Re:ARGH!!!!!! by opello · · Score: 1

      Not to fuel the war, but when you code for the general case (templates) you aren't as fast as your hand optimized, coded for each data type algorithm. This is a simple fact.

    31. Re:ARGH!!!!!! by Ohreally_factor · · Score: 1

      I don't want to start a holy war here, but what is the deal with you Java fanatics? I've been sitting here at my freelance gig in front of a SDK for about 20 minutes now while it attempts to port a helloworld program from J2EE to J2ME. 20 minutes. At home, using Visual Basic, which by all standards should be a lot slower than Java, the same operation would take about 2 minutes. If that.

      In addition, during this file transfer, Firefox will not work. And everything else has ground to a halt. Even emacs is straining to keep up as I type this.

      I won't bore you with the laundry list of other problems that I've encountered while working on Java, but suffice it to say there have been many, not the least of which is I've never seen a Java compiler that has run faster than its .NET counterpart, despite Java's faster OO development model. My ancient Hello World Hypercard stack runs faster at times. From a productivity standpoint, I don't get how people can claim that Java is a superior language.

      Java addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use Java over other faster, cheaper, more stable languages.

      --
      It's not offtopic, dumbass. It's orthogonal.
    32. Re:ARGH!!!!!! by GuyWithLag · · Score: 1

      Templates benefit a lot from the inlining that most compilers do, as template functions are ususally inlined in their invocation. for example, if you use a sort with a function as a template parameter, that function (if visible) will become inlined in the sorting function thus eliminating call overhead. These sorts of optimizations are not available in plain C, unless you write them yourself...

      In any case, the object code is on the same architecture, so there is only so fast it can get ....

    33. Re:ARGH!!!!!! by bunglebungle · · Score: 1

      You are missing the point. Java JIT actually compiles the bytecode to native instructions. Also, since it does this after the code is running, it can optimize the compilation based on usage history and other runtime patterns, something that is not possible at compile time with C. With server apps, which handle a lot of repetive requests, this is very beneficial.

      If you are saying C apps are faster because the OS is written is C also, then I don't know if that's a factor, either. Most of the standard Java libraries are written in Java, but the jvm.dll I believe is written in C.

    34. Re:ARGH!!!!!! by unoengborg · · Score: 1


      With the long list of potential arguments with this post, all I can say is that nobody said you had to use XML to do your message passing, there's always RPC or just use a custom protocol.


      You could, but your development tools advantages of the .net platform would be gone. If you want to do that type of development you will find better tools on the Java side.

      What patent issue, you ask. And so does Miguel Icazza at Novell, but so far Microsoft gives no promises regarding all the .net stuff not covered by the ECMA standards. This gives some reason for causion.

      Besides looking the same is not good enough, to make crossplatform development possible you would need the same API calls. Or are you suggesting that Gtk, wxWindows and others should beat Microsoft at their own platform, so that mono became the defacto standard for web service development. Somehow I don't think that will happen.

      --
      God is REAL! Unless explicitly declared INTEGER
    35. Re:ARGH!!!!!! by cakoose · · Score: 1
      Not to fuel the war, but when you code for the general case (templates) you aren't as fast as your hand optimized, coded for each data type algorithm. This is a simple fact.

      This is true, but irrelevant.

      First of all, you can do hand-optimized stuff in C++ as well. However, you usually don't want to waste manpower doing that. Normally, you'd like to program generically. Generic C++ algorithms and data structures are faster than generic C algorithms and data structures (and type-safe, as well).

    36. Re:ARGH!!!!!! by bladesjester · · Score: 1

      Why bother using it for client side? Because for some tasks it is the right tool for the job.

      Languages are tools. They aren't religions. Use a hammer on all of your problems and the only ones you will deal with effectively will be nails (or creating things out of red hot metal, but I digress).

      C/C++ are nice because they are closer to the metal.

      Java is nice because there's so much crap I don't have to worry about and it will run pretty much anywhere as long as I don't have to deal with things that take a boatload of memory.

      Perl is great for automating stuff on my *nix boxes.

      This list could go on for quite a while.

      If you're REALLY worried about speed, stop bitching and write in assembly.

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    37. Re:ARGH!!!!!! by ahdeoz · · Score: 1

      Java isn't slow, my computer is slow when it runs java applications.

    38. Re:ARGH!!!!!! by ahdeoz · · Score: 1

      Java is nice because it is easy to use so there are a lot of open source libraries. But as a result of the way java is designed, things like PDF viewers or data entry forms or servlets take a boatload of memory and run slow.

  2. MS healthcare case studies by Anonymous Coward · · Score: 1, Interesting

    are here. Read for yourself and draw your own conclusions

    1. Re:MS healthcare case studies by deaddrunk · · Score: 1

      Because that is a wholly unbiased source of course....

      --
      Does a Christian soccer team even need a goalkeeper?
  3. You can't win.... by Anonymous Coward · · Score: 5, Insightful

    Because it simply doesn't matter.

    Either your client dictates the technology or he doesn't. The "Healthcare Industry" is a vast array of mixed technologies, so it doesn't matter that way. And if they're buying your solution, they're buying your SOLUTION (which typically involves hardware), so THAT'S not important.

    Go with what you know, go with what you're comfortable with. The success or failure of your project will have nothing to do with this decision, just in how you pull it off.

    You can find all sorts of excuses to fail in either platform, and you can find just as many reasons to succeed. Pick one, don't second guess yourself, and stick to it.

    Good Luck!

    1. Re:You can't win.... by Anonymous Coward · · Score: 1, Interesting

      I've gotta say this... with J2EE, you just need java installed.
      With .net, you usually end up needing all kinds of extra MS stuff installed, and it becomes a freakin nightmare if you have lazy coders who require IIS and god knows what else to be installed in order to use their .net objects.

    2. Re:You can't win.... by spasmatik · · Score: 1

      you are full of crap. Whats all this extra MS stuff you need to install? Please do fill us in.

    3. Re:You can't win.... by Anonymous Coward · · Score: 1, Interesting

      .net is a framework, not everything you need.
      If you want to use objects to make your coding time quicker, you can use parts of VisualBasic, IIS, Windows native stuff, Visio, Office stuff, etc. Problem is, you have to have it installed if your .net program uses the objects from it (obviously). Beyond that, you have to have the correct versions installed too.

      Some of our stuff uses .net (1.1 just got approved), Visio, IIS, and several of our own products to be installed just to work. When it works, it works great. When it doesn't, you get to find a needle in a haystack to find out what's missing.

    4. Re:You can't win.... by Anonymous Coward · · Score: 1, Interesting

      Oh ya, I forgot about Office and SQL Server. Also, SQL Server and IIS have to be actually running (or so I was told) as well for our stuff to work. I'm sure i'm looking over some stuff too. So lets see... that's 2 servers and 5 software packages just to run one .net program?

      .net is GREAT when it's uses responsibly, but can be horrible if it's not. Just make sure your coders can also code in non-MS languages and you should be fine. If all they know is VisualBasic and .net, you are in for a ride.

    5. Re:You can't win.... by fitten · · Score: 2, Insightful

      Yeah... unlike needing jboss, apache, struts, mysql, and who knows what all else with their configuration and manuals either practically non-existant or might as well have been written in Klingon.

      Stupid programmers can do stupid things regardless of the platform and choice of language. Good programmers can do good things regardless of platform and choice of language.

      As far as the OP, I agree with others who say you will be able to choose the whole platform (hardware and software). If you are entering a market and writing a new product, hopefully you've already done some research and lined up some potential buyers. See what your immediate potential customers are using. That should give you some idea on where to start. Don't ignore their infrastructure either, though. If they are running Windows98 on Pentium II machines connected by 10Mb 10Base2, well, that may guide how you approach the problem.

    6. Re:You can't win.... by Lucas+Membrane · · Score: 1
      I'll believe it. I've seen the inside of a big ($500 million or so of annual revenue) software/systems operation that is supposedly soon releasing some .net add-ons to its vintage core products -- stuff that targets businesses about the same size as those the original poster probably aims at. They can't keep the .net kludge running on the machines in their development shop two days straight because of some unknown number of needles in some undetermined number of haystacks. How the thousands of customers, many of whom require close to 24x7 to keep one of America's top ten industries moving, are going to find it is a total turdshoot.

      This approach follows the new mandate of the American people: Keep breaking eggs until God makes you an omelette. Between Microsoft and the Republicans, how can you hope for anything better? IDK anything about how java compares with this, so please tell me.

    7. Re:You can't win.... by Anonymous Coward · · Score: 1, Funny

      "Stupid programmers can do stupid things regardless of the platform and choice of language"

      And people can do stupid things regardless if you give them a rock or a bulldozer. One makes a mess much harder to clean up though ;)

    8. Re:You can't win.... by tmika · · Score: 1

      What?!

      Either you've run into the strangest .Net situations imaginable and managed to avoid the *typical* issues with a Java application, you don't know what you're talking about, or you're just plain misrepresenting.

      First off, a .Net developer who required IIS to be installed on the *client* machine would be an idiot who went well out of his way to write a ridiculous application (presuming it wasn't a server-side web application, of course).

      If you are talking about a .Net application that requires an IIS server somewhere on the net, then you are talking about web/client-server/web services applications, which is the right way to develop a large enterprise application and directly correlates to a J2EE or JSP application, which would also require setting a Java or Java/Web server.

      If that's the case, complaining about the hassle of setting up IIS is a joke. IIS runs out of the box and you can install services and applications into it with a few clicks. Ever setup Tomcat under Apache? Then deal with literally hours of ridiculous configuration to get one JSP app or web service running? It you are comparing apples to apples (server-based apps to server based apps) as far as setup concerns go, Microsoft, for its many flaws in some areas, is certainly dozens of times better than Java.

      Secondly, as far as Desktop setup goes, .Net applications don't take much or any configuration to get going on an up-to-date Windows box, and if they do, you can run the packaging/installation tools and whip up a pretty bullet proof installation tool in a few minutes. Issues with getting .Net running on a client box are nothing compared to all of the version incompatibility and circa-1982 installation hassles of the Java world.

      Plus, .Net has an increbible amount of capabilities built into it that no plain-paper Java insallation will have; so, your chance of an enterprise application requiring a bunch of extra installation and configuration hassles are dramatically higher with Java.

      Finally, I know its not your point, but the application performance issue is real. People say Java applications that are slow are the fault of the developers. Whatever. A reasonably well programmed .Net application will run great on a mediocre Windows box. Java applications from the biggest names in the industry (Oracle, IBM, Sun, Borland) run like crap on any Windows box -- slow and generally suprisingly buggy as well for commerical applications. In this case, the application is going to be running primarily on Windows boxes; so, the fact that Java applications tend to suck on Windows is a significant issue, and even if your specious claims about configuration being easier under Java (God! I can't believe people are actually making a case for that...I'm honestly laughing), even if configuration were harder, it would be worth it to have a usable application...

    9. Re:You can't win.... by innosent · · Score: 1

      Good point, VB.NET is essentially Java, with CrapBasic syntax.... Which really isn't that bad, except for the syntax.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
    10. Re:You can't win.... by CreatorOfSmallTruths · · Score: 1

      I'd suggest checking:
      a. tomcat
      b. jboss (or any other app.server for that matter)
      c. apache
      d. IIS security holes.
      e. how many ppl r using apache vs. IIS.
      f. SHUTTING THE FUCK UP.

      You obviously have no idea of how to develop a REAL web app, because if you would have you wouldn't have started this argument in the first place.

    11. Re:You can't win.... by seanbo · · Score: 1

      I agree. Coming from somebody who worked in I.T. at one of the largest teaching medical facilities in the US, I don't think it really matters. Go with what you know. If you have a good product, people will buy it.

    12. Re:You can't win.... by Anonymous Coward · · Score: 1, Insightful

      Go with what you know, go with what you're comfortable with.

      I get very concerned with this advice. It can be perfectly valid but it can also lead to nasty, nasty stuff.

      When I ask the question "why did you choose x over y?" (anything - language, design, paradigm, whatever) I have had people say "because that's what I know" several times, always leading to at best - ugliness, or worst - disaster.

      If the answer is "I've evaluated the options and there's not much to pick between them so we're going with what we know", that's fair enough. If it's "We're going to try doing this exactly the same way we did the last project because it was good enough last time so it's good enough this time" then it's either time to find a new job or have stern words with those responsible, depending on your location in the chain of command.

    13. Re:You can't win.... by Anonymous Coward · · Score: 1, Interesting

      Sounds like the question submitter's company doesn't have much of a clue. They should go and do some research. Actually try out the technologies you are planning to use and see what is most comfortable and appropriate.

      And you don't necessarilly have to pick one or the other. We use J2EE (with lightweight technologies like Spring, Hibernate, iBatis. no EJB's) for our server-side technology. We create web services and also right our browser-apps on that platform. We write GUI apps in .Net that consume the web services. If you did something like that, you can assign the Java supporters to the server-side and .Net supporters to the client-side. You won't necessarilly be tied to .Net, you can use anything that consumes web services.

    14. Re:You can't win.... by ahdeoz · · Score: 1

      Sounds like you should use web clients. LAMP it is. .NET or J2EE is just not the answer hardly ever. How I wish there was a perl or PHP framework, though.

    15. Re:You can't win.... by anomalous+cohort · · Score: 2, Informative

      I work in the SouthEast now. I'm not directly envolved in software development for the medical industry but I do keep my eyes open. Most medical systems that are doing modern development have chosen J2EE over .Net and I have no clue as to why.

  4. Why are you asking us? by Jailbrekr · · Score: 3, Insightful

    Don't ask us. You know the client better than us, and should be able to determine what the best tool for the job is based on the application you are writing, as well as the environment which you are installing it in. Don't make the decision based on what everyone else is using, base it on what will work the best.

    --
    Feed the need: Digitaladdiction.net
    1. Re:Why are you asking us? by Anonymous Coward · · Score: 5, Insightful

      Right on, he's obviously lost without a clue if all he can do is trot out these lame stereotypes about the technology (duhh, .NET is insecure, J2EE is slow) as arguments without mentioning 1 word about the friggin requirements.

      Not to mention, .NET isn't insecure and J2EE isn't slow... they're both insecure and slow if your development methods are insecure and inelegant. That's like saying "should I use a hammer or a screwdriver? A hammer can smash your thumb, whereas a screwdriver can gouge your eye out..."

    2. Re:Why are you asking us? by Anonymous Coward · · Score: 1, Insightful

      The whole point of this post is to start the weekly flame war between Java and .NET; of course a professional development company wouldn't ask Slashdot (a bunch of high schoolers and network admins) what is the best development environment. This gets put on here to allow the usual anti-M$ posters to have their fun.

    3. Re:Why are you asking us? by Anonymous Coward · · Score: 1, Informative

      Don't ask us. You know the client better than us

      I couldn't agree more!!

      IMO, I've found .Net to be quicker for developing business applications. The Microsoft CLR also seems to have better performance than most JVMs I've seen.

      I'm sure there are plenty of Java developers with the opposite opinion... this is just my $0.02.

    4. Re:Why are you asking us? by revscat · · Score: 2, Insightful
      I concur.

      I'm a Java developer for an enterprise-level J2EE shop. I happen to like Java: the rich libraries, the elegance that OO can bring, the cross platform support (we code in Windows, have Solaris and Linux for our staging environment, and deploy to Solaris.) I have no complaints about Java, and encourage its use.

      Having said that, however, ultimately a decision like this shouldn't be made on techonological grounds. I haven't used .NET, and typically cringe at anything Microsoft, but for Festivus's sake if it makes business sense for you to use MS products, then do so.

      Java will get the job done. I imagine that .NET will, as well. If this guy has currently on payroll people with experience in either one of these, then that's probably what he should go with.

    5. Re:Why are you asking us? by geekoid · · Score: 2, Insightful

      "Don't make the decision based on what everyone else is using, base it on what will work the best."

      Now if you mean to say: Use what most hospitals use, then sure.
      but many hospitals are not using whats best, just what the guy running the hospital told them to do.
      Cause he's a doctor, and as such is an expert in computer technology. Just ask him.

      Yes, I've worked with hospitals.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    6. Re:Why are you asking us? by koali · · Score: 1

      And the lesson is...

      Don't use a screwdriver for smashing your thumb, and don't use a hammer to gouge an eye. It will hurt more!

      Remember, right tool for the right job.

    7. Re:Why are you asking us? by vettemph · · Score: 1

      This guy needs to keep away from hand tools entirely.

      --
      The government which is strong enough to protect you from everything is strong enough to take everything from you.
  5. Nice troll. by Anonymous Coward · · Score: 5, Insightful

    Your project, assuming there really is one, is doomed already.

    You're asking an Internet message board for advice on a development platform? For software you're going to develop for an industry you have no experience with?

    1. Re:Nice troll. by Guido69 · · Score: 2, Interesting

      Umm...not necessarily. Sounds like a small shop, and the feds have special programs to award them contracts. We're in the same business and often serve as the prime on the contracts. Often times they are agile enough to pull off the job and turn over a good product.

      --
      - If we aren't supposed to eat animals, then why are they made out of meat? - Steven Wright
    2. Re:Nice troll. by dejaniv · · Score: 1

      Your project, assuming there really is one, is doomed already. You're asking an Internet message board for advice on a development platform? For software you're going to develop for an industry you have no experience with?

      So what you're saying is that the market is already divided and there is no reason bothering trying to win over a peace of it? How on earth did those companies who make software for medical industry know how to do it in the first place? I guess they found people who were born with the knowledge?

      Besides, there are tons of experiences that you can learn from if you want to compete in any area of IT business. If you got yourself a start (client or financial support for development), then I say you should GO FOR IT! It's not over yet! IT'S NEVER OVER! We shell fight on the sea, we shell... Ok, let's not go nuts.

    3. Re:Nice troll. by rrobles · · Score: 1

      The same nature of the IT industry, the rate of generation of new technologies or just new packaging of old and proven technologies (reducing cost, improving performance, etc.), lowers the bar for newcomers to enter in the game and if they do the right things right they have a chance of getting their 15 minutes of fame (or profit) until the next wave of newcomers take the thunder from them after they fell in the complacency of their 'comfort' zone.

      Check the IT horizon of technologies and promising companies, you'll see that the companies that today are ripe to grab a piece of an existing market or probably create new markets didn't show up in the radar few years ago.

      That has been the case in the last years.

  6. ramp corp by Anonymous Coward · · Score: 1, Interesting

    http://www.ramp.com

    Why write your own when it's cheaper to use an established product?

    Ramp corp's software is more feature packed then your 11 person team could do in a couple years of work, it's supported, and you don't need to write code in either of those two crappy standards you suggested.

  7. RMI by sugarmotor · · Score: 1

    How about RMI?

    My company runs J2EE but RMI would have been just fine and much easier in a lot of ways. The customer wanted J2EE, of course. Your's doesn't seem to mind.

    Since you don't have a preference through your history, I'd recommend using Java. I always found looking for support about Microsoft software to be a nightmare. On the other hand, with Java there's lots of brilliant advice to be found.

    Stephan

    --
    http://stephan.sugarmotor.org
    1. Re:RMI by jbplou · · Score: 1

      Have you tried google, there are only thousands of websites dedicated to Windows Server Administration and .Net programming. What about books... whats this 4,944 books found in an Amazon search on .Net. They are comparable platforms but don't make up stuff to say one is better than the other.

    2. Re:RMI by sugarmotor · · Score: 1

      Of course there is information about Windows stuff available. However, reading it has often been a pain for me; in the Microsoft world I often felt the author does not want to explain, but is circumventing some hidden obstacles which keep them from giving the necessary background -- or are just not able to explain, straightforwardly. Have to go Stephan

      --
      http://stephan.sugarmotor.org
    3. Re:RMI by clard11 · · Score: 1

      RMI is somewhat limited, for example
      - The server application must be written in java
      - No object activation policies

      RMI/IIOP (as implemented by WebSphere amongst others) at least gives you language neutrality.

      --
      catch (ModDownException mde) {post.modUp("Interesting")}
  8. Re:Consider PHP by EvilSS · · Score: 1

    You've never delt with the medical industry or HIPPA have you? Shared hosting with a remote web app!? The only upside would be that if they where ever audited, the auditor may just drop dead from shock.

    --
    I browse on +1 so AC's need not respond, I won't see it.
  9. Either a troll or a REALLY clueless person by Anonymous Coward · · Score: 5, Funny

    you want to develop for a new vertical industry that you're not familiar with, you're not sure about your dev platform and you came to /. seeking objective analysis on a platform involving MS?? Well, you certainly deserve all the "PHP rocks!" and "11 lines of Perl are all u need" answers you'll be getting...

    1. Re:Either a troll or a REALLY clueless person by roman_mir · · Score: 1

      11 lines? You, kids, in my time we had no lines. And we couldn't use fancy numbers like 11. And if we had to program in Perl all we had was a cammel!

    2. Re:Either a troll or a REALLY clueless person by TWX · · Score: 1

      "Well, you certainly deserve all the `PHP rocks!' and `11 lines of Perl are all u need' answers you'll be getting..."

      At least people won't be constantly telling him how powerful Visual Basic is for this, or recommend that he set up an Access database to store the information...

      --
      Do not look into laser with remaining eye.
    3. Re:Either a troll or a REALLY clueless person by ad0gg · · Score: 1

      My old CTO used to talk about getting 1 compile day. And his favorite line after that was "You better hope you don't have any syntax errors".

      --

      Have you ever been to a turkish prison?

    4. Re:Either a troll or a REALLY clueless person by /dev/trash · · Score: 1

      Dude. Python is where its at!

  10. Think of Security by Anonymous Coward · · Score: 5, Interesting

    Any program written for the medical industry that involves capturing patient data is required to be secure. Read up on HIPPA (http://cms.gov/regulations/hipaa/cms0003-5/0049f- econ-ofr-2-12-03.pdf) before making a decision. The company I work for creates software for the medical industry and we chose J2EE for the security and relatively low barrier to entry using open source application servers and tools.

    1. Re:Think of Security by emc · · Score: 3, Funny

      40 times on the chalkboard

      HIPAA not HIPPA
      HIPAA not HIPPA ...
      HIPAA not HIPPA

    2. Re:Think of Security by Anonymous Coward · · Score: 1, Interesting

      HIPAA's a funny thing. Our HIPAA-compliance officer got fired after a few months and never replaced. As a programmer, I read more about it than anybody else in the complex ... it's sad that most of the doctors and nurses think that HIPAA's all about passwords; they ignore all the bits about not talking about patients on the phone or with doors open where other people could hear, they ask us to make the software secure yet leave their terminals wide open (automatically locking the console still leaves a window of opportunity) and they'll distribute medical information without really checking on who's getting what and why ... It doesn't matter how much you encrypt the data -- you're not likely to have an attack directly against your software/server. What -is- likely is for some nurse somewhere to say something he shouldn't and get someone in trouble, assuming the patient ever finds out and cares enough. And then? There's a $250 fine per event at most, because the government wants to focus on helping you get better rather than punishing you. No real teeth, and nobody's got a clue anyway -- it's much easier for them all to think that as long as the programmers know about HIPAA, they don't have to. That's not to say you shouldn't make systems secure -- but there's a lot of other stuff to be done that's more important on a practical level.

    3. Re:Think of Security by tbannist · · Score: 1

      IIRC, isn't Windows XP not HIPAA compliant?
      (EULA gives MS right to read and change sensitive information)

      Doesn't that mean that .Net would be crippled by having to be run on Windows 2k or earlier O/S?

      --
      Fanatically anti-fanatical
    4. Re:Think of Security by discogravy · · Score: 1

      This is a big concern, but something else that the poster might want to consider is that a lot of hospitals/health care facilities still use a lot of big iron mainframes for a lot of their patient records -- I've run across Solaris, HP-UX, SCO, AIX, IRIX and various flavors of GNU/Linux (predominantly Red Hat Linux) in the health care industry (often in the same facility.) I'd recommend Java for the portability, although if time if of the essense, I suppose they could bang it out in .NET and then try to rewrite it if they ever needed to (but that's ... not optimal.)

  11. Re:Consider PHP by Anonymous Coward · · Score: 2, Funny

    PHP is the answer to everything, the performance penalties of parsing each run and dynamic typing are actually bonuses for medical imaging and OS kernel work.

    PHP is teh R0X0r!

  12. scalability by Anonymous Coward · · Score: 1, Interesting

    If the application is to be 100% client code forever, both will work and you should go with what the staff is most familiar. If your staff is equally familiar / ignorant go with J2EE to gain portability.

    If you ever want to put some of the code on servers and scale up the system to large numbers of users then J2EE is the best / only choice.

    1. Re:scalability by Anonymous Coward · · Score: 1, Insightful

      Very true. Our healthcare application is C and various 4GL database languages running on a Linux server with a Java front-end. Java 1.5 running XP look-and-feel looks great on Windows and performs just fine, plus we can develop on Linux and run it on Linux for the (few) clients who choose to use Linux desktops. I'd go with GDI or Java hands down. GTK is too ugly on Windows and QT just doesn't feel quite right either. Java is good because it's portable and very quick to develop, only downside is start-up time, but for client apps 1.5 is definitely the way to go.

      Don't go with J2EE or .NET just because it's hip, go with it if you really really need that kind of enterprise/middleware format. If your app is simple client/server it'll probably be easier to just do it in established languages like plain C, Java, Perl etc. Don't over-engineer your product, especially not for just a couple of clients. Maybe if it gets more popular you can afford to spend the cash on developing some superduper amazing system, but it's really easy to piss away money spending months (years!) designing something that you only ever deliver to one client.

      A lot of healthcare work is about fitting into other systems' products. HL7 is a really important standard for transferring data between medical products, but be aware that even some of the biggest names in the industry don't support it fully or may not even support it at all. Be prepared to make lots of Perl and shell script "glue" to share your data with other systems. You might need to contact Medicare and large health insurance companies to see if they need data transferred electronically and what format they want.

      Good luck!

  13. Java, of course by gsergiu · · Score: 1

    While the application might be portable to Mono if you're writing in .NET, the problem with .NET is, (IMO), that is still a young technology. java is been there for quite some time now, is stable, there is more documentation for it, it is basically a proven technology. Health care is known for not embracing new and unproven technology. And this is understandable, you can't afford a system problem when there are people lifes at stake. If you want them to buy from you, give them something rock solid, something build on a proven technology.
    The servers might be Sun's or IBM's, the workstation might run Windows, you ccan create web based or desktop application, you basically have choices. Just to make them feel on a secure ground.

  14. Healthcare industry? by amalcon · · Score: 4, Insightful

    Sounds like you're asking the wrong question. What sorts of applications are you expecting to develop? Is it primarily database stuff? Are you developing for a small or large organization? (given that you have an IT staff, I'd expect large).

    The only thing I can tell you for sure is that it's much easier to prove to an IT staff that something's not slow than that something's not insecure -- just show them Eclipse or anything else that...doesn't use Swing...which is the one really slow part of Java.

    Really, though, these technologies are so similar that you should probably just pick one and go with it.

    --
    -Amalcon
    1. Re:Healthcare industry? by jone1941 · · Score: 1

      I'm assuming you running it on OS X? If so that's the source of your problem. OS X's underlying gui framework is fatastic looking but trying to run a Java app written in Java->SWT->Carbon is just not going to be fast. People complain about X being slow, but it is snappy compared to OS X. I recommend to every mac user I know to at least try out linux (definitly people stuck with a G3). It is close to os 9 in speed but with modern underlying OS and modern applications.

      --
      Fear trumps hope and ignorance trumps both
    2. Re:Healthcare industry? by Ogerman · · Score: 1

      Really, though, these technologies are so similar that you should probably just pick one and go with it.

      Sure, you can knock out a solution with either platform. (or even PHP/Perl if you're a masochist) But why lock yourself into an expensive, proprietary platform? .NET doesn't offer you anything that Java is missing. If you're not familiar with either platform yet, pick Java and don't look back.

    3. Re:Healthcare industry? by pualo · · Score: 1
      Everyone's been going about how great eclipse is, but I can't figure out why you'd want to use an IDE where there's so much WAITING.
      Waiting? Everything I do in Eclipse happens instantly. Really, instantly. I've been amazed ever since I started using it. Of course, this is on a fast PC. If the Mac version really does suck, then that is a shame, and I hope someone can figure out how to fix it.
    4. Re:Healthcare industry? by jrumney · · Score: 1
      Everything I do in Eclipse happens instantly.

      Perhaps your perceptions of "instantly" have altered to fit what you are used to. I use Emacs. It is what I've used for the last 15 years, and I am comfortable with it, so don't feel the need to change. Most of my co-workers use Eclipse. One day one of them thought he could convert me by showing me the new features in the latest version of Eclipse. He showed me a feature that automatically inserts the import statements needed by a class. A long wait as it analysed the file and drew a pretty progress bar, followed by a dialog prompting for confirmation for each import, and it was done. I was unimpressed. Little did he know that I'd been using the same feature in Emacs for the past 6 months, and it was instant, only prompting for confirmation when there were multiple matches for a classname.

    5. Re:Healthcare industry? by JohnKrasnay · · Score: 1
      I too was an Emacs fan for years, but I've been fully converted to an Eclipse user. The crappy demo from your co-worker does not do Eclipse justice.

      A long wait as it analysed the file and drew a pretty progress bar, followed by a dialog prompting for confirmation for each import, and it was done.


      The function is called Organize Imports, and it's usually sub-second for me, also only prompting in the case of ambiguity. I use it so often that my Shift, Ctrl, and O keys are getting all shiny.

      But that's just one of many cool things in Eclipse. There's Refactor > Rename, where I can rename any kind of language element (class, method, field, ...). Not only does it rename the element, but also scours your code for all references to that element and changes them too. Or Refactor > Encapsulate Field, where you can convert a public field to a private one wrapped with getters and setters. Again, all references to the field are converted to getter and setter calls. In both cases, I can preview all the changes using a graphical diff tool. Does your Emacs do that?
    6. Re:Healthcare industry? by jrumney · · Score: 1

      Refactoring is trendy, but of limited use in reality. The example you give of renaming classes, methods or fields willy-nilly, is pointless and bad for maintainability. Changing public fields to getters and setters is more useful, but what were you thinking when you used public fields in the first place?

    7. Re:Healthcare industry? by Thunderbear · · Score: 1

      Any particular reason for the co-worker not to show you refactoring instead?

      --

      --
      Thorbjørn Ravn Andersen "...and...Tubular Bells!"
    8. Re:Healthcare industry? by Fulcrum+of+Evil · · Score: 1

      Refactoring is trendy, but of limited use in reality. The example you give of renaming classes, methods or fields willy-nilly, is pointless and bad for maintainability. Changing public fields to getters and setters is more useful, but what were you thinking when you used public fields in the first place?

      Spoken like someone who's never had to maintain shit code. When you have stuff like naming a DB update thread httpThreadPool or littering classes with variables named c_if and THE_CONNECTION, refactoring is a godsend.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  15. What I think... by ltmon · · Score: 1

    At risk of degenerating this to another .Net vs Java vs the-rest-of-the-world thread.... (too late?)

    I would say java simply because of the number of proven, documented libraries and frameworks with active communities providing good support.

    You can argue which platform is the best until you're blue in the face, but I think the most of your time is going to be saved by well documented, well supported libraries -- not language features or server features.

    $0.02

    1. Re:What I think... by theDoorMan · · Score: 1

      I must agree that libraries are a key factor. I recently developed a site with .Net and I am headed back to Java for better libraries---data structures, numerical support, frameworks, etc.

  16. Re:oh no not ms by ciw42 · · Score: 1

    So you're a MS-SQL guy then?

    MySQL is a perfectly good database in terms of performance and core features. There are plenty of industrial strength applications which make use of it, and for most purposes, the "missing" features are of very little relevance.

    PHP however, whilst a good choice for internet/intranet development is far from appropriate for realtime user interfaces, which is presumably what is required here. It's grown up to be a very powerful embedded language for web-based applications, but has little or no use beyond this remit. Even with the GTK bindings, you're still trying to get a sqaure peg into a round hole - it might be possible, but it won't be easy and the results won't be pretty.

  17. J2EE and webapps by ip_fired · · Score: 5, Informative
    In my opinion, I think that webapps are the way to go with a project like this. I say this because we currently have an old legacy application that uses Borland C++ Builder, and it is very difficult to manage the all of the versions being used by staff members. As we've moved the functionality over to a web portal, we've been able to spend less time distributing executables and more time developing features.

    A webapp has the strength that all you need is a web browser to view the content. When you update the webapp, all clients are updated instantly, without having to push something out to them, or making them download something. This saves a lot of stress and headache.

    There are many technologies out there for writing a database oriented project like this a lot easier. These include
    • Hibernate for object relational mapping and cross compatibility with most major databases (ie, develop on MySQL, deploy on Oracle, Informix, whatever you want).
    • Spring which manages your mappings and helps maintain consistency across your data connections and helps you abstract your business logic, keeping it out of the actual pages. It also integrates with . . .
    • Struts which gives you a great Model-View-Controller framework to practice good development and good security.

    Apache Tomcat, JBoss, and many of the other java based application servers are supported on many different platforms. You can run it on Windows, Linux, Mac OSX, and virtually any hardware provider you want.

    I've been working now on this project for 6 months, and I have to say, I love the structure of this way of working on webapps far more than the common hodge-podge of php or perl. This isn't to say you can't program a nice, easy to maintain app in these languages, just that there is a nice framework with examples and plenty of books to do it in Java.
    --
    Don't count your messages before they ACK.
    1. Re:J2EE and webapps by Audacious · · Score: 2, Insightful

      From the sound of it I would have to say that their first step is to just decide whether it they want to create a webapp, standalone, or client/server program. My choice would be a webapp for the very reasons stated in the above post.

      For languages, although some differ, I would suggest Perl or PHP first (not only because they are fast but both languages run on a large number of systems in the same manner. So if your boss comes to you one morning and says you are moving from a Windows box to a Linux box you can rest assurd that your programs will still execute properly), Java next, C++ after that, and then I might consider .Net. In reality, if you go with a webapp then the backend is not as important as if you were trying to create a standalone or client/server program. This is because as long as the program runs it is more a matter of the hardware than the software that you need to think about. For instance, when the industry at large went from using 200Mhz systems to using 1Ghz systems people were raving about just how fast even basic scripts were executing. Since most systems are now over 2Ghz in speed; scripts execute (to the layman's eye) as quickly as compiled programs. And in truth, unless you are dealing with thousands of hits per minute - to all intents and purposes scripts do execute as quickly as a compiled program. But that's only because most of the work is being done to simply set up the process to run and to take the process back down. The actual execution time of a script or a compiled program is quite small. So to be honest about everything (at least as honest as I can get about this and still keep everything on a general basis) I'd be in just as much of a favor in using Perl/PHP as I would anything else.

      With Perl you create packages.
      With PHP you create classes.
      With Java you create classes.
      With C++ you create classes.
      With .Net you create classes.

      So it is all (basically) the same - no matter which language you go with. Once you have your classes (or packages) set up all you are doing is reading to include them into your program and then running the program. Further, Perl, PHP, Java, and .Net all have built-in encryption. But there are libraries for C++ to do encryption. So (again) it is all about the same.

      (At work I have VI set up so I can just hit two keys and my work automatically compiles and another two keys and it will execute. I know I could combine these commands but in this way, if the compile dies I can go back to editing without having to kill the sub process. What this is leading to is that whether it is Perl, PHP, Java, C++, or .Net - this process is the same as well. Edit, compile, and execute. So there isn't any difference here either. So the whole thing really just boils down to what you feel comfortable working with. Just remember though that in order to use .Net on any other system besides Windows XP you will have to install Mono first. Since Microsoft doesn't do Macs, Linux boxes, Minicomputers, Mainframes, or anything else that doesn't look, sound, and act like a Windows box.)

      --
      Someone put a black hole in my pocket and now I'm broke. :-)
    2. Re:J2EE and webapps by mic256 · · Score: 4, Informative

      I generally agree with this opinion, especially about the part of using a web application if possible, because it simplifies distributing the application greatly.

      Some random thoughts though:
      * you can talk to you manager about the time you can save by using the orm (object-relational mapping) technique vs. sql in general (from my experience you can save a lot of time). Then you can tell him/her about hibernate. There is also ibatis which is available for .net
      * The opinion about java and .net that asp.net is fun to program and java is not really comes from (I believe) the legacy technology called struts (yes, I know, I have the asbestos suit, etc.) Two currently best java web frameworks probably are:
      1) Tapestry (jakarta.apache.org/tapestry). It is used by nhl.com and theserverside.net (check by seeing the source for the pages and search for the word Tapestry in it). Tapestry uses a component based approach. Sample components: a nice table, a tree, a date picker in js... It is trivial to write your own and there is a plugin for eclipse called spindle
      2) WebWorks - I have only heard good opinions about it, haven't used it personally.
      * when presenting and using/developing in java avoid using swing when possible. It is ugly, user unfriendly and slow. SWT/JFace is the way to go. You can also check out the eclipse rich client platform (rcp) tutorial on developerworks at ibm.com - it was two part, probably still available at their web page
      * if possible don't use ejb - especially entity beans. Hibernate/Spring (you can also check hivemind - another IOC), WebServices can be very useful
      * when talking to a manager - references, references, and one more time - references. Who uses this technology, what successful project is based on this technology, who backs that technology (you check who is behind eclipse).
      * Java and J2EE by itself (servlets, jsp, ejbs, swing, jdbc, JDO) as it comes from SUN is rather weak and I would recommend not to use it if it wasn't for open source addons and replacements.
      * .NET is ok, but it might be difficult if not impossible to use Linux for the server. If it was not for its lock-in to Microsoft - well, I would say it's a solid piece of technology (not in every aspect, perhaps, but rather good).

    3. Re:J2EE and webapps by RicoX9 · · Score: 1

      Your logic is flawed. A local program is only as fast as the backend architecture - you aren't going to be entering 100 charts on a local database. Same applies to a web app.

      I work in a hospital. We have a web app that we had built for our physicians to access patient data from anywhere. It is basically a screen scraper. What it isn't is pretty. What it is is quick and very functional. The physicians LOVE it. So do their staff, and ours.

      The advice about avoiding a local app is GREAT advice. Version control is a total pain in the ass. Please do yourself a favor and stay away from browser lock-in on web apps(we have too many that require IE). Keep it simple & quick.

      What do I know though? I'm just the network infrastructure guy....

    4. Re:J2EE and webapps by Valdar729 · · Score: 1

      .Net makes having a local app VERY easy with their auto-update features.

      With .Net making a webapp or a rich client app is not a decision. And with Mono's future support for Windows.Forms you can be assured that you can be cross platform as well.

    5. Re:J2EE and webapps by the+eric+conspiracy · · Score: 1

      With Perl you create packages.
      With PHP you create classes.
      With Java you create classes.
      With C++ you create classes.
      With .Net you create classes.


      Well, yeah, but I wouldn't consider OOD for each of these similar at all.

    6. Re:J2EE and webapps by rainman_bc · · Score: 2, Interesting

      I hope you seriously aren't suggesting PHP over J2EE...

      The security holes in php compared to j2ee app servers... Ever heard of Weblogic?

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    7. Re:J2EE and webapps by HeadDown · · Score: 1
      In my opinion, I think that webapps are the way to go with a project like this. I say this because we currently have an old legacy application that uses Borland C++ Builder, and it is very difficult to manage the all of the versions being used by staff members. As we've moved the functionality over to a web portal, we've been able to spend less time distributing executables and more time developing features.

      A webapp has the strength that all you need is a web browser to view the content. When you update the webapp, all clients are updated instantly, without having to push something out to them, or making them download something. This saves a lot of stress and headache.

      Which is nice for you. I haven't seen a single point in your message that relates to the need for the user, who is, after all, paying for this. The first order is to go see what the actual user needs, and if I were the customer, webapps would be straight out. Webapps are decent for infrequent use; they suck if you need rich functionality and need to interact with the software all the time.

    8. Re:J2EE and webapps by Decaff · · Score: 1

      * Java and J2EE by itself (servlets, jsp, ejbs, swing, jdbc, JDO) as it comes from SUN is rather weak and I would recommend not to use it if it wasn't for open source addons and replacements.

      What a vague and broad (and incorrect) statement! Swing is now fast and accelated and Sun provides all the above features (with the exception of JDO) in the form of its Application Server, which is a high quality product. I never heard anyone ever say 'Sun's Java is weak' or 'Sun has weak servlets'!

      As for the ORM, you should definitely use JDO, not Hibernate. JDO is a standard, with competing open source and commercial implementations. JDO integrates well with Spring.

    9. Re:J2EE and webapps by Decaff · · Score: 1

      With .Net making a webapp or a rich client app is not a decision. And with Mono's future support for Windows.Forms you can be assured that you can be cross platform as well.

      No-one with any sense, or a desire to remain in their job, starts developing a project based on 'future support'. Even Microsoft won't give any assurance of what .Net will be in the future, so how can we be assured that Mono (or anyone else) will provide a cross-platform version of .Net?

    10. Re:J2EE and webapps by ip_fired · · Score: 1

      What is nice for the developer is also nice for the user. Do you think the user likes to have the stress and headaches of always having to get the latest software updates? What "rich" functionality are you talking about? My webapp generates PDF forms all filled out with the proper data automatically, ready for signatures. If they want the report in an Excel spreadsheet, that is an option for them (thank you Microsoft for supporting XML file formats!) It queries a decade of property information (it's property management software) for easy audits. It stores all related documents required by federal mandate so that we can actually get our contracts.

      The point is, it does the job, and it's fast enough. Normal pages take less than 4 seconds to load, most reports take less than 10 seconds. It's also easy to maintain, which cuts down on administration and programming costs.

      All of these things are good for the user.

      The great part about it too, is that because it was designed to be a web based system, we were able to add handheld support so that doing real time property inventories is a breeze.

      Yes, you can do this with standalone apps, but you have to have a separate code base for each, and you're locked into a single system. The web browser is about as cross-platform as you can get.

      --
      Don't count your messages before they ACK.
    11. Re:J2EE and webapps by senzafine · · Score: 1
      Webapps are decent for infrequent use; they suck if you need rich functionality and need to interact with the software all the time.
      what types of features did you mean?

      Webapps are great for software that's rolled out and accessed by numerous machines in a heterogenous network. The benefits of thin-client far outweigh certain "features" that the browser is currently unable to provide. In rare scenarios I would suggest a standalone application. But I'm thinking projects like this are the type which have revisions written all over it. And webapps just make too much sense.

      --
      Better than Flickr - Manage, Share, Archive
    12. Re:J2EE and webapps by iwan-nl · · Score: 1
      The advice about avoiding a local app is GREAT advice. Version control is a total pain in the ass.

      This would indeed be great advice when working with other platforms. Java however, has a great client-side application distribution system called Webstart. When set up properly, this will make all version control nightmares go away. When a new version of the client-side app arrives, you simply put it on the server and the clients are automagicly updated the next time they start it. It also makes deploying the app to the client as easy as starting a web app.

      Client-side apps can be a real advantage if you need a more complex UI. Things like drag/drop functionality, context menus and keyboard shortcuts can help you deliver a richer user experience. In webapps you're basicly limited to leftclicks.

      I think the best approach would be to build a backend infrastructure thats independant of the client. This way you can access the system from web apps for simple operations *and* from client-side apps for the more complex ones.

      --
      I'm trying to improve my English. Please correct me on any spelling/grammar errors in this post.
    13. Re:J2EE and webapps by master_p · · Score: 1

      But before you embarque on the fine journey that is web applications with Java, please let me give you a list of things to possibly consider, sooner or later:

      1) Hibernate only works with one application server, because it caches the database data locally. If you modify the database from another point (not the application server that Hibernate is running from), then your Hibernate cache will be invalid. This is not as serious as it sounds, until you try to make little apps here and there, all looking at the same data store.

      2) Mapping Hibernate objects by hand is difficult. You need to learn Middlegen. Prepare to have fun with XML.

      3) Forget Struts without a drawing tool. It gets increasingly difficult to main a mental model of a web app navigation, as the site grows. Again, prepare to have fun with XML.

      4) Struts is not a Model-View-Controller framework, as many say. In the MVC pattern, the views can be hooked to the models and monitor the changes automatically, i.e. when the model changes, the views are updated accordingly. Struts offers nothing of that caliber. Struts is great for doing web site navigation though, because the navigation is mapped into the struts.config XML file.

      5) Prepare to have fun with JSPs and Tag libraries. For every little operation your web page does, you need a specific tag, which is a little bit different from the rest, but not different enough to remember it.

      6) Spring is great...it unites every J2EE technology (and the kitchen sink!) under the sun...just know that you need to remember over ...5000 XML tags, because everything is done with XML.

      I don't really know .NET, and I am against the lock-in in the software platform called Windows, but I've heard that all other technologies run rings around J2EE concerning ease of development and development time. I wouldn't call J2EE easy...it's certainly capable, it offers many capabilities, but you will never feel in control...If you feel that XML is a programming language, then go ahead and use J2EE. If you are like me, that is annoyed if the XML document is more than 20 lines long, then you should study J2EE carefully before chosing it as the platform of choice.

    14. Re:J2EE and webapps by Decaff · · Score: 1

      Flamebait? Since when has suggesting (note - suggesting, not ranting) using standards (including open source options) been flamebait?

      What or who have I flamed?

    15. Re:J2EE and webapps by D-Cypell · · Score: 1

      [i]you should definitely use JDO, not Hibernate. JDO is a standard[/i]

      Im not sure I entirely agree with you here. JDO is a nice interface (certainly better than working with JDBC directly) but it is a persistance library designed to be all things to everyone. For instance, it should (in theory) support object databases and relational databases transparently.

      Hibernate, on the other hand, is fast becoming the defacto ORM tool. It deals purely with relational databases and does so very well IMO. It may not be a documented standard, but I always put more weight behind tools that have been largely accepted by the community, whether documented or not. Hibernate passes this test.

      I tend to lean towards hibernate with one, open implementation (no subtle differences of opinion regarding the 'spec' that you get with JDO), and I dont really see a large jump in uptake of object databases in the near future.

    16. Re:J2EE and webapps by Decaff · · Score: 1

      Hibernate, on the other hand, is fast becoming the defacto ORM tool. It deals purely with relational databases and does so very well IMO. It may not be a documented standard, but I always put more weight behind tools that have been largely accepted by the community, whether documented or not. Hibernate passes this test.

      This is true, but there is also wide use of JDO, especially in commercial environments. Hibernate is certainly NOT becoming de-facto (just talk to anyone using TopLink, for example). The new standard implementation of JDO (2.0) is going to be open source, and Apache are moving to JDO as their standard for persistence - something that will definitely encourage its even broader acceptance.

      I see Hibernate rather like the ORM equivalent of MySQL - very widely used, but lacking in some standard features the ability to scale to large systems. There is also, I have to say, a certain arrogance about the Hibernate team that discourages me from using their product.

      The new JDO (2.0) now out in preview has everything that Hibernate does and more, and has multi-vendor support. There is no reason not to use it, in my view.

    17. Re:J2EE and webapps by arkanes · · Score: 1
      I write webapps for a living, and I would recommend against them in almost all situations, especially for medical applications. The browser is actually a pretty piss-poor environment for an application, there's very little opportunity to offload stuff to the client and you have to be extremely carefull about what you choose to because of feature mismatch.

      You can do a LOT more in a client/server application. In a productive language with good tools (Python/wxPython being my preference) you'll probably be faster than deploying a web app, and you'll actually be able to get usefull, rich, client side behavior. The main advantage to a thin/web client app is the ease of deployment and updating, and while it's a fairly major gain I think the increased utility of a rich client pays off. Also, someone else may have already done the work for you, Java Web Start, for example.

    18. Re:J2EE and webapps by D-Cypell · · Score: 1

      Perhaps I should have said defacto, free for commercial use, ORM mapping tool. Clearly this (slightly more restrictive) category doesnt currently include toplink (to my knowledge, the download on Oracle's site provides a version of TopLink that is licensed only for prototype development).

      I guess the debate between JDO and Hibernate isnt really comparing apples to apples. JDO is a specification and Hibernate is a concrete API. I am vaguely aware of reading about somebody using Hibernate to implement the JDO spec (JBoss perhaps).

      What is interesting is that Sun are actively pushing two persistance specs. JDO and the ever popular, entity beans. My money was on entity beans disappearing from the radar but with the new EJB work, inversion of control, Java 5 attributes etc, it sounds like EJB (including entities) are still alive and kicking at Sun.

      So what criteria do you choose to decide on JDO vs Entities? Sun is telling us that both are enterprise ready, transactional, persistance storage access tools.

      I am not aware of Hibernate's potential to scale, or the benefits that JDO provides for scalability but I will say that I rarely choose a library based on its ability to scale. With a clear set of interfaces that define the DAO's and a set of unit tests, changing between Hibernate and JDO probably wouldnt be much of a problem.

      I generally find that even with a spec like JDO, a team still ends up specializing on the selected implementation. You are still 'buying into a product'. I remember looking at CORBA ORB products thinking "This is about 20% CORBA standard and 80% '...or why not try it OUR way' add-ons". Perhaps its not quite as bad in JDO implementations, but the potential is always there.

      So pick a JDO implementation or pick Hibernate. Architect to abstract the choice from the rest of the system wite unit-tests to the interfaces and I guess it doesnt matter. Just comes down to preference (and usually the question "What am I/the team already familier with").

      It is a shame that you see an arrogance in the Hibernate team. I have never seen this, but definatly have from JBoss. Now that hibernate is a JBoss project I truely hope the attitude transfer surgery wasnt part of the deal!

    19. Re:J2EE and webapps by arkanes · · Score: 1
      A webapp is good for any application that has as it's main requirement distributed access and ease of updates, coupled with a lack of a need for rich client interaction. I'm currently working on a data entry web application and it's a nightmare because of brower limitations. A report server (as mentioned above) is a great example of a good web application.

      Version control of client apps really can be solved. It's not even that hard. Sadly, it's pretty easy to do badly. But if you want rich client functionality you'll find that the week you spend writing update functionality a lot less than the ages you'll spend writing customized rich client javascript. There's a very good reason that the applications most people use every day are not thin clients. One thing to bear in mind is that it's not just features that browsers lack, it's also features browsers have that interfere with your application. For example, the back button is the bane of many web applications. The kind of features people want and use when they're actually browsing hypertext are very different than the ones they need and one when they're interacting with a buisness application.

    20. Re:J2EE and webapps by Valdar729 · · Score: 1

      You could use GTK#, but most rich client stuff that is already written will have to wait for Windows.Forms support.

      Mono will always be one version behind Microsoft (as .Net 2.0 is already coming out), but most people that are developing enterprise level applications will be about one version behind by the time their product has gone through all the QA and iterations so that doesn't bother me.

      I agree with you though, I won't go the rich client route until I see the Windows.Forms support, I just wanted to be a MS Fanboy and let people know that it's can be a viable alternative. Perhaps I should have states that GTK# already gives cross platform rich clients.

    21. Re:J2EE and webapps by Audacious · · Score: 1

      Yes I have. However, you are probably thinking in terms of a webapp which works across the web. The original poster did not say they were going to be doing something like that. They were going to be doing an in-house type of program. At least that is the general feel the person gave in their original post. Since we are talking about a trusted internal LAN security concerns should be less than if the whole world could get to the server and/or program. Further, it is likely that if they are going for a hospital or clinic that either of these two places will have their own system's person who will have made sure (hopefully) that their network is secure and that only certain other facilities (such as another hospital in their network) can get to the server.

      It is true that I am giving them the benefit of the doubt when it comes to the sysadmin's abilities - but that is why there are sysadmins. To hopefully monitor what is going on with their systems and networks. I have a brother who has worked in the Dallas/Fort Worth area for the past twenty years. He worked as one of the staff at a major hospital there and part of his job was to monitor the networks and make sure no unauthorized personnel gained access to the system. They never had a problem. But my other brother (who installs networks) had all sorts of problems when he was helping out to install networks into a new hospital which was being built. It seems that the doctors thought they new how to do everything and tried to be helpful by cutting ethernet lines, taking computer parts that they thought they needed, and resetting various components when you least expected them to do so. It finally came down to the doctors were not allowed to touch anything because they'd already caused about a two month delay in getting the internal network up and running.

      In both instances though, once the internal network (or LAN) was installed neither experienced any kind of problems. This is not to say that they won't - just that someone would have to bring their own computer into the hospital (or CD), gain entrance to a room with an ethernet connection (and/or a computer) and then break into the network.

      So long as the outside network and the inside network are kept separate - I don't see any problems with Perl or PHP being used. Even with an external network (or WAN) though, if they keep up with patches on ALL of the networking software they have (including Apache and Linux) they should be able to keep a reasonable expectation of not have a compromised system.

      --
      Someone put a black hole in my pocket and now I'm broke. :-)
    22. Re:J2EE and webapps by Decaff · · Score: 1

      I am vaguely aware of reading about somebody using Hibernate to implement the JDO spec

      That would be good news if true, but last I heard, the Hibernate team had walked away from JDO, saying 'JDO is dead', and infuriating a lot of people (especially as they asked to be involved in the JDO 2.0 spec in the first place). However, if someone independent is doing this, it would be great. In terms of features, JDO 2.0 and Hibernate are very close.

      As for JDO and EJB, this is a HUGELY complicated story, which changes almost on a weekly basis.

      As far as I can tell, it goes like this:

      There were two groups of people. Those who wanted portable standards, and those interested in using ORM mainly as a thin layer above relational databases, and with vendor-specific extensions. The first group went with JDO, the second with EJB. There has been a phenomenal amount of politics agains JDO, because it is highly functional even without vendor extensions: Its very quick to move both between databases and between different vendor's JDO implementations. There is a new spec for JDO coming out that answers most of the criticisms of JDO - version 2.0. Providers of proprietary solutions (such as TopLink and Hibernate) rant against it whenever they can, because it allows such freedom to change supplier.

      To complicate things even further, there is a new spec as part of EJB 3.0 (to be released in 2006) - yet ANOTHER mechanism for ORM, which the JDO vendors, Hibernate and others say they will support. The idea was that it was this spec that would become the industry standard. It will be a long time coming and I really can't see all the vested interests getting together and supporting what is likely to be a minimal subset of features.

      The big advantage of JDO 2.0 is that it takes all the vendor-specific extensions (such as the ORM layer) required to make JDO 1.0 useful and makes them part of the standard. The other big thing is that there will be an Apache version.

    23. Re:J2EE and webapps by Decaff · · Score: 1

      I just wanted to be a MS Fanboy and let people know that it's can be a viable alternative.

      A reasonable and useful thing to do. Personally, I would be far more interested in a cross-platform Mono alone, without the constant reference-back to .Net.

    24. Re:J2EE and webapps by D-Cypell · · Score: 1


      I did a quick google on the "JDO with Hibernate" think and couldnt find such a project. It was a vague recollection, perhaps I am mistaken. Although, there is talk about JBoss using hibernate to implement their CMP. Perhaps it was that...

      I will definately take a second look at JDO. Seems that much has been happening their and so im probably a shade out of date.

      I guess it boils down to the fact that on all of my recent projects, hibernate has handled the ORM and I have never really had cause to complain. If it aint broke, dont fix it, and designing to keep technology neutral covers my ass for when the next silver-bullet comes flying by.

      Having said this, I have a project that is just starting and we are at the 'verticle slice' stage of development. Perhaps I will try converting our hibernate persistance layer to using a JDO implementation. It would be interesting to make the comparison without changing the other tools (velocity & spring at this point). I just may do this...

      BTW... Merry Xmas (Or politically correct alternative)

    25. Re:J2EE and webapps by Decaff · · Score: 1

      I did a quick google on the "JDO with Hibernate" think and couldnt find such a project. It was a vague recollection, perhaps I am mistaken. Although, there is talk about JBoss using hibernate to implement their CMP. Perhaps it was that...

      Yes, this is true. Hibernate is now part of JBoss, I think. As for the 'JDO with Hibernate', I think that may have been something to do with the fickle (yes, they do irritate me) Hibernate developer team taking an interest in JDO a year ago?

      I will definately take a second look at JDO. Seems that much has been happening their and so im probably a shade out of date.

      There are some good commercial versions that give free trials. Xcalia is a good one. They allow you to develop for free. Then you could switch to a free version (such as JPOX) for deployment (this is why I like standards!). There are usually fabulous tools bundled with JDO products - graphical object designers, schema analysis and migration tools.

      I guess it boils down to the fact that on all of my recent projects, hibernate has handled the ORM and I have never really had cause to complain. If it aint broke, dont fix it, and designing to keep technology neutral covers my ass for when the next silver-bullet comes flying by.

      Absolutely! I'm looking a features in Spring (see below) to try and let me abstract even away from JDO.

      Having said this, I have a project that is just starting and we are at the 'verticle slice' stage of development. Perhaps I will try converting our hibernate persistance layer to using a JDO implementation. It would be interesting to make the comparison without changing the other tools (velocity & spring at this point). I just may do this...

      I'm a huge fan of Spring - I have recently discovered it and it saves me a lot of time. There is supposed to good JDO integration (although their documentation for this is very poor).

      BTW... Merry Xmas (Or politically correct alternative).

      Same to you.

    26. Re:J2EE and webapps by TodPunk · · Score: 1

      Density is another interesting one, I think. Relatively new, but some interesting ideas. Of cours, it's php, not Java, but php is not exactly a high learning curve.

      --
      This forum Sig is licensed under the LGPL.
    27. Re:J2EE and webapps by sribe · · Score: 1

      As we've moved the functionality over to a web portal, we've been able to spend less time distributing executables and more time developing features.

      So I guess you're not aware that there are many products available to solve this problem??? Hell, I once wrote one--took all of 2 weeks start to delivery, because as it turns out copying files over a network is not all that hard to do ;-)

      Sometimes web deployment does make sense, but just as often it's a knee-jerk no-thought default. And it just makes sense (!) to actually evaluate the needs and decide which is the bigger problem to be avoided: deployment and maintenance issues, or UI issues.

    28. Re:J2EE and webapps by ip_fired · · Score: 1

      We had a system to do this before. It worked well enough. However, as it is really just a way for generating reports out of a database, a web portal actually does make sense.

      Not only that, but perhaps you work with smarter people than I do. It seems that they find the most interesting ways of screwing everything up.

      --
      Don't count your messages before they ACK.
    29. Re:J2EE and webapps by sribe · · Score: 1

      However, as it is really just a way for generating reports out of a database, a web portal actually does make sense.

      Yes, sounds like a good example of the kind of application where web-based fits.

    30. Re:J2EE and webapps by Decaff · · Score: 1

      Hibernate is a great product, but it's single-vendor and a proprietary API.

      What do you mean by that?

      You can only get Hibernate from a single source. No other organisation provides a product which implements the Hibernate API. Hibernate owns that API.

      This is in contrast to JDO, where currently 30 organisations provide competing implementations, including good quality open source versions.

      Source? JSF 1.0 was just released in March. No where in Craig's blog does he say "use JSF not Struts" but rather to investigate both.

      JSF was in development long before that, and during that time, Craig posted this:

      "For applications with a longer lead time, seriously consider waiting for the ability to use JSF components instead of the Struts HTML tag library. Doing this will let you leverage not only the standard HTML components that come with JSF out of the box, but also the rich libraries of JSF components likely to be created by third parties in the future (including Struts developers).

      For Struts after 1.1 is released, the developers haven't yet had formal conversations (which will happen on STRUTS-DEV) about what a future Struts will look like. However, I'm going to continue to advocate a long term migration to using standards like JSF and JSTL when they are available, and de-emphasize the further development of the Struts proprietary tag libraries. "

      at this page:
      http://struts.apache.org/proposals/struts-f aces.ht ml

      The emphasis these days is that a developer should use JSF, or a combination of JSF for UI and struts for controller aspects of complex sets of pages (although JSF is being extended to help with this).

  18. Because we are the experts by Anonymous Coward · · Score: 1, Informative

    And the answer to your question is J2EE. Simply because you can run tomcat, struts and jstl alongwith a local copy of mysql on any old machine. If plans called for scaling (like heavy weight centralized database using oracle) you can do that, if plans call for scaling the app and port to heavy weight app servers you can do that. With MS, your entry point is your max scalable point and there is no scalability.

    I WILL grant you that developing UI under .NET is easier than J2EE/Struts/Swing at the moment. However this is rapidly changing with new toolkits from IBM and BEA (for websphere and weblogic).

    Have fun,
    Another one of them H1Bs taking american jobs.
    Faraz

  19. XUL, fast, light and stable by Anonymous Coward · · Score: 2, Interesting

    We've been using XUL for stuff like this for a while
    = desktop like interface,
    = lightweight desktop install (eg. firefox)
    = backend choice of components - eg. prototype in PHP, then decide if you really need to go that extra mile with C for any of the slow bits.
    = Users think it's great
    = It's responsive, even on old win98 pentium II's
    = Alot cheaper to add/change develop. etc.

  20. The platform doesn't matter. by Anonymous Coward · · Score: 3, Insightful

    For the past four years, I have been working for a company that develops healthcare software. We chose .NET for our applications, but I have also done a fair amount of development in J2EE environments. In my opinion, both J2EE and .NET are fine platforms and either one will work. It will be the user interface and features of your application that will ultimately determine its acceptance. People who use healthcare applications are not computer people and don't want to be. They just want to enter their billing, schedule their appointments, retrieve their lab results, etc. If your application allows users to do that quickly and easily, nobody will care what the platform is.

    Now, having said all that, I will fall back on the usual logic and say that if your application needs to be platform independent, J2EE is the obvious choice. If you want the easiest and most productive development environment, stick with .NET.

    1. Re:The platform doesn't matter. by darnok · · Score: 1

      > if your application needs to be platform
      > independent, J2EE is the obvious choice. If you
      > want the easiest and most productive development
      > environment, stick with .NET.

      I'd agree with that, with the caveat that I don't have quite the same level of expertise with J2EE that I do with .NET.

      On the other hand, surely you're considering making some/most/all of your apps browser-based. If so, why not go with the following approach:
      - build back-end with J2EE or .NET (your preference; generally most places won't care which you use for back end systems, as they'll have experience supporting each these days)
      - expose all your functionality via Web services
      - build your UI stuff in XUL so it can be driven by any Mozilla-based browser

      Why use XUL? The following reasons:
      - Mozilla browsers run on just about any platform, so your client-side portability issues disappear
      - no client deployment. Particularly important if you face having to make customer-specific changes to your UI
      - powerful user interface; most of the useful UI widgets are in XUL, so you can build an interface that users will like
      - Firefox is taking a sizeable chunk out of IE's market on Windows, and is now getting recommendations from the sources that IT decision makers tend to respect
      - it's easy to code test cases that require user interaction in XUL, so a lot of your initial testing can be done while you build up XUL expertise
      - there's no real lock in; if your customer absolutely requires that a Mozilla browser can't be installed, the effort involved in putting together an identical user interface that works client-server (using e.g. VB.NET or Delphi) is very low once you've got a solid working GUI up and going in XUL. To be honest, that goes for just about any application; migrating your GUI from one toolset to another is very fast, *except* when you have to migrate to a regular HTML GUI such as IE

      Downsides of XUL
      - no really good IDE at present. There's a few good looking works in progress, but that's about it. An IDE along the lines of VS.NET or Delphi for XUL would be a huge step forward at this point
      - documentation exists and is quite comprehensive, but high quality tutorial-level stuff in particular can be tough to find. Plenty of good reference material though; either online or in books

    2. Re:The platform doesn't matter. by Ogerman · · Score: 1

      If you want the easiest and most productive development environment, stick with .NET.

      This is rather a myth unless your team is a bunch of MS junkies who've never used anything but Visual Studio. Java development tools, overall, are more powerful than those for .NET today. And the Java development tools are mature and time-tested.. For those getting in on the ground floor of enterprise software development, just choose Java and don't look back. There's no compelling reason to choose .NET if you're just starting out. All the problems that have plagued Java in the past (early 90's, dot-bomb era, etc.) have been solved.

      But do note: You should be largely looking to the Open Source community for your Java tools, not Sun. Sun is driven by committee. OSS is driven by what works in the real world. Look to Spring, Hibernate, Struts, and the rest of the Apache Jakarta project. Forget about heavyweight J2EE app servers unless you really need them. (And you can always refactor later)

  21. Re:Consider PHP by jbplou · · Score: 1

    A .Net app could run just on the client if you are dealing with a small physicians office. .Net would be a much better choice than PHP, realistically no business is going to put an internal app on a shared host. If it is to be a webbased app running either J2EE or ASP.NET it could coexist with other apps on one server, it all depends upon users and load. For a healthcare provider which has to meet government requirements for privacy a platform with no company to back it up is fool hardy at best.

  22. Re:J2EE hands down by Anonymous Coward · · Score: 5, Insightful

    MS has pretty much bet the bank on .Net, so even if windows loses market share I can't see it going anywhere anytime soon.

    I use .Net at work (not out of choice) and I must say that I've been pleasently surprised. Ethical grandstanding aside, VS.Net is a very good IDE and C# is a particularly nice language. IMHO, easier to use than Java.

    I still agree with your cocclusion though - depending on the current skill level of the deveopers of course, I think Java is the better option. Both platforms are pretty similar, but with Java you get (better, complete) portability.

    Ben

  23. J2EE by Nik13 · · Score: 1

    .NET has a couple nice things, but overall, I absolutely despise it - and that's coming from a long time developper on windows only. I still prefer ASP over ASP.NET (that's sad, isn't it?). Next logical step for me isn't anymore "upgrading" to .NET - it's doing the switch for good. I've had it with them. Out with Win/IIS/SQL server - Moving to Apache (PHP, J2EE, ...) on a *nix box for good in the near future. And J2EE is a lot more portable (can be hosted on whatever you want, lower costs and maint than a windows box imho) I used to be a hardcode MS fan, but I guess I'm starting to see the light at the end of the tunnel...

    --
    ///<sig />
    1. Re:J2EE by Valdar729 · · Score: 1

      I call BS. You don't go into any specifics of why .Net is so bad. Every single developer I have ever talked to thinks .Net is a godsend.

      You know nothing about .Net and probably nothing about programming in general since you're suggesting PHP for a medical application.

    2. Re:J2EE by Aquila+Deus · · Score: 1

      PHP can integrate with .NET amd Java. It's actually a possible solution for web interface. (but nothing else!)

      --
      hmmm... dumb...
    3. Re:J2EE by Decaff · · Score: 1

      I call BS. You don't go into any specifics of why .Net is so bad. Every single developer I have ever talked to thinks .Net is a godsend.

      It is definitely a godsend. For Windows development.

      But no matter how great .Net is, I had thought that the idea of developing large-scale software for a single platform, using products from a single supplier, went out decades ago.

    4. Re:J2EE by Nik13 · · Score: 1

      There are tons of people who don't like .Net, and the issues related to the whole .Net technology is FAR beyond the scope of any /. post. If you actually ever tried making real use out of it, you would see lots of problems, or perhaps you've never used it? We're a whole department who decided to get away from it, and we're not the only ones (read the other posts for other examples). As for PHP, if you had actually understood my post, you'd see I didn't suggest it for his purposes, I said that it was one of the things we're moving to (instead of ASP or ASP.Net) but that was too hard to understand I suppose...

      --
      ///<sig />
    5. Re:J2EE by Valdar729 · · Score: 1

      Again, you didn't mention a single example of something wrong with .Net. I've used it in enterprise level applications that had thousands of users for Time & Attendance software. Many big corporations use our software for keeping track of that information.

      Even before my current company I developed a full accounting and scheduling system, by myself, for a manufacturing company that has over 100 employees. The application was written in 3 months by ONE person and they couldn't be happier with it.

      I have friends who are team leads for projects using J2EE and we've collaborated on some on the side contract work in Java and .Net and they are so amazingly similar I can't see how you can you'd rather go with one than the other.

      Oracle vs. SQL I could understand as SQL has some clustering shortfalls that have forced me to go with Oracle in the past. But I still say you have no idea what you're talking about since you don't give specific examples and not you're trying to cover your ass.

    6. Re:J2EE by Valdar729 · · Score: 1

      Well, the thing about the development we do is that most of it is web based, although there has been some move in the direction of rich clients lately.

      One of our big selling points is platform independence since we are web based and if a company doesn't like windows they can stick our server in a lonely dark corner cut off from the rest of the world.

      Since we have a nice DAL we can switch between DBs almost painlessly, which we've done for some people that have invested heavily in Oracle.

      I've been watching Mono closely and I'm waiting for their Windows.Forms support before we start prototyping any Rich Clients as we want to maintain that we can be "cross platform", even with a rich client.

    7. Re:J2EE by Valdar729 · · Score: 1

      I never thought of that solution. Web services backend in .Net and Java, but the front end in PHP...interesting.

      That might work as our entire architecture is web services based so that clients can do their own thing with our SDK and not be limited by our UI.

    8. Re:J2EE by Decaff · · Score: 1

      I've been watching Mono closely and I'm waiting for their Windows.Forms support before we start prototyping any Rich Clients as we want to maintain that we can be "cross platform", even with a rich client.

      I know this may sound like flamebait, but it's not intended to be:

      There already is a well-established, proven cross-platform solution with rich client support (including OpenGL-accelerated GUI on the client side, and ActiveX support). Its called Java! It has the huge advantage that it allows rich clients on Mac and Linux too.

      I see a lot of resistance to using Windows server-side, as there is such a fast growth in alternative server solutions.

      There are a lot of Java/.Net bridging solutions that would allow slow transition to a more portable system.

  24. Re:oh no not ms by Anonymous Coward · · Score: 1, Insightful

    Yeah, like I want my medical records stored in a database that is touted for its supposed speed, not for meeting the requirements of ACID transactions.

  25. Re:oh no not ms by jbplou · · Score: 1

    MySQL is a good database for small web apps. But it can't compare with Oracle or even lowly MS-SQL. It still lacks and triggers, I'd imagine that a lot of logging needs to be done for a health care app. A trigger in the database would seem to be important for this case. Secondly I'm gonna catch flak for this MS-SQL scales better than MySQL. MySQL will be there one day but its not quite there.

  26. Re:J2EE hands down by doormat · · Score: 1

    he last thing you need is Microsoft changing their APIs yet again to some god-forsaken, bloated, filth.

    Whats to keep Sun from doing the same thing?

    --
    The Doormat

    If you're not outraged, then you're not paying attention.
  27. Been there, done that by christian+simpleman · · Score: 5, Interesting

    Last summer we developed a case management system from scratch for hospital admissions pre-qualifications and tracking. Our client serves the medical insurance industry, therefore HIPPA was a factor. We used LAMP all the way, finished the project in three weeks (no brag, just focus and swinging elbows), and they have fifteen nurses banging away 24/7, client access via https, and 100% uptime. All of their money went to us instead of software licensing, they paid less anyhow, and they are smiling ear to ear.

    If the PHP is not elegant enough, for the love of sanity please use Java. If we don't feed the monster that is choking, screwing, and robbing us, it may weaken and we can get on with an unshackled future. We do the entire world a favor whenever we choose sane engineering.

    "If no one tilts at windmills, the damn things will take over the world!"- Christian Simpleman

    --
    "If no one tilts at windmills, the damn things will take over the world!"- christian simpleman
    1. Re:Been there, done that by katana · · Score: 5, Funny
      they have fifteen nurses banging away 24/7

      What kind of medical facility is this, and how can I check in?

    2. Re:Been there, done that by Anonymous Coward · · Score: 1, Informative

      Again, that would be HIPAA - http://www.cms.hhs.gov/hipaa/. I love the fact that we have all these programmer/engineers/designers who can throw around a host of programming metaphors and every buzzword in the Buzzword Bingo game card and yet can't remember that it's HIPAA (Health Insurance Portability and Accountability Act) not HIPPA. I guess it doesn't surprise me since a good 3/4 of the healthcare providers and health organizations out there have pages on the internet that mispell it.

      What cracks me up even more is the people who refer to it as the Health Insurance Portability and Privacy Act (OR Health Insurance Privacy and Portability) and the use the abbreviation HIPAA.

      It's only been around since 1996 - you'd think sometime soon some consistent use of terms would emerge. But what the fuck, it is the healthcare industry after all.

    3. Re:Been there, done that by juan2074 · · Score: 1

      Isn't there a movie about that place? 'Night Nurses', anyone?

    4. Re:Been there, done that by tanjavuru · · Score: 1

      how about python ? php and java dont not even come close to the elegance of python . if you need an app server for python there is zope !

  28. Re:Neither by ciw42 · · Score: 2, Interesting

    I'd second that. I've been using Python exclusively for the past year or more in commercial projects, and quite a bit on and off prior to that personally.

    Combined with a good GUI toolkit (wxWidgets or for certain applications GTK+ and the wonderful Glade) and with a good database back-end (MySQL on the server and possibly SQLite for local data) you really can do pretty much anything very quickly and effectively. There are even some great free development tools (like DrPython) which are a joy to use.

    You get to target GNU/Linux, Windows and Mac OSX with essentially the same source, and installing the Python and related runtimes is no more hassle than installing the .NET or Java runtimes. If deployment is a major issue, then it's simple enough to create and ship a single executable.

    I've used it for developing everything from Point-of-Sale systems to document imaging and retrieval to accounting systems. There are quick applications for feeding data from legacy systems into new systems, batch processing of large amounts of data, as well as some pretty major fully bespoke applications. It really has proven to be a one toolset fits all solution for me.

    Looked at and used Perl, Ruby and Lua for a while before decideding on Python. It just had that little something extra for me, and I've absolutely no regrets, but all four would bring you most of the same benefits, though you may find that Lua is lacking somewhat in add-on libraries at the moment.

  29. Hospital systems by Anonymous Coward · · Score: 5, Insightful

    I work for a small company that does almost exactly what you're talking about, but so far only for hospitals. We have been in business for twenty years now and are having some of the same discussions. We currently run on win32, SCO Unix and AIX. In the past we have supported DOS, HP-UX, Solaris, Linux, AIX, UNIX and WIN32. Most of our customers are running our software (which is character mode btw) on Windows, but our largest, highest paying, and most stable customers are on AIX. If you want large customers you may want to consider something portable. They will usually have a RS6000 running Oracle in the hospital and have many Windows machines connected to it. You can get away with ignoring the RS6000, but that's the most stable machine in the building and IS would love to put it to use. From a support point of view, our customers on AIX and UNIX have the fewest problems and call us the least. There is nothing like trying to diagnose a label printing problem on a Windows network while working remotely over a modem or vpn connection.

    Our debate is focused on whether we should support only one OS, probably Windows, or continue to support three. We'll be switching from UNIX to BSD at some point. (Personally I'd rather use Linux, but as a company we are familiar with UNIX and I'm told BSD is very similar.) The Unix variant side likes the security and reliability, the Windows side likes the graphical interface and the fact that Windows machines are everywhere. Plus we have both Windows and AIX customers that insist on their OS of choice. One thing that scares me about Windows is HIPAA, which makes the hospital liable if a patient's information is leaked. No court cases have been brought yet, but the thought of all that patient information on a Windows machine that could get hijacked is scary. A lot of these hospitals allow remote vpn connections and some of these networks get infected with a worm now and then. I wonder how long before someone decides to steal a patient database and bribe the hospital?

    Most hospital systems, and even some Physician software will communicate with other systems using HL7 protocol over TCP/IP. This is the thing keeping us busiest now and a lot of times it's what the hospitals find most useful.

    Just my two cents, but get used to having the customer tell you what they want and be prepared to do it, if at all possible. Flexibility is key, even more than taking advantage of the latest software trends. Support wise, they will need hand-holding, but they will be loyal customers if you respond to their problems quickly and kindly.

    1. Re:Hospital systems by Monkius · · Score: 1

      Yours is the most informed post in the thread, but you're contradicting yourself in your remarks about Linux.

      Supporting only one OS mostly makes sense only if it _isn't_ Unix. Also, Linux is more like most recent commercial Unix, unless the last Unix you supported was Ultrix. Seriously.

      --
      Matt
    2. Re:Hospital systems by Guido69 · · Score: 1

      I beg to differ. I think MY posts are the most informed in this thread.

      :)

      --
      - If we aren't supposed to eat animals, then why are they made out of meat? - Steven Wright
    3. Re:Hospital systems by Monkius · · Score: 1

      Noted.

      --
      Matt
  30. Suggestions from a hospital IT employee by Anonymous Coward · · Score: 1, Insightful

    I have worked in a hospital IT department for 10+ years and we support approximately 1000 workstations. Here are a few suggestions:

    1. Make it easy to deploy/update. Preferably web based, or your app can update itself. If not, make sure it can be installed silently via MS SMS, group policies, etc.

    2. If using a database, you better make sure it enforces integrity and does not try to guess what you mean and do it's own thing. MySQL for example will "help" you by truncating strings and accepting crappy data. You don't want to be screwing with patient data. Lawsuits are common and your data will need to stand up in court. Yes, your app should be able to stop this - but you never know! If open source is your thing, try Firebird.

    3. Hospitals shutdown for evenings, weekends, holidays. There is never a "good" time to have downtime. Minimize the need for it and try to build redundancy in your app.

  31. Use to work for UK healthcare solution provider by plcurechax · · Score: 4, Insightful

    Hint: There are fairly few recent PCs in many hospitals. So unless you are targeting only wealthy private hospitals, assume the worst.

    I use to work on a Unix based custom information system that over a decade old, and on a dozen Unix platforms, and they were developing a new Windows based system. It took multiple years to develop with the new product that was not good enough to replace their existing Unix solution, so hadn't sold a single copy of the new system.

    Of course, to your secondary question, I don't know, but I think it is a classic case of horse before the cart though.

    1. Re:Use to work for UK healthcare solution provider by kinema · · Score: 1
      There are fairly few recent PCs in many hospitals.

      I know a database engineer that works for a large national health care provider she says this isn't as true as it used to be. Y2k was a wakeup call for an industry that was still maintaining an amazing amount of COBAL and even MUMPS code on old school big iron. This particular health care provider did an organization workstation upgrade during '99. All machines were not only required to be Y2k compliant but those that were running Microsoft OSes were required to be upgraded to W2k or XP. As far as the server side of things are concerned all new apps run on Oracle.

      The other thing that is driving the industry to revamp is HIPAA. All apps have to be at very least audited for compliance. Often times it's easier and more future-proof to reengineer and reimplement these legacy systems. It's getting harder and harder to find coders that are not only qualified to audit these archaic systems but that want to spend their time doing it. Even if the pay is good would you really want to spend your days digging through two decade old COBAL?

    2. Re:Use to work for UK healthcare solution provider by good+soldier+svejk · · Score: 1


      The hospital I work for has repeatedly ranked first in Hospital/Health System Information Technologylists published by Information Week and other like publications and organizations. The bulk of our clinical systems are based on Intersystems Caché, which is basically the most current descendent of M/MUMPS. Increasingly, the front end is web based, but there are still apps that require terminal emulation. Although we too held a Y2K upgrade free for all, that was five years ago, and many of those desktops are still in service. Five years used to be our oficial desktop service life expectation, but now we are a little more rational about that (four years IIRC). We support ~7,000 desktops.

      Interestingly, Caché is pretty cross platform. It runs on a variety of hardware and OSes, including OpenVMS, various unices, GNU/Linux and OS X. It also turns out to be an appropriate and cost effective solution for medical record management. Not surprising considering its M/MUMPS heritage. After all, M was developed at Mass General.

      --
      It is cowardly, and a betrayal of whatever it means to be a Jew, to act as a white man

      -James Baldwin
  32. Mumps by JustOK · · Score: 1

    No one has mentioned MUMPS yet?

    --
    rewriting history since 2109
  33. Slow by Dan+Farina · · Score: 2, Informative

    Java is not that slow. In ye olde days it had a pretty high memory overhead--it still does--but who cares anymore? Memory is cheap and expansive, and (rightly so) people would rather have security and dependability.

    I would choose Java over .NET simply because of maturity and to stay away from a dangerous MS. We all know that MS has the balls and the market share to squash an enemy by any means necessary, even if that means doing something nasty with .NET. Sun doesn't even has this option. I'm not sure if they have the balls, but they sure don't have the market share. It is in their interest to make Java a viable competitor, not a tool for entrenchment. Their biggest conflict of interest is probably in offering Java for Linux which competes with Solaris. Obviously they are not in a position to withhold support.

    While I don't have extensive experience with it, you could compile your Java into native binaries...see GCJ and JET.

    That having been said, I would definitely consider some of the options presented that do not fall in the binary choice you have presented us.

    Finally, while I have not done so personally, my cousin's husband works for a company that develops their product in Java, but apparently can, with not too much trouble, use some automated tools to generate C# for the occasional dead-set MS customer than they come upon now and then. I don't know if tools to perform the inverse exist. He made C# translation sound like fairly trivial an issue for them.

    1. Re:Slow by Mr.+Shiny+And+New · · Score: 1, Offtopic

      His point isn't that he's ignoring a problem; though the argument is badly worded, what was meant was that Java's memory overhead was considered high in the early days, but it has remained mostly constant compared to the ammount of ram available to programs, and compared to the size of the java application program itself. So what used to seem like a huge overhead is not even noticable now.

      And Java's JIT compilation actually out-performs natively compiled C++ in some cases. So it's not a clear-cut "Java is slower" question; for some jobs it will be, but for many, many jobs it is either A) fast enough, and the speed lost is worth the savings in security and dev. time, or B) faster than native code.

      Of course, all of this doesn't mean that you should always use Java. But you should always try to use the right tool for the job, even if that tool is Java or .Net.

    2. Re:Slow by dnoyeb · · Score: 1

      Of course Java can unload unnecessary and unused class definitions saving RAM at runtime, something c++ can not do when its running on a CPU.

      And I like to point out that Java virtual machines ARE c++.

      Finally I'd like to add that Java 1.5 has implemented footprint sharing which will reduce the amount of RAM used by multiple JVMs running at the same time. Not exactly ignoring the "problem."

    3. Re:Slow by Mr.+Shiny+And+New · · Score: 1

      Java VMs may be written in C++, but the java bytecode gets optimized down to real machine code, so it's actually irrelevent what language was used for the JVM. But anything that's implemented 'native' in the VM, as opposed to in pure java, is run as regular c++.

  34. Appserver costs by Baby+Duck · · Score: 1

    Apache/Tomcat/JBoss has no appserver costs. Oh you actually want support for JBoss? Well MS support doesn't come free either. What will the software process? Leaning more towards patient care (hospital bed allocation, tracking nurses rounds, prescription maintenance, appointment making, etc.) or health insurance management (claims, billing, enrollment, referrals, etc.)?

    --

    "Love heals scars love left." -- Henry Rollins

  35. Re:J2EE hands down by mfearby · · Score: 1

    At least I have the courage to publicly stand by my point of view, as opposed to yourself... too gutless to express an opinion using your own name. Artard!

  36. I despise Microsoft but by BlackMesaResearchFac · · Score: 1

    the worlds best procedure documentation and coding compliance software is converting to .NET.

    www.provationmedical.com

    --
    -- Scientist: You aren't going to leave me here, are you? Boagh! Thump...
  37. Re:Correct me if I'm wrong by rdean400 · · Score: 1

    J2EE runs on J2SE, and there are plenty of facilities available for:

    - Running web-based clients to business objects
    - Running flash-based clients to business objects
    - Running Swing/SWT fat/rich clients to business objects

    However, unless you use Flash, UI work is not as easy for the developer as it is in Visual Studio (or Delphi, for that matter).

  38. well... by domenic+v1.0 · · Score: 5, Informative

    Both .NET and J2EE are good platforms for developing and hosting business applications. Both support n-tier architectures via client- and server-side component models for assembling enterprise applications. This allows for use of either fat or thin user interfaces with both platforms. However, .NET and J2EE are far from identical, and each platform has distinct strengths.

    The primary strength of .NET is its use of multiple programming languages running on a single platform. This eliminates the programming language as a barrier for adoption. Further .NET strengths include ease of use and speed of development as programmers might be transitioning from COBOL or C. (In contrast, transitioning to Java usually takes greater skill in object orientation.)

    J2EE takes .NET's multiple programming-language/ single-platform paradigm and turns it around: The primary strength of J2EE is its use of a single programming language capable of running on multiple platforms. This eliminates the platform as a barrier for adoption. Further J2EE strengths include vendor neutrality and the active involvement of a large, open-source community.

    Legacy applications: Can either platform make integration easier?
    Healthcare providers are moving from traditional reliance on paper-based records and isolated legacy systems. Most now embraced more systematic electronic exchange of patient data, exchanged both within and across organizations such as other providers, diagnostic and laboratory test facilities, managed care organizations, etc. Creating and maintaining patient records requires the ability to extract and integrate patient data from a range of "legacy" document and system formats. legacy applications constitute an even more difficult integration category. Consider a host application that was developed in-house 20 years ago, and written in COBOL. No J2CA resource adapters are available, nor will they be available, to help integrate these applications in a J2EE environment.

    From an integration standpoint, JDBC is actually more promising than J2CA. This API provides access to virtually any data source, from relational databases to spreadsheets and flat files. With a JDBC driver, all corporate data can be connected, even in a heterogeneous environment. In addition to its support for actual relational databases, JDBC can also support emulated relational models based on legacy information sources. But to do this, JDBC requires an integration product that can map the legacy-application functions to emulate a relational database model.

    The .NET platform, with its dependence on Microsoft BizTalk Server, has the same drawbacks for legacy-application integration as it does for packaged-application integration. So, despite the very real integration potential of .NET and J2EE, both platforms have their associated limitations. And when it comes to legacy-application integration, neither platform can complete the job on its own.

    Be aware that all vendors of application integration products do not provide equal support for .NET and J2EE. Many vendors have built their solutions exclusively around one platform or the other, heedless of the fact that both .NET and J2EE will still be the strongest presence in the years to come. Buying an integration product too hastily can tie your organization to a development platform they might not have chosen otherwise.

    Therefore, you should look to application-integration vendors that are closely aligned with--and can articulate a long-term strategic relationship with--both .NET and J2EE technologies. That means checking to ensure that a solution offers interfaces such as .NET Class Libraries, COM Objects, ASP, ASP.NET, and .NET web services to support your .NET-based development efforts as well as interfaces like JavaBeans, JSP, and Java web services to support your J2EE-based development efforts.

    1. Re:well... by Ogerman · · Score: 1

      In contrast, transitioning to Java usually takes greater skill in object orientation.

      I count that as a benefit of Java, hands down. Java itself and the surrounding tools lend themselves towards proper object oriented design. Honestly, a programmer who isn't already OO savvy is not who you want to develop your enterprise software. Send them back to school or find somebody else. This is the 21st century folks. Unless you're doing low-level coding, you should be using proper OO design.

    2. Re:well... by ergo98 · · Score: 2, Informative

      The "multi-languages" feature of .NET is a superficial feature, and it most certainly isn't the most important feature. As others have pointed out you certainly can do the same thing with Java.

      The .NET platform, with its dependence on Microsoft BizTalk Server

      Dependence? Biztalk is one possible solution for data-integration, but .NET certainly doesn't "depend" upon it -- you're fully capable of wrapping your own (which many do), and of course if you want to access data you have the massive library of OLEDB/ODBC drivers. You can even simulate a relational database using Datasets and overloads.

    3. Re:well... by wjsteele · · Score: 2, Insightful

      I stopped reading your post when the website you refereneced made the point, "I do not take any guarantee about the quality of software referenced here. Use at your own risk."

      The Java platform supports ONE language, Java. There are hacks that provide support to more languages, but NONE are supported by the platform.

      Oh, and Java's language support is typically much more obscure. Ever heard of Jython for example?

      Bill

      --
      It's my Sig and you can't have it. Mine! All Mine!
  39. Coming from the healthcare industry... by databyte · · Score: 5, Informative

    I work for a company that just landed a large install to a large hospital system. Here are some points to consider.

    My experience...

    1) Don't worry about the run-time in terms of a desktop requirement. Since you'll have to install your software, you'll have the opportunity to install the VM.

    2) Getting security clearance to run on a hospital system will largely be dependent on your application architecture and not on your application framework. Do you depend on certain ports or services, certain databases, file shares, web services, etc.

    3) A majority (overwhelming majority) of these systems do run Windows. If you find Linux in the mix, it'll usually be for very specific systems (PAX/DICOM) or back-end work (your mainframes and such). Due to the large number of small vendors in healthcare, a ton of applications are installed to the clinican's desktop. (And may have simple architectures or older frameworks like VB, Delphi, and even Terminal/Telnet). Everything from intergrated hospital wide systems to what a doctor uses on his own box to manage X, Y, and Z. [hint: look-up CCOW]

    4) Integration with an EMR is important, and again, most are Windows based. If you want to feed data into "the system", be prepared to work with the system. EMRs are heavy on HL7, light on Web Services and XML.

    5) Depending on your architecture, your GUI/interface and your "server" can be running on different systems, platforms, and/or frameworks. Probably not the best route but it is possible.

    General knowledge and opinion...

    1) Mono (.NET) for non-Windows applications is just as viable as Java for multi-platform use. You could do .NET AND Mono deployments (or just pick one).

    2) Hospitals pay huge $$$ for integrated systems. As such, they will purchase hardware dedicated to your implementation. If your worried about running on their existing OSX servers, don't be - sell them a Dell running Windows 2003 or a black box running RH. Your software will be more expensive than the boxes. You could also just include $2-10K in hardware costs as part of the PO.

    I highly recommend going to a trade-show or just talking to vendors "as a 100-300 bed hospital". You can see what others do by being a customer.

    Not saying you have to do what everyone else does - but it does help to sell something that won't take a lot to get going.

    1. Re:Coming from the healthcare industry... by tongue · · Score: 3, Insightful

      I find myself wondering exactly how much experience this chap really has in this market, as opposed to listening to a bunch of people with real experience talking, since "PAX" is actually spelled "PACS" (stands for Picture Archive and Communication System) and HL7 is an XML-based protocol.

      That being said, if your target market is small physicians offices, don't worry about the runtime; the overhead of installing it to the workstations is indeed negligible. BUT, if you plan on targeting hospitals at all, the lack of a runtime can indeed be a great selling point. While writing a web-based PACS/RIS/scheduling (RIS=Radiology Information System) my company found that in the vast majority of installs, the clincher to the sale was the lack of a required executable install (except for the radiologists who were doing diagnostic reads) and/or the end-to-end integration of our system, which meant they didn't have to cobble together four or five different vendors' software using obscure export/import procedures that usually ended up as a post-it note on the monitor of the technician doing the job.

      on the choices of software: if you go with .Net, despite the great strides mono has made, you're going to be a microsoft bitch^H^H^H^H^Hshop for the foreseeable future. if you go java, get ready to deal with the fact that there are a lot of areas of it that are overengineered for your purposes. There are downsides to both, but there are just as many upsides to each as well. If it were me starting from scratch, i'd go with java, if only because i like eclipse as an IDE better. (and for the record, i agree with anyone who says that's a bad reason to choose a toolkit--but i'd make the same decision six days a week and twice on sunday :) )

      honestly, if you're intent on going into this area, go for the little shops first. hospitals are attractive targets for the big boys like GE Medical Systems, and they will eat your friggin lunch, right after they kick you in the balls just for fun. There's a huge market for smaller offices who can't afford an entry-level price of half a million for a HIS system but still need practice management. This is what the ASP business model was born to cover. Tell a doc you'll install for less than 5k, charge him 5 bucks a patient/study/unit of work/whatever but in doing so allow him to better track his expenses, increase his payments from medicare/insurance, see more patients in less time, employ fewer people, or whatever promise your software makes, and he'll be foaming at the mouth to buy whatever it is you're selling.

    2. Re:Coming from the healthcare industry... by kupci · · Score: 1
      I find myself wondering exactly how much experience this chap really has in this market

      That's giving him and his company way more credit than they deserve, they seem to have no clue about J2EE, .NET, web apps, and software design in general. and HL7 is an XML-based protocol.

      Well, that depends on the version of HL7, as HL7 predates XML, and has only recently switched to using XML.

    3. Re:Coming from the healthcare industry... by Anonymous Coward · · Score: 1
      MOD PARENT UP!
      </aolmode>

      I used to work for a PACS/teleradiology vendor. It's a pretty small world, chances are we've heard of each other's firms.

      I wouldn't rule the large hospitals out completely - GE and some of the other big firms can get pretty obnoxious (see: Siemens). A number of customers are looking for a bit more attention, and don't mind being the bigger fish in a smaller pond.

      But you are absolutely correct that the ASP (Application Service Provider, I'm sure someone read your post and saw another MS product) model is the way for smaller offices. We looked seriously at entering the market a few years back, and were convinced that the ASPs were going to take over. It's taken longer than I would have guessed, but there are several players out there now.

      And just to make it relevent to the original question, I think an ASP would really want to go J2EE - .NET hasn't penetrated as much into the major webapp space.

      BTW, don't harass the guy too much about PAX vs. PACS. This is an industry that has problems with its acronyms (see HIPPA and HIPAA elsewhere in the thread). My personal favorite is the covers of the official DICOM spec from a few years ago - they read Diagnostic Imaging and Communications in Medicine (it's supposed to be Digital). Even the maintainers can't keep things straight.

    4. Re:Coming from the healthcare industry... by databyte · · Score: 1

      Yeah - I always get those things messed up. I do a lot of work in Imaging of documents (TWAIN, Imports, File convesions) and less on the medical side (Rad, Card, DICOM, PACS, etc).

      The key to smaller offices is not thru HL7 (which is expensive to implement) but by "other means" such as import/export, direct access, etc. Having a platform like .NET allows you the flexibility to connect to many different systems. There's more plug-ins, toolkits, and third-party support for the Windows platform (in general) due to the number of vendors out there. This includes DICOM Image Toolkits, HL7 Engines, etc.

    5. Re:Coming from the healthcare industry... by databyte · · Score: 1

      I take no credit, just opinion and advise that can easily be ignored (that's why your holding the mouse).

      I've done Java2 and currently do .NET.

      HL7 v3 is XML but still has gaps. The full spec isn't done yet but they're getting there. The RIMS are long, complicated, and changing.

      State-side, most vendors continue to use the older 2.x versions (2.3-2.4 mostly) since engines/interfaces are expensive and everything's backwards compatible. Even though the 2.3 spec was approved as an ANSI standard in 1997, most people still use it.

      Here's your typical argument:
      1) It costs hospitals a LOT of money to put up HL7 into production and most are experienced with 2.x to get it up rapidly.
      2) Hospitals aren't all new and those that are usually have experienced people who have come from existing hospitals
      3) Once a vendor has built something on top of 2.x and it works, what's the incentive to use 3.0 with XML for the exact same functionality.

      So just because a hospital CAN get XML with 3.0 doesn't mean they will. Not sure about you, but I've been to several different hospitals - have you noticed how many screens are still green and black? It's because it works!

      Don't shoot the messenger :)

    6. Re:Coming from the healthcare industry... by Eneff · · Score: 1

      Oh, and let's not forget that HL7 compliance doesn't necessarily mean that it can communicate with another application that is HL7 compliant.

      What a piece of hell...

    7. Re:Coming from the healthcare industry... by sribe · · Score: 1

      HL7 is an XML-based protocol

      HL7 predates XML by decades. The effort to extend HL7 to allow XML-based schemas is a recent development. So actually finding HL7/XML "in the wild" is rare, and you're lucky if your vendors are supporting it.

  40. Take a look at TAPAS. by Yaztromo · · Score: 2, Interesting

    Take a look at the Technology Assisted Practice Application Suite, which is based on Zope/Plone (written in Python), the jSyncManager (a pure Java (J2SE) synchronization protocol stack and toolkit for PalmOS-based handhelds), and some custom applications.

    This project is geared towards two areas: online access for medical offices, hospitals, retirements homes, etc., and handheld access using Palm Tungsten C handhelds. It uses open tools and open standards, and is released completely as Open Source. Phase One, currently under development, is implementing handheld management systems, security (both validation and encryption) calendaring, and messaging. Phase Two, starting Spring 2005, will be implementing patient data.

    Being open and using languages like Python and Java, the suite runs virtually anywhere. The prototype systems are running Debian, however I often do development and testing against a similar setup on Mac OS X (as I develop all of the handheld synchronization and management routines).

    Before you go out there and start writing soething similar from scratch, you might want to see if there are Open Source tools you can build upon and extend for your purposes first.

    TAPAS is, BTW, being developed in conjunction with a major university, a major hospital, a group of doctors, and a provincial Ministry of Health here in Canada. You might want to take a look at what we're doing before jumping in and starting from scratch yourselves.

    If you'd like more information, please feel free to drop me a line. In particular, if your company hasn't even considered the handheld side of your system, let me know as I have a lot of expertise in this area.

    Brad BARCLAY
    Lead Developer & Project Administrator,
    The jSyncManager Project.

    1. Re:Take a look at TAPAS. by malkavian · · Score: 1

      I think he meant the application is open source. If he gives the source to the application, then it is open source, no matter what language you use to develop it.

  41. Re:REALbasic by blackburnrovers · · Score: 1

    I have just started working with REALbasic. It is a fantastic product, and making applications with it is a breeze, especially across platforms. User community is very supportive, and the folks who started REALbasic often weigh in for help. Might be a little too small at this point for you to convince the higher ups though. REAL software website

  42. Re:Correct me if I'm wrong by jbplou · · Score: 1

    I would think a flash client for a medical app is rediculous.

  43. database and OS choice more important by humbads · · Score: 1

    I've been working on the same type of application for a number of years. Small doctor's offices don't have very complex requirements, so even plain old ASP or PHP will work. In fact, many of their functions could be handled by a generic portal application like Microsoft Sharepoint.

    I think the database and OS choice are far more important than whether you use J2EE or ASP.Net. Licensing cost and restrictions are directly going to affect your bottom line when you go to resell the software. Stop thinking from a short-term developer's perspective and start thinking long-term and from the physician's perspective.

    Have you looked at how complex Windows licensing is? Not only is it complex, but it is purposely ambigious so that people, being conservative, end up buying more than they need. Besides the drag of complexity, the standard Windows server licenses are limited to a certain number of users. The per-processor licensing costs are astronomical for a small business. Asking a doctor to keep track of how many users are using his application is another thing he/she would rather not be thinking about. Personally, restricting a machine whose hardware naturally can support thousands of users to a fixed number of users with hidden software settings I consider obscenely wasteful.

    Unfortunately, the application I've been working on is all in ASP, and so barring an expensive migration, it is locked into Windows. If I were going to build an all new application, I would be foolish not to build it on all open-source and free software. I'm not too familiar with J2EE OS and database options, but the combination of PHP, Apache, Linux, and PostgreSQL seems to be a winner. And during your development if you can contribute back to those communities, you will get a warm fuzzy feeling.

    Disclaimer: I'm partly your competitor, so take my advice with a grain of salt.

  44. Re:Hrm by techiemac · · Score: 1, Interesting

    Hmmm... let me think about this comment.... BuHAHAHAHAHA!!!! Microsoft secure AHHHAHAHAHA!!!

    But seriously, I respect the fact you made some of these comments. But I think some of the reasoning is flawed. Windows is simply not a secure platform from both a quality and archectecture standpoint. I know this from experience (heavy amounts of development for many, many different operating systems... not just Windows/Linux)

    I do agree with your comment on researching the target market and that is often what is forgotten when using the latest wiz bang technology. Pick the best tool for the job. Just because it's today's buzzword does not mean it's the best tool.

    I simply do not think that Windows can hold up to HIPAA. Would you trust Windows to cover your legal butt? I am not saying this as a Linux/BSD/Solaris/MacOS/VXWorks/PSOS/etc zealot but simply from experience. Security wise, Windows still has a ways to go (i.e. allowing arbitrary code execution from a web page, email, etc). When it gets there then I will trumpet Windows as a secure OS.

    My advice (and it's /. advice so don't take it too seriously ;) ), look at your target market, pick the best tool for the job, always have a backup plan if that tool doesn't work.

  45. Re:Consider PHP by isolationism · · Score: 1
    PHP probably isn't even an option (ludicrous or not). The U.S. Federal Government, for example, has mandated something about future software (for their use) having to be developed in either J2EE or .NET. I work in the eLearning industry and that's what we've been handed down from OPM, GSA, etc.

    Healthcare is probably the same, if not even more restricted. Software developed for US healthcare is pretty anal. As I understand it, every user-driven event has to be audited and signed with a key.

  46. Specs?? by CobwoyNeal · · Score: 1

    Is this going to be a ginormous database, or a relatively small one (local office keeping track of appointments)?

  47. From my expierience... by paradoxmember · · Score: 2, Insightful

    Speaking from expierience, I worked several years as an IT Manager in the healthcare industry in Connecticut, the most important thing I was forced to consider was ease of use and speed. While security is always a concern, it sometimes had to take a backburner to speed and just plain old usability.

    I cannot speak for other healthcare industries in other areas, but we were a 100% Microsoft shop with the exception of our Web Server. Almost every application that I looked at in my time as IT Manager was a windows based application. I have no problem with Linux, and I personally prefer it, but not many crossed my desk. I would say about 95% of the applications I saw were Windows based Apps.

    Perhaps the best thing for you to do would be to try and do some research on your target audience (Hospitals, VNA's, Single MD Practicioners, Multiple MD Practicioners, Walk-in Clinics etc.) and if possible find out what type of servers / software / brands they are currently using. You are going to get some people that will not give out that information but some will, and it is all in how you approach it that will get you that information.

    In the end I think you are going to find that it would be better to go with the .Net as that is what, from my expierience, is going to get you the most market share. Make it run quick, and by all means make it simple to use.

    Brian

  48. .NET definitely works! by dantheman82 · · Score: 3, Informative

    Upfront statement:
    I'm a Student Ambassador to Microsoft, I've been promoting .NET on campus, and am currently not paid for this position. So, in a nutshell, I basically promote the technology because I really like it. However, I think Java's pretty cool too.
    My thoughts are that yes, it will definitely work in .NET - I've seen even some grad students putting together a pretty awesome application in C# .NET for a programming competition that was aimed at the health care industry and had great acceptance with the hospital. The development time is quicker (especially in VS.NET), there are definitely security/cryptographic libraries implemented, and there is a huge open-source community built around .NET programming.

    Also, the .NET framework has been ported in a large part to *nix with the Mono project and has been used quite successfully in Munich which has recently ported to Linux by a company called Volcker.

    I've developed GUI applications in both Java and .NET and .NET was much faster and much cleaner as well. Plus, you can inherit from old C++ classes and leverage existing code/libraries in your new application.

    --
    This sig donated to Pater. Long live /.
    1. Re:.NET definitely works! by CtAhBeAbNoAy · · Score: 1

      Quit drinking the company punch!!!

      Everything you stated above (security, open source) exists for Java too. And this slow vs fast stuff is complete crap. I am currently on a .NET project and have written Java apps in the past and their is NO difference - especially when talking about the web.

      You were upfront with were you come from (I applaud that), but please quit with the hype. It's embarassing.

    2. Re:.NET definitely works! by dantheman82 · · Score: 1

      A few other things:
      1) I currently use Firefox (not IE)...
      2) I know how g++ works and have installed and used Linux
      3) I say Java/.NET are pretty comparable in the web, but he SPECIFICALLY mentioned a "rich desktop client", and not a web app. C# definitely outruns Java in both development time and performance (especially in Windows but also in *nix as I mentioned before)
      4) I do NOT want to work for Microsoft (or Linus and his gang) - I like to keep some objectivity.
      5) For what it's worth, ASP.NET v1.1 leaves a bit to be desired but ASP.NET 2.0 looks quite promising (having looked into the beta). I can't compare with J2EE but I'd guess they are fairly similar or quite possibly more mature.

      --
      This sig donated to Pater. Long live /.
    3. Re:.NET definitely works! by abigor · · Score: 1

      1. Okay.
      2. Okay.
      3. XMLRPC and SOAP mean you can write the client in whatever the hell you want. Write it in C++ with Qt, if you like (which is probably what I'd do). C# isn't faster than Java, either. Sorry. Although, Swing does suck, but who uses it? SWT is great.
      4. Okay.
      5. You're out to lunch. Do you have any idea of Java's penetration? Some of the largest enterprise apps on earth were written using the J2EE framework (Ford, Coca-Cola, HSBC, etc. etc.), and you're saying the unreleased, "promising" ASP.NET 2.0 is "more mature"? Grow up, kid.

    4. Re:.NET definitely works! by Aquila+Deus · · Score: 1

      I've developed GUI applications in both Java and .NET and .NET was much faster and much cleaner as well. Plus, you can inherit from old C++ classes and leverage existing code/libraries in your new application.

      .NET is definitely better, but the WinForm is really a piece of crap, nothing more than a ugly wrapper of the 10+ years old windows GUI. It looks good because (and only because) there is a form designer in vs.net and those who use it simply don't know anything else.

      --
      hmmm... dumb...
    5. Re:.NET definitely works! by KC0A · · Score: 1

      After a year working with C# and .NET, my opinion is that it is not ready for prime time. The .NET documentation is about the worst I've seen in 25 years in software development. The Windows forms controls are as pitiful as ever, still with no layout support worth mentioning. I suppose it's a great technology for letting mediocre programmers cobble together small applications, but for large applications it's pretty horrible. And ASP pages are even worse. Why you would want to make web pages as crappy as Windows forms is completely beyond me.

    6. Re:.NET definitely works! by jerdenn · · Score: 1

      5. However, on-topic, while J2EE has a rather large presence in the business world, there really is very little J2EE in the Healthcare arena.

      I'm speaking from experience, as I've been in this niche for some time.

    7. Re:.NET definitely works! by Aquila+Deus · · Score: 1

      After all, Java has no visual designers that are wrappers for the host widgets.

      There is no "visual designers that are wrappers for the host widgets". Winform is a wrapper of the ancient windows GUI (which looks exactly like OS/2's presentation manager).


      Java programmers are so experienced that they don't need them

      Agreed :)

      --
      hmmm... dumb...
    8. Re:.NET definitely works! by abigor · · Score: 1

      Yes, that's fair enough. I was responding to the original post comparing J2EE to ASP.NET 2.0. Thanks for the clarification, however.

  49. Hospital Technologies by Anonymous Coward · · Score: 5, Informative

    FYI, here is a list of common technologies you will see floating around a typical community hospital:

    operating systems
    digital HP Unix
    AIX
    VAX/VMS
    Solaris
    Windows 3.1, 95, 98
    Windows NT, 2000, XP

    programming languages
    Mumps (ala the 'M' database)
    CCL (fourth generation SQL-esque language)
    SQL (a very little bit)

    databases
    oracle, oracle, oracle
    some SQL

    First of all, you have got to understand your (potential) client. Therefore, you need to understand FDA regulation of healthcare equipment, and of the HIPPA regulations. Because of FDA regulations regarding healthcare equipment, it often takes years (between 3 and 5, on average) for a piece of medical equipment to be designed, tested, run through trials, and (hopefully) approved. On the other hand, hospitals have a very steady stream of revenue, charge lots of money, generally have massive amounts of cash flow, and have major assets (like CT and MRI scanners, for instance). Therefore, it's common for a hospital to invest $1M for a new CT or MRI scanner at least every 10 years. However, that scanner had better be a workhorse for the hospital.

    So, what this means for you as a developer is that most hospitals still have legacy systems in production that date back 10 to 20 years. As a systems administrator for the department of radiology at a local community hospital, my production environment involves:

    > a Maxifile VMS/VMX terminal server running an 'M' database programmed in 'MUMPS'
    > 6 oracle database servers which 100+ non-admin end-users log onto each day
    > a remote-hosted oracle database which sits in Kansas (ala Cerner Corporation), which everybody at the hospital must access via a Citrix box.
    > a nuclear magnetic resonance imaging scanner running VAX/VMS
    etc. etc.

    So, to make a long story short, if you want to develop products for the healthcare industry, you had better start thinking about how to interface with products from Oracle, Citrix, Cisco, Microsoft, and so forth.

    Also, Linux is generally avoided in hospital settings. It requires too much computer knowledge (remember that hospital workers are healthcare providers, not information technology developers). More importantly, it's usually impossible to hold the developers accountable with Linux, and it's generally very difficult to obtain support contracts. All things considered, I have 1 linux machine in production, 200+ windows machines, and about 30 unix variations (AIX, VAX, HP Unix, DEC, Solaris).

    So, all this being said, I think that you're barking up the wrong tree and not necessarily asking the right questions. Personally, I would suggest J2EE over .NET.

    If you really want to start asking the right kind of questions, you could start with questions like 'should we start by developing an HL7 sniffer or a HIPPA auditing & compliancy application'? You would then find, either way, you will need to know Cisco (TCP/IP stacks), Oracle (SQL database connectivity), and HIPPA legal concerns (e.g. need for cryptography). In the end, you'll realize that you can do it in either J2EE or .NET, and that the question is kind of a moot point.

    anyhow, just my $0.02

  50. Don't reinvent! by _Bucktooth_ · · Score: 2, Informative

    Instead of re-inventing the wheel, get involved in open-sourced solutions. You can find a good list here.

    From this list, I have personally only seen VistA which has been used by the Veteran's Affairs Department for a very long time. Certainly long enough to mature. It's scalable and will work with groups of hospitals. It's designed by Doctor's to fit the way they work and it's easy to use (so Doctor's have told me). It's open source, and there's a community web site.

    There are cons though: It uses a little-known programming language called M, and although otherwise complete, does not have a module for paediatrics (it's very hard to find child veterans!). The people I have met have been extremely helpful, however, and will help you with any customization or new capabilities.

  51. Lets break down the platforms by FunOne · · Score: 1

    J2EE
    Windows, Linux, AIX, Solaris, OSX, etc .NET
    Windows

    J2EE
    x86, x86_64, Sparc, PPC, Alpha, IBM-Mainframe (quasi PPC) .NET
    x86 ..... x86_64 coming? Maybe.

    So you can develop your software in J2EE, use the free Eclipse IDE, on a free operating system, with a free application server (JBoss). J2EE has years of experience and large scale deployments as well as numerous books of reference and scads of talented, experienced developers. You have a choice of platform unrivaled by .NET.

    So, wait, why program in .NET?

    The only thing JAVA is remotely 'slow' at is on the GUI side of things, and that really isn't much of an issue these days (thanks to faster computers, better swing, and SWT).

    --
    FunOne
    1. Re:Lets break down the platforms by mark-t · · Score: 1

      SWT isn't really portable though... or more specifically, it hasn't been ported to an equal degree on all platforms that run a current version of java.

  52. .NET or J2EE? Here's the answer! by standards · · Score: 1

    Our small southern shop (an eleven man team) is about to commence development on some medical software geared for physician's offices and hospitals.

    I assume that you're delivering a product, and that you have some previous expertise and previous experience building a somewhat similar product in a different field.

    If so, my first answer would be to "do what you're an expert at". Why screw around with technologies that you all aren't expert in?

    Is this an "old fashion" attitude?

    You bet! You're there to deliver a successful product, not learn about the production issues of a .NET or J2EE environment that should have been caught at application design time.

    Evidently your 11 person team is a technical team that has been built to deliver successful products. Use their expertise. Enhanse that expertise. Don't abandon it, and don't think that since you're great at one technology that you'll immediately be able to switch to another environment with any measurable degree of success.

    If you're looking for an opportunity to learn new technologies - great! Just make it a minor part of the system, and make sure you have an "escape route" if it doesn't work out the way you hope it will.

    PS - My ex-girlfriend's shop (she's an MD) runs both Windows and Unix on the back end. The IT folk treat applications like a black box - they don't care what application server you use - and they won't be messing with it. But I'm not a global expert on Hospital infrastructure and IT practices.

    PS - I don't think it matters if you're a southern if you're planning to sell outside your regional medical area. However, if you plan to sell to a particular hospital, then it very well could matter how you build your product.

  53. What do you know? by CtAhBeAbNoAy · · Score: 1

    Just choose the option that you have the most experience in. The marketing hype is just that: hype. I have had the experience in designing solutions in both and basically both are almost the same.

    If you have more developers with experience in Java, then choose it. Same goes for .NET. There are still more open source tools for Java (Hibernate, Ant, etc.) but the .NET versions are not far behind (NHibernate, NAnt).

    I still prefer Eclipse to Visual Studio.NET, but really you will get more "bang for the buck" if you don't have to go through a learning curve.

  54. Re:Consider PHP by TedCheshireAcad · · Score: 1
    Sigh. Your post makes me cringe. It's HIPAA: Health Information Privacy and Accountability Act.

    Unrelated, but the project described in the article is going to fail. Here's why.

    HIPAA is a real bitch. You're going to need an attorney practically on staff to work with the developers in planning this product.

    How are you going to input existing records into the EMR suite? OCR? Hire a typist (consult your attorney again)?

    Transmitting personally identifiable health information over the internet? Great idea! HIPAA again.

    Doctors will pay for this...why? What, with doctors having to pay tons in malpractice insurance these days, they're really sticklers for cash. Really, though, doctors are really cheap.

    Integrating claims? Hope you are up to speed on HL7 and Z-Modem. HL7-XML is still in working group, and don't expect a release for at least another 5 years. Also, good luck with Medicare/Medicaid claims, really, if you can do it, let me know how.

    Going with the ASP model - well that's wonderful. What happens when the office's DSL goes down? Looks like they can't serve patients anymore. Oh well.

    Private practice and hospitals? Impressive. I sure hope you're going to integrate medical instrument interfaces to this product, or why would a hospital use it?

    Any EMR worth its weight is going to have to integrate both ICD-9-CM and CPT. If you don't know what these mean, give up now. ICD-9-CM is free, but CPT is commercial. Last time I checked, around $200 per license. Planning on distributing CPT codes within the product? Good luck with that one, too. Unless, of course, you want physicians' offices to manually input their CPT codes into the system ( all 5,000+ of them ).

    Just my short list of why you're not going to make money selling software to the medical industry.

  55. For healthcare? by roman_mir · · Score: 1

    No matter what you use, they will all die a horrible terrible slow and painful death.

    Why do they come to me to die? Why do they come?

  56. Hopefully you cross-posted by ajp · · Score: 1

    on blogs.msdn.com. That way you'll get answers on both sides of the religious wars.

    (Go ahead, mod me troll. I'm already married so I don't have to impress anyone anymore.)

  57. Re:.NET vs Java - The Bad vs. the Bad by Lysol · · Score: 1

    Both systems have snags.

    While Windows people might not see it this way, I think being limited to just one platform is not a very long term development solution. While .NET is here to stay, who knows what it will cost to continually develop with it (past experience tells me much more than on Linux or a Mac). Plus .NET is somewhat new compared to J2SE/J2EE. And, while Java isn't 100% secure, I'd feel a little nervous building on something with the security record that Windows has. While Java's sandbox isn't perfect, it's prob a safer bet than .NET.

    Also, I don't see single language an issue. C# people will stay there, Java devs will stay with Java. However, Mono being the only compatible solution to .NET probably isn't the best thing either. With Java at least you have many choices for app servers and even hardware/os environments whether it be Linux, Mac, Solaris, or Windows.

    I've gone thru these things in the past and I feel much freer dealing with Java than I ever have with Microsoft. I don't feel Java is necessairly slower than .NET and with SWT, you can even have the look and feel of Windows on Windows instead of the fugly Swing look.

  58. Cross-platform and server-centric, please! by peacefinder · · Score: 1

    Design for easy HIPAA compliance. Will the system gather, use, or store Protected Health Information? If so, make it operate such that as little of the PHI as possible is even cached on the desktop machine, and that the desktop machine stores none of it.

    Platform-independece is nice. I am stuck with a vendor who provides windows-centric products. My docs have Apple laptops, and want to use the apps. :-/ You could make platform-independence a major sales feature.

    Most small to midsize clinics do not have IT staff. Maintaining application and/or terminal servers is probably easier for such a clinic than maintaining many windows desktops. They're used to maintaining an accounting server; your app server is an easy addition.

    --
    With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
    1. Re:Cross-platform and server-centric, please! by good+soldier+svejk · · Score: 1

      Even in large hospitals this can be an issue. Researchers pay their own way (grant money), and often quite a bit more. You can count on a Macintosh populations more or less directly proportional to the size of your research community. Also a few GNU/Linux workstations and the odd OpenVMS or Beowulf cluster (no kidding, I once found an unsanctioned Beowulf cluster in a lab).

      --
      It is cowardly, and a betrayal of whatever it means to be a Jew, to act as a white man

      -James Baldwin
  59. how much research have you done? by slapout · · Score: 1

    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.

    How many desktops has he seen in hospitals? What version of Windows were they running? You know .net only works on certain version of windows (I'm thinking 98 and above. Not sure about me).

    --
    Coder's Stone: The programming language quick ref for iPad
  60. Use a leveraged environment by almax · · Score: 1

    And that doesn't mean Struts. Spring seems to be popular. I prefer Open for Business (www.ofbiz.org). But don't go reinventing the wheel and don't spend your time writing JSPs.

  61. Why fuel the Microsoft monopoly? by raw-sewage · · Score: 3, Insightful
    Technical arguments aside, there's something to be said for not buying Microsoft simply out of principle. Why would you want to deploy a tool that is forever tied to one platform (Windows/.NET) and subject to the wily licensing antics of Microsoft?

    No offense to the Mono folks, but I just don't see them ever having 100% cross-platform capability. It will never be possible to seamlessly change your development and deployment environments from Microsoft.NET to GNU Linux/Mono. And if it ever does become that easy, Microsoft will be ready with some kind of nastiness (patent lawsuits, forced upgrades, etc).

    The group I work in writes custom engineering (design and anlaysis) applications for our company (Fortune 100). Some of these applications have been ported several times over the years as the flavor-of-the-week OSes/platforms changed. And today we're still porting applications to Windows using MFC! What happens when Microsoft obsoletes MFC, or Linux becomes the standard for engineering desktops, or even Apple starts supplying top-of-the-line technical workstations? We'll port again! But now is the time to take advantage of open source, cross-platform development environments.

    Spend your time working on a solution for your customer, rather than worrying about future portability issues. I just feel that if you go Microsoft now, you'll regret it in the future; I just don't see how anyone can make a reasonable justification for going with Microsoft and claim to have a solid long-term vision.

    Even Microsoft's lame slogan, "Where do you want to go today?" supports their obvious short-term approach. Today just isn't as important as tomorrow: I know where I need to be tomorrow; once I figure out how to get there, what I do today will naturally be right.

    1. Re:Why fuel the Microsoft monopoly? by 16K+Ram+Pack · · Score: 1
      Personally, I've been doing c# and .net and I'm looking at doing something else as well, either something OSS like PHP, or some Java. I don't want to be left stranded if Linux takes over (and it looks more and more like it will).

      I'm thinking Java is the best option for all the places it can be deployed and scale of uses.

      Any thoughts anyone?

    2. Re:Why fuel the Microsoft monopoly? by MemoryDragon · · Score: 1

      Well Visual Basic as it was was axed after around 7-8 years leaving thousands of companies with the fact of having to do major rewrites of their code. (I know one company which had to face the fact that the movage of their legacy VB code to VB.net came close to an entire reimplementation) Smalltalk has been around for 15-20 years and the only problem there really was was the Digitalk buyout (which in the end broke Smalltalks neck). The Unix core libs have been API stable for ages, and Perl and other languages have been rock solid as well, with Perl now facing its first major overhaul in ages. Face it only Microsoft can get away with screwing their customers over by breaking off old bridges, the Smalltalk vendors tried it and got a deserved smack on the head. IBM for instance knows this and they still support OS/2 an operating system basically dead for ages. Even REXX exist until today. This we do not leave you standing in the rain attitude is one reasony why people buy IBM. The breaking of legacy stuff is only a real severe issue in the Microsoft camp, not in others.

    3. Re:Why fuel the Microsoft monopoly? by kaffiene · · Score: 1

      I'd tend to agree. I've programmed in both Java and C#, and while I like C# well enough, political reasons make me not want to use it. Microsoft haven't even supported something as bog-standard as c++ very well and "side" technologies like VB and their Java version get either dumped or completely rearchitected (read "broken) between versions. You just can't trust Microsoft not to fuck up your code in the next version or make their APIs incompatible with earlier versions of their languages.

      It's not that what they produce is bad per se, just that life attached to the MS juggernaut is painfull.

  62. Re:J2EE hands down by killjoe · · Score: 1

    .NET is already being phased out. When longhorn comes out it's all new stuff. Of course .NET will be supported but it will have no buzz and all the developers will be encouraged to abandon it.

    --
    evil is as evil does
  63. Let me save you some time and embarassment by Naikrovek · · Score: 4, Interesting

    I work for a very, very large insurance company with tens of thousands of employees, and several dozen million policy holders. At least 25% of the nation has auto insurance with us.

    We used .NET in the enterprise for a while, until Humpty Dumpty (.NET) fell off the wall and all of Microsoft's Men and Women couldn't put it together again. For two and a half weeks customers were without quotes, or access to their policies online, and agents couldn't sell new policies or make changes to current policies. Customers were furious, agents were foaming at the mouth in anger.

    Two and a half weeks. With all of "the Shining Stars" of Microsoft's .NET team flown in they couldn't get it working again for two and a half weeks. Eventually they had to rebuild the entire server room with new Windows installations on every server because they couldn't find out the problem. That might seem bad, but let me make note that the whole system was provisioned, installed, and maintained by Microsoft personnel. They broke it and they couldn't fix it for, say it with me, two and a half weeks. That should make it seem worse, but it still sounds better than it actually was.

    A decision was promptly made to drop .NET. We don't even get Visual Studio.NET installed on our development machines anymore. We have a very strong bad taste in our mouth from the whole .NET craze, which Microsoft is going very far out of their way to remove, without result.

    We use J2EE and are very happy with where its going. Sun has spent a great deal of effort working with us to transition, and their support has been great. Our J2EE stuff Just Works. It works wonderfully. We are very, very happy with it. I'm using short sentences here to get the point across that we are very happy with J2EE. We've been using it for our web services and as our main development platform. We train on IBM's WebSphere Studio Application Developer, and it also is a great (but expensive!) tool.

    I, as a developer, recommend J2EE. I do not represent my company in this recommendation, in case you work out who it is I work for. I am speaking totally on behalf of myself.

    1. Re:Let me save you some time and embarassment by Anonymous Coward · · Score: 5, Insightful

      I agree totally. I used .NET at my previous Hedge Fund, and I use J2EE at the current one. It is night an day. Do you ever want to see a full stack trace (not just the couple of methods that the exception crossed before it was caught?), do you want to avoid .dll hell, do you want software that is efficient and has a collections API that wasn't designed by a 12 year old? If you answered "YES" to any of those questions, avoid .NET like plague.

      Since it's for a hospital, I assume that...

      1) It's server like, pushing around data and integrating with other systems.
      2) It really shouldn't crash.
      3) You'll probably have lots of home computers, terminals, etc.. as users. It might be hard to track them all down to get stuff upgraded, especially considering that doctors may not always have the time for you to screw with their computers.

      Seriously though, you just can't go wrong with J2EE. It'll run on anything, you can get pretty much any sort of appserver you want. You can get free appservers (JBoss), expensive ones (Websphere), or just embed your stuff in the database (Oracle) if that's what you think is appropriate. Java Web Start is a godsend for managing applications, and EJB will easily handle all your communications needs.

      I just can't stress this enough, .NET and C# is the best way to go if you want to use the Microsoft solution, but it has SEVERE CRIPPLING deficiencies. No coplete stack traces, nothing even approaching the scale or efficiency of something like JBoss, operator overloading that everyone loves to use (Ever see == throw a NullReferenceException?), the glories of COM (learn love Single Threaded Apartments), and half the examples are written in VB. I could just go on for days.

      This is, in fact the reason I quit my previous job. After trying to pound nails with a screwdriver for about a year (and getting roughly the progress you would expect from such an attempt), I threw in the towel and moved somewhere more sane. My life is much better now.

    2. Re:Let me save you some time and embarassment by sphynx4868 · · Score: 2, Interesting

      Save some time and embarassment by coding applications correctly? It is hard to put anything back together (platform and language independent) once a fatal flaw is discovered. The flaw most of the time derived from the developers...not the language. What was the internal problem anyway?

    3. Re:Let me save you some time and embarassment by Billly+Gates · · Score: 1

      Question

      Did you outsource your programing department to India?

      Seriously mistakes and problems happen but it sounds like a very very poorly made app.

    4. Re:Let me save you some time and embarassment by CreatorOfSmallTruths · · Score: 1

      Does anyone else find it unplausable that almost ALL "anonymous coward" posts in this item are microsoft-centric ?

    5. Re:Let me save you some time and embarassment by EvilTwinSkippy · · Score: 1
      Dude, who cares.

      I've run into mystery meat problems with Windows. We were developing a 3D simulation way back in the days of Windows NT 4.0. Development was slow and plodding because, despite running under Java, and despite our best efforts, the program would blue screen the entire system.

      We spent months trying to isolate the problem. It would sometimes work, and sometimes not work. We would think the problem was solved and BAM.

      At the end of the day, we ported that app to Linux. Initially it was just an experiement. Same hardware. Same libraries. Same version of Java. The app ran perfectly every time. We spent less time porting the app to Linux than we spent debugging the windows version.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    6. Re:Let me save you some time and embarassment by ergo98 · · Score: 1

      What a colossal load of bullshit. Given how big of a disruption this is to what obviously would be a publicly traded company, could you point to some press releases about this issue? Somehow I suspect that you're not going to be able to point out one given how ridiculous your "one day it just stopped working!" nonsense.

      Does this sort of craptacular FUD make you feel better about your Java religion? Do you get a tattoo or something? Do you reach Level 5-Supreme Astroturfer?

    7. Re:Let me save you some time and embarassment by sphynx4868 · · Score: 1

      I agree that Microsoft OS's have been very buggy in the past, and Windows XP carries on the tradition, but to a much lower extent. However, .NET is a totally new and different infrastructure - the server os's as well as the framework. So far in my 2 years of .NET programming experience in the corporate world, all is going good. I like Java as well, but have had bad experiences with the JVM running out of memory under Redhat and weird buggy issues with development. Either way both envoronments (.NET and J2EE) have their faults as well as their capstones. Java is portable(like you said) and .NET is flexible and fast (under windows, I have not tried mono). IMHO.

    8. Re:Let me save you some time and embarassment by ergo98 · · Score: 1

      FUD is the enemy, whether it's against Linux or Microsoft. It's pretty sad when people need to contrive examples to support their religion.

    9. Re:Let me save you some time and embarassment by MemoryDragon · · Score: 1

      Probably the underlying platform caused the problem, windows tends to fall apart with various problems nobody can trace down properly (happened to us with something else Microsoftish a few weeks ago, the consultant could not fix it either we had coming in) Java really is better in this regard, very self contained and mature, you basically know where things are and they do not touch the underlying system, everything can be done and backuped in a very clean solution. If you need something stable you have to go for J2EE (subsets of it that is, I hate EJB) and you cannot go wrong stabilitywise. The problem with J2EE is that some parts are APIish overkill, the new JSF for instance is clearly designed for Rad buildners not for people who have to work with it on a sane level. To bad that the Rad tools are not there yet.

    10. Re:Let me save you some time and embarassment by ednopantz · · Score: 1

      I cant believe the above anon troll was modded up + 5.

      You're reading slashdot. Anything that bashes MS, no matter how ignorant, is "insightful."

  64. OptimalJ by grsutter8596 · · Score: 1

    I work for Compuware, if you are at all concerned about ease of development and cost cutting you should consider using OptimalJ. This is basically a UML to J2EE application builder plus integrations for accessing legacy systems. It supports a wide variety of IDE's, appservers and databases. You can check out more at: http://www.compuware.com/products/optimalj/

  65. Re:J2EE hands down by LiENUS · · Score: 1

    You do realize .Net is the replacement for Pe executables for longhorn don't you? the only thing being phased out is System.Windows.Forms, and its being replaced with avalon. However System.Windows.Forms will continue to be supported for quite some time.

  66. neither - use python instead by asapien · · Score: 1

    I would actually reccomend python instead, you can use all the win32 libraries, and when iron python gets mature you could recompile into .net, but the advantage with python is that you can use dist-utils to spit out a regular win32 binary, so your app can run on lowly windows2000 or even win98 machines, python supports a much larger subset of the older, cruddy machines they may be running at hospitals, but it would scale out for larger systems. You can use tkinter to create GUI apps that will run on windows, linux, osx, even mac os 9.

    1. Re:neither - use python instead by tanjavuru · · Score: 1

      We develop applications for health insurance (HIPAA compliant) at zeomega. These applications involve patients payors and providers alike so lots of PHI. we use FOSS platforms zope python ingres postgres mysql on linux runs like a champ , cuts down development time in half as python is easy to learn and program in. we used to do development on websphere before. not anymore. as far as .net goes ugghhh we dont want to wait for support on an 800 number helping some idiot thousands of miles away to fix his own bugs and dont even get me started on the security nightmare

  67. This slashcode site should help by cblood · · Score: 2

    http://www.linuxmednews.com/

    Medical software is one area where we should all agree that closed source code has no place. After all it is not like a life support system, it IS a life support system. Closed source code for medical applications is like selling drinking water in a life boat. It's wrong.

    And while we are on the subject, can anyone explain why we let the government mandate via hippa the use of diagnostic codes that are not in the public domain. Thats right the AMA owns the diagnostic codes that the government mandates. And we all know the AMA needs all that money from licensing.

  68. Need extra stuff by TWX · · Score: 1

    I've seen plenty of programs developed in Microsoft environments that needed runtimes or extra "stuff". We have Foxpro, Access2, Access97, and VB apps at work that all require this crap. I wouldn't doubt for a second that .Net or any other Microsoft product would need extra stuff.

    --
    Do not look into laser with remaining eye.
    1. Re:Need extra stuff by TWX · · Score: 1

      "...with the crap you have just listed you are becomming a little dated..."

      Normally I ignore Anonymous Cowards, but I'll bite for once.

      What do you think these users are running for hardware/software? Do you think that every medical office has updated to the latest release from Microsoft? I suspect that many of the computers are running Windows 98 or Windows Me, have 128MB memory, and are currently using some kind of 5250 or VT interpreter to connect to a central database for electronic records, similar to how insurance companies and school districts do it. Even those running NT or 2000 would have to install runtimes or other libraries to have any chance of using .Net, if such components even exist.

      Update to XP? That means new computers. That means probably six computers per small doctor's office, so around $6,000 all said and done for just the raw systems. Throw in modern productivity suites and the cost rises more, and that's not even counting the labor costs that a field service company is going to charge. Now throw in the cost of the new custom software, the support contract, the learning curve with the users, and the bugs found in the newly-written application and you find very few takers for the first versions. There's no point if what they already have works, is maintained, and does what they need even if it isn't intuitive.

      Organizations with numerous scattered branches or offices aren't that likely to switch if they're running big iron like an IBM or HP mainframe or mini which simply requires the branch to have a leased line and a 3270 or 5250 client. All diagnostic and repair of the system itself is centrally located, and workstations are a dime a dozen and all clones of each other.

      Keep playing with your toys like .Net, someday you'll grow up.

      --
      Do not look into laser with remaining eye.
    2. Re:Need extra stuff by Scherf · · Score: 2, Informative

      All you need for running .NET apps is an implementation of the .NET Framework (be it the MS one or Mono).
      Yeah, that's extra crap but not more than you would have with a Java solution.

    3. Re:Need extra stuff by arkanes · · Score: 1
      Well, here's the basic thing. You're wrong. .NET apps require, at a minimum, the .NET runtime. There's a core dependency, just like the JVM. Individual .NET apps may also require additional libraries ("assemblies"), just as Java apps would. Incidently, .NET provides excellent built in versioning support which makes some of the support horror stories you hear about Java go away.

      The .NET runtime also exists for older versions of Windows, down to Windows 98. .NET apps will run in 128 megs of ram, although they'll be slow just like thier Java counterparts will be.

      All your points about ugrading are reasonable, although not final (there's a whole shit-ton of problems with mainframe thin clients, too, it's why people are always upgrading away from them), but also totally unrelated to your flaming of .NET OR to the topic at hand. I'll assume that whoever he's working for has already decided that upgrading is in fact something they want to do.

      In summart: If you're going to flame a technology, you should probably make sure that you're right first instead of saying stuff like "Oh, I bet technology X doesn't have Y, therefore it sucks", which makes you look like a tool when technology X does in fact have Y and you're totally unable to articulate any of the reasons it actually DOES suck. Also, if you're going to go on a rant fest over a technology, stick to just that one topic, don't try to distract attention from your hand-waving by arguing tangents like "You shouldn't actually upgrade because your terminal emulators and mainframes are sufficent".

    4. Re:Need extra stuff by GuyWithLag · · Score: 1

      Minor correction: Usually, Java applications require only the JVM. Usually they come bundled with all their dependencies tailored to the specified programm. That is one part of the reason why they are considered bloated - a simple Java app may easily reach a 5-6 MB downloadable size. However this also minimizes dependency hell fore the user.

      On the other hand, I have personally been bitten by hidden interface and behaviour changes in public API from ove version of a library to the other (not the JVM or core libraries). That is a problem, and sometimes a serious one, but it is due to teh authors of the libraries, and not the JVM itself (which is very stable and backwards-compatible).

    5. Re:Need extra stuff by arkanes · · Score: 1
      Minor correction: Usually, Java applications require only the JVM. Usually they come bundled with all their dependencies tailored to the specified programm.

      This is also true for .NET applications - Visual Studio provides an excellent packaging tool that bundles up dependencies (taking advantage of the rich versioning that .NET provides, with signed assemblies). In both cases it's a function of the tools available for each platform, I think they're roughly equal with an edge to .NET for the versioning of assemblies.

      For example, the problem you describe wouldn't arise (or at least would be much easier to diagnose and resolve) in a .NET application, assuming that the library developer incremented the version number appropriately. In the Java case, while they may have chaneged the version number, it's awkward for the client application to check those numbers and it may not be able to do anything usefull anyway. MS has learned a lot about dependency hell over the years, and while theres not a whole lot they can do to fix it in Windows, .NET has really good solutions.

    6. Re:Need extra stuff by GuyWithLag · · Score: 1

      I may have not been very clear on my previous post. Java resolves the problem of DLL hell by bundling each dependent JAR (the library) with the application, which will provide stability (the version of the library used by the application won't change) at the cost of bloat (JARs are not shared across JVMs, sometimes a single JVM loads at the same time two versions of the same JAR, the same JAR is duplicated on disk in each application that requires it).

      Version checking is never needed in applications, as the environment of the application is controlled by the developer(s). Version checking is needed in libraries, but that is seldom needed.

    7. Re:Need extra stuff by ahdeoz · · Score: 1

      That doesn't resolve the problem, it avoids it. In essense, you are statically linking every library, (except --sometimes-- tools.jar) into every app. how many xalan-impl's does one computer need. Especially since a dozen apps each with a dozen megs for a library that most of them are using as a substitute for a .properties file, or maybe a very simple csv dataset.

  69. Java by the+eric+conspiracy · · Score: 5, Interesting

    The company I work for is in the process of porting all of it's VB (.Net predecessor) software over to Java. The reasons are pretty interesting.

    - Microsoft essentially obsoleted our entire company's code base when they introduced .Net, forcing a rewrite that will cost millions. Microsoft is infamous for churning its technology base, so they could easily do it again. Fool us once, we aren't going there again.

    - Java has been around for 10 years, with many fewer technology upheavals.

    - Java is multiplatform, much more so than .Net (Mono is not even close to be considered - one patent infringement lawsuit from MS and it is gome). Java gives us access to just about any platform we are likely to need to deploy to.

    - Scalability. .Net is famous for crappy performance on more than 2 cpus. Java runs great on big iron.

    - App servers - With MS there is one choice. With Java there are many vendors, with a vast range of product capabilities.

    - Development tools - Just as good, wider variety and often far less expensive per seat.

    - Maturity - best practices are fully understood, while .Net's use cases are not.

  70. Before you start by AlricTheMad · · Score: 1

    Before you get started, head on over to LinuxMedNews.org

    There are many Open Source EMR projects that could use more help.

    Pat Evans

  71. Health care software by raginmonk · · Score: 1

    I work for a small home health care company that uses prompt 8.0 through Lewis for an outrageous amount of money. In my personal opinion small home health agencies need a scheduling program targeted towards them and not larger corporations. I know we are interested in something cheaper. Good Luck.

  72. Blame Cliff, for posting it by handy_vandal · · Score: 1

    you want to develop for a new vertical industry that you're not familiar with, you're not sure about your dev platform and you came to /. seeking objective analysis on a platform involving MS?? Well, you certainly deserve all the "PHP rocks!" and "11 lines of Perl are all u need" answers you'll be getting...

    Very true.

    But let's put the blame where it belongs -- on Cliff, for posting the post.

    -kgj

    --
    -kgj
  73. Doze in hospitals by wap911 · · Score: 1

    A few weeks ago I visited a friend a one of the four area hospitals, I now know were I don't want to be sick at. Each room on his floor had some type of monitoring equipment outside the door in the hall and was running standard Win2K Pro. Any OS that can run J2EE can run your app, but if you do it in DotNOT then your are fusked. To the opening statement I prefer a specialized piece of equipment run a specialized OS and software. BTW, I worked in the past with a company that produced a machine that stamped out metal sheets for parts moving 5 feet/second. The end user programers [engineers] often wrote bad that jammed the sheet clamps into the tool turret, requiring a 15 ton puller to remove it from the tool turret. So yes, any OS/app can fail but I do not want any application that is mission critical [including privacy under HIPAA, which I now am involved with} monitoring/controloing anything mission critical or private running anything generic from Microsoft.

  74. Go web based. by Cow007 · · Score: 1

    I think that you have this idea laready, but i must steress the inpoortance of having a front end that can be accessed form a web browser. As a sidenote, why not use SQL and hardened PHP to do the back end?

    --
    411 Y0UR 8453 4R3 8310NG 70 U5!! -NSA
    1. Re:Go web based. by birdadderley · · Score: 1

      or even better, why not use SQL and easy JSP?

  75. Re:Consider PHP by EvilSS · · Score: 1

    Yes yes yes. It was a typo. Christ slashdot has a excess of spelling and semantic police.

    --
    I browse on +1 so AC's need not respond, I won't see it.
  76. Consider Python by randall_burns · · Score: 1

    If you are a smallish shop used to some of the older technologies, I suspect you'll be annoyed by the overhead in both C# and Java. I would take a serious look at Python. Python can be run under the JVM, .NET CLR or native-it is also a nice, accessible language for a team of your size.

    1. Re:Consider Python by Billly+Gates · · Score: 1

      Python is not a platform for webdevelopment with its own server.

      You can write cgi modules with it but its like comparing apples and organges to a full suite like j2ee or .net/asp.

    2. Re:Consider Python by randall_burns · · Score: 1

      One of the nice things about python is it works well both with web applications and as another reader pointed out with various libraries for client server development.

    3. Re:Consider Python by randall_burns · · Score: 1

      I was thinking more the overhead on programmers than the performance issues. What I've seen is that folks used to older languages like Cobol tend to find Python much easier to relate to than stuff like C# or Java. In Python, one can write short programs for doing just the sort of stuff these folks are used to.

  77. Re:Consider PHP by EvilSS · · Score: 1

    ARGH! It was a typo! Anyway, everything else you said is dead-on. I've done work with several large healtcare firms, as well as several medical software vendors. Compliance with HIPAA is insane. No one is ever sure what exactly has to be done, because it is so vague, but is scares the hell out of them so they get all freaked over everything. If the software package WILL interface with medical equipment, don't forget the fun of FDA certification! I've seen it done, and it's insanely complex.

    --
    I browse on +1 so AC's need not respond, I won't see it.
  78. Re:.NET vs Java - The Bad vs. the Bad by the+eric+conspiracy · · Score: 1

    While .NET is here to stay

    We thought VB was here to stay, too. I bet Longhorn is going to mean that a lot of what people are doing now in .Net is going to become 'legacy'.

  79. Don't ask slashdot... ask the customer! by A+Guy+From+Ottawa · · Score: 1
    How can anyone here even make suggestions on the technology for the solution when nobody knows the problem?

    It's really a question for the client. Who is the app for? How do they like to work? Will they need remote access? If successful would there be a possiblity to integrate other apps into this platform?

    Not to mention that asking ".Net (native client) vs J2EE" (since he's already decided for a .Net client rather then a .Net webservice) is like comparing apples and oranges.

    I'd like to moderate the question -1, Dumb.

    --

    using System.Awesome;

  80. Mac OS X Server by King_TJ · · Score: 1

    From what I've observed so far in the field, I don't think almost any hospital/medical office environments are running Mac OS X Server right now. (You tend to see it more at the research/lab level.)

    There are already a few packages for Mac OS X out there to run small dental, doctors' or chiropractic offices with - but you'll tend to see these running on several networked iMacs, in more of a "peer to peer" environment.

    If you *do* have concerns about your new product being compatible on OS X Server, I think you almost need to "go all the way" with that goal - and push your product as a niche-market leader in that area. It may or may not really fly, but being first to market in an area is usually a good thing. (EG. If you build it, they will come.) Maybe some hospitals would consider Mac OS X Server purchases if they knew there really was a high-end vertical market product available, designed specially to run on it and take advantage of its capabilities.

  81. Know thou setup by sm00th · · Score: 1

    As many have said, your details about your application's future environment are rather vague. I'll attempt to provide some slightly insightful chatter, though.

    Many hosptials usually have assorted UNIX systems, AS/400 databases, and a few Windows servers for the end-users. Anything useful can most likely be found on the UNIX systems or AS/400 databases. Likely, if you're being contracted by a hospital, your application will run on those assorted UNIX systems; however, if your application requires a Windows system, they'll gladly give you one.

    Typically, hospitals are pretty big on AIX and Solaris, and AIX and Solaris have *very* nice J2EE environments (especially, Solaris). You'll score a few points with IT blokes that have AIX or Solaris certs if you write in J2EE.

    I would *highly* recommend against going the .NET route. You'll be locking client in, and that's never a good thing. Whenever they wish to migrate, and they can't, no more contracts for you.

    You've asked about portability, and J2EE is the way to go. Want BSD? Fine. Want various Unices? Fine. Windows? Of course. Linux? There as well.

    J2EE isn't just a UNIX/Linux thing. Sun cares about the Windows VM as much as it does it's Solaris VM. Ask Microsoft the same, and post the reponse you get.

    --
    There's pissing contests all over. OSS is just another one.
  82. Re:Consider PHP by Tablizer · · Score: 1

    A .Net app could run just on the client if you are dealing with a small physicians office. .Net would be a much better choice than PHP, realistically no business is going to put an internal app on a shared host.

    PHP can run on a local host also. Do you mean non-HTML-browser apps?

  83. Re:PHP is not a tool for serious work by Tablizer · · Score: 1

    PHP is a toy for amateur web developers who do not care about security or scalability, not a tool for serious work.

    Can't you provide something more specific before bashing a tool/language?

  84. It really depends on your priorities. by adolfojp · · Score: 1

    I use .NET when I want to develop the application faster. It is a lot easier to make web services on .NET than on Java. The bad part is that you are limiting yourserlf to MS servers. Of course, the database servers and everything else can be run on whatever else you like. The client can be in .NET, JAVA, a browser, it doesn't really matter.

    When I develop for portability I use JAVA. I can run it on any server that I like. Then again, how many times are you going to switch servers?

    Because of what I mentiones above I find myself more and more using hybrid systems. Linux for NSF and file storage and .NET for the app servers.

    Cheers,
    Adolfo

  85. Relative recommendations by Tablizer · · Score: 1

    Rather than say X is always better than Y, here are the relative benefits as I observe them:

    * .NET if a rich user interface is the most important. Microsoft's client-side extensions are the most feature-rich, partly because they control the desktop standards still.

    * Java if security is the most important

    * PHP if responding to business environment changes is the most important. Dynamic typing generally leads to quicker product turnaround times and higher productivity.

  86. Advice from a healthcare programmer by jobiwan · · Score: 1

    I'm a programmer for an insurance company.

    Healthcare companies do not have top of the line cutting edge IT technologies; they're years behind the cutting edge, and they're IT departments usually have people who's training and experience reflects this.

    More so for doctors' offices & small clinics. They will have no IT and be running something in windows.

    Hospitals are the only ones that may be a wildcard, especially university hospitals. Their systems could range across the board. That's my impression...I'm least familiar with hospital IT shops.

    My 2 cents: do .NET and get it over with. I spell it M$ and would love to see java prevail more than .net, but the reality is you'll mostly encounter Windows shops and people who may have simple prejudices against java (viz it's slow, etc.). Even if it's compiled to a windows app and is easy to use & install, catchphrases like "it uses .NET technology" will go far. Even hospitals that use mainframe or unix backends will have their PCs running windows.

    If java is the way of the future, then the healthcare industry will catch on years after the fact. Right now they're living in 1998.

  87. Kaiser Permanente is a Java Shop... by cutecub · · Score: 4, Informative
    Kaiser Permanente, for those who don't know, is really the first HMO. They serve all of California, Hawaii, Colorado, Georgia and a smattering of other regions around the country.

    I've been with the company for about 3 years, doing both Software development and system support. During that time, most of my development has been in Java. I have yet to see any .NET development.

    There may, in fact, be .NET development at Kaiser, but I haven't been able to find many references on the corporate intranet.

    I would summarize Kaiser's software development as follows:

    • Patient Records are stored in IBM DB2 running on IBM OS390 mainframes./li>
    • Minor or less-critical datastores often use Oracle.
    • Some legacy systems use Cache (Mumps) running on AIX
    • Major applications run on either a Mainframe or IBM AIX boxes, or a combination of the two.
    • Java is the language used for developing their Integration Broker, the crosspoint which links many of their newer medical systems.
    • Fat client-side applications are written in C++, or to a lesser extent, Java
    • Web applications are written in Java and hosted on IBM WebSphere
    • Perl plays a supporting role in UNIX environments, as it always seems to.
    • I have yet to see Microsoft used for any critical back-end component which could significanly impact patient care. Client software, yes. Back-end software, no.

    In the last few years, Kaiser has had an apiphany regarding in-house software development and now leans towards vended systems. But there is still a significant amount of in-house software development done to integrate these vended systems.

    Hope that's useful.

    -S

  88. J2EE is too structured by SerialHistorian · · Score: 1

    I would say J2ee due to portability, but I think for your purposes, J2ee is going to be too structured. Stay with me here for a sec.

    You don't know much about the vertical and your dev team's split. You're going to have a lot of design changes. In my experience, J2ee has a lot of problems handling design and code structure changes, while .Net in various flavors has an easier time because it allows for a looser design.

    But yeah, keep your resume dusted unless the company you're working for has deeeep pockets.

    --

    --
    Vote for your hopes, not for your fears - Vote Third Party

    1. Re:J2EE is too structured by ugol · · Score: 1

      too structured doesn't mean anything.

      In Java/j2ee you can use whatever design you want, you can follow all the big core J2EE patterns or use "looser" ones.

      In fact it's a matter of design, not platform. In Java you have much MORE design/idioms choices, because of the maturity:

      - You can use (or not) IoC stuff: Spring, Hivemind, Pico/Nano, your own
      - You can use (or not) AOP: AspectJ, AspectWerkz, Jboss AOP, etc.
      - You can use (or not) OR mapping: from EJB to hibernate, to iBatis, to your own.
      - you can use (or not) MVC frameworks: Struts, Webwork, JSF, etc, your own
      - You can persist on RDBMS, ODBMS, persistent collections (Berkeley DB), prevaylence system (prevayler), file system

      And you can usually mix and match all this stuff.
      Some of this stuff (this is by far complete... only an example) is being ported to .net.

  89. Depends what you're doing by tignom · · Score: 1

    OK, first my background. I used to work in behavioral health. I changed industries about two years ago. I've worked extensively with both C# and Java in the last four years. My thoughts:

    - Almost everything in behavioral health was on the MS platform. If you're writing a webapp, this doesn't matter, but you'll have a slightly easier time selling a .NET client application than a Java one. Note that I said behavioral health, which is a smaller niche than healthcare in general. I don't know much about the larger industry.

    - If I want to turn out something quick and dirty, I can do it faster in C#. This is because the Visual Studio IDE is desgigned to make building user interfaces easy. It's not perfect, but it's great for prototyping and I can fine-tune the generated code. I have yet to see a UI-building tool in Java that can rival this. (This line's gonna get flamed because I haven't looked very hard.)

    - Eclipse (for Java) is by far the most powerful and useful IDE I've ever worked with for coding. It blows Visual Studio out of the water for writing code, but it doesn't have UI building tools. Use it and you'll learn to love the refactoring tools and junit integration.

    - I believe that Java provides better infrastructure for building enterprise-class applications than .NET. Either architecture can be made to scale, but Java provides sane architecture for things like transactions (JTA) where .NET makes you roll your own. I really think .NET glossed over some enterprise features to make things easier for the novice where Java forced you to think about doing things right.

    - If you're using Java, don't blindly lock yourself into J2EE. That was my first mistake. I now use hibernate for my persistence layer instead of EJBs and tapestry is my web framework of choice. Hibernate is much easier to write (and especially test) than EJBs. Struts is an ugly crutch that completely breaks the OOP principle of encapsulation and JSF is the bastard child of struts, ASP.NET and some thalidomide.

    Now you have a decision to make, and I'm not going to make it for you.

  90. .Net & J2EE runtime strenghts by ToPAz3in6 · · Score: 1

    Before the pro-linux and anti-microsoft zealots attack this question from a biased view, I emplor you to make a swatch. A simple program with a few lines of trial code which will do the Exact same thing for each system.

    The reason I feel you need to do this is to get out any negative notions of J2EE being slow or .Net being insecure.

    First point: Throw out the assumption that Java is slow. It is interpreted, yes... but interpreted has nothing to do with true system bottlenecks. C# (.Net's native language) is also at the mercy of the same types of system bottlenecks. Java has to be interpreted by the virtual machine, a software layer. C# has to deal with the .Net framework, another software layer, every time you make a system call... which you (with a medical application) will be making more system calls than any other type of code. If you write some sample code... give this a shot. Neither will let you down for speed... unless you're running .Net on your main windows server, and you're Remotely running Java apps from a separate server... then of course .net will run faster. Put them both on the same machine and there will not be a noticeable difference for your application.

    Second: .Net is not insecure. Windows and Internet explorer may have many system holes not yet patched, and Microsoft is a bigger target for crackers (malicious hackers)... but that has nothing to do with the holes in .Net. Java and .Net are susceptable to a similar number of vulnerabilities if you are planning on running both in a Windows environment. .Net may be less secure if you plan on running either of them as a Web-based application and you're using Internet Explorer on the user's computers... but that's just plain stupid. Don't write it for Internet Explorer. Period.

    Now I invite others who have dealth with both of these systems to give their individual advise, and even if they contradict me... but I always recommend being careful who you listen to. I'm not claiming that everything I've said is the end-all-be-all of the truth. No offense to the Slashdot crowd, but we can shoot ourselves in the foot sometimes with negative comments about Microsoft without backing. Those who back up their torts are often right... but please make sure they apply to you and YOUR application.

    --
    Just drop acid, already, and invent something better... or quit your whining.
  91. .NET = Professional Negligence by The+Evil+Muppet · · Score: 1

    There's an easy way of looking at this.

    By building any application in .NET, you're committing professional negligence. You're locking your client into an entire product line. To quote Gosling, .NET is a product - not a platform.

    Should your client ever decide to move to another platform or seek an alternative developer to take care of the code base you're producing for them, choosing .NET will immediately limit their choices.

  92. web services are what's important by amichalo · · Score: 2, Interesting

    I have just finished a project for small group physician practices all built OSS and 2005 I will be working on another project for the same market with .NET.

    As much as IO enjoy OSS and dislike the evil that is blah blah blah, I have to say .NET is a very good environment to get large, complex applications built in with limited resources. I had never programmed in it myself until two months ago and I must say it is not difficult at all to pick up as long as you understand OO programming (which any programmer does).

    So my take as far as the market itself is that the best thing to do is develop web services that can be consumed by the customer. That way, the platform you develop in does not matter. If you have to pick, then know that Microsoft is making huge strides in healthcare with transcriptions, digital medical records, iPaqs and Tablet PCs. I don't see a lot of OSS in the market.

    Best of luck.

    --
    I only came here to do two things; kick some ass, and drink some beer...looks like we're almost out of beer.
  93. I am not a developer, but.... by plazman30 · · Score: 1

    I have heard MANY good things about Apple's WebObjects software, it's cross platform (OS X, Solaris and NT/2000/2003, maybe more...) and it's supposed to be a dream to develop for.

    If you assume that the client will not care about the back end, give it a look.

    The big problem you may have is any customer with an MS Enterprise Agreement. The unspoken rule with those things is that YOU WILL NOT run ANY technology that Microsoft does not make.

    I worked at a client that had an MS Enterprise agreement, and the 15 person department I was working in had ALL Macintoshes, and it was funny how both the IT director and later a rep from Microosft came in to have a talk with me to see what the timeframe was for transition these people off of their Macs...

    I was told that use of any non-MS products could affect pricing levels.

    Bottom line is....

    If you want the greatest coverage of customers, develop in J2EE. It covers you if you run into a shop with an Enterprise Agreement (J2EE will run on NT with IIS), and will cover you with a CIO that has a thing against Microsoft.

    The other thing you have to realize is that doctor's offices are on a budget. You sell them a cheap Linux solution, and they'll be happy.

  94. Real HC developers use MUMPS by Tony · · Score: 1

    Bah. Use MUMPS, like the US Veterans Administration. It has all the power of BASIC with the transparency of INTERCAL. Who could ask for more?

    --
    Microsoft is to software what Budweiser is to beer.
  95. Depends on your buget for IT support IWO by birdadderley · · Score: 1

    The REAL question is what is the ROI on using J2EE vs. .NET? Which one will save you money down the road? Which one will offer you a support system down the road? If this is going to be that large of an application, which platform will be best for the hardware that you are serving (PDAs/PC's/etc)? Who is going to support this system once it's developed? How much post-development work is going to be needed? Would the customer rather be involved or let it plug-and-play? How much of an IT support system is going to be needed for this system? Which platform would be best for large groups? Which platform would be better for smaller groups? The customer most likely going to like the system that just "goes", besides the usual IT jobs of backups/etc. Which solution is more likely go get the customer to buy it? Do you want do make it so the customer would benefit from extensions to the product?

    The other issue is risk management? Which system will likely fail? Which system will cause a rise in development costs that may have been avoided? Which system is easiest to develop on for your network? Which system is easiest to manipulate if the customer adds requirements as you go along?

  96. Before making the decision, look at GnuMed by Linuxathome · · Score: 1

    The nice thing about open-source software is that you don't have to spend precious time and money re-inventing the wheel---you could at least improve upon an already existing design. That said, at least check out GnuMed. It doesn't have the backend that you're looking for, but at least will give you ideas. It's a system developed by physicians. Won't you consider contributing to a open-source project? It'll make the world better---at least with a unified open-source system, patients will be better-off due to ease of document transfer from clinic to clinic.

  97. I've worked in healthcare by ajv · · Score: 1

    You know what? It really doesn't matter which you choose.

    What does matter is the Sarbannes-Oxley and HPIAA acts, and think like as if your data was in there.

    Patient privacy is all important, and that's 100% about process and 0% about technology.

    Spend the time to create the system properly.

    Think about the entire lifecycle
    - architecture
    - design
    - testing
    - coding
    - SQA
    - Security / UAT / SIT
    - Deployment

    These things are important. Do not fall into the waterfall lifecycle methodology - it's simply too hard to deliver secure code using it with excessive caution on the risk front. Use an agile process instead.

    When you come to the coding aspect, the tools are far more mature on the .NET side of things, and once Visual Studio 2005 is out, it's a complete no-brainer. Eclipse is the best development tool for J2EE apps and has excellent support for testing, in-code doco, and refactoring. .NET is far, far faster to develop simple applications, but they're roughly equal for more complex applications.

    In terms of security, both are reasonably secure unless you decide not to be. I heartily recommend the "Writing Secure Code" book by Howard and Le Blanc, and of course look at OWASP's output.

    I train developers to write secure code all the time. My main advice is to Think Evil(tm). What could you do to subvert the code you're writing.

    Go to the place you're writing for - most of the time, it'll be terminals in semi-public spaces. Look at how the staff just leave the computer unlocked, and yet how well they look after the paper records. I don't know why this is, but you as a designer MUST cope with this human behavior. There is no class in .NET or J2EE for this.

    For cost reasons, if you're a Windows shop, you should go down the .NET path. If you're a mixed "one of everything" shop (like nearly every hospital I've ever worked in), spend the time doing a comparitive study. If you're going to sell to other health care institutions, stick to .NET.

    The primary reason for security failure, availability failures, and other cockups is human fallability. If your code is the difference between a manual process which is (say) 40% slower than the automated version, that's 40% of patients who cannot be dealt with during an outage. People could die. You MUST be servicable and supportable. Your in-house skills dictate this choice, not platform or one-eyed "X is crap" choices. You could be the one or two that die.

    As for reliability of the platform, in my experience, both are equal in the hands of well trained staff. J2EE is more memory hungry ... but RAM is cheap. .NET is faster for numerical computation, and database access (particularly to ADO.NET native providers like SQL server), but most health care apps are data driven, not computationally driven.

    As you point out, Java is cross-platform, but in my experience with several large scale applications is that developers get lazy and tie you to middleware instead. Some of that middleware is not platform independant, and you're stuck on a crazy combination of platforms occasionally. Also, unless the developers use Windows to develop and test, and Unix to develop and test, it's 99% certain that the code will not just run on the other platform. This is true between deploying (say) AIX on Websphere and Linux using Tomcat just as two examples.

    Unless portability is more important than all other business drivers, do not include it in your list.

    Remember:

    * patient privacy #1
    * correct operation #2
    * availability #3

    The rest will fall into place. You could satisfy my top 3 health business drivers in Coldfusion or PHP. It's not about the technology. Decide on your patient's needs, not yours.

    Andrew

    --
    Andrew van der Stock
  98. Don't know how that happened by Antony-Kyre · · Score: 1

    Entered in wrong article obviously.

  99. There are many projects and many people already. by ivaldes3 · · Score: 1
    There are already many projects and many people doing FOSS in medicine. You can read the chronology of Free and Open Source Software in medicine over the last 4 years at Linux Medical News which has been in operation since 2000 and has over 900 articles on it. There are already many FOSS medical projects with service contracts available that are being used in the real world. A very few are: VistA, OpenEMR and FreeMed. In short, FOSS in medicine is active and thriving. Why not join a project that is already in progress?

    -- Ignacio Valdes, MD, MS
    -- Editor: Linux Medical News

    --
    http://www.LinuxMedNews.com Revolutionizing Medical Education and Practice.
  100. So many Anonymous Cowards... by JoeCommodore · · Score: 1

    I don't think I've seen as many Anonymous Cowards pluging^h^h^h^h^h^h^h^h.. er.. suggesting thier products. :-)

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  101. Not an answer... an opinion... by bokmann · · Score: 1

    I cannot give you an answer for your particular situation, but I can tell you my opinion, based on my real-world experience.

    I am the chief architect for a major application developed by the U.S. State Department, and used by foreign governments for the licensing of hazardous materials.

    We use J2EE, and have been since 1999. JBoss is our application server. We used to use Weblogic, and were technically happy with it, but JBoss does everything we need, and has licenses and costs more favorable for our end users.

    Our application is a bunch of domain objects and custom business logic, presented by the J2EE server as a bunch of sessions beans (some stateful, some stateless). We have a swing and a web-based client. Most of the rich interaction is done with the swing client, with mostly browsing and canned searching from the web-based client.

    We do NOT use Entity beans - and I don't suggest anyone use this part of the EJB specification... For data persistence we use The Versant Object-Oriented Database. For data persistence, I'd recommend this, JDO, or Hibernate talking to the relational database of your choice.

    We are very happy with the choices we have made. There is a TON of information out there about J2EE, we are happy with the performance we get, the skills are readily available, and there are plenty of vendors building tools in that space. J2EE is obviously a realistic choice for the kind of work you are doing - and has been for many years.

    I do not know much about .NET... only because that isn't where my career has taken me, not because of any dogmatic stance. My major concern about using it for this kind of work is that there is no 'application server'... .NET is tied to the windows platform. I know there are projects like Mono, but realistically, if you are using .NET, you are buying into Microsoft, their tools, and their solutions. With J2EE, I can upgrade my operating system and my application server independently - choose from different vendors for both, play them against each other for cost/support benefits, etc. With .NET, you just won't have these long-term options.

    I am the president of the Northern Virginia Java Users Group. While some may say this makes me biased, I'm not an employee of Sun or anything... I work for a relatively small company. I am involved in the NovaJUG because I happen to know and like Java, and like to teach. I also occasionally speak at conferences such as the No Fluff, Just Stuff Software Symposiums. I'm not going to leave my email address or anything, but there is enough info in this to track me down. IF you would like to discuss this further, drop me a line.

    1. Re:Not an answer... an opinion... by countach · · Score: 1

      I'll second this guy that you should check out Versant. Will save you a bunch of time.

  102. Re:Neither by ciw42 · · Score: 1

    Some are effectively just desktop apps, but some are quite big.

    Python has never really been about speed, and for the client side code it's not important anyway, most of the time the app is just waiting for user input. A lot of the number crunching is done by the database server so all the app is doing is issuing a query, albeit often quite a complex one, and waiting for the results.

    There are obviously major productivity benefits to programming in Python (and scripting languages in general) but you trade performance for these. There have been a couple of times when I've approached a large new project and half expected to end up recoding sections in C++, but for all the projects so far, the pure Python versions have performed as well if not better than the client had expected anyway, even on older hardware. The core libraries and many of the popular extensions are written in C++ these days, and those that aren't and become popular tend to be re-written before long as well.

    I've personally found that Python scales as well as Java ever did, but then I've not really written anything in Java during the past two years, and performance etc. may have improved to the extent that the difference is now significant.

  103. McKesson is J2EE; it's about availability... by Bartlet · · Score: 2, Informative

    The McKesson Horizon suit of products (clinical) all have a J2EE future. Right now availability is a top concern for those of us deploying clinical systems and evaluating vendors. A portable solution is important here because it allows the IS shop to determine which scalability/availability solution best fits their budget.

  104. As a developer for A CA Provencial Health by neilhan · · Score: 1

    I like Java better. I have been developing, maintaining large scales applications from a Canadian provencial Health for four years. There lots of thing make me wonder how .Net deal with it. Plant form. We have to deal applications that writen for the whole country. If it is a .Net app, we will have to install a MS server and install it. Fortunatly that app is a J2EE application. It is not hard to deploy it to WebSphere. Development environment. We are not stucked on one tool, one OS. Open source packages. We do reports by using jasperReport. It used to be Cognos. Bloody expensive and the solution is way to heavy and it made one app have to crose two type of plant form. We also have a bunch of mainframe application need to be available on the internet. We used an open source 3270 simulater to do the screen scraping. As other said, it depends on your teams experience on Java and .Net, the requirements. If all the above items do not matter to your project, the decision will be easy to make.

  105. Re:More importantly it is a toy language spec by neuek · · Score: 1

    php5 seems just to be a copy of java.. pffft i've got no time for it. real men code stuff in perl :p

  106. My experience... by PinchDuck · · Score: 2, Informative

    If you are creating fat clients, .NET is the way to go, most likely. If you want web based, J2EE has a lot of open-source compenents you can use to get your application networked via HL7
    HAPI is a java-based open source HL7 library:
    http://hl7api.sourceforge.net/
    JEngine can quickly route HL7 messages to & from your application:
    http://jengine.org/
    If your software is open source, or you can use open source components, OpenEMR can give you a leg up for clinical demographic and medical data management. It's neither .NET nor J2EE, rather it is PHP/MySQL
    http://www.openemr.net/index.php

    If you will be interfacing to large hospitals or medical centers, you will most likely bump into Cerner http://www.cerner.com/ or McKesson HBOC http://www.mckesson.com/homeflash.html. While these companies are a bit out of scope for your question, you might want to reserach them as they are the biggest players in the field. Good luck, it is an interesting time in the health care IT field.

  107. the single most important thing to medical by geekoid · · Score: 1

    development is having someone who knows HL7 inside and out. Do NOT think you can learn it as you develop, you can NOT. It fills 2 binders, each over 1000 pages. I had X12 experience in the mortgage and finiancial industries. When I went into medical I figured it would be someting I could opick upo as I went. Lets just say I'm glad they didn't make HL7 my top priority right away.

    As for your development platform it comes down to this: .new excludes more platforms the J2EE, however, most hospitals are tied into Windows.

    the only caviet is that there where some discussion about MS OS not being able to meet the HIPPA security requirements and still be usable in a practical manner.
    Now I haven't developed medical software for about a year. If I were to get back into it, I would look into windows OS security complaience and call a few hospital IT dept. and see what they think, and what is on their road map.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  108. Perl6 ... by Iggowanna · · Score: 1

    It'll give Java and .NET a run for it's money.

    Too bad it's not done yet.

  109. Re:Correct me if I'm wrong by jericho4.0 · · Score: 1
    Flash is, and will be, showing up in all kinds of places. As long as it's just the UI, it's not an outlandish choice for a medical app.

    --
    "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  110. Someone had to say it... by x1pfister · · Score: 1

    Suddenly the "Blue screen of Death" takes on a whole new meaning....

    --

    Cat: The other white meat

  111. Re:oh no not ms by hendridm · · Score: 1

    MySQL+InnoDB does ACID.

  112. More misconceptions by Phleg · · Score: 1

    Java isn't slow. Honest. And .NET is just as cross-platform capable as Java is. In fact, it even allows you to cross language barriers so code can be written in whatever language is best suited to the task. Technically, Java can do this too, but it isn't as well done or publicized...

    --
    No comment.
  113. You people still haven't figured it out yet?? by Anonymous Coward · · Score: 1, Interesting

    webapp, webapp, webapp.. if you need a "rich" UI 99% of the time you're probably putting bells and whistles on a rat. Users want functionality not some snotty NY designer's wet dream.

    Java using Struts, Hibernate, Xdoclet, Spring.. all open source treasures.

    We developed a large inventory, client, and server management system in a matter of weeks not months. Pick a Java app server & a database, drop your WAR file and you're done. No .Net crap to deal with, thank god. BTW the system is *FAST*, Hibernate is a godsend. No client prereqs, just a browser, firefox please, and the users love it. .Net?? I thought the big boys gave up on that ASP/VB mangled garbage years ago... who knew?

    Actually.. please disregard this post, I love presenting clients with apps that run circles around the piss-poor .Net failures, it makes me smile. tnx Bill!

  114. consider this by shiva10 · · Score: 1

    i work for a company that develops Rx systems for hospitals. We faced same design decisions, so here is what we found: if your product is going to interoperate with other healthcare software, you will probably have to work with HL7 (the standard protocol for healthcare data exchange). The easiest we found to do that is BizTalk 2004 with HL7 accelerator (yes, both are Microsoft products). So .NET was the natural choice for this component. The rest of the system components are written in Delphi though, so you might want to consider this one too as a grat RAD tool. Good luck!

  115. I'm in this Industry by jerdenn · · Score: 2, Interesting

    Hmmm..

    This is an interesting question. I'm actually in this industry, and have been for the last half-decade. For an industry that seems to lag remarkably behind the times, I'd like to note the following:

    1. The major player in this field, McKesson (previously HBOC) seems enamored with Java. This, however, is only because the Healthcare IT field seems to be 5-15 years behind the current technology.

    2. Major players in this field (Particularly Eclipsys) have bet the farm on .NET, and by-and-large, this seems to have been a successful gamble, though not a smooth road. The Eclipsys flagship product, Sunrise XA, is written almost entirely in .NET. This product is a major player in the healthcare arena.

    3. Many hospitals have strict rules on what IT software is allowed. I will tell you that the following is ALWAYS allowed: Windows NT, Windows 2000, Windows 2003, SQL Server, Oracle.
    The following is SOMETIMES allowed: Sybase, Any "other" RDBMS, Windows XP, Linux, *nix, etc.

    With the combination of Windows and SQL Server, you can't go wrong. Don't believe me? Do your market research. Want more info? jerry@dennany.org.

  116. Re:Hrm by jerdenn · · Score: 1

    It doesn't matter if you think that Windows can hold up to HIPPAA. It matters if HOSPOC IT staff, the FDA, and other federal regulators think that it can hold up.

  117. Consider not just J2EE but other systems... by SuperKendall · · Score: 1

    First of all, you WILL NOT get the gains of GUI development in .Net web apps that are promised to you. That has been proven out at a project at my own workplace. Yes the demos look very good. But for a system with any degree of complexity beyond a few form fields you are going to be doing a lot of monkeying, and not the fun kind. Java is still far ahead in terms of framework richness.

    Also, when considering Java look not at just J2EE, but other systems coming out like Spring. Note that Struts is now very widley used, very stable, and would make a good choice (possibly in conjunction with Spring).

    Lastly, when considering the J2EE vs .Net question look at the maturity of software for the two spaces. Java has multipl mature IDE's, multiple mature monitoring packages, multiple mature performance tracking packages - you get the idea. Yes I am biased, but ask yourself why you would use a clone when you could use the original which is still advancing? Why settle for one app server that runs on one system when you could choose from multiple app servers that each run across multiple systems.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  118. LOL, mod parent up FUNNY! by sloanster · · Score: 1

    This is /.
    Anything related to MS is not well-recieved.


    Har har, good one, but try again: This is slashdot, where most of the audience are microsoft windows users. Looking over the posts so far, I see a fair amount of comments from microsoft fans fans chiming in with all the reasons to standardize on dot net...

    FWIW, I work for a major (and I do mean major) automotive manufacturer, and they've recently decided (and announced to the IT staff) that the architectural direction for all future enterprise apps is to be j2ee, and not .net. They do not decide these things lightly, folks.

  119. As Far As I Have Seen.. by drfreak · · Score: 1

    Most medical practice management/payment software is pretty much database-driven. The challenge is in keeping up with new business rules which come out quarterly. Personally my goal is to have a unified software base which embodies medical billing and payment. Imagine software that bills and pays in the same model. I'm talking ANSI X.12 with all it's sub-formats talking together as they were meant to be..

    I actually designed a practice management system database from scratch. to do so for a payment system too is just the next logical step.

    1. Re:As Far As I Have Seen.. by drfreak · · Score: 1

      Just to follow up because I left the most important factor out. HIPAA. The actual implementation language is the least of your concerns..

  120. Know anything about HIPAA? by rpsoucy · · Score: 1


    The language is the least of your worries. I would strongly advise against .NET (hint, don't go with 'Latest' tech. most small-to-midsized healthcare providers use a mix of new and old software and hardware, for example, I've walked into many hospitals that still run "NT Server 4.0" and "NT Workstation 4.0"). Java has a stong presence in Healthcare but can be extreamly slow on Windows ever since Microsoft stopped releasing their Java VM (Sun's Java VM is horridly slow, they really shouldn't of complained about the Windows one)

    Python is getting more and more credibility in Healthcare and Scientific computing. Its fast, easy, stable, and secure. It would be a very smart move to use Python.

    Your real focus should be HIPAA compliance. If you don't know what HIPAA is you shouldn't even have this contract, but assuming you're not going to just "give up" you should read up and become informed on HIPAA. This is assuming you're doing the work for a Healthcare provider in the US that is... anyway, HIPAA regulates healthcare software... if you don't meet HIPAA standards for security (not only coding wise but access wise etc) your product will be useless and you'll be forced to redo it... more importantly... you'll look like a group of idiots.

    So yeah, start reading up on HIPAA (It takes months to understand it all if your not fimilar with it at all, so I wouldn't waste any time.)

  121. Re:Consider PHP by innosent · · Score: 1

    Actually, very little has to be done to maintain HIPAA compliance. Treat all information as confidential and owned by the creator, unless released to another party for review. Secure ALL communications of medical records, and make sure you understand the difference between record custodians and record owners.

    Very few insurance companies will even consider HL7 data, everyone has moved to some form of ANSI 837 transaction. Look at options like Availity (or something better, let me know if you can find something without that crappy web-based post/download claim thing) and bill Medicare/Medicaid directly.

    Doctors will not pay for this, but they WILL pay a nominal fee for monthly service, especially if bundled with Internet access, or may instead agree to a (small) percentage of paid claims. ICD-9-CM and CPT-4 are both free, provided you look in the right place. Most insurance companies will post a fee schedule, which is free to distribute, containing CPT codes and their associated modifiers. Try Medicare for a good start.

    Finally, for the original topic, it doesn't matter what language you use, but you'd better have a VERY flexible design (as everything will change about every 5 years), and be able to provide equipment legally, cheaply, and reliably. You didn't think those doctors were going to buy their own computers, did you? Believe me, Windows licenses are not something you want to deal with if you have hundreds of clients. Also, forget hospitals. Hospitals are owned by large corporations, who either contract with a large corporation for development, or have their own in-house development, they don't buy shrink-wrapped software.

    In other words, if you're doing this to make money off your practice management system, don't. There is no money, unless you get something else out of it, like exclusive contracts for other services.

    --
    --That's the point of being root, you can do anything you want, even if it's stupid.
  122. Slashdot = bad information by minion · · Score: 1

    I had to reply, considering all of the responses I saw around PHP.

    Not to slam PHP, it most definitely has its place, but enterprise healthcare is NOT where it belongs.

    We provide an ASP model for our clients - approximately 4000 users total. We generate 4-7 Gigs a day of electronic medical records - radiology scans, dictation, transcription, faxes, documents, charts, etc. I for one would NOT trust PHP to that kind of role. We currently have close to 14T of data online for our clients.

    Our software suite is entirely web based, hosted on linux based servers. Its not PHP, its not ASP, its not java. I can't speak for java directly, but I know that PHP could not scale that well to serve 4000+ users.

    Its a hard market to get into, and if you're on Slashdot asking for advice for this, you really need to do more research - and not on Slashdot.

    --

    -- If we don't stand up for our rights, now, there will be no right to stand up for them later.
    1. Re:Slashdot = bad information by tf23 · · Score: 1

      So what is your software written in?

      What db software and hardware are you using to serve all this to your users?

      For your scans, are you saving them as {insert graphics format} in a blob?

      I worked for a hospital for a number of years, mostly doing networking stuff. Now I do less of that, and more coding. Your post has my curiosity going.

  123. Re:J2EE hands down by innosent · · Score: 1

    Great, so memory management in future versions of Windows will be WORSE? You'd be surprised how adding a simple string to a string can eat memory (I've reached 400MB for a test case constructing about a 300KB string, it's actually faster by several orders of magnitude to write to disk than append to a string), and how long it takes for it to be GC'd.

    --
    --That's the point of being root, you can do anything you want, even if it's stupid.
  124. Here's a health care industry perspective by Man_Holmes · · Score: 3, Informative

    I am currently working on a project for a software company that sells to the health insurance industry.

    In developing this project I've had contact with a lot of the largest health insurance companies in our region.

    What I have found most of them have in common is a mixture of J2EE and ColdFusion, almost exclusively. It appears that dotNet hasn't made the inroads with the health care industry that they have with other corporate clients.

    Holmes

  125. Oracle by asliarun · · Score: 1

    Deciding on a platform is a trivial issue. Deciding on your system architecture is the key question that you should be asking. Forget .NET and J2EE for a moment. In any case, deciding on .NET or Java first, and then building your system archtecture would almost always result in a poor and non-optimal design.

    Take the bottom-up approach instead. First decide on the database that you're going to use. Consider your database size, performance requirements, transaction requirements, and reliability. Get a database expert or DBA guru on board, if you don't have one already. Believe me, this is the key. It's no secret that most enterprise systems invest the lion's share of their project budget on their database architecture and personell.

    Next, make an estimate of the business logic complexity and size. Consider implementing the business logic directly in your database. The advantages of doing this are:-
    1. Performance - No client application or middle-tier server application can hold a candle to the performance offered by a well-tuned stored procedure or (Oracle) package.
    2. Maintainability - Say, you have a thousand clients connected to your database. Changing a business logic component that's implemented directly in the database would be a trivial issue. Change the package and recompile. Clients can seamlessly get the update.
    3. Simplified system design - As long as you have a strong database architecture, you'll notice that the complexity of your non-database code will be dramatically low. In other words, taking a decision on a client platform such as .NET or J2EE now becomes a trivial issue. In fact, you can even have both, with additional platforms thrown in.
    4. Portability - Again, because your biz logic is encapsulated in your database itself, you can have multiple client technologies connect to your database in a trivial manner.
    5. Interfacing with other databases - My experience with enterprise databases has shown me that interfaces cause 80% of the maintainence issues down the road. As opposed to these "platforms", most databases offer readymade tools for scheduling and implementing interfaces. Again, no command line interface or XML web service implemented in a "platform" can even come close to the performance and reliability of a database level interface.

    To reiterate, your first three criteria on implementing a robust system design should be database, database, and database. Remember, the lifeblood of any software system is its data, not the cruft we call .NET or J2EE or whatever.

    Although I've titled my subject as Oracle, it can be replaced with any other RDBMS that suits your needs. Only, remember, nobody ever got fired for implementing Oracle, and for good reasons to boot.

  126. Requirements first! by Parandor · · Score: 1

    From what i could get from the article, you first must determine what exacly is your software going to do.

    Handling shedule? Monitoring medical equipment? Issuing medication list for patients? ...

    SUN clearly state in its documentation that J2EE is NOT for mission critical applications. And if you have hardware interfaces to program, Java is not the programming language you want. In other hand, if you are only going to work with a database, then yes, an interface that can handle any platform is best.

    As for .NET well, my understanding is that the problem is Windows. Can you afford to have your application to crash? Is the possibility to "lock" the station important to you client? If no, then windows could be a good choice.

    The choice of platform is only secondary in your case. First get all the specs out, especially security and safety related specs. Then choose whatever platform that does the job, don't just limit yourself to .NET or J2EE.

    1. Re:Requirements first! by sm00th · · Score: 1

      What a load!

      Find me the Sun document that says J2EE isn't for mission critical apps. If it wasn't for mission critical apps, why are they selling a Java application server, why are they incorporating J2EE in Solaris so heavily?

      Think before you speak.

      --
      There's pissing contests all over. OSS is just another one.
    2. Re:Requirements first! by dazk · · Score: 1

      He's right. It's stated in the license. But that kind of thing is stated in just about any major software license. It's simply a legal protection. If a nuclear powerplant blows up and for example JAVA was used for the software that caused the blowup, SUN can simply say we told you not to use it for that.

  127. Future Costs by Stephen+Samuel · · Score: 1
    If MS manages to patent huge chunks of .net (which they were claiming to do), then you could end up paying 50% royalties just to distribute your own code (even if it's done in mono)

    Granted that's a worst case, but you never know with Microsot.

    --
    Free Software: Like love, it grows best when given away.
  128. My 2c by Pflipp · · Score: 1

    My healthcare toko was a Microsoft house.

    The results were various. Every virus went through the whole hospital, and somehow it invites the more sloppy third party providers. OTOH that may well be because the package selectors only look at the looks of the app, not at the problems.

    --
    "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
  129. OpenEHR are about to release a Java Prototype by Forget4it · · Score: 1
    THE UCL team working on the worldwide OpenElectronicHealthRecords initiative are about to release an Java EHR server. But information is scarse

    OpenEHR uses open-standards based archetypes as "flexible easily understood templates" for specifying complex systems that are inevitably going to evolve overt time - as health systems always do.

    Thomas Beale is lead on the archetype work,

    --
    Artificial intelligence is the study of how to make real computers act like the ones in the movies.
  130. I'd recommend Java by LarsWestergren · · Score: 1

    I will admit upfront that I am biased. I am a Sun certified Java Programmer, working on Developer. My C#/.Net experience is limited to reading a book and talking to friends who are currently taking a course at Uni.

    As you can probably guess, I'm going to recommend Java. The technologies are very similar and it is probably not a great problem whichever you choose, but in my opinion Java has this going for it:

    -It has been around longer, which means more people are familiar with it and it has time to mature.
    -There are a huge number of tools and libraries available. The best ones are being copied (NUnit from JUnit etc) but there are many more.
    -It doesn't have MS behind it. Those who don't think MS are going to play the lock in game again if things are going bad for them, are terribly naive.

    On the other hand, .Net might have the advantages of:
    -As a newcomer it can avoid some of the mistakes that Java did and is stuck with.
    -It has the massive resources of MS behind it.

    --

    Being bitter is drinking poison and hoping someone else will die

  131. Re:THIS IS SICK!!!! by sm00th · · Score: 1

    Development lifecycles you say?

    Java has been around for almost 10 years+. Refresh my memory with some of those CS courses you took (that emphasized, in your opinion, "development lifecycles"), how long has C# or .NET been around?

    I'm not goint to lower this thread into a Java vs. C# debate.

    RAM is cheap. Learn Java and make some cash, so you can afford some more RAM to run Java apps, so you'll stop "bashing."

    You sound like an angry MS nut that just realized C# isn't going as Microsoft planned, and you're resorting to those protective instincts that are inherent in any MS programmer - "bash and use lots of buzzwords."

    --
    There's pissing contests all over. OSS is just another one.
  132. Zope + Plone by jalet · · Score: 1

    Zope and Plone is the way to go. These tools are RAD for the web, you'll have to learn them, which is hard, but then I guarantee that you'll save LOTS of time !

    --
    Votez ecolo : Chiez dans l'urne !
    1. Re:Zope + Plone by tanjavuru · · Score: 1

      yee haw I see one more. we at zeomega use this for our healthcare apps

  133. Re:J2EE hands down by sosume · · Score: 1

    I agree but

    Both platforms are pretty similar, but with Java you get (better, complete) portability.

    in my experience .NET is way more portable than java..... I can compile a dll on my windows b0x and run it straight on my openBSD b0x, my iPaq or even a cellphone. try that with java and the 'java enabled' machines which actually run a crippled vm.

    And ofcourse I like the delegates and pointers that .NET has provided!

  134. use Gecko/XUL with js/python for the client by cruppstahl · · Score: 1

    Have a look at Komodo by Activestate.com (you can get a free trial version for 30 days) or sunbird (mozilla calendar), firefox, thunderbird. they are all based on gecko: write the UI in XUL, a XML language, and the logic is implemented in Javascript, Python or C++. These languages can be mixed with XPCOM, the Cross Platform Component Object. the server side logic can be implemented with java or .net (i would prefer java for servers, so you don't depend on M$), the protocol can be SOAP, XML-RPC or simple HTTP forms.

  135. What experience does your shop have? by bigbird · · Score: 1
    Most replies have concentrated on the relative benefits of .NET vs J2EE. These are important. However most important is what experience your staff have in the technology you choose.

    If you are currently a Java shop with no .NET experience, you will most likely fail with your first .NET project, unless you bring in some experienced mentors. And vice versa, of course.

    With the right experience and good project management, either technology will succeed.

  136. Both are in pretty common use by Anonymous Coward · · Score: 1, Informative

    Both .NET and J2EE can be made to work. In the UK (where I live) the National Health Service has launched a programme to provide nationwide healthcare record integration. It's going to be expensive (around $6bn so far and some projections estimate a total cost around 10 times that). However, it'll be the first such system in the world and will have useful patient benefits (e.g. get admitted to A+E - the ER for US folk - and the doctors there will be able to access your medical notes even if you've never been to that hospital before). More detais of the programme here and here.

    As for what technologies are in use, the local service providers (of which there are 5 with about 12 million patients each) are mostly using Microsoft-based solutions, mainly written in .NET, and the national facilities (which provide services for all 60 million patients [approx]) are mostly built using J2EE on Oracle on Solaris. At the moment, the middleware is SeeBeyond e*Gate.

    Speaking personally, I have had difficulty integrating .NET 1.0 with other things using SOAP - it doesn't seem to interoperate well. Maybe that's fixed now though.

  137. Does the health of people depend on your software? by stesch · · Score: 1

    Than please use neither of them!

  138. Healthcare Market Considerations by tacocat · · Score: 1

    I think you need to understand some more options about the audience you will be dealing with. Not only at the client level, but at the larger architectural and business operations levels.

    As for the software considerations, It's very possible to find examples of fast/slow, secure/insecure, java/net applications that will serve everyones examples. The point on this is you can find good/bad developers for any software platform. Remember that you get what you pay for.

    Getting back to the Health Care System. You remark that Hospitals are the audience, but are they the only audience? There are also some massive security requirements that you will have to address. If you can't meet these government regulations you simply won't be doing business with anyone.

    The Health Care industry, despite it's spiraling costs as experienced by anyone needing services, does not give software systems a financial priority, including OS upgrades.

  139. This would be a lot more credible if... by kahei · · Score: 1

    ...you actually said what went wrong, rather than 'humpty dumpty fell off the wall'. You _do_ see how that statement doesn't tell me about why .NET didn't work?

    --
    Whence? Hence. Whither? Thither.
    1. Re:This would be a lot more credible if... by Daniel+Boisvert · · Score: 1

      I doubt he knows (or MS does, for that matter). If they had the top MS techs on-site and had to rebuild the entire server room from bare metal to magically fix the problem, it implies some sort of Windows Wonkiness[tm]. I've seen more than enough of that to believe him.

  140. Viability of Mono by baquiano · · Score: 2

    Mono (.NET) for non-Windows applications is just as viable as Java for multi-platform use. You could do .NET AND Mono deployments (or just pick one).

    Mono reached 1.0 only very recently (July-August), and I'm not aware of any significative medium to large deployment of production-quality systems based on it yet. Java is a mature and proven technology, and while it has its problems, equalling Mono to Java in terms of viability, as of this date, is IMHO overstretching Mono's virtues.

    I would rather wait until Mono matures before risking a deployment on the healthcare industry.

    --
    You're bound to be unhappy if you optimize everything. --Donald Knuth
    1. Re:Viability of Mono by databyte · · Score: 1

      Depends on your implementation and support staff. You could code in Java and still fail, depends on how good you are at not just coding.

      I've seen complicated linux/c++ installs fail where Delphi and VMS work (yes, old skool mainframes). Your workflow, interface, up-time, training, support, etc - all that - equals a successful product. Not what IDE you fire up.

      Of course, if your starting fresh - why start with COBOL? That was my point. Don't worry about what you pick from the IT side but instead from the "what's the best thing for my product".

  141. Both suck by smoon · · Score: 1

    Seriously. On the java side you get immense complexity, and on the .net side while all of the choices are made for you, there is still a lot of complexity. Either platform requires a lot of tribal knowledge to get started with.

    If at all possible look at a PHP web-based front end. The interface can be tricked out with some nice javascript style features (e.g.: google gmail) and keep your back-end database interface open, so you can bundle postgres for free, or they can use oracle/db2/whatever if they want to.

    The big win for PHP is time to market -- you can cobble together an app _very_ quickly by avoiding the 3-6 month j2ee/.net learning curve. It also lets you be more price-competitive since you can deploy it on a really inexpensive platform. So if your competition quotes $50,000 which has to include fast servers (.net is just as resource hungry as java), windows licenses, database licenses, and several additional months of development time, you can quote $40,000 and still have a bigger profit margin since you don't have the higher-cost platform.

    Make sure to offer a 'reporting' module that is basically a $500 copy of crystal reports with a bunch of reports you've developed -- don't fall into the "I'll roll my own reporting engine" trap.

    If 'rich' interfaces are required, don't discount javascript, xul, or even flash -- all of which eliminate the 800-pound gorilla that is .net/java.

    --
    "But actually trying to use m4 as a general-purpose langage would be deeply perverse" --ESR
  142. Listen well from a .NET programmer! by The+MESMERIC · · Score: 1

    Go J2EE.

    Period.

  143. Beware of EJB's. Make it lightweight Java by johnjaydk · · Score: 3, Insightful
    Personaly I prefer Java. BUT you need to be aware of a couple of dangers.

    First of all don't use EJB's unless you have to. If you don't need distributed transactions then stay away. You don't want heavy weight frameworks to drag you down. Read: Better, Faster, Lighter Java. http://www.oreilly.com/catalog/bfljava/ For a free introduction read: http://www.onjava.com/lpt/a/4744

    My personal advice is a stack made of:

    1. JSF for the webfront. Struts if you are a bit more conservative. http://struts.apache.org/
    2. Spring for the business logic. http://www.springframework.org/
    3. Hibernate for persistence. http://www.hibernate.org/
    If your need a thick client then use Swing instead of JSF. Then you can stick RMI in between two of the layers.

    Don't forget to have fun.

    --
    TCAP-Abort
  144. Re:J2EE hands down by jrumney · · Score: 1
    in my experience .NET is way more portable than java..... I can compile a dll on my windows b0x and run it straight on my openBSD b0x, my iPaq or even a cellphone. try that with java and the 'java enabled' machines which actually run a crippled vm.

    You sir, are full of shit. The .NET Compact Framework VMs are just as crippled as a J2ME VM, and will not run a Desktop targeted DLL or EXE. There are no differences between Java and .NET as far as Desktop vs PDA/phone devices, other than Java being available for far more platforms than .NET, and having been around longer there are more versions of Java, hence backwards compatibility problems.

  145. Good music.. by jimmyCarter · · Score: 1

    I just love that Neil Young classic "Southern Shop". Hope Skynyrd doesn't retaliate with "Sweet Object Oriented"..

    --

    -- jimmycarter
  146. App servers expensive? by kaiwai · · Score: 1

    Pulease! grab a sexy Opteron server from SUN, grab the SUN Enterprise System Software; includes everything you need for night of fun and excitement.

    Voila, for $100 per employee, you'll have a app server, web server, directory server, messenging, collaboration and mail server.

  147. Re: C# is a particularly nice language by adamclarke77 · · Score: 1
    C# is a particularly nice language. IMHO, easier to use than Java.
    You can sum up the design philosophy differences between C# and Java by counting the number of key words in each. Java has around 50 whereas C# has ~90. Since there is very little difference in what u can achieve with the two languages u have to ask why all the extra syntax in C#? Which is going to be easier to learn? Which is going to have easier to read source code? I guess it comes down to personal preference, concise and elegant or not ;-)
  148. Re:J2EE hands down by aaronl · · Score: 1

    Also you shouldn't leave out that .NET is immature, and has much higher system requirements than Java. Plus, when you develop an application for Java, at the very least it works across Sun's VMs, if not all vendors' Java VMs (as is often the case). .NET? No, sorry, you wanted a user interface. Can't forget how willing MS has been to port the .NET system to things that aren't Windows, as well.

    I don't like Java all that much, but most of my objections have been fixed over the years. .NET created all of them over again, and added a couple more:
    -Small installed base with the .NET software
    -.NET CLR is very large to download
    -Very large memory requirements
    -Noticable slower than native code
    -Limited cross-platform support
    -Non-ported components
    -Windows OS has the only finished implementation
    -Lack of need for system to exist

  149. Integration to Host? IMS Connect, SOAP for CICS. by donert · · Score: 1

    For S390 based host systems (IMS, CICS) there are J2C adapters. IBM and 3rd party.

    Of course we have no idea if you need such a thing for your product.

  150. Pointers on JSF by johnjaydk · · Score: 1
    --
    TCAP-Abort
  151. J2EE for portability. Who's tax dollars are these? by pelorus · · Score: 1

    If this was in the Uk, I'd vote for a portable solution because I don't want anything tied down to one vendor. ESPECIALLY in government/services.

    M

  152. Re:Java by bwalling · · Score: 1

    - Microsoft essentially obsoleted our entire company's code base when they introduced .Net, forcing a rewrite that will cost millions. Microsoft is infamous for churning its technology base, so they could easily do it again. Fool us once, we aren't going there again.

    VB6 still works fine, by the way. You were not forced to do a rewrite. If your code base is in VB6, and your developers know VB6, then the decision to go to .Net (or Java) seems crazy.

  153. My advice by jswalter9 · · Score: 1

    I work for a healthcare company, and I have one piece of advice:

    Focus on telling the customers what they want to hear. Better patient care, increased patient load per employee, better morale among clinical staff, etc.

    The specific technology used is meaningless to them. And since healthcare lags so far behind any other industry, you can clearly see the next five years of what they'll be using for infrastucture right now in other industries.

    --
    Retired from software... maybe. Sort of.
  154. Which Products? by nurb432 · · Score: 1

    So i know to avoid those hospitals..

    I dont want either to be used in my healthcare products.

    Id prefer something stable and secure if my life is relying on some piece of software..

    You wouldnt see either of those in my anti-lock brake controller.. Think along those same lines.

    --
    ---- Booth was a patriot ----
  155. Re:pfft by Dasch · · Score: 1

    I'm with stupid (But maybe with PostgreSQL as the DB.)

  156. Ha, ha, ha. Not. by jotaeleemeese · · Score: 1

    I have been checking the thread and I have seen several truly insightful messages regarding a topic that could appear trollish and dry in principle.

    --
    IANAL but write like a drunk one.
  157. Um, who cares if .NET is on the desktop by betelgeuse68 · · Score: 1

    If you're developing J2EE applications, you are taking about server side development, what does .NET being on the desktop of people's computers have anything to do with your problem space? I would say your very senior manager doesn't understand application development/architectures.

  158. Re:Java by tokyobill · · Score: 1

    Let's just screw the "microsoft is a patent holding monger that will some day come back and screw us" discussion, and think about things in perspective. Microsoft holds patents and Sun holds patents, I really do not see the difference in the two. I know that microsoft has the bad reputation but that is not the question at hand. Who's to say that sun could not do the same thing that microsoft could. The question is not patents and lawsuits, this is a question of which development platform would be better. Which really boils down to which is the easiest platform for you to develop with and not which platform is better for the customer. A matter of taste, so there is no real answer.

  159. Government Requirements for Healthcare Software by macguys · · Score: 1

    A little off-topic but still salient to the discusion: In your post, you don't say what country you live in the south of. If it's the US, be aware that there are two sets of rules that your software will have to live under. HIPAA of course, deals with access to protected medical information. 21CFR11 deals with software as a "medical device" and in many ways, is more difficult to work with than HIPAA. The problem with 21CFR11 is that it's a moving target without real specific rules.

    The main things to keep in mind are version control, encrypted signatures, audit trails for everything, access logs for everything.

    --
    wherever I go, there I am.
  160. Oh, I Know, I Know by CastrTroy · · Score: 1

    Having just graduated from software engineering I can tell you the answer to your question. The answer is, is that there is no answer. We have no idea what the project is about, what it's supposed to do, the requirements, or anything. The only thing we know is that it's for the Medical domain. Anyone who gives an answer to this question has no idea what they are talking about.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  161. Hey, it's your kidney... by JumpingBull · · Score: 1
    This is a safety issue, involving critical care decisions by interns already on hour 81 of a standard 40 hour work week, and the emergency room is crowded with the current fallout from a local riot. Think downtown Detroit in 1967.

    I have heard stories of MS products concatenating records in a medical environment. The scheduled breast implants to an 85 year old man in for bypass surgery didn't happen, someone noticing unusual record mismatches with the patient on the gurney...

    whatever is decided, Flag in RED possible problems and database sanity check failures. Write as if you are addressing someone who has english as a second or third language. Put the time critical information FIRST. Get real EM staff ( doctors, nurses and the technicians that would usually never see a live patient to check for clairity on the screens, reports, tickets and the importance of which procedure to do first.

    A simple test - standard procedure involves taking the blood pressure and pulse. There is bright red blood on the interior thigh. Should you follow standard procedure, or check to see if the femoral artery is cut. Time to bleed to death from such a cut is about 7 or 8 seconds, depending on severity.

    And your choice is??

    1. check the organ donation card if he is non- white.
    2. check to see if he has up to date medical insurance
    3. get the janitor to park him in an unused hallway, until someone notices.
    4. immediately leave the scene, making sure you have witnesses in the coffee shop.
    --
    This is progress?
  162. Re:oh no not ms by GuyWithLag · · Score: 1

    Oh please.... it's an ugly hack bolted onto the database, and the stitches are showing. MySQL is the Access of Linux.

  163. Why ask slashdot? by kuzb · · Score: 1

    Asking the slashdot crowd whether or not to use a Microsoft product is kind of like asking a large group of people whether they'd prefer to have sex with beautiful women, or stab needles in their eyes.

    Sure, you're going to get a few who will take the needles, but you already know what the vast majority is going to say. While I'm not a fan of .NET, I'm not very partial to Java either. I'm pretty sure this is just another excuse to bash Microsoft.

    --
    BeauHD. Worst editor since kdawson.
  164. The difference is that SUN is not a monopoly by Fished · · Score: 1
    Yeah, both Sun and Microsoft hold patents. However, the crucial difference is that Microsoft is a monopoly that has a demonstrated willingness to use their monopoly power to kill competitors. Sun, on the other hand, could never force everyone to run Java on Solaris, because to do so would simply kill the language. Solaris simply doesn't have enough market share to support it.

    Furthermore, Java has signifficant support from other industry leaders (like IBM) with significant patent portfolios. This means that, if Sun ever did try to play nasty, the other companies who are in the Java market would probably get just as nasty in return.

    The net effect of all this is that, while both Java and .NET are patented in their various parts, the probability of getting hurt on Java patents is much less. Or, put it another way, Microsoft is evil, and you shouldn't sell your soul to evil. It's bad form.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
  165. Re:Java by Spiked_Three · · Score: 1

    "Microsoft essentially obsoleted our entire company's code base when they introduced .Net, forcing a rewrite that will cost millions"

    Yeah, let's go with Java because IBM supports it!! Someone who supports Java would never do anything like that *cough*banks*OS2*cough*

    "one patent infringement lawsuit from MS and it is gome (sic)"

    Yeah, like when Sun sued Microsoft over Java and now MIcrosoft's Java is gone. Just goes to show anyone will sue anyone, there is no protection because you are not going with Microsoft.

    Why am I bother to respond, I can tell by your posting your probably a high school coder anyway.

    I don't disagree with Java as a choice, in fact I agree with it, but for reasons that make sense, not made up FUD. Stop whining "me too".

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
  166. .Net, IMO by nikkoslack · · Score: 1

    As a .Net developer myself, I endorse it over J2EE. Compatibility and ease of maintenance are the main benefits. The ./ community can't diss .net, just look at the Mono http://www.mono-project.com/about/index.html project. C# has actually gained pretty good legs as a language standard. It even has ECMA http://www.ecma-international.org/publications/sta ndards/Ecma-334.htm certification, which DOES mean something.

  167. Why J2EE? by hey! · · Score: 1

    Curious. Why J2EE?

    Over the years, I have discovered somthing. Java programmers love frameworks. Too much. Ditto for elaborate libraries and APIs.

    So, when a Java programmer working for me trots out some bit of framework pixie dust, such as JAXB (which is cool, I admit), I've learned to say: exactly what is this going to do to pay its way IN THIS APPLICATION AT THIS TIME? Is this the simplest way to deliver the required functionality in the current or next delivery? If the answer is no, then my response is that if you design your code well, we can reuse it with that library/framework/whatever when that framework is able to justify itself.

    Java programmers often have a morbid love of complexity. Indulge that love, and an application becomes a morass of libraries (excellent though they may be) that force on it an incoherent mass of conflicting paradigms. The excellence and breadth of the resources available to the Java programmer are a strong argument in Java's favor. The inability or unwillingness to use these resources wisely is strong argument in dot Net's favor.

    Keep things simple and focused on customer requirements rather than products. IF in that context, you can DEMONSTRATE that some PART of J2EE is a good starting place for this application, by all means use THAT part. DON'T take the entire J2EE platform as a starting point and then feel obligated (or even entitled!) to use every piece of it.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  168. Important! by Mattcelt · · Score: 1

    Don't forget HIPAA! Make sure all developers go to at least one week-long security programming course before commencing work on the design for this application. That may actually help make the decision for you, since there are outstanding security issues for both J2EE and .NET - at least you'll know what you are getting into.

    Remember that you can (and will, if your clients have any sense at all) be held responsible if your application doesn't conform to HIPAA requirements for data protection and integrity. That is a large burden to bear, believe me.

    1. Re:Important! by WebCrapper · · Score: 1

      This is very true. I have a few applications that the health care industry could use and with LAMP, I can provide them very cheaply, but the cost and time involved with making sure everything was HIPPA compliant was too much for my 1 man design shop. Ultimately, the same application happen to work for another industry instead. Maybe one of these days I'll sit down and do all the requirements for HIPPA.

      If you want a hint on how HIPPA compliance is an issue, read over the HIPPA bill (more specifically the part about computers and electronic records) and you'll get a very rough and legalized idea. Even if its just a simple chat program, that program must copy each chat transaction into a database in case an issue comes along with those people. Email: logged, etc...

      Other than HIPPA, I've noticed that its very hard to get into the door with most health care providers. Since your company is bigger than mine, it may not be an issue, but be prepared for it to be brought up. Most of these companies still believe in the "bigger is better" principle.

  169. Am I blind? by hsoft · · Score: 1

    I don't see any mention of a web application in the question.

    I think that Python would be a *very* good option. Java is ugly (Yeah, I know, stating this is asking for Troll mod points from the java fanboys.), .Net is... Microsoft, and Python is just totally graceful.

    With wxPython, you can build cross-platform GUI application very easily.

    I must say that I'm totally biased here. I made the leap into python/wxpython 3 weeks ago (I used Delphi before that), and I absolutely love it. You don't know the joys of programming unless you tried the list comprehensions of python ([func(x) for x in y if cond(x)]).

    And I never liked Java nor C.

    --
    perception is reality
    1. Re:Am I blind? by tanjavuru · · Score: 1

      python has tons of web development modules and if you want to use an app server use zope

  170. It doesn't matter by elnyka · · Score: 1
    What matters are the requirements of the system/solution you are about to implement. You've worked in a different industry, so try to see what parallels exist between your previous projects (successes and failures) and this one you are about to engage.

    If your team has never worked with J2EE or .NET, I'd say just pick one and stick to it. Technological details aside, if you are good with one, you'll be good with the other. Choosing one over the other won't kill you. What can kill you is either one of the following:

    1. not understanding the project requirements
    2. not understanding external dependencies of the project THAT YOU CANNOT CONTROL - db dependencies, mainframe dependencies, external systems, EDI shit, etc.
    3. not establishing the scope of the project - thus leaving the customer(s) free to ask for new features anytime
    4. no clear SLA
    5. bad software project management
    6. customers that are IMPOSSIBLE to work with
    7. not understanding the limitations of the choosen platform, be it J2EE, .NET, Saruman's magic tricks or whatever:)

    Don't fall for the trap of this platform over another one. Once you pick one, you may want to dedicate one or two of your team to really dig the living crap out of it, and understand its power and limitations. The rest of the team should concentrate in getting all the other crap right - requirements, SLA's, establish good contacts with user's liasons, internal development/testing/release/maintenance procedures, etc.

    One thing above all (which a lot of folks forget) is to understand how the hell you are going to deploy and maintain your solution for a given client. Lots of folks develop the coolest solutions in J2EE and .NET, just to find out that they can't deploy and maintain the sucker without lending a kidney.

    Do that, and you should be fine. As for job marketability, either J2EE or .NET skills will do fine. What matters is not so much having J2EE or .NET skills, but solid software engineering/architecture ones ;)

    Peace and merry xmas!

    - Moi.

  171. Things that mater by canuck57 · · Score: 2, Informative

    When developing code we often forget the longer-term impacts that often hinder us later.

    Take Java versus .NET. If I develop in Java then I don't have to worry about doctors who might want to use it on a Apple OS/X. If the world goes Linux it runs on Linux. Or perhaps some new tablet PC is running BSD or Linux. It may not even seem important now but going .NET limits you.

    Very few programming projects are truly unique, as they often borrow source or copy the logic of existing systems. Would it not be nice if you could share the source code between Windows, Linux, OS/X, AIX, Linux, BSD, HP-UX and Solaris? If your shop only runs Windows now can you say this will be true for 2, 5 10 years down the road?

    Even if you are a Microsoft only shop, you can borrow source code from Open Source Java Linux projects to help with the coding. .NET does not allow you this.

    Having such a broad range of platforms it runs on generally means the programmers are more skilled and more source code is available. More skilled programmers often produce programs that crash less lowering maintenance and increases user service. .NET does not offer any of this.

    Why .NET then? It's best redeeming value is that it takes lower skilled programmers and locks in that you must use Windows to run it. Although the product is OS bound and perhaps even less reliable you may have the skill sets to do it faster. If Microsoft jumps the price of their products you're stuck with it as you would not want to pay the price of re-coding all your projects. Techno-lock in if you will.

    In a hospital, information security must be an issue. If you go just by the numbers on CERT or other vendor independent source .NET and Windows itself are relatively insecure when compared to other options. Java is by no means 100% secure, but at least it began its life with security as part of its design. In Java, security was not an afterthought or refit.

    Historically languages like Java will last a lot longer than .NET. This lends longevity to code and effort. From your career point of view, would you rather hedge your skills on something that is OS independent or sink your precious learning time into a vendor slotted technology where if they fail you have to re-learn something else. We often forget it takes years of effort to become really good at a programming language.

    Java offers a lot. If your manager does not use Java over .NET then he should have to back it up with some good reasons beyond his knowledge that one of his mutual funds just happens to own some MSFT stock.

  172. Not professional by wassy121 · · Score: 1

    You can tell this topic was created by someone without the proper tools to implement a Healthcare grade system for their uses. The healthcare system is _very_ strict. The only department more strict than the healthcare department is the Department of Defense.

    That being said, the Department of Defense has a strong predilection towards Ada. This is due to Ada's overly-typesafe implementation. Java and .NET would never be used on these sorts of real-world government industry. .NET and J2EE is usually done by people in the faster-paced industries like web design, internal IT projects for small/medium companies and pet projects. The normal XP style programming that is used in J2EE and .NET is _not_ suitable for a healthcare environment. You have to be HIPAA compliant. This is not possible with the XP style of programming, since you will not have the fast release cycles necessary for XP programming. It will be one large rollout, and a massive retraining for all the healthcare employees.

    This being said, I think the question is moot, since they will never get the job using .NET or J2EE. If you really wanted my vote, I would vote for Ada.

    --
    --If I said something interesting it probably wasn't correct
  173. Money talks by Freeman-Jo · · Score: 1

    Well, I'm not very a programmer, just did some programming a while back. So I'm not talking about PPOV(Programming Point Of View). As you and others have pointed out that most hospital use Windows OS, so think of .NET as current money now and J2EE as future money. While it make sense to think about what you can do in the future, it make much more sense for a small company to grab the money that is there now and hoping to get more later.

    --
    -=-=-=-=-=-=-=-=-=-=-=-=-=- If picture worth a thousand words, how many megapixels is it? -=-=-=-=-=-=-=-=-=-=-=-=-=-
  174. Re:mono by dolmen.fr · · Score: 1

    ... which is a redirect to http://www.mono-project.com/about/index.html.

  175. VB6 (was Re:Java) by ddkilzer · · Score: 1

    And what will you do when Mainstream Support for VB6 is retired on March 31, 2005? Extended support lasts another 3 years, but Microsoft will only provide security fixes for free during that period. You must pay (or have a support contract) for all other support requests. And when Extended Support ends on March 31, 2008, you're really screwed.

    Why would you want to stay with VB6 again?

    1. Re:VB6 (was Re:Java) by the+eric+conspiracy · · Score: 1

      Exactly when was the last time you called Microsoft for programming language support?

      In the corporate world the issue is whether or not you can get support when you need it.

  176. Go with what the industry uses by CokoBWare · · Score: 1

    The industry uses Windows in the office, so .NET is a logical choice. I happen to work for a healthcare services intermediary and I know that using Windows and .NET technologies is part of our ongoing strategy to developing tools to help both sides of the equation: providers of healthcare services and the payers of healthcare services. It's an easy choice. A small fraction of the healthcare market uses J2EE on a client level, and large hospital and physician networks want to use the technology standards that the vast majority speaks n: Microsoft.

  177. Zope and python by tanjavuru · · Score: 2, Informative

    We develop applications for health insurance (HIPAA compliant) at zeomega. These applications involve patients payors and providers alike so lots of PHI. we use FOSS platforms zope python ingres postgres mysql on linux runs like a champ , cuts down development time in half as python is easy to learn and program in. we used to do development on websphere before. not anymore. as far as .net goes ugghhh we dont want to wait for support on an 800 number helping some idiot thousands of miles away to fix his own bugs and dont even get me started on the security nightmare

  178. Re:Java by the+eric+conspiracy · · Score: 1


    Yeah, let's go with Java because IBM supports it!! Someone who supports Java would never do anything like that *cough*banks*OS2*cough*

    The difference is that Microsoft has formally announced retirement of VB6 support. While with OS/2 even now you can get support from IBM.

    http://www-306.ibm.com/software/os/warp/support/

    Just goes to show anyone will sue anyone, there is no protection because you are not going with Microsoft.

    The difference is that Java runtimes and sdks for platforms other than Solaris are produced by Sun itself. Is Sun going to sue itself for violating it's own patents? I don't think so.

  179. Re:Java by the+eric+conspiracy · · Score: 1

    "microsoft is a patent holding monger that will some day come back and screw us" discussion

    The issue here is Mono vs. Java and cross platform support. Sun produces JDKs for many platforms, Microsoft one. In order to develop for .Net on other platforms you must go and use an unsanctioned, unlicensed reverse-engineered platform that is not supported by any way shape or form by Microsoft, and which has been threatened in public by the CEO of Microsoft with patent infringement claims. Sun is not about to sue Sun for patent infringement - while MS has openly discussed doing the same with Mono.

    Right now Mono serves Microsoft's needs in a number of ways, most especially in the area of providing a 'see we are not a monopoly' example. Should those needs change so that Mono is undesirable Microsoft could pull the plug on Mono in a femtosecond.

  180. Re:making money in the medical industry by tanjavuru · · Score: 1

    the money is with the payors in this industry providers dont have deep pockets like payors. You will find longer sales cycles for providers than you do for payors and yes payors pay $$$

  181. Re:Java by the+eric+conspiracy · · Score: 1

    You obviously have no idea how to develop code under .NET. We run a heavily loaded ecommerce site with 8 servers / 2 cpus each with absolutely no prob. Btw, this solution has replaced a legacy Java app that was running on 16 servers / 2 cpus each. .NET rocks.

    That is a ridiculous example and you know it. If you are doing a re-write of a legacy application and can't come up with AT LEAST a five-fold improvement in performance you are totally incompetant.

  182. Web or GUI by AstroDrabb · · Score: 1
    First figure out if your app is going to be totally web delivered. If it is a web app, your managers points are moot. A J2EE web app is _not_ any slower then a ASP.Net web app. Second, why would you pay for an app server? What small office will have money for that? You can use Tomcat or JBoss both are excellent. If you went with an ASP.Net web app, your customers will now have to buy some MS Windows _server_. Well, you could run your ASP.Net app on Linux with Apache and Mono. Mono is great under Linux for ASP.Net apps in C# or VB.Net (uggh).

    Heck, you could offer your customers a "turn-key" solution. Put together a cheap server running Linux with Tomcat for J2EE or Apache/Mono for .Net. Sell that for a fair price. Your customers just have to plug it in and turn it on. Your customers will have no extra license fees from MS to worry about. If you have any half decent developers on your team, they could write _standards compliant_ HTML and then you don't need to worry if your clients are hitting your web app with IE, Firefox or Safari. If your customers have a net connection, you can plug it into this Linux server you sell them and charge a small annual maintenance fee for support. If there is a problem, just VNC or SSH in and fix it.

    If you go with a fat GUI client, then I personally would do it in Java with SWT (the toolkit used by Eclipse) for the GUI. SWT is very fast and lightweight. You can even get good SWT GUI designers to make coding easy. By going with Java for the GUI, you don't have to worry about what OS your customers use.

    If you go with .Net, then you should use Mono and GTK# or QT# for the GUI. That won't lock you into just MS Windows for your customers. You would be able to deploy to Mac, Linux and Windows. I know my doctor uses an iBook. She carries it into the exam room all the time and manages all her patient records from it. So if you went with an MS-only solution, you would lose customers like her.

    If you are developing an internal only solution, then use what you want. However, if you want to sell software (especially as a small company), you really should give your customers the most choice. If you went with a fat GUI client, you could sell a turn-key solution that ran Linux with Mono. Again, your customers will have no license fees to worry about, just your bill : )

    I work as a senior programmer for a fortune 500. A few months back we went through a similar situation. However, we don't sell software, so everything we develop is for corporate use only. We had two camps. The J2EE camp and the .Net camp. We even hired three outside consulting companies to help make the choice. All three companies said that our web apps should be done in J2EE. However, politics won out and now we have different groups doing different things. Some are doing J2EE and some are doing ASP.Net C# and I get to be involved with both.

    IMO, your senior manager should have no say in the technology used, just the features. The technology choice should be done by those who are going to _implement_ the technology.

    "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.

    That sounds like he has already be "won over" by some MS sales guy. .Net development is not going to be any faster then J2EE. .Net might even be a little slower at the start because you have

    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison
  183. High level overview - IMO by shuad · · Score: 1

    Clearly, there are a great many factors which could go into this decision, and really should. If we are looking purely at .NET (specifically C# and VB.NET) versus Java (J2EE), I think there are some things that we should consider. First, what data base connectiveity is available with each of these platforms? Both .NET and Java have a myriad of tools for connecting with whatever data base flavor your project requires. (I know all the .NET haters are going to come out and say that Java is easier to connect to things, but I found that you can connect to almost anything from within .NET, with relative ease.) I see no real advantage for either choice here. Second, what is the availability of prewritten chunks of code that you could use (even buy) to make your application development life cycle shorter? .NET and Java appear to have the same amount of commercially available controls and back end components. Again, there doesn't appear to be a winner here, with the possible exception of Java having more free components (due to the open source movement) because open sourcers hating M$. On the other hand M$ has written and tested several very helpful pieces of functionality which can be plugged into your .NET application (called Code Blocks). Third, how hard is it to support and update your application (assuming it's an application that's not web based)? In the case of supporting, I think we also have a tie. In either case, you are going to have to see the problem, you are going to have to work on it. There is no magic bullet that let's you never have a problem in software (I don't care what language you write it in, nor what operating system you write it for). On the issue of updating your software, M$ has supplied a very powerful mechanism for programming your .NET software to update itself when it finds that something is out of date (you have it check the version number of the assembly in question, even done remotely and then download your updated assembly). Further, this functionality is encapsulated in a Code Block which is virtually "plug and play". Now, I admit my ignorance, but I don't know if Java has something similar. Please inform me so that we can have a complete disclosure before making a recommendation. Fourth, how hard is it to secure? According to other posts, there have been some holes found in the sand box that sits around a Java application. I am sure that they will be found in the .NET CLR as well. I doubt that anything is perfectly secure. In terms of .NET, the security model is tied to assemblies, and each assembly you can lock down pretty tight in terms of who uses it, and how it is used. I would even say that it makes it a hassle for the programmer, since he has to go in and set up the permissions. I am not certain if Java has something similar to this, that is as powerful or configurable. Please let me know. Fifth, where is this application going to be used? It seems, from the other posts that this application is most likely going to be run on windows machine, at least primarily. This gives .NET a potential advantage, since it would be running in its native architecture. Java used to be very slow on windows, I am not certain that is the case anymore. I know that .NET runs smoothly on windows. Sixth, what is the future going to be like? All things being equal, it's clear that the future belongs to Longhorn and M$, at least in the case of large scale systems that require people with no computing ability to use them. I think this is something that /. Often overlooks, your average user cannot use anything more complicated than a microwave (and when I say that I mean, put something in, type the time, take something out, repeat ad naseum). M$ clearly has the majority when it comes to catering to less experienced users. Therefore, choosing .NET ov

  184. Java vs .NET by Kell_pt · · Score: 4, Insightful

    I started reading the whole thread of replies, and I couldn't find a better comment than the one made by the first poster: "Java isn't slow, .NET is not insecure".

    A programmer worth its weight knows that each language has its niche, and for specific tasks there are enviroments that work best. Then there are those who believe the hype and form a concept of things without actually ever having a 1st hand impression. It's a bit like racism, applied to programming languages, and it has a common origin: ignorance. I hope this doesn't sound ecletic, but it probably could inspire flames, since people usually have a hard time admitting their ignorance. But the next time you feel like writing something about Java, .NET, C or C++, try to think wether you have solid facts and a really large experience to support it, or just your idea of how things are, read elsewhere from someone you don't really know.

    Also, the belief that a programmer can only be good in one language is ridiculous. Give a good programmer a month and he'll excel in whatever you throw at him in a given language. And what he doesn't know, he'll learn. Give him a project and a couple months and he'll know things inside out. Maybe he'll have a preferred language, but who's to say that won't change over time? Evolving oneself as a programmer sometimes involves changing paradigms.

    That said, I consider myself mainly a C programmer, then converted to C++. Nowadays I use C/C++ very little, for very specific things or for my private projects (involving OpenGL & C++). I've worked extensively with Java, Perl, PHP, Prolog and bit in a dozen others. I'm in the process of learning everything possible about Mono/C#, and I'm enjoying it.

    I don't really enjoy Java mainly because I find developing in it to be a real pain. When you have learned over 20 different languages, you value freedom of expression, and Java doesn't give you that - it locks you into a syntax that is archaic and not very flexible. I don't like the Sun Java team making choices for me, like not allowing operator overloading and not having propper syntactic support for modern OO concepts like properties. Maybe one day they'll understand the language syntax itself isn't important - just convenient - and will follow the road of Parrot or MSIDL (argh).

    I like .NET for the way it's architectured, but the freedom it gives you in development it takes away in vendor lockin. I initially saw Mono with lots of suspicion, mostly regarding its legal status and possible future implications. Then I spent some time reading about it and ended up dismissing those fears.

    I have recently gone through a process I consider similar to yours, and I don't envy you. It's a though choice. I recently spent almost two weeks studying the whole issue, experimenting with RAD systems for Java, Delphi, C++ and C#. In the end, I ended up adopting a solution based on LAMP2 (Linux, Apache2, PostgreSQL, Mono) - which should not be confused with LAMP (Linux, Apache, Mysql, PHP). Here's the reasons and thoughts:
    - We find C# to be quite more expressive as a language. Mono is in a state good enough for us to use it, which satisfies our needs for platform independance.
    - Java is not modern enough syntactically. It wasn't designed for some of the things it's used for nowadays, namedly GUIs, and that shows. Nowadays, having to write 'a.setLabel( a.getLabel() + "..." )' instead of 'a.label += "..."' looks stupid, and just shows what happens when people make decisions on your behalf based on their beliefs: on this I agree with Anders Hejlsberg.
    - We prefer open source solutions whenever possible. We have many people with skills on PostgreSQL and its internals (we've had to extend it before).
    - Apache is rock solid.
    - Global input from the rest of the team.

    There were, of course, lots of small decisions related t

    --
    "I don't mind God, it's his fan club I can't stand!" E8
  185. Java, but shouldn't you use what you're good at? by tomtermite · · Score: 1

    We're WebObjects developers, for BlueCross (CareFirst), federal Government, and others. Java is the only way we'd ever recommend, and we'd definitely go with the premier web application envrionment.

    But the real answers lies within; you should develop in the environment that is your strength. Does your 11 developers have experience in dot-net? Then via con dios.

    --
    - Ubique, Tom Termini www.bluedog.net - WebObjects / J2EE SOA / iPhone solutions for knowledge workers
  186. n-tier? client-server? toys? by bozojoe · · Score: 1

    I do emergency room software; and well, It depends....

    Windows is most definitely the most deployed workstation in a hospital environment.
    Go to the server room, and you will see the entire gambit from shiny new HP servers, down to small mainframes. This holds true for almost all hospitals over 30 beds.

    So, if your deploying software to the workstation: .Net.
    If your deploying server based software, do whatever you do best: Linux, Sun, VMS, .NET, hell COBOL.

    And forget about security, hospitals are about as secure (inside the FW) as an open cash box.

    --
    lick the cancle button (at least thats what our Chinese QA says)
  187. Re:Parent Post = bad information by minion · · Score: 1

    Your pissant little 4000 users total is what significant PHP sites handle each minute! Oooh 14T :) That's only 14000 of the millions of email accounts significant sites handle.

    I see you were brave enough to actually post with anonymous coward. Thats nice.

    No, PHP would crumble when even 100 of the 4000 users simultaenously click on a scheduling form that produces OVER 500 queries to the database.

    I've worked in enterprise healthcare for many years. I've seen quad Xeon boxes running other EMR suites that can't handle 30 users at once.

    If you think PHP can't handle your dinky little requirements, you know very little about scaling systems. What, you think the guy's going to run the whole thing on yor mom's Pentium II?

    Thats funny. Really. Considering the mutlitudes of clustered machines that are necessary to host that kind of volume does not speak well its scaling ability. It speaks well of a company willing to throw tons of money at something in hardware to make it work.

    How many boxes does Hotmail use? Last I heard, it was in excess of 600! Thats not efficient.

    When you actually have some gall to post as a real user, AND some credentials to back up your weak ass claims, talk. Until then, enjoy your mom's free room and board.

    --

    -- If we don't stand up for our rights, now, there will be no right to stand up for them later.
  188. Coding speed by Egregius · · Score: 1

    If it was about coding speed, the question would be: "Which non-special character APL-family-language to use, J (http://www.jsoftware.com/) or Q (http://www.kx.com/)(formerly known as K)

  189. Re:Java by kannibal_klown · · Score: 1

    As others have mentioned, you are not FORCED to rewrite your VB6 app to VB.Net. It still works and compiles.

    VB.Net is a whole other kettle of fish. It wasn't meant to be a quick import. The coding is different (object oriented), and uses different technologies. You're essentially complaining that a language and IDE based on COM and Active-X doesn't port well to a language based on the .Net framework (and has hooks for Active-X if needed). You might as well complain about the difficulties between porting back and forth between Carbon and Cocoa on the Mac.

    However, I agree with your Java arguments. .Net is nice for windows coding, but for anything cross-platform Java is nicer. Java is also more mature and rock solid.

    Java's definately the way to go. But complaining about VB6 -> VB.Net is kind of pointless.

  190. Jumping the gun by BigLinuxGuy · · Score: 1

    Given that you have stated that this is a new market for your company and that there is no pre-existing knowledge or experience in this markte, I think you're jumping the gun by trying to select a platform. You can successfully implement the new system in any of the available platforms. The best advice I can offer is:


    1. Forget about the platform right now unless it's a constraint.
    2. Focus on gathering and refining the requirements for the system you propose to build based on your customer's needs.
    3. Work out the design for the system and downselect to the platform you choose to develop in based on a clear understanding of the available choices and guidance from your customer base

    If you don't have requirements or a system design and you're worried about the implementation platform, you've already lost the race. Your system will end up being an ad hoc, organically grown, maintenance nightmare. Your best chance for success is to follow some sort of software development lifecycle instead of what appears to be the rush to select a platform and start coding. Factor in the learning curve for the selected platform to your project timeline, but jumping straight into coding before you know the requirements for the system and have a design to fulfill those requirements just leads to a waste of time, money, and resources that culminates in a failed project or worse, a badly hacked up product that results in bad customer relations.


    That's my experience, but your mileage may vary....

  191. I am becoming a Doctor... by Silas+is+back · · Score: 1


    ...working at an University-hospital in Switzerland. Although almost every Desktop System present in the rooms for the nurses runs Windows, about 30% of our Physicians already use Mac OS X on their personal Systems, and more and more the Macintoshes appear in the Doctor's rooms.
    (I do not need to mention the various server-systems like Solaris and Unixes)

    Well, all I want to tell you is that in Switzerland, Microsoft is ALL BUT on the rising bar, and I personally think that you'll do better using J2EE, heading towards the "OS-independent" argument. Freedom of Choice is important.

    regards
    Silas

    --
    this sig is useless
  192. Look at the lessons learned....... by TCook · · Score: 1

    then decide on t the platform and data model. Physician's offices are not the same as hospitals.

    http://www.openehr.org and follow all the references.

    Cheers,
    Tim

  193. J2EE wins the concurrency battle by JPyObjC+Dude · · Score: 1

    If your deployment requires more than about 30-40 concurrent users, depending on complexity of app,an Win.net deployment would probably require multiple computer arrays with complex gateway framework. M$ is not known for building such large frameworks well. Instead they focus on making smaller deployments fast to write in and fast to run.

    On the other hand, with Java you can deploy on a nice juicy 10 processor *nix beast with terrabytes of stripped raid storage. By going J2EE on these systems you can get very high concurrency on one machine. You must have multiple boxes to acomplish this with win32. More computers == more complexity == more problems. With J2EE and Java RMI's (old but good) you can get very good multi-processor utilization.

    Also, J2EE is better at deploying across multiple server farms such a linux array. By using multiple rmi's (one/linux box/processor) and an RMI gateway, you can get a very powerfull, stable and secure system. I get shivers thinking of how Microsoft is able to do this.

    From my experience, I am seeing more and more .net deployments that are having very serious performance problems even though they through tons of bucks at the hardware, they would all have been better off with J2EE. The performance is often related to both high and low concurrency.

    If your deployments are less than say 40 concurrent users, win.net is a possible solution but will be less stable and secure than J2EE on *nix. Above this 20 concurrent users, hands down I would go J2EE. At this level, the cost of extra processors & memory is relatively low cost in comparison to the application development & deployment costs.

    Spend a bit more money on the hardware and you will sleep well having J2EE cranking away.

    JsD

    1. Re:J2EE wins the concurrency battle by PickyH3D · · Score: 1

      "M$"

      I wonder if anyone else ignored the rest of the post?

  194. All Politics Aside by SrSpeedy · · Score: 1

    The decision depends on the background of your developers. With either language you can develop a highly reliable world-class application (folks do it every day). If your developers have experience in developing Pascal, C, or C++ applications then Java is a better platform choice. If your developers have backgrounds in RAD development languages such as Visual Basic, PowerBuilder, etc then .NET would likely be a better choice. The project ramp-up expenses (training-prototyping-design) will likely be very large, but you can minimize that by bringing in a consultant (or two) that is an expert (not just familar) in the platform technology that your group decides upon. Do not fear losing face by letting them lead because if you hire the best available in your market their resource value will be priceless.

  195. Re:oh no not ms by grv575 · · Score: 1

    Thew VEIWS creation is plenty buggy. I wouldn't install 5.0 just yet

  196. According to customers...duh...do your research... by BlackMesaResearchFac · · Score: 1

    ProVation Medical is the leader in a new industry. They only have a couple "competitors" that can muster a single specialty while ProVation MD spans multiple specialties. They also have partnerships with several big players in the industry like Medtronic and Linvatec.

    --
    -- Scientist: You aren't going to leave me here, are you? Boagh! Thump...
  197. .NET/Mono are viable? by turgid · · Score: 1
    1) Mono (.NET) for non-Windows applications is just as viable as Java for multi-platform use. You could do .NET AND Mono deployments (or just pick one).

    Are you sure?

    Last I heard, Mono was an incomplete, slow and buggy implementation if small parts of .NET.

    Please don't kid yourself that writing in .NET or Mono will allow you to produce secure, reliable, effective cross-platform software. You might be able to write something that runs on most modern versions of Windows, and providing you don't use to many of Microsoft's classes, it might run after a fashion under Linux.

    It would be much more sensible to choose Java. It may appear to be a little slow in some cases, but it's mature, stable, reliable and secure. It comes with huge amounts of free classes for all kinds of purposes. If you're scared about it coming from just one vendor, fear not. There are Java implementations from many renowned companies, including IBM (currently a favourite of /.). There are free, Free and Open Source implementations.

    In terms of portability, you don't have to choose between one complete implementation on one OS and a half-done one on one other (i.e. .NET on Windows and Mono on "Linux").

    Contrary to what people will tell you here, the standard Sun JVM compiles to native machine code on the fly by default (you can turn it off with a simple switch), and gcc comes with a Java compiler which generates native binaries from Java source without requiring the JVM.

    I think you'll find that if you choose Java, there will be fewer nasty surprises due to its maturity, and much more Open Source available to use in your project.

  198. Re:Java by the+eric+conspiracy · · Score: 1

    What the HELL are you talking about? C# is an OPEN standard, with 70%+ open to public

    I call bullshit. C# is a standard, but that doesn't mean it's useful in that form. Microsoft calls their product Visual C# for good reason - it is the C# language PLUS project templates, designers, property pages, code wizards, an object model, and other features of the development environment. The library for Visual C# programming is the .NET Framework.

    NONE of this is part of a standard except C# and the System library, and it is ALL part of what people use when they write C# applications.

  199. Re:Java by the+eric+conspiracy · · Score: 1

    As others have mentioned, you are not FORCED to rewrite your VB6 app to VB.Net. It still works and compiles.

    As others have said, mainstream support for VB6 ends March 2005. There is no way my clients will buy applications written in an unsupported language.

    As a result, yes we are forced to rewrite. Otherwise we are out of business.

  200. my experiences on similar task by jayp00001 · · Score: 1

    While on contract to large company over (8K employees)that has to be HIPIAA compliant AND SarbOx complaint, I saw 2 projects , one with j2ee and one with .net. The .net project is completed and the j2ee project is still going. Both projects were similar in targets and scope ( generating XML reports from 2 different financial systems and claims systems). Java is more difficult to do audit systems on, and is more complex when trying to design role based security. .Net is obviously nor portable, but has all that functionality built in to any number of languages. Since your target is physicians offices and hospitals (where the primary OS of choice is M$); I would work on the .Net version first and perhaps a j2ee version if you see any demand for it. C# and java are similar in syntax (more so than some of the other .net langs) and wouldn't be to difficult to get he core logic recoded. The difficult part (which would be the challenge anyway) would be to develop the security model.

  201. Frameworks Are a Marketing Tool... by was_ms_now_linux · · Score: 1

    ...to ensure the customer keeps upgrading from one version of the underlying platforms to the next version. The quiet fact is that most notable commercial software is not written against any framework but rather a compiled language such as C++. Frameworks are designed purely to enable the relatively unsophisticated and ensure upgrade and mainetenance revenue. Frameworks always result in additional harware being required. >>

    --
    http://www.softwareobjectz.com
  202. Re:Java by kaffiene · · Score: 2, Insightful

    There's a *huge* difference.

    Sun has worked for the last decade trying to ensure above anything else that Java works on as many platforms as possible.

    Microsoft have worked for their entire life as a business to ensure that software only runs on their system.

    The track record of these companies should be all the argument that people need.

  203. Re:Java by kaffiene · · Score: 1
    "one patent infringement lawsuit from MS and it is gome (sic)"

    Yeah, like when Sun sued Microsoft over Java and now MIcrosoft's Java is gone. Just goes to show anyone will sue anyone, there is no protection because you are not going with Microsoft.

    That law suit was fought to preserve the integrity of the Java language, not to kill it on Win32.

    A MS suit against Mono kills .NET on Linux.

    The Sun suit against MS preserved the ability to code portable Java on Win32

    Spot the difference?

  204. its that simple by checkup21 · · Score: 1

    1. java is not slow, swing is. Poeple that dont know the difference should not make any IT decisions. Period. Swing is the reason why java gui apps run anywhere (no, this is not a myth). But you dont have to use it, there are alternatives. See "swt" and/or "gcj".

    2. You dont need twice as much ram to boot java. the actual VMs share the loaded vm code for later on started java apps. Your .NET Runtime has to be started also.

    3. Stop fucking using Excel and start openoffice.org!

    merry christmas.

    1. Re:its that simple by ahdeoz · · Score: 1

      RE: 3 He's complaining performance, not price.

  205. Re:Java by Spiked_Three · · Score: 1

    Nope, just a play in words in the direction you wish it to be read.
    Microsoft could easily say the same thing if they went after Mono.
    Sun sued Microsoft over Java because it took market share (mindshare) away from Sun, and they had a contract that allowed them to sue. Any other belief is fantasy. If Microsoft had not been in a special treated monopoly position, the courts would have thrown the suit out even with the contract.

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
  206. It's the api, stupid by BitwizeGHC · · Score: 1

    First of all, John Dvorak, is that you? This looks like fresh copy for a business IT rag, bolded headers and all, but the main feature being clueless rambling that sounds knowledgeable and sophisticated. Now on to my main point:

    With few exceptions (COBOL, C++) I find I can pick up a new *language* in a matter of hours. Where the time really needs to be taken to learn, is in APIs. Oftentimes, as is the case in languages like Perl and Python, a new API is implied by learning the language, since you have to know the syntax the language uses for strings, regexps, and so forth. Smalltalk is a very tiny language with a very big API. Grokking the syntax can be done in minutes; finding out what all those little objects do, what methods they expose and how they may best be fit together to solve a problem requires lots of time, skill, and creativity.

    With .NET, the multi-language "feature" is really a non-feature, as most .NET languages expose the same API which is the set of classes in the .NET framework. .NET is like the ultimate "skinnable" programming environment; the language syntax tends to be different for each of .NET's guest languages but the underlying API, the base upon which the language is founded, is the same. There's some syntactic sugar here and there for people who are familiar with Visual Basic... but in actuality, .NET is no more multi-language than Java (which as noted elsewhere also plays host to code from diverse programming languages); and, it does not eliminate the far less trivial barrier to adoption that is its class API (which is different from both Java and Win32).

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  207. Re:Correct me if I'm wrong by rdean400 · · Score: 1

    I would question the architecture of a system that requires push updates to the client. There are other reliable ways to achieve the desired results. This is the reason PointCast got marginalized.

  208. Healthcare Development Platform by denny_slater · · Score: 1

    I'll give you a better alternative than either .NET or J2EE. Use Java without J2EE. I have 25 years of large scale systems development. I have used both .NET and J2EE extensively. I would not base any commercial software on either. .NET is locked into Windows (where will you run your server software?), J2EE is not suitable for information systems development (use of a database is an afterthought). Both are too complex. Use Java without the EE. Portability, scalability, runs on eveything, easy to develop/maintain! Reply for details.

  209. Re:Java by kaffiene · · Score: 1

    Bullshit. Sun was happy for MS to ship Java, they weren't happy for MS to ship a incompatible product and call it "java". In no way did it benefit Sun to have MS stop supporting Java, except insofar as it kept the language pure. Sun would have been much better off if MS HAD supported pure Java (shipping Java in Visual Studio was a huge boost)