Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

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?"
This discussion has been archived. No new comments can be posted.

What is the Best Application Server?

Comments Filter:
  • Its performance also sucks rotten eggs.

    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.
  • by Matts ( 1628 ) on Thursday May 25, 2000 @05:12AM (#1049115) Homepage
    A lot of people buy these application servers without first thinking through whether or not they need one. For example, plain ordinary products like mod_perl and Java servlets provide an awful lot of the features of an application server. You have to remember that most of these app servers are just toolkits in which to build your application. And most of them are slow or badly designed. I have a fair bit of experience with Web Objects, Mediasurface and Broadvision, and none of them work particularly well. In fact they provide a whole lump of features without any real forethought about design, or the end user actually building complex applications.

    Seriously consider whether you truly need an application server before forking out the money.
  • We haven't found an app server we like yet. We've looked at the merits (or perceived merits) of BEA, Websphere, Enhyrda, etc... no clear winner.

    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.
  • bea.com/products/weblogi c/server/datasheet.html [bea.com]

    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. *
  • In my experience so far, IBM's WebSphere is (needlessly) painful to install/configure. It is also current stuck in the dark ages of Java 1.1.x, while 1.2.x has been out for a long time and 1.3.0 is also out.

    I am told that WS works well once in production, but we haven't gotten that far yet...

  • Sometimes it appears that only WebSphere, WebLogic, and IPlanet are on the corporate radar. Some people are surprised to learn that there are over a dozen Java app servers out there.

  • I know nothing about BV, which may be an excellent product. However, I recently happened across a page of someone who thinks otherwise:

    http://www.peterme.com/bvsucks/

  • It is really gonna depend on what you are looking for in your application server.

    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 is coming to my workplace soon. There's no choice. I'm interested in hearing more about it if anyone's got the time to elaborate. Also, if you have any tips that would be helpful in working with it, or becoming familiar with it (other than www.broadvision.com) would be welcome.

  • Price would be the only reason.

    No, actually, performance on commodity hardware would be another reason, as would preference for open source tools, etc.
  • I have a limited experience with webobjects from Apple (http://www.apple.com/webobjects) and I find it really powerful:
    - 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!
  • could you elaborate on your experience with webobjects?
    being a GNUstep follower, i only hear praises for it, so i would appreciate your comments...

    greetings, eMBee.
    --

  • I agree. We have used apache + jserv since 1.0b. It works really good , but we want to use EJBs so we are searching too....
  • Everytime one of these flame-wars break out (I mean, honestly, this is like asking "which editor should I use?"), Inprise AppServer is left out of the discussion. Ergo, I am mentioning that in terms of adhering to standards and being faster-than-hell, IAS 4.0.1 does it for us.

    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.
    -- /v\atthew
  • For what it's worth, we *really* wanted to install and use WebSphere on Solaris with Oracle, but in the end gave up - we just coudn't install it. Their help desk didn't seem to be able to support the proudct under Solaris, and we just got fed up and used WebLogic instead.

    A pity. But there you go.
  • Sure?

    Where can I get it?

    I know the next version will be pure Java and thus will run on Linux. But not now IMHO.
  • No actually this is not true.
    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.

  • The first thing you should think about is whether you need an application server. If your concern is speed for a medium volume website can do with mod_perl or zope or something.

    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 :-). I am not saying this because I work here but because I know we guys really know our work.

    P.S. There is a nice comparison of AS's at http://www.flashline.com/components/appservermatri x.jsp
  • [I'm not sure if it's worth the time to look at Zope (does it handle non-PHP "stuff"?)]

    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.

  • My experience with IBM's WebSphere installation has been quite the opposite with relatively simple installation and configuration. As you point out it still only officially works with Java 1.1.x though I've seen it working with Java 1.2.x (but that is, of course, unsupported). In addition it requires either DB2 or Oracle.

    Note that WAS 3.0x is almost 8 months old now and will likely be getting an update soon. It supports JSP .91 and 1.0, Servlet API 2.1, and EJB 1.0 (advanced and enterprise only) among many other things. It also runs on a large variety of platforms like most IBM server software: NT, Solaris, AIX, Netware, OS/2, OS/390, AS/400 and Linux. The Linux version is currently a point release behind at 2.03 which is a large leap in funcitonality (2.x versions of WAS do not require a db though). This should be changing real soon with Linux catching up to the rest.

    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.
  • I have actually found WebSphere quite easy to install even with a minimum of Oracle or DB2 knowledge. Though WebSphere does require the "setup" of either Oracle or DB2 the commands required are minimal and IBM does provide scripts that will do the DB setup for you. I'd be interested to know what specifically you have found to be difficult about the installation.
  • Correction: 2.x Standard edition of WebSphere does not require a database. 2.x Advanced editions require DB2 for Enterprise Java Services (EJS).
  • Here is a link [networkcomputing.com] to a Network Computing article talking about WebSphere specifically but has links to older NC articles comparing several different Java application servers including WebLogic and Enhydra. These articles may be a bit outdated, but are still informative.
  • by m.o ( 121338 ) on Thursday May 25, 2000 @07:42AM (#1049137) Homepage
    Dynamo from ATG rocks - you can ask them for a download for 30-day evaluation, you are going to love it.

    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).
  • We've been working with Broadvision for about two years now. It's a very complex system that is difficult to learn, is poorly documented, and is very complicated to configure, deploy, and maintain. After figuring it out, however, it has proven itself to be extremely customizable, with good performance and stability.

    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)

  • Let's face it... iPlanet has everything covered. Why go elsewhere? Price would be the only reason.
  • I've used WO extensively over the last 3 years (as well as other servelet/jsp servers) and I think you got this backwards. The primary reason to use WO is the incredible *short* develpment cycles compared with other app servers. This is a result of WOs tight integration of a sensible dynamic html generation architecture (something jsp lacks) and a very mature (5+ years) Object Relational mapping layer (EOF). Ive seen fairly complex projects completed in several months (contrasted with much longer spans for jsp/ejb). But WO is a pretty complex product (the OR Mapping layer alone is fairly complex)with a steep learning curve. I agree that in the hands of inexperienced developers, a WO project would take forever. WO is built on top of former Next Computer technologies and most competent WO engineers were using these Next technologies before the Web came along.
  • I am a Sybase employee. EAServer is the number 2 app server in terms of installed base, behind BEA. I think that will reverse this year, we are already seeing signs of that happening. All loyalties aside, BEA is a BITCH to install, configure, and learn, and our customers tell us there are performance and back-end integration issues. BEA has never submitted to 3rd party performance tests, and they apparently, like SilverStream, have some issues there. Also, we cluster across networks. BEA requires all machines in a cluster to be on the same subnet, and for failover, to share a harddrive or mirrored set. EAServer was given the app server Analyst's Choice award by PC Week this year, I believe February. ciao.

After an instrument has been assembled, extra components will be found on the bench.

Working...