I've been presented with a long-term project opportunity that demands the following:
a. Oracle database
b. Java JDK 1.5
c. Web Logic as the web server
d. Spring and Hibernate frameworks

Has anyone here used these before? I've coded Java before but not using these components. I've looked at them a bit and they seem fairly involved. I'm imagining (perhaps naively) that I could get up to speed on this in the 2-3 month interval before the project would begin.

Mostly, I'm wondering:
1) Is it possible to set up a development server using free (as in no money) downloads or does one have to pay license fees? I found a link to JDeveloper (which is apparently free) here but I don't really know how much development one can do without an actual server to run things on.

2) How much does it cost to set up a development server with the aformentioned parameters? The oracle software all looks pretty pricy and I can't help but wonder if they have free versions that are not for production use.

3) How much does a production server setup cost? I don't foresee traffic for this project exceeding the capabilities of a single machine but I don't even know which pieces of software I would need to buy. If it's really pricey, I might try to talk them into a LAMP stack.

Lastly, any anecdotal wisdom about this would be much appreciated--especially info about getting up to speed coding with it. The project I'm looking at is fairly small, but has e-commerce components which could prove tricky for a noob.

    4 days later

    Well Oracle have had a free version for quite a while now 10g. They claim that it can be used for development and then scaled up with no rewrite required. Never tried it so I don't know if that's true. I do know that it is very limited in db size the same as mssql express.

    Java JDK 1.5? I take it you mean Java for Business 1.5. Now all of the SDKs are free to use, it is the support contract that costs. So if they want the JfB 1.5 then they will have to pay for it for you won't they.

    As to Spring, I'm sure they have a development download and Hibernate is open source anyway.

    Weblogic is the Oracle platform that will deliver all of the others and that costs. Now since the end user is going to have to pay for all that at some time, get them to pay for it up-front so that you can develop on their target production system - which is what you should do anyway. If they have it already then get them to give you access or a development licence.

    How much does a production server cost: how long is a piece of string?
    You can get a very nice Dell server for <$1000 that would be just fine for development, even production if the load is not great. These days it is the server software that costs the most.

    The main hint I can give you about all of this is to be very clear about the design patterns you will be using. Once that is settled then, as with php, there are all sorts of resources out there to help with the code: eg Spring MVC

    One thing that I would suggest is to use FitNesse for your test suite. I've just been investigating it for our NET development myself and I must say I am very impressed. The buzz is that it beats JUnit hands down for utility as well as the end user involvement in the actual development process.

      Roger Ramjet wrote:

      One thing that I would suggest is to use FitNesse for your test suite. I've just been investigating it for our NET development myself and I must say I am very impressed. The buzz is that it beats JUnit hands down for utility as well as the end user involvement in the actual development process.

      Interesting, but at a glance it appears to be intended for acceptance testing, not unit testing, so perhaps FitNesse would work best in conjunction with, not as an alternative to, JUnit.

        Probably it would for java, I'm not up on that and definitely not up on JUnit. All I've read was some good reports that led me to Fitnesse in the first place. So far as I can see, if one writes the tests before the code, and writes the failure cases first as well, then one is de facto unit testing. But you are right, use the 2 together and you've cracked it. Indeed, as I read more about it I find that that is exactly what they recommend.

        There are an lot of extensions to fitnesse on sourceforge for anyone who is interested: and that was probably why the bloggers I was reading were so enamoured of it.

          I finally got a knowledgeable person on the phone at Oracle and she was very helpful. She referred me to Oracle DB Express version that you linked Roger. Thanks for that.

          She said they do not have a free version of WebLogic, but that sales might be able to work out some kind of scheme wherein we could acquire a version for development purposes and use it on a dev machine without purchasing a license for a limited time. To actually purchase it, you have to figure out what kind of license you want. The licensing scheme is byzantine and there are versions supporting unlimited users on a single processor, per-user licenses, provisions for the number of cores on your machine, perpetual licenses, 1 year licenses, etc, etc. Costs appear to start at $200 for a "1 Named User Plus" perpetual license. You can do $40 for the first year or something but that's just ridiculous.

          The document from the client literally said JDK 1.5. In additional correspondence, they have requested a "Standard J2EE Application" which is able to work on their WebLogic servers should they decide to host it internally. Roger, I'm not really sure what it would mean to use Java for Business versus Java EE 5 (I assume Java EE 5 is really what they mean when they say "jdk 1.5"). I imagine that what it ultimately means which application server you end up with on your dev and production hardware, right? The sun website says Java for Business is based on Java SE. It's my understanding that SE has fewer libraries than EE. I'm also guessing WebLogic might offer features and functionality (and, sadly, constraints) that would not be present in GlassFish or SJSAS or Apache Geronimo or (Apache Tomcat?) or whatever.

          This enormous collection of acronyms and new names for the same old things is something I've always found puzzling and irritating about the Java ecosystem.

          If you go to the spring website, there is a very prominent DOWNLOAD button that links to SpringSource tc Server Developer Edition which apparently uses Tomcat. I'm not even sure what this software product includes -- I do know it's not free.

          Hibernate appears to be a wrapper for handling data persistence.

          I'm fine with the hardware details. I am certain that I'll want to develop on a machine here in my office. It's just too tedious to constantly upload files to a remote server to see if everything works. What I'll probably do is repurpose my desktop as a linux server -- I've been planning to overclock a core i7 920 for some time now. I'm a huge newegg fan.

          At any rate, I'm having a bit of trouble picturing how all these disparate parts fit together. At this point I have a vague picture of an ubuntu or debian machine with apache tomcat (or geronimo?) also running oracle db express and possibly also a GUI and Eclipse for linux. But then that gives me problems seeing how spring and hibernate are to be incorporated. Also, I worry about things working when I put my JAR/WAR/EAR/RAR files on the client's weblogic server.

          Thanks for the Spring MVC link and the suggestions about design patterns, but I'm not there yet. I'm still confused about the stack and the development process. Any additional comments are appreciated.

            It's probably best at this point if you go to a java forum to find knowlegeable help with all of this.

            Also the Oracle forums are excellent, as are Oracle's white papers on their own technologies, so you could well find a lot of the information you are after via the Oracle part of the technology stack.

              I posted the oracle forums a week ago and so far there's no response. I also posted two other Java forums and the results so far are hardly inspiring.

              Thanks for the input. I reckon this is going to be a pretty hard slog.

                sneakyimp wrote:

                I also posted two other Java forums and the results so far are hardly inspiring.

                Try JavaRanch. I am not a regular there, but when I did lurk there, it was active.

                  Thanks guys. I'll definitely be checking out javaranch laserlight.

                    Write a Reply...