Pages

    Showing posts with label application servers. Show all posts
    Showing posts with label application servers. Show all posts

    Wednesday, October 22, 2008

    And the Winner Is...

    JBoss.

    1. First and foremost, JBoss has the best community. Documentation exists for all facets of using JBoss, from developing on it to deploying it to a production environment. Most of these docs exist in Wiki form on the JBoss.org website, but a Google search of any term prefixed by JBoss (ie: JBoss Administration) will return many, many relevant links. This in and of itself is the primary factor for using JBoss.
    2. While GlassFish provides the latest in JEE 5, JBoss is not far behind (actually having a release candidate with JEE 5 support available). Further, we will most likely not be harnessing a lot of the JEE 5 specification. What we will be using of the JEE 5 specification, mainly JSP and Servlet are provided, along with a JAX-WS compliant stack in the form of JBossWS.
    3. JBoss has an Eclipse plugin (as does GlassFish).
    4. JBoss’s system requirements are lower than GlassFish’s.
    5. While GlassFish’s admin console is very nice and very polished (specifically it’s log viewer), the lack of being able to run in a console window is constrictive to development. From a developer productivity standpoint, having to open up a web page and refresh the view to get the latest log files would be detrimental.
    6. Hibernate, the ORM solution we will be using, is a JBoss project, and is built directly into JBoss.

    The choice came down to JBoss vs. GlassFish. I never really considered Tomcat with Metro.

    While I really liked GlassFish, it didn't seem as suitable for a development environment. Both of them seemed completely competent in a production environment, with each having its best features. So, it came down to which would be better to develop on.

    The answer to that question is that JBoss is easier to develop on and it has the most widely available community. Those two factors weighted things to JBoss.

    Thursday, October 16, 2008

    The Purpose

    So, this is my developer's blog. It's the "in vogue" thing for developers to do. I see them all over the place, so why shouldn't I have one, too?

    I've recently changed jobs and am working on a project now that is starting from the ground. I'm also the lone developer on the project. That kind of makes it my show, to a certain degree. I'm responsible to the Customer (who shall remain nameless) and to the Company (who shall also remain nameless) I work for.

    Being in on a project from the ground up is a pretty cool thing. You get to make a lot of decisions that will have a huge impact on the project months, if not years, down the line. Some of the decisions I've already made have been which language I will use: Java; what type of application it will be: a web app.

    A few decisions were made for me, including which database I'll be using, which is Microsoft SQL Server. That suits me fine, as I'm going to try to take a database agnostic approach by using Hibernate. We'll see how true to that desire I can stay later on down the road.

    It does have the up-side, or so I've heard, in that SQL Server is supposedly easy to administer. It certainly seems easier to administer than Oracle, the only other database I've worked with. The tools seem to be a lot more developed and "user-friendly". That's good in my book, as I don't want to spend all my time adminstering the database.

    The big decision I'm working on right now is what application server I'm going to be using. I've basically narrowed it down to three choices. The first is to use Tomcat augmented with the Metro web stack that is available from the GlassFish project. The second is to use the actual GlassFish server itself (or whatever lame name Sun gives it once it's released officially). The third is to use JBoss.

    I'm researching all three right now and I plan on posting here what I find and my ultimate decision.

    So, back to the purpose of this blog. I'd like to document the steps that I take as I build this application. I'd like to make note of the pitfalls I fall into and how I got out of them. I'd like for this to be part history, part road-map to how to do it better in the future.

    We'll see how it goes from here.