Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming

Who is Using Tomcat or Jetty in Production? 488

JettyCatReady queries: "Ok, my company (a rather large, global financial institution) has recently blessed Linux for production use (woohoo!). Their position is that it will save them hardware costs to run on Intel machines instead of big IBM or Sun iron. No mention at all has been made of their position on open source. I'm part of a team that wants to make the case that the real savings are to be made by making use of things like Tomcat in place of BEA where we can (if all we want is JSP why pay a huge cost per server?). I even have a boss's boss who said in front of me, 'So I'm thinking, am I missing something by not using Tomcat? Do I have anything to lose?'"

"These are all excellent signs. The next step is to get an open source server into production. Tomcat is the natural choice because it's got the name recognition among Java app servers. Here's where I'm a little stumped. Whenever I mention the words 'Tomcat' and 'production' together, performance junkies come out of the woodwork and tell me that Tomcat sucks for production (what with it being a reference implementation and not optimized for speed). They say use Jetty (except for the ones that say to use Resin). The counter argument is that if my managers have heard of Tomcat, and seen vendors that will support Tomcat, and have never heard of Jetty, then there's no way they're going to bless it over Tomcat. (The same boss who praised Tomcat above also made a face when I mentioned JBoss. And I'm sure it has nothing to do with his personal experience with either.)

My question is, does anybody have some real world numbers of large institutions actually using these servers in a production environment? If somebody can tell me 'Company X uses Tomcat exclusively' then we would have no problem contacting company X and saying, 'So, what have your experiences been?' In other words I need leads, not actual white papers (although those would be nice, too). I need some real experiences, not just people who like Jetty over Tomcat because they don't like Sun."

This discussion has been archived. No new comments can be posted.

Who is Using Tomcat or Jetty in Production?

