What Is The Best Application Server? 28
Naeem Bari asks: "I wanted to find out if Slashdot readers have a favorite Application Server. I want to compare products like Sun's iPlanet, IBM's WebSphere, BEA's Weblogic, Sybase's Jaguar et al. I am looking for comments from people who have experience using any of these products. What kind of features do they support (EJB 1.1, CORBA 2.3, XML etc.)? And whether they do these features really well or just pay them lip service? How about usability? Vendor support? Performance? Scalability? Failover abilities?"
Re:Some clues (Score:2)
I worked for a while at [large television company] where they were reaching the end of developing a large content management system in Web Objects. Sadly, while providing all these enterprise functions they forgot one simple mantra: Make it work, and make it work fast. The project was DOG slow, and the editors remained using FTP and plain HTML right until the time I left.
In short: don't use WO, you can have much shorter development timescales with free products and they actually work.
Evalutate your needs (Score:3)
Seriously consider whether you truly need an application server before forking out the money.
Still looking... (Score:2)
Enhydra doesn't seem attractive - although it's free, it's not strong in EJB support right now (the major reason we'd even want to use an app server). Also, XMLC is a nice idea, but we have in-house solutions we like ever better (since they seem to fit the way we work best).
Zope might be worth looking at if you're still really just at the start of looking at solutions. If you've already decided to go with Java, for instance, I'm not sure if it's worth the time to look at Zope (does it handle non-PHP "stuff"?)
Right now, the best "app server" we've found is Apache + jserv (or Tomcat, it seems to work right now, and it uses Servlet API 2.2). Apache is just so configurable that it's a joy to use (and very performant). Jserv includes load-balancing and distributed computing as is (you can run as many jserv "servers" as you want, and round-robin among those; sessions are handled via session affinity, so you always get passed to the same server once a session is established).
Our big test will be soon, as we deploy this solution to our client. So far, we think we made the right choice... I think application servers (and the whole EJB technology) still need to mature more. For instance, there are plenty of indications that performance suffers using EJBs due to poor database translation layers (mapping calls to beans to calls to the database).
One interesting solution on the horizon is EJBoss along with Ozone, a pure-Java object database. This will be the next thing I evaluate after we launch this servlet project.
Re:A small review (Score:1)
Weblogic has been supported on Linux for a couple of years now - BEA sent me a promo disc when it first came out (I was a Tuxedo consultant) but I haven't had time to evaluate it and compare Linux vs Solaris.
/*He who controls Purple controls the Universe. *
Websphere (Score:1)
I am told that WS works well once in production, but we haven't gotten that far yet...
Re:Don't forget about this little company... (Score:1)
Re:broadvision (Score:2)
http://www.peterme.com/bvsucks/
Its gonna depend (Score:2)
If you application is not going to be high load, or you won't need to worry about clustering then your options are more varied.
Also you should know if you are going to use Bean Managed Persistence or Container Managed Persistence. If you plan to use CMP then you need to make sure that the application server you use has good OR mapping tools. TopLink is a well repected OR mapping tool.
We chose Weblogic 4.5.1 as we needed to cluster and scale the application. Weblogic doesn't have good OR mapping tools but links really well with Toplink, we are using BMP anyway.
Webshpere is a bitch to install unless you understand Oracle or DB2 quite well.
Oracle's application server ties you to close to one vendor so we stayed away.
Enhydra looks really cool and it is OSS so you can get in and tweak stuff if you need to. I am not sure what kind of performance it can achieve though.
The biggest thing before you start to make decide is define what aspects of EJB's and such you will need and need to work well and what won't matter, this should help narrow the field down for you.
This pdf is a very good research article and i reccomend it as a starting point EJB Comparison [mff.cuni.cz].
broadvision (Score:2)
Re:iPlanet (Score:1)
No, actually, performance on commodity hardware would be another reason, as would preference for open source tools, etc.
Some clues (Score:2)
- You can choose your language (java on client and server, objective-C and Webscript)
- It supports many databases (Oracle, sybase, M$ SQL, postgres, etc) and there's a JDBC option allowing you to use any DB with JDBC support
- Runs on Linux, MacoSXServer, Solaris and NT
- The price: 700$ (slashed (errr. Steved) last week) is ridiculous because webobjects supports all the enterprise functions found in high end apps servers.
Zope (http://www.zope.org) and enhydra (http://www.enhydra.org) may be the best choices if you're looking for free and/or open source apps servers...
BTW: First!
Re:Evalutate your needs (Score:1)
being a GNUstep follower, i only hear praises for it, so i would appreciate your comments...
greetings, eMBee.
--
Re:Still looking... (Score:1)
Don't forget about this little company... (Score:2)
But, like the other poster said, it will really depend on your needs. I recommend taking the 2-3 weeks to get a simple app going with each of the servers and see what the snags you can live with are.
And BTW, I am a strong anti-BEA advocate. 4.5.1 was a complete farce, and 5.x has been in-line with Microsoft's tactics: let the marketing folks sell what the tech boys can't. But, as I am sure someone will point out, we were trying to get it to do a finite set of things.
My USD$0.02.
--
Re:Its gonna depend (Score:1)
A pity. But there you go.
WO on Linux?!? (Score:1)
Where can I get it?
I know the next version will be pure Java and thus will run on Linux. But not now IMHO.
Re:Some clues (Score:1)
I do a lot of work on application servers including WebLogic, WebSphere and NetDynamics (now merged in iPlanet).
These projects offer a whole lot of features as standard which would typically take a long time to put in place otherwise. For example automatic failover at transaction and application level, nice integration with transaction processing systems and seamless integration of development environment.
I agree that most of things could be developed in house but why reinvent the wheel. And in most applications a little slowness could be compensated by superior hardware and a more important concern is long term maintainace and running of such a large code base that typically get created.
A small review (Score:2)
However, if you are looking for high scalablity and reliablity for top-end system with large volumes of transaction processing then do not hesitate, you really need it.
In that case, there are three application servers worth considering:
1) BEA Weblogic
2) Sun-AOL iPlanet
3) IBM WebSphere EE
Which one you chose depends on what are your concerns and goals.
iPlanet has the best support for failover clustering and load-balancing but I find it too proprietary with its own tags to script. If you are also concerned about that then chose WebSphere that has good failover mechanism but not enough of load-balancing and transaction failover components but is mostly non-proprietery.
If you plan to do large distributed transaction processing websphere is the way to go which has intgeration with third-party DTCs and strong support for client initiated transactions. Weblogic has virtually no support for distributed transactions and iPlanet also lags behind far.
Websphere has also good support for XML and other object services like running RMI and IIOP over SSL. (weblogic needs third party components to run IIOP over SSL, iPlanet does not suport RMI or IIOP over SSL. Both have no support for XML)
However, weblogic provides strong support for dynamic content presentation and session tracking but the other two are not too far behind either.
iPlanet has nice security audit features and the other two lag behind here, however this is not too much of strength as I always end up writing my own audit functions(tho, YMMV).
iPlanet also supports SNMP which other two don't and this could be a deciding factor sometimes.
Out of three only websphere is supported on linux.
One more thing, this is not really an ad, but my company does exactly this kind of work and I could ask my marketing guys to follow up with you if you are looking to outsource either design or implementation
P.S. There is a nice comparison of AS's at http://www.flashline.com/components/appservermatr
Correction: Zope vs. Midgard (Score:1)
I think you are confusing Zope [zope.org] with Midgard [midgard-project.org].
Zope uses Python as its underlying language. Midgard is the one that is built in PHP.
Both are worth a look, if only because they are Open Source and Free, so costing nothing.
Re:Websphere (Score:1)
Note that WAS 3.0x is almost 8 months old now and will likely be getting an update soon. It supports JSP
Disclaimer: I do work for IBM and do work with WebSphere often. In addition, I have little to no experience with other application servers with which to compare WebSphere. What I say here is my own opinion and most definitely not that of the company that pulls my strings.
Re:Its gonna depend (Score:1)
Re:Websphere (Score:1)
Re:Its gonna depend (Score:1)
Dynamo from ATG (Score:3)
Also, check out Intalio [exoffice.com]. I guess it's not released yet, but once it is, it might be just the best thing possible - it's open source, and friend of mine who works there says that they are going to simply blow competitors away (though obviously he is biased).
Re:broadvision (Score:2)
Most of the out-of-the-box functionality is barely useful, and you'll find that to do anything in the real world you'll have to tear it apart and re-invent a lot of what is supposed to be built-in.
The only way to learn it is to plow through the documentation they provide, extracting whatever nuggets of information you can find, then dive into the sample code and header files.
Their sales tactic is to make an end run around the technology folks and go straight for the marketing managers with the "1-to-1" pitch. If we knew then what we know now I don't think we would have made the same decision, but we've managed to make it work for us.
I'd be happy to answer any other questions you might have.
Jason (jason_defontes@intuit.com)
iPlanet (Score:1)
Re:Some clues (Score:2)
Re:Sybase EAServer (Score:1)