Comments Filter:
  • Production Tomcat (Score:4, Informative)

    by Anonymous Coward on Tuesday August 20, 2002 @08:24AM (#4103413)
    Can't give our company name but we're using it in production for an ASP-type senario serving apps to large financial institutions off of WinNT boxes. Compared to the previous IIS builds (ugh) it's wonderful, stable and a nice advert for taking the whole show over to UNIX.
  • by Anonymous Coward on Tuesday August 20, 2002 @08:25AM (#4103424)
    We use Tomcat in production, as a replacement for JRun, which we used to use. It's working quite nicely.
  • Novell (Score:5, Informative)

    by Scutter ( 18425 ) on Tuesday August 20, 2002 @08:26AM (#4103427) Journal
    Novell's Groupwise version 6 runs on Tomcat with Apache. It's actually set up to run on Netware, of course, but I've gotten it running quite nicely on linux as well.
  • JBoss (Score:4, Informative)

    by Anonymous Coward on Tuesday August 20, 2002 @08:28AM (#4103442)
    Take a look at JBoss, we replaced BEA with it for commercial product deploys and have been thrilled. It can also be integrated with Tomcat or Jetty.
  • by MSBob ( 307239 ) on Tuesday August 20, 2002 @08:29AM (#4103447)
    I'm no fan of tomcat myself but if you're doing servlets then it is probably your best option (and cheapest). Being in a situation similar to yours I've evaluated JRun, WebSphere and Tomcat and liked Tomcat the most. It was most up to date with the J2EE spec and wasn't trying to be everything I didn't want it to be. It simply got its job done. Having said that, Tomcat on the back end means Apache on the web tier and I'm no big fan of Apache (or its configuration nightmare specifically).

    Tomcat 4.x series is designed and built for production use unlike the 3.x series which was a reference implementation donated by Sun.

    Anyway if you're not doing EJB tomcat is a reasonable choice. If you ARE doing EJB work you can pick up JBoss which integrates well with Tomcat. Pick up GLUE for web services and a decent persistence layer (OJB for example) and you're all set for enterprise level development with $0 spent on infrastructure software.

  • by codepunk ( 167897 ) on Tuesday August 20, 2002 @08:30AM (#4103451)
    We use a BEA app server at work for our order processing system. Generally it works ok, but serious bugs in it cause us a lot of greif and downtime. First off it has serious memory leaks in the performance pack (trading speed for stability). We have to boot the BEA app server at least once a week least it runs out of memory and crashes. We are currently looking at JBOSS as our new production application server due to it's stability. If you code smartly you can move the code back and forth so you really have nothing to loose....

  • We use it (Score:2, Informative)

    by istvandragosani ( 181886 ) on Tuesday August 20, 2002 @08:30AM (#4103456) Homepage
    I won't give out the company name, but the shop I work for has several server-side software products we deploy on Solaris that use Tomcat & Apache, for use in IP telephony. A solid combination IMHO (although my personal preference on Unix is Apache & mod_perl).

  • Is Tomcat crap? (Score:3, Informative)

    by jukal ( 523582 ) on Tuesday August 20, 2002 @08:31AM (#4103460) Journal
    I don't know, but I archived this article [weblogs.com] when I saw it. The article contains some benchmarks made by an obvious geek, he also talks about the price.

    "In conclusion, yes - in my book Tomcat is crap. I haven't actually really touched on the problems with Tomcat here (other than it has bad performance and bad developer productivity) and I apologise for that. Perhaps I'll get to them another day. For now, consider the other alternatives until Tomcat improves (which I hope - but doubt - it will)."

  • JBoss ! (Score:5, Informative)

    by FullClip ( 139644 ) on Tuesday August 20, 2002 @08:31AM (#4103465)
    JBoss [jboss.org] is an excellent fullfledged J2EE application server.

    They even offer consultancy if you cannot get it right the first time.
    Excellent award winning server, excellent support, what do you need more ?

    It has Jetty integrated and gives you the full J2EE stack.
    You can get it to work with Tomcat too: no problem.

    Check it out, the design is awesome for the techies.
    The support option is great for the management.
    Everyone's happy :)
  • by Anonymous Coward on Tuesday August 20, 2002 @08:39AM (#4103517)
    Having said that, Tomcat on the back end means Apache on the web tier

    Why? Tomcat can be used stand-alone and it can be integrated with other webservers, even IIS!
  • by rjkimble ( 97437 ) on Tuesday August 20, 2002 @08:39AM (#4103518) Homepage Journal
    running on Linux for all our clients. We build and deploy customized web apps for our growing client list. We have been running Tomcat for more than a year, and its performance has been superb. Of course, our clients don't have high volume web sites. And we're not a large company.
  • Tomcat is fine (Score:3, Informative)

    by Hard_Code ( 49548 ) on Tuesday August 20, 2002 @08:43AM (#4103539)
    We use Tomcat pretty extensively over here (major league northeastern university). I have heard that Jetty and Resin are much faster. I have also heard TONS of praise for Resin (faster, easier to configure, deploy, etc.), so you might want to look into that.

    That said, Tomcat is perfectly adequate. Unless you are running Ebay or Amazon.com or something, your main bottleneck will probably be your database IO. Typically Tomcat (and any servlet engine, in general) is set up with mod_jk hooked into Apache, so that Apache is the frontend that serves all static files, and *only* those paths which are servlet/jsp get forwarded to Tomcat. In the recent past there seems to have been some flakiness in the Apache->Tomcat connector, but I presume that has been solved by now. Also, until 4.x, the configuration file format, and class loading mechanism were changing each release, but I believe that has settled down.

    Like many Apache (or maybe Open Source in general) projects you pay for not having the depth of features a commercial product would, but you get in return breadth of features, and the comfort of a de facto standard with tons of inertia and support behind it. Besides, the J2EE specs are written sufficiently well, that any servlet engine implementation is basically a dime a dozen. You won't lose with going with Tomcat - and you can always switch to a commercial product if/when you feel you need richer/deeper features (I know people who develop on Tomcat, but deploy on Resin).

    I must still be naive because I still can't fathom the absolute craptacular $$$,000 amount companies spend on commodity software. Unless there is something you *really* need in a commercial product, it is usually not worth the hassle chaining yourself in.
  • by nevermind ( 19336 ) on Tuesday August 20, 2002 @08:53AM (#4103598)
    We have migrated to Linux, Apache, and Tomcat over the last year-and-a-half. We use it both in development and in production, across 100 or so boxes. As with everything, there are issues, but for the most part we are very happy. Even most commercial vendor's idea of a "big" site doesn't come close to what we do, so we have found very little difference between problem solving in the open-source and closed-source worlds.

    For what we do, you can't beat the price... And yes, that includes the price of our time.
  • by Hard_Code ( 49548 ) on Tuesday August 20, 2002 @08:54AM (#4103604)
    "If we need to deploy a new context, then restarting tomcat brings with it a 30-45 second outage."

    Remember, in 4.x, a command-line admin tool to insert/reload contexts at runtime has been added. A GUI is planned to follow.
  • by Hrunting ( 2191 ) on Tuesday August 20, 2002 @08:55AM (#4103616) Homepage
    Try Resin [caucho.com], a non-free open-source servlet/JSP server. It can run standalone or as an Apache plugin and absolutely screams. It works great with the IBM JDK under Linux and has very cheap licensing fees and incredible developer support. I myself am not partial to the whole Java phenomena, but if I had to use a web server for serving up such code, I wouldn't hesitate to use Resin.

    Sometimes, one has to step back from the plethora of big-name projects and realize that people are making considerable effort righting the mistakes made by the early pioneers of that medium.

    And sometimes, paying a little for a server engine ain't such a bad thing. Most companies with budgets can afford cheapo licenses.
  • Blogger (Score:3, Informative)

    by mkelley ( 411060 ) <slashdot AT mkelley DOT net> on Tuesday August 20, 2002 @08:58AM (#4103636) Homepage
    I believe Blogger has moved from the ASP-based code that runs free Blogger to Jakarta & Tomcat....the Blogger API page [blogger.com] is a plain Jakarta/Tomcat page. According to some of the comments Evan Williams made recently, about "moving away from ASP [blogger.com]" and some of the discussion over at Blogroots [blogroots.com] point to it.
  • by standards ( 461431 ) on Tuesday August 20, 2002 @08:59AM (#4103640)
    My former employer, a very large areospace company, was at one time very very much against any software that wasn't back by a "stable corporation".

    The excuse was that if something went wrong, my company could sue the pants off the software provider. Of course, they almost never did that - instead, they just wouldn't pay the bills until the provider complied with company demands.

    Enter terminal emulator software. The popular 3270 emulator cost about $500+ per desktop. And with 10,000's of desktops, that was... um, expensive. So I started my own little cost/benefit analysis. We could buy a shareware product for $5 per seat, and it was very robust and served 99+% of the users (except for mainframe sysadmins, of course!).

    And the savings was amazing. We rolled out the product slowly. Everyone was happy. In the end, everyone used the product.

    This one little step put us on the road towards purchasing more shareware. Soon afterwards, we did the same kind of argument with freeware - and won.

    Conclusion: Start with something simple that you can back away from ... just in case it doesn't work out. Perform a cost/benefit analysis. Purchase a product if it's the right decision - don't let "free" blind you. Write white papers for management. Counter industry FUD "reports" ... as they're often BS that are easily attacked.
  • by ab762 ( 138582 ) on Tuesday August 20, 2002 @09:16AM (#4103743) Homepage

    I work for Watchfire [watchfire.com] a leading maker of website quality management software. One part of the suite is FeedbackXM [watchfire.com], a user feedback survey system (of the survey button on the web page / pop-up survey kind.)

    FeedbackXM uses Tomcat as an application server. This information is in the customer documentation.

  • by JThaddeus ( 531998 ) on Tuesday August 20, 2002 @09:22AM (#4103788)
    Amen! I have been forced to run BEA and it has been agony. Plenty of things that run under Tomcat won't under WebLogic. IMHO, this just plain wrong! Afterall, isn't Tomcat the *reference* implementation? Examples:

    6.0SP2 would not honor VariableInfo.NESTED in custom tag libraries

    6.1 requires the weblogic.xml file in your WAR. Huh? Why in the WAR?

    6.1 will hang for 30 seconds on your servlets if you open and close the stream without sending anything on the stream

    6.1SP2 to set the proper application CLASSPATH

    6.1SP3 fails to handle code that translates a SAX2 event stream to HTML using Xerces (SAX2) and Xalan (XSL); I'm dead in the water with this because our application depends on SAX2 streams

    Honestly, I think I have spent more time tryiing to make WebLogic work than it took to write the application in the first place!
  • by Simon Brooke ( 45012 ) <stillyet@googlemail.com> on Tuesday August 20, 2002 @09:31AM (#4103844) Homepage Journal
    ... and so do many of my customers. This may not be as good an endorsement as it sounds as none of the sites concerned is particularly high traffic and performance isn't really a big issue. However I've also tried JRun (fundamentally broken and useless), BEA WebLogic (huge, over-complex, bloated) and Jigsaw (very nice for small installations but last time I used it didn't yet support Servlet 2.2).

    I would have no hesitation in recommending Tomcat for low and medium traffic sites; I don't really know enough to recommend it for very high traffic sites.

  • by md17 ( 68506 ) <james@jameswar d . o rg> on Tuesday August 20, 2002 @09:47AM (#4103951) Homepage

    I manage a few servers...
    1 Apache box on an Ultra 5 (Slow sun box typically used as a workstation)
    1 Tomcat box on an Ultra 5
    I use mod_jk and hide the tomcat box behind the web server. This adds a nice layer of security and lets Apache process .html pages.
    In total I have 5 instances of Apache, ~100 instances of tomcat, and ~150 web sites. The apache box sustains about 2MB/s and about 400k/s gets sent to the Tomcat box to deal with. I have had very few problems with Tomcat 3.3.
    If you need some redundancy I would recommend using the mod_jk load balancing [ubeans.com]. It works very well and is simple to setup.

    My advice: Don't litsten to all the Slashdoters who gripe about anything to do with Java, give Tomcat a try. It works for me!

    BTW: If you want to get into J2EE stuff, absolutly use JBoss [jboss.org]!!! It rocks!
  • by Codex The Sloth ( 93427 ) on Tuesday August 20, 2002 @10:05AM (#4104084)
    Resin is significantly faster than tomcat. Catalina (Tomcat 4.x) has close the gap somewhat but if they still have a long way to go. OTOH, if cheap / stable is all you need then Catalina is a great way to go. FYI, Resin comes with all the source but is not free. Any of the EJB server will be total overkill and the overhead will soak you. And Websphere (at least the servlet side) is based on Tomcat (as is JBoss).

  • JBoss == Tomcat (Score:3, Informative)

    by Codex The Sloth ( 93427 ) on Tuesday August 20, 2002 @10:07AM (#4104101)
    The servlet engine used in JBoss is Tomcat. Since he said he didn't need to do EJB (Servlets / JSP only) there is no value in using Tomcat with an EJB server added. That having been said, if I had to actually use EJB for something (shudder) I would use JBoss.

  • by ranulf ( 182665 ) on Tuesday August 20, 2002 @10:14AM (#4104186)
    Just dropping a new .war file in the deploy directory
    We can't use war files easily

    Neither could we, but that's because the feature just doesn't work reliably.

    A large number of times, you'd stick a new .war file there and it'd just ignore it. IN my opinion the only safe way to do this is:

    1. kill apache
    2. kill tomcat
    3. wait a few seconds
    4. kill -9 tomcat
    5. remove all of the un-jarred directory ~tomcat/webapps/whatever
    6. start tomcat
    7. wait about 10 seconds
    8. start apache
    If you're feeling daring, or are using the webserver for other sites, don't kill apache in step 1, and just restart apache at the end. mod_webapp seems substantially less resiliant than mod_jk at restarting - with mod_jk you could just leave apache alone completely.

    If you don't wait about 10 seconds between restarting tomcat and restarting apache, you run the risk of mod_webapp failing to connect to tomcat at all.

    If you don't delete the appropriate webapp directory, in my experience your .war file is never actually unpacked.

  • Re:Try Resin (Score:2, Informative)

    by AndyMan! ( 31066 ) <chicagoandy&gmail,com> on Tuesday August 20, 2002 @10:18AM (#4104219)
    I agree about Resin. We run it exclusively on our production machines.

    It is "sort-of" open source, you can see the code, make changes, just not redistribute it. The makers of resin (caucho.com) are very good about taking good code, though...

    Development licence is free, and production licence is $500 / server.

    Resin blows both webLogic and tomcat out of the water.

    _Am
  • Complementary (Score:5, Informative)

    by Martin Spamer ( 244245 ) on Tuesday August 20, 2002 @10:18AM (#4104220) Homepage Journal

    There seems to be a lot of confusion about what Tomcat, Jetty, JBoss and J2ee App-Servers. They are not really competative but complementary products. A Java AppServer is composed of [at least] three main components. The HTTP deamon, a Servlet/JSP container and a EJB Container.

    Jetty is a primarily HTTP deamon, it is designed to handle HTTP request in a scalable manner.

    Tomcat is a Servlet/JSP container, it implements the Servlet API it provides limited HTTP handling and no EJB support. Tomcat is highly reliable more so than most commercial 'industrial strength' App Servers. On the performance side; the Tomcat 3.x architecture is not hot but is adequate for many applications, all but the heaviest loads. Tomcat 4.x is significant better in this regard, because it includes an enhanced HTTP deamon.

    JBoss is an EJB container which uses Tomcat 4.0 as it's HTTP deamon and Servlet container.
  • Re:JBoss == Tomcat (Score:3, Informative)

    by oops ( 41598 ) on Tuesday August 20, 2002 @10:47AM (#4104468) Homepage
    No. JBoss 3.0 now comes with Jetty as standard. Check out the Jboss download page [jboss.org] and the comment regarding Jetty as the default web server.
  • by alext ( 29323 ) on Tuesday August 20, 2002 @11:26AM (#4104941)
    [An independent BEA consultant writes...]

    Yes, releases can be buggy - I never liked 6.0 - but after a couple of service packs it settles down. 6.1 is a fine J2EE 1.3 setup, and I like where 7.0 is heading, really pulls together all the complex bits.

    On to specifics, if you're hitting memory leaks with the performance pack enabled, you are using some old version - no question! The only problems I've hit with the perf pack on current releases are to do with relatively obscure things like HTTP pipelining (the latter is a buggy spec if you want my opinion...). Turn on INFO level logging and check the report of java.library.path - you may be picking up an unintended version of the perf pack DLL/.so libs.

    BTW Could be that now is exactly the wrong time moving an order management-type application from BEA to JBoss - WebLogic 7 has the Web Services and workflow management pulled together and when the Workshop tool caters for both (end of year?) constructing complex flows should be a breeze.
  • by Anonymous Coward on Tuesday August 20, 2002 @11:41AM (#4105093)
    Posting anonymously because I modded this thread.

    Epesh hit it on the head. Tomcat blows. The classloader is totally fnarkled from 4.0.3 to 4.1.3 and possibly later since I haven't seen it addressed at all. It's supposed to load classes from:

    WEB-INF/classes
    WEB-INF/lib
    shared/classes
    sh ared/lib
    common/classes
    common/lib

    in that order. I may have shared and common reversed, but that's not relevent to make my point. Try putting log4j.jar in your WEB-INF/lib. Oops, now Tomat cannot find the XML-RPC servlet in jaxrpc-ri.jar in common/lib. Huh? I don't know either. Try putting log4j.jar in common/lib and now your web-app can't find log4j.jar at all. The point is, if you try to load your own copy of something tomcat already has (especially anything having to do with XML), the classloader takes a crap on your application.
    And often you cannot rely on Tomcat's included jar especially if you want to use a new feature. Resin doesn't seem to have this problem (nor Orion).

    I honestly don't know how Tomcat became the RI from Sun. Resin is much better. I develop on Resin, then try to run on Tomcat. If Tomcat can't run it, I figure it's a Tomcat bug - and I'm usually right.

    -joeblowgt
  • Tomcat Works (Score:1, Informative)

    by Anonymous Coward on Tuesday August 20, 2002 @11:41AM (#4105099)
    I've been working for a company a while now that uses Tomcat as it's sole application server, and it runs fine for us. Just a handful of servers provide for hundreds of users without a hickup. We are advantaged to have very good developers, which is the key to any application server.

    No matter what application server is, BEA, NAS, ASP, ColdFusion, Tomcat, Jakarta, it all depends on how the code is deployed. Bad code makes or breaks performance. What kind of platform the code runs on has much less to do with performance than what kind of code.

    I've seen ASP zoom and I've seen ASP choke on 11 users. The difference was not that they ran on Microsoft (although it's always fun to jab them), but rather the developers who used horrible routines and memory management, and created a monster that couldn't sustain more than 11 connections.

  • by mxmasster ( 118546 ) on Tuesday August 20, 2002 @11:43AM (#4105119) Homepage
    BEA lists the IBM JDK as their platform requirements for the Linux platform. We found that Tomcat 3.3.1 / IBM 1.3.1 would serve around 1.2 million page views a day on a dual proc Linux machine.

    I don't care what anyone says, this is definately ready for prime time, and in fact was faster than BEA WLS5.1 running on E420Rs.
  • by webperf ( 560195 ) on Tuesday August 20, 2002 @11:48AM (#4105151)
    We just finished some benchmarking on our internal app-server. we found that tomcat ran 2-4 times slower than BEA/resin. Before we knew about resin, the cost of buying the extra hardware for tomcat was greater than paying for the extra BEA licences. That said.. we found resin, it is just as fast as BEA in our tests, and we are looking at using it and saving some $$$
  • by unixbob ( 523657 ) on Tuesday August 20, 2002 @11:48AM (#4105154)
    We use tomcat exclusively. We have tried a few others but we have settled on tomcat. First reason is that when the project was kicked off, tomcat was free and it allowed us to trial the technology. Tomcat proved usable in the development environment and did what the development / design team wanted. As it got nearer deployment time a decision was taken that we had timescales to work to and all of the testing had been done with the webapp running under tomcat. We have since been using it in a live environment for nearly 12 months and (currently) have no problems with it. We use both tomcat 3 and 4. We had a few teething trouble to start with but that was more down to our lack of experience in general with running a java web server. One of the major beneifts I see in using tomcat specifically and open source stuff in general is support and product information. Although commerical companies give you a number to call if stuff goes wrong with their product, freely available information on the net is less prevalent. So you are dependant on the number of people available in their support department and the skill of the tech support you speak to. The likelyhood of you doing something brand new that has never been done before is remote. What is more likely is that you are trying to do something that isn't in the install docs but many other people do. And where open source works better is that you are much more likely to find help on the internet to boost your understanding and resolve your problem. This will make your able to respond to your businesses requirements quicker and more confidently. The other thing that commercial products tend to offer is "pretty" GUI's for configuring software. Aside from the support, this is the only thing that a commercial product will offer you that tomcat won't (same thing with apache vs. zeus). Now that is up to you really. Personally I think that as long you should get an understanding of how to configure tomcat then that isn't really a problem. I would personally have no qualms about recommending tomcat to anyone.
  • by Kerg ( 71582 ) on Tuesday August 20, 2002 @12:09PM (#4105330)
    JBoss is certainly not based on Tomcat. We allow any servlet container to be plugged in to the server. Currently we support Jetty and Tomcat. -- Juha
  • TUX! (Score:4, Informative)

    by ttfkam ( 37064 ) on Tuesday August 20, 2002 @12:26PM (#4105483) Homepage Journal
    If speed your concern for static content, put TUX in front of tomcat. No config changes are necessary for tomcat and TUX can saturate gigabit ethernet adapters easily and with comparatively little CPU overhead (more CPU free for tomcat to handle the dynamic stuff).

    You can read more about TUX here [redhat.com].
  • JBoss/Jetty (Score:3, Informative)

    by GOD_ALMIGHTY ( 17678 ) <curt.johnson@gmail.NETBSDcom minus bsd> on Tuesday August 20, 2002 @12:38PM (#4105571) Homepage
    We've been porting an app from SilverStream (complete pos!) to JBoss. Originally we used JBoss/Tomcat, but have moved to JBoss/Jetty since the Jetty guys have been much better at supporting features via JBoss.

    I would recommend against straight servlet/JSP development. Using EJBs, you get portability to different user interfaces, data source pooling, transactional integrety, and a larger choice of security options a la JAAS.

    Since we're working on JBoss, I can write message beans for JMS systems, I have a built in timer mechanism, I can hot deploy by copying my ear file to a directory.

    I can federate enterprise wide Directory Servers (LDAP via JNDI) and Databases, integrate with MessageQueue systems (MQSeries), tie in with CORBA apps and manage everything via custom JMX apps.

    Jetty was also easier to work with in the development cycle, we didn't want to unpack the ear and war and redeploy the EJBs every time we changed a single HTML tag in a JSP, so I wrote an Ant target that copies the JSPs and associated stuff to the Jetty temp dir where Jetty does a great job of finding it and recompiling it.

    Tomcat's temp dir structure was too dynamic and unpredictable to do this. I've also found more options when configuring Jetty via JBoss than Tomcat (you don't use the std config xmls, they have JBoss specific ones that JBoss parses and passes on to the Web Container).

    The other beautiful thing about JBoss is the JMX. JBoss is really a JMX 'spine' with the EJB Container and Servlet Container (Jetty or Tomcat) as interchangable JMX MBeans. You can provide your app way more in the way of services.

    Also Jetty supports clustering, real session clustering in JBoss.

    JBoss has also integrated Apache AXIS so you can expose your EJBs via SOAP if needed. (I still hate SOAP though) Using EJBs I retain the flexibility of my user interface, since the data model and business logic are in EJBs, I can write a GUI client with relative ease, or expose my EJBs to a CORBA client via JacORB (also integrated with the default JBoss install).

    Some things to also look at if choosing the J2EE path:
    Apache Struts or Jade for web user interface development

    Xdoclet for generating your EJBs and maintaining all those XML files in your source code (web.xml, jboss.xml, struts-config.xml, ejb-jar.xml, etc.)

    Ant, become one with Ant, you'll thank yourself later.

    http://sf.net/projects/middlegen
    Middlegen, point app at database, generate CMP Entity Beans and basic CRUD ops in struts, write business logic, then user interface, done with new J2EE app.

    ArgoUML and UML2EJB
    Create a UML diagram, generate EJB code. Still a work in progress, but very promising.

    With all the development in code generation tools, I'm in danger of becoming a point and click programmer on Linux ;-) Never thought I'd see the day ;-)

    Downsides, XDoclet and Middlegen are lacking in docs, Ant has a lot of useful, poorly documented tricks, JBoss could use some more docs too, or at least better organized ones... (I even have the subscription docs)

    Believe me, get into the J2EE swing with all the loving Open Source tool goodness, you'll never want to touch Perl or PHP again. It just works so much nicer, and the pace of development is blinding fast. Also most of the J2EE open source projects deliver, and deliver on time.

    The community is great. Mailing lists are good, IRC not as good. Sites like The ServerSide and JavaLobby have a lot of good info as well and their forums are really lively.

    With JBoss and the other open source tools it's the feel of a well supported commercial environment with all the source goodness you can read, and it scales up to enterprise class systems and development methodologies, try that with Perl/PHP!
  • by alext ( 29323 ) on Tuesday August 20, 2002 @02:01PM (#4106154)
    The prospect of restarting the whole server just to update some JSPs or to redeploy a web app is, frankly, a complete non-starter for most large sites.

    A lot of WebLogic shops update their content regularly, often using separate content management systems like Vignette (I know...), so if the original enquirer has requirements like this then Tomcat can be ruled out right now.

    To wax on WebLogic's virtues a bit (hey, gotta restore some balance!) it allows you to redeploy a whole WAR (as a single file or as individual ones in 'exploded' format), to update JSPs automatically just by writing them to the source directory, and to update other servlets using the refresh tool.

    [Disclaimer: poster is an independent BEA consultant type]
  • Re:Production Tomcat (Score:2, Informative)

    by Anonymous Coward on Tuesday August 20, 2002 @02:42PM (#4106383)
    There might be people using Tomcat in production, but I wouldn't take that to mean you should use it too. It's a good indication that it's a possibility, but I would evaluate it for yourself. Company XYZ isn't going to have to explain to your boss that Tomcat is not performing. It's you holding the bag. The real question is your company going to be happy with the decision to it. There are plenty of load testing apps out their. Get a load tester, generate some traffic suitable to what you think your server will need to support, and drill it.

    Jetty IS a very good servlet container. It's much faster than Tomcat, and very modular. Look at the list of people who has choosen to use Jetty over Tomcat.

    Tomcat has had trouble in past with performance. They might have addressed some of those concerns, but I would be cautious about using it. Espcially, if your using their HTTP server which they say not to do.

    But, then again, don't take my word prove it to yourself, and to your bosses.
  • by markus_baertschi ( 259069 ) <markus@@@markus...org> on Tuesday August 20, 2002 @04:30PM (#4107156)

    I've got just one datapoint:

    We were deploying a commercial application which was shopped by the vendor with Tomcat. As this is the way the app was installed by the vendor we counted on running that way in production.

    In the weeks before the official production started we were hosting the classes for the future users. This was the first time we had more than the three developers online at the same time and it failed miserably. We had to restart tomcat every 45 minutes !

    As I had previous good experience with Websphere we decided to switch over and this solved our stability problem at once. The first three months it just kept going without any intervention. In the meantime I've added preemptive weekly restart to cron to be on the safe side.

    For our environment Tomcat (V3.x & V4.x, I've tried several incarnations) was not stable enough for production. I'm still a bit stumped about this, the app was shipped with Tomcat by the vendor. This might have to do with the hardware (IBM pSeries), I don't now.

    Markus

  • Re:Complementary (Score:2, Informative)

    by Furry Ice ( 136126 ) on Tuesday August 20, 2002 @06:25PM (#4107929)
    Sorry, but some of what you post is misleading.

    Jetty does serve HTTP, but it's mostly a servlet/JSP container, just like Tomcat. It actually uses Jasper, which is the JSP implementation from Tomcat. It has a very nice and fast servlet implementation, however.

    JBoss 3.0 bundles Jetty by default, but builds with Tomcat bundled are also available. Prior to 3.0, JBoss was available without any servlet container, but packages with Tomcat and Jetty were available; the Tomcat builds were the most popular.

  • Re:TUX! (Score:3, Informative)

    by ttfkam ( 37064 ) on Tuesday August 20, 2002 @10:48PM (#4109206) Homepage Journal
    It's on a production box, but it hasn't gone "live" yet (meaning: we haven't told people the URL yet).

    It works as advertised in that it's serving static content and very quickly. Tomcat serves the dynamic requests that TUX passes on to userland.

    One caveat is that you have to use the HTTP 1.0 connector in Tomcat. I figured this out after almost a week of pulling my hair out. Since Tomcat uses HTTP 1.1 by default and HTTP 1.1 keeps connections alive to save socket negotiation time, it wasn't letting go of the socket and serving out 404s instead of letting TUX handle the next request. As time permits, I plan on tweaking the Tomcat code to disable keep-alives.

    But other than that, it works just fine. Since Tomcat is handling dynamic requests which involve some processing time, the extra overhead associated with HTTP 1.0 is not an issue. We've load testing it with JMeter on a few hosts with no obvious problems -- but I'm sure that sending it live will uncover some hiccups (it always does).
  • by ajft ( 31124 ) on Wednesday August 21, 2002 @12:44AM (#4109549) Homepage
    "Apache now ships as the default web server for NetWare 6, so Novell shops: Take note. A patch is available from Apache [apache.org], and Luigi describes a workaround in his article."

    But Apache 1.3 is the default version that ships with NetWare 6, not Apache 2.0

It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.

Working...