Slashdot Mirror


Who is Using Tomcat or Jetty in Production?

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."

157 of 477 comments (clear)

  1. Production Tomcat by Anonymous Coward · · Score: 4, Informative

    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.

    1. Re:Production Tomcat by rwinston · · Score: 3, Interesting

      I work for a major Telco, and recently we have made some sweeping and far-reaching decisions: 1) Our internal Web servers (including some servers that exist solely to serve Perl CGI scripts) are being migrated from NT/2000/IIS/ActiveState to Linux/Apache/mod_perl/Perl CGI. 2) Instead of using Oracle/SQL Server by default, we are beginning to use MySQL by default, and only use the big iron when its necessary. 2) We are using Tomcat for at least one production site, and perhaps more in the future. A lot of internal apps are being ported to Tomcat 4/mod_jk/Apache 2 This is not just a cost-saving exercise - this is going to solve some long-term reliability and security issues

      --
      "If we cannot be free, then at least we can be cheap" -- Frank Zappa
    2. Re:Production Tomcat by Anonymous Coward · · Score: 2, Informative

      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.

  2. My company uses tomcat exclusively by Tet · · Score: 5, Interesting

    Like the subject says. It seems to work OK for us. Startup times are annoyingly slow. If we need to deploy a new context, then restarting tomcat brings with it a 30-45 second outage. But other than that, it's fine. Performance testing showed that increasing the number of threads the connectors can handle, and increasing the memory size (we use -Xmx500M) helps enormously.

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
    1. Re:My company uses tomcat exclusively by flipperboy · · Score: 5, Interesting

      My experience is almost exactly the same. We started using tomcat during development because it was free, and found that it performed well enough that we were confident moving into production with it. Restart times are not an issue for us; we can schedule resource drops for times when system use is minimized.

      During load testing, we mucked about with the same tomcat parameters mentioned above, specifically thread count (starting and max) and heap size.

      One last note: with versions 4.x of Tomcat, we've found that Tomcat is quick enough at serving up static content that we don't need to put Apache into the mix.

    2. Re:My company uses tomcat exclusively by Hard_Code · · Score: 4, Informative

      "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.

      --

      It's 10 PM. Do you know if you're un-American?
    3. Re:My company uses tomcat exclusively by CynicTheHedgehog · · Score: 2

      Out of expedience we deployed everything in the root context, so this would be great if it prevented downtime. Then again, if it still resulted in downtime for the specified context we wouldn't see any benefit at all. Right now we have to deploy in maintenance windows so that we can bounce Tomcat safely. Would that tool alleviate this problem?

    4. Re:My company uses tomcat exclusively by Tet · · Score: 2
      Just dropping a new .war file in the deploy directory

      We can't use war files easily, because each build needs to be configured for the system on which it's being deployed. So we just deploy a pre-extracted tar file, with a configure script that substitutes in the appropriate values in various config files for the server in question.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    5. Re:My company uses tomcat exclusively by ranulf · · Score: 3, Informative
      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.

    6. Re:My company uses tomcat exclusively by one9nine · · Score: 2, Insightful

      This sounds like a pefect job for Ant. I am sure you can find a way to make Ant alter the config files then produce individual WAR files for each server.

      And if you are not using Ant for builds, I would highly recommend you check it out. It's saves me so much time and, when I actually did have a job (a year ago), it saved my team and incredible amount of grief and time.

    7. Re:My company uses tomcat exclusively by SquadBoy · · Score: 2

      We just went back to Tomcat. Basically my company is putting a "web application" thing out and when they first started they where using Tomcat. Went with HPAS for a while but now that that is dead we are going back to Tomcat. The main reason is because there is nobody to kill it. :) In any case I like it and hope we will be able to contribute back.

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
    8. Re:My company uses tomcat exclusively by Hard_Code · · Score: 2
      --

      It's 10 PM. Do you know if you're un-American?
    9. Re:My company uses tomcat exclusively by Tet · · Score: 2
      more and more config files are being written in XML. If it had no business there, I seriously doubt so many people would be switching to it.

      Do you honestly believe that? People switch to things because of momentum, and the desire to follow the herd. Technical merit comes a long way down the list.

      XML is in no way supposed to be easy to read.

      Remarkable... in one simple sentence, you've managed to completely explain why XML shouldn't be let anywhere near a config file.

      It was never meant to be, it was never designed to be. If you find editing a XML file that difficult, get an XML GUI.

      There are a few problems with that. Firstly, none of my machines have either a graphics card or even X libraries. They're servers, hence they don't need, and don't have, graphics. You could arguably have a curses based front end, I suppose. But step back for a second and think about what you're suggesting. You're claiming that every application should be shipped with a separate config front end, rather than just designing a sensible, easily readable config file format in the first place? Sorry, that doesn't sound like a win to me. Perhaps you can explain the benefits of XML for config files. Not why they're no worse than other formats, but what advantages they give you that are sufficiently compelling to use XML? Because I genuinely don't get it...

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    10. Re:My company uses tomcat exclusively by spongman · · Score: 2
      And while I'm making wishes, hopefully someone will make an XMLDOM faster than MSXMLDOM!
      yeah, this is one of the main things keeping me on the MS (pre-.NET) platform. My app uses alot of XML/XSLT and the MS procesor is easily the fastest I've seen.
    11. Re:My company uses tomcat exclusively by plumby · · Score: 2
      Perhaps you can explain the benefits of XML for config files. Not why they're no worse than other formats, but what advantages they give you that are sufficiently compelling to use XML? Because I genuinely don't get it...

      What is your preferred alternative? Windows INI files? Java properties files? Something else? Or a proprietary format for each app?

      One of the advantages of XML is that it uses a standard layout, meaning that once you've understood the basics of XML, you should be able to read any XML file. If the XML includes a DTD or schema, that describes (again in a standard format) exactly what the acceptable content of the file should be. This means that you don't normally have the same need to ship a config tool with each app as you would with most other tools, as a single XML tool can read the DTD and determine what the person editing the file should do.

      As for Ant, again what is your preferred alternative? The last real build tool I used (as opposed to batch files) was nmake, and the config file for that was certainly no easier to read than Ant's XML, and you had to learn all of the nuances of its file layout as well as the specific syntax for the app. The only editor there was for it (except for autogeneration from the IDE) was a text editor.

  3. Novell by Scutter · · Score: 5, Informative

    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.

    --

    "Tell me doctor, with all of your defenses, are there any provisions for an attack by killer bees?"
    1. Re:Novell by mj01nir · · Score: 2

      FWIW, NetWare 6 is bundled with Apache and Tomcat, which is used by some of NW6's new web services.

      --
      the no .sig .sig
  4. JBoss by Anonymous Coward · · Score: 4, Informative

    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.

    1. Re:JBoss by jaaron · · Score: 2

      Just wondering, version 3.0 or 2.x?

      --
      Who said Freedom was Fair?
    2. Re:JBoss by bigjocker · · Score: 2

      I must agree 100% with you. I work as a consultant and I have helped 3 companies to switch from WebLogic to JBoss.

      Everyone here should check the 3.x version, is one of the best software tools ever developed.

      --
      Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
    3. Re:JBoss by alext · · Score: 2

      Boy, I hate posts like this, and not just because I make a living working with BEA stuff.

      Not picking on you specifically, but whenever I mention moving projects from Tomcat or Resin to WebLogic I try to explain why the move was made.

      Peoples' requirements differ greatly and the products are complex and varied - I doubt if one poster in ten that mention WebLogic here can actually name the principal components of the WebLogic 7 platform, for example.

      Without a description of the context, blanket assertions of one product's superiority over another are just so much hot air.

    4. Re:JBoss by alext · · Score: 3, Interesting

      I appreciate your concern, but I'm quite capable of judging the rival merits of WebLogic and JBoss.

      I've worked with JBoss since before it was JBoss, and before it had any kind of support. I think it's fine as far as it goes, but your generalizations are not much more helpful than the original bit of flag-waving.

      You appear to forget that some real customers are interested in things like usable security (not freeware Java SSL implementations), clustering that works with real hardware and centralized management for servers and applications.

      These customers often also want to be in a position to handle future stuff like workflow and web services conveniently - not via 101 addons from different projects scattered around the web. This is what the Platform is giving them - the only competing strategy for this is from Microsoft.

      If BEA were still selling 6.0 and had no coherent plan then you might have a point, but until JBoss has something that really is as comprehensive and functional there are going to be sufficient reasons for corporates to choose WebLogic.

      I have shared your pain on the support side in the past (I've spent most of my time on the other side of the fence) but since the Web Support went live I've had no problem organizing things such as continuous, 24 hour attention to specific issues, with a problem being passed to engineers around the world in the middle of the night, and who I can talk to via one 800 number.

      And for what it's worth, the BEA consultants I've worked with over here have been among the most clued up I've encountered from any organization. Unlike a lot of technology outfits offering consultancy, they tend to be old hands who can fix all kinds of stuff outside WebLogic - from routers to Solaris sys admin to Emacs init files - if the occasion demands. Sorry if your experience was different.

    5. Re:JBoss by togginho · · Score: 2, Interesting

      isn't it cute how men get caught up in their toys? :-) i'm not a fan of webLogic, and before alext runs me up against the wall, YES, i have worked with BEA and JBoss. as with everything in this get-exactly-what-you-need-world, there's a solution for every type of problem. why do people like JBoss? because it's stable enough to work, and free enough to be affordable. why do people like BEA? because of the reasons you mentioned. without products like JBoss, and the often-flamed open source software products, many, many people still wouldn't even know what a webapp deployment descriptor even is. the key to making new technologies work is to spread them, and WebLogic has never been good at that -- BEA used to be nothing but a transaction monitor, and has been turned into an application server, whereas JBoss was always meant to be, what it is.

  5. Free application server from Sun by MikeApp · · Score: 2, Interesting

    I know that you are probably looking for an open-source solution, but Sun has promised to release a free version of their application server this fall.

    Sun "basic" application server

    It will run on Linux.

  6. Tomcat is bad but alternatives are even worse by MSBob · · Score: 3, Informative
    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.

    --
    Your pizza just the way you ought to have it.
    1. Re:Tomcat is bad but alternatives are even worse by Anonymous Coward · · Score: 5, Informative

      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!

    2. Re:Tomcat is bad but alternatives are even worse by nervlord1 · · Score: 2, Troll

      I'm no big fan of Apache (or its configuration nightmare specifically).
      Sigh, its amazingly simple, just because you don't have a pretty GUI, does not make it a nightmare to configure, more to the point, there are many programs that offer GUI configuration of apache, have a look around before dismissing apache because you can't set it up right

      --
      Microsoft IIS is to webserving as KFC is to healthy eating
    3. Re:Tomcat is bad but alternatives are even worse by Anonymous Coward · · Score: 2, Insightful

      And just what web server do you prefer? There isnt a product out there that can touch the versatility, reliability and stability of apache.

      -ax

    4. Re:Tomcat is bad but alternatives are even worse by Hrunting · · Score: 3, Informative

      Try Resin, 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.

    5. Re:Tomcat is bad but alternatives are even worse by T3kno · · Score: 2

      Just an observation, but it seems like a lot of Ja*a programmers feel this way. Not sure why.

      --
      (B) + (D) + (B) + (D) = (K) + (&)
    6. Re:Tomcat is bad but alternatives are even worse by AftanGustur · · Score: 3, Insightful
      I'm no big fan of Apache (or its configuration nightmare specifically).

      So the majority of webserver admins in the world are having a bad dream ?

      Look, trying to use logic and something arguable to express your views is OK. But when you claim that the majority is stupid without any backing for your claims. It realy looks the other way.

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    7. Re:Tomcat is bad but alternatives are even worse by des09 · · Score: 2, Insightful

      because using Tomcat to serve static html and images is like using a an suv to deliver 2x4 and drywall to your construction site. Sure, they fit in the vehicle, but its not exactly optimal, not by a long shot.

      --
      .sigless since 2003
    8. Re:Tomcat is bad but alternatives are even worse by bigjocker · · Score: 2

      If you dont like tomcat you can check out Jetty. Its true that tomcat can be used as a standalone webserver, but is not designed that way.

      Jetty instead is a full-featured webserver with all the functionality built in. And now that its integrated in the JBoss 3.x series you can use JBoss instead and take advantage of the WAR deployment/redeployment.

      You know, you can use JBoss and if you dont need the EJB, JMS, etc functionality you just disable it and create a custom configuration.

      --
      Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
    9. Re:Tomcat is bad but alternatives are even worse by foobar104 · · Score: 3

      it seems like a lot of Ja*a programmers feel this way

      I'm confused. Is this a typo, or what? When people write "*nix" (an expression I really don't like, BTW), they're referring to all flavors and varieties of UNIX-like operating systems, including nominally non-UNIX OS's like Linux. So what do you mean by "Ja*a?" Is there a Jaba out there that I don't know about? Or a Jata, or a Jafa, or a Jaqa? What's the deal with the wildcard?

    10. Re:Tomcat is bad but alternatives are even worse by FyRE666 · · Score: 2

      Apache on the web tier and I'm no big fan of Apache (or its configuration nightmare specifically).

      What "Configuration nightmare"?! Out of the box it'll run on a *nix machine (maybe Windows, but I've never tried it on a desktop OS). Really, there's just one well commented text file to edit, unless you intend to add user authentication to directories (which itself isn't difficult) - it's hardly brain surgery.

      Now sendmail.cf on the other hand....

    11. Re:Tomcat is bad but alternatives are even worse by alext · · Score: 2

      First you say:

      Tomcat on the back end means Apache on the web tier and I'm no big fan of Apache

      then

      tomcat is a reasonable choice

      This sure looks like a contradiction to me. First, one key reason why you might not want Apache on the front end is that Apache 1.x is process-per-request. This scales appallingly badly if you have a lot of simultaneous requests in progress (database backend, search engine etc.).

      If this scenario occurs in your environment, WebLogic on its own is a far better choice - it can serve static content surprisingly quickly, certainly in the same order as Apache 1.x and nearly as fast as the old Netscape releases, at least in my experience.

      A lot of my time is spent sorting out overengineered WebLogic setups where people have felt obliged to put IIS or Apache in front. Netscape actually brings something to the party, performance-wise, the rest cause more trouble than they're worth.

    12. Re:Tomcat is bad but alternatives are even worse by alext · · Score: 2

      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

      such as using Resin? I just had to migrate a big server from Resin to WebLogic two weeks ago.

      You ever tried to update content on a Resin server, for example?

    13. Re:Tomcat is bad but alternatives are even worse by MSBob · · Score: 2

      Nothing wrong with Apache itself but mod_jk/mod_webapp has ways to go before it's ready for prime time.

      --
      Your pizza just the way you ought to have it.
    14. Re:Tomcat is bad but alternatives are even worse by RollingThunder · · Score: 2

      It's not a wildcard, it's a censor mark. Dates back to issues about "UNIX" being a copyrighted term.

  7. BEA is buggy as hell anyhow..... by codepunk · · Score: 4, Informative

    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....

    --


    Got Code?
    1. Re:BEA is buggy as hell anyhow..... by JThaddeus · · Score: 5, Informative

      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!

      --
      "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
    2. Re:BEA is buggy as hell anyhow..... by codingOgre · · Score: 2, Funny

      Ahh, so you guys are the ones that BEA talks about that have the "Godzilla Bean". Yes coroner, I did put 300 methods in my Godzilla bean, is this the cause of death?

      --
      Space may be the final frontier, but it's made in a Hollywood basement. --Red Hot Chili Peppers, Californication
    3. Re:BEA is buggy as hell anyhow..... by alext · · Score: 3, Informative

      [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.

    4. Re:BEA is buggy as hell anyhow..... by alext · · Score: 2

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

      Um, because it's an extension to the web.xml file that's in the WAR? I could be missing something here...

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

      What's the function here? Normally one wouldn't need to open and close streams like this, not least because it messes up buffering. This doesn't sound like your common or garden servlet app...

      Feel free to email me your SAX2 problem

      cheers
      alex

    5. Re:BEA is buggy as hell anyhow..... by codepunk · · Score: 2

      Nope....we don't have a single bean running on it, we are only using JMS....

      --


      Got Code?
    6. Re:BEA is buggy as hell anyhow..... by alext · · Score: 2

      Guys, you are being a little unfair here - the poster makes:

      5 statements describing

      4 problems

      2 of which were fixed years ago

      leaving

      2 of such vague description you have no idea whether they're relevant to you.

      SAX not working? That's odd, because he's using Xerces and Xalan - not BEA code. They are shipped with WebLogic, but we don't know if he's using these or standalone versions. Whatever - these are unlikely to be WebLogic-specific problems.

      Closing and opening streams causes problems? I should think it does - last time I looked the servlet specification didn't exactly encourage people to do this in the middle of processing requests.

      Informative? I doubt if it's relevant to one other reader here.

    7. Re:BEA is buggy as hell anyhow..... by greenrd · · Score: 2
      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

      Just a guess: Have you made sure that you've downloaded the latest versions of Xerces and Xalan and that they are ahead of any other versions on the CLASSPATH? The bootclasspath also needs to be taken into account if you are using Sun JDK 1.4 or IBM JDK 1.3+, which both ship with Xerces.

  8. We use it by istvandragosani · · Score: 2, Informative
    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).

    --
    Go not to the Elves for counsel, for they will say both no and yes
  9. Is Tomcat crap? by jukal · · Score: 3, Informative
    I don't know, but I archived this article 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)."

    1. Re:Is Tomcat crap? by Baki · · Score: 2

      Bad developer productivity?!? Not at all. We develop using JBuilder, which comes with tomcat built in and allows for very effective development.

      Since I like the development and production environment to be as much alike as possible, we also run tomcat for production (on an important 1000-user intranet application for a large bank). We run it stand alone to avoid problems with the connectors. I see no reason not to, since all our pages are dynamic so Apache would not bring any speed advantage, it would only be an extra relay/bottleneck between the servlet engine and the browser.

    2. Re:Is Tomcat crap? by _xeno_ · · Score: 4, Insightful
      There are issues with that article that he doesn't mention. For example, what is his test page? Is he serving static content? Does he have Tomcat in "reload" mode (where it checks for updated code every time a servlet is executed)?

      I can't help but think that this article is just poorly written. It doesn't really paint a clear picture of what he's using Tomcat for. He mentions nothing about the various configurations tested. It's way too easy to just write him off due to an overly evident bias against Tomcat from the beginning. (Hint: when attempting to persuade people, calling a benchmark test "Is Tomcat Crap?" reveals your bias...)

      I use Tomcat at work as the development platform we use. We're probably going to be using Oracle Portal for the production system (not that I know what that is or what it uses for it's JSP engine, but...). It works fine for a development platform.

      I haven't done any performance testing on it (yet), but when I get the chance, I might look into it. It'd be interesting to find out what my results are. I have a suspicision that Tomcat performed poorly in his "tests" because the other servlet engines came in an optimized for speed setting while Tomcat comes "optimized" for development.

      --
      You are in a maze of twisty little relative jumps, all alike.
    3. Re:Is Tomcat crap? by Baki · · Score: 2

      Look smart-ass, usually I use emacs for almost everything (it is almost my operating system), and syntax coloring is no problem with emacs either.

      But since I have to work in a real company with real 'normal' java coders, and it has advantages that all developers use the same tools, JBuilder does have its use. Do you really think the average (read mediocre) developer can set up his own environment to run a development servlet engine and use emacs with JDE or whatever?

    4. Re:Is Tomcat crap? by angel'o'sphere · · Score: 2


      We're probably going to be using Oracle Portal for the production system (not that I know what that is or what it uses for it's JSP engine, but...). It works fine for a development platform.


      Oracle uses Orion as EJB container, I asuem they also use it as servlet container.

      angel'o'sphre

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  10. JBoss ! by FullClip · · Score: 5, Informative

    JBoss 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 :)

    1. Re:JBoss ! by Mindbridge · · Score: 2, Insightful

      I just want to clarify a couple of things that seem to confuse people a lot.

      Tomcat, Jetty, Resin, etc. are Servlet containers. They are designed to run web applciations built on top of servlets and JSP. They also integrate with Web servers such as Apache and IIS to optimize the serving of static or other (e.g. PHP) content.

      JBoss, as well as IBM WebSphere, BEA WebLogic, Macromedia JRun, Orion, etc. are J2EE servers. They provide support for Enterprise Java Beans, as well as a lot of other technologies in J2EE, including Servlets and JSP. Some of the J2EE servers have their own internal implementation of a servlet container (e.g. Orion), while others use independent servlet containers. Comparing Tomcat to those is like comparing apples to fruits.

      JBoss, in particular, comes in several different standard distribution, one of which integrates with Tomcat, and another that integrates with Jetty by default. I am sure it can be confugured to use other Servlet containers as well.

      To address the main question, my personal experience is that Jetty is best for development because of its quick startup, although Tomcat is also fine as long as your development environment integrates with it well. In a production environment, I would recommend Resin and the Orion servlet container if performance is necessary. If it is not, Tomcat is okay, and the hot deploy feature in 4.x makes it a very attractive option. (I would just note that the hot deploy feature does not work in all cases, e.g. it does not work for Tapestry applications)

    2. Re:JBoss ! by Mindbridge · · Score: 2

      J2EE apps are 3 or more tier, while simple web apps running within a servlet container are almost always 2 tier only.

      As such J2EE apps are more scalable, available, and reliable, especially when the app server chosen offers clustering.

      On the other hand, EJBs are a definite overkill for 90% of all scenarios for web-based applications, since those features are not really necessary, hence one should make the choice carefully. The bottom line is that each approach is appropriate for certain situations.

      As for J2EE complexity, the tools currently available make developing such apps a very simple process.

      -mb

  11. Just make sure it's good hardware by ch-chuck · · Score: 2, Insightful

    don't get too cheap on the Intel HW, I mean quality hardware - no software runs well when the tin memory contacts get flaky or the fans seize up after a week. Use a percentage of sw saving for quality stuff and rest is punching buttons with minimal finger pointing at the resident screwdriver jocky & board swapper.The last production box we got even for Msft 2K server was just a 1.1Ghz P3 w/ PC133 ram, and 2 40Gb SCSI disks (low voltage differential, new one on me). Giving untrusted hw a weeks thrashing under simulated production conditions builds confidence immensely and avoids em-bareass-ment.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
    1. Re:Just make sure it's good hardware by afidel · · Score: 2

      If you don't need to scale to Sun's midrange then their stuff is insanely expensive, but for some things it is the only solution. If you can get away with 2 cpu's and a couple gigs of ram then an Intel (Athlon) box will be 3-4X more bang/buck.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  12. Re:Support? by Tet · · Score: 2
    One thing execs don't like about "free" is, whose fault is it when it breaks? They need somebody to yell at

    That's fine, so long as they're aware that yelling is all they can expect to be able to do. Read the fine print in your support contract. You'll see that there's no guarantee to fix anything, and no liability if they don't fix it.

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  13. last time I used it, it was slooowwww by AssFace · · Score: 2

    Apache is nice and fast for serving up static pages, and really nice with php pages.
    But in my own personal experience, and this was 2 years ago, Tomcat was really slow. It seemed to be just average with jsp pages, and then the more towards the j2ee route you went, the more worthless it was.
    we were mainly using it as a quick and dirty testing/training server system, so I would assume that perhaps it has either come a long way since then, or it is only really meant to server jsp pages.

    --

    There are some odd things afoot now, in the Villa Straylight.
  14. Tomcat by PacketMaster · · Score: 4, Insightful

    We've been using Tomcat in a production environment for 1 1/2 years and before that we were using Tomcat's predicessor JServ. It's been rock solid. 4.0 brought a lot of nice changes (like not overwriting the logs on startup!) and 4.1 is a refactoring release for performance. The one thing to keep in mind about Tomcat is that you have to write your own wrapper script/program to make Tomcat start up as a non-root user. If you're going to use it in conjunction with Apache, Apache2 will only work properly with the ajp13 connector. The webapp/warp connector doesn't seem to work properly yet.

    If you're going to replace BEA though, consider looking at JBoss which is a true J2EE server unlike Tomcat which is just a servlet container. To replace a commercial product such as Weblogic, WebSphere or iPlanet, you want to look at JBoss for a complete J2EE/EJB solution.

    --

    Some people take their .sig way too seriously

  15. Re:We don't get paid to do your job by scawa · · Score: 3, Insightful

    They don't put Anonymous Coward on the "byline" for nothing. A forum is designed to get information. The purpose of her post was to get some information from people who knew their head from a hole in another part of their anatomy.

    You obviously don't.

    There are quite a few companies using Tomcat 4.0 or greater as a production JSP server and JBoss if they need EJB support.

    However, there are faster web servers out there.

    Resin and Jetty come to mind (use Google to find the Sites). Tomcat is a "reference" version of a JSP/Servlet Container. It is the first out of the gate... Others optimize stuff.

    Tomcat 4.0 and above is scalable and clusterable, so you have the ability to do that, but so are several other open/source or less expensive Web Servers...

    Check them out.

    And idiots like the one above... If you can't be constructive.. Don't demonstrate your ignorance... just shut up.

  16. Choosing Tomcat over others by TheICEBear · · Score: 5, Insightful

    I come from a similar situation and have managed to do what you want to do. To sound a little zen don't try to change their minds just show them the benefits. In my case I drew on my knowledge on the lack of vendor lock-in combined with the economics of the situation and the inclusion of support in our seperate support contract (really cheap support at that).

    As for support that was never really and issue with us so I have no argument there. Now Tomcat has some flaws (most in the JSP compiler Jasper and their live redeploy area), but is otherwise a very sweet little servlet engine (don't call it an appserver it isn't one in the J2EE sense of the word and that is the game you're playing when you use things like servlets).

    Once it has compiled your JSPs it works just fine and the sweet things and the selling argument for our projects was redundancy of providers. You have a change of enviroments like going to another servlet engine. With a very minimal amount of care in your coding and everything is portable in fact if you stick to the Servlet/JSP api then you're good to go.

    In fact we had some time one evening and switched between Tomcat, Resin and Jetty with only a few minutes spent making the configurations fit and the files unpack and install.

    On a sidenote if you can delay any lock-in on a specific version of Tomcat, try and see if you can get your system over on the upcoming Tomcat 4.1 I am loving the improvements it brings esspecially in speed.

    You should try to change his opinion on jBoss though. jBoss has been the most loved thing about that recent projects (and EJB writing is in combination with a good Ant script and XDoclet http://xdoclet.sourceforge.net not that big a pain). It is probably the most stable thing about this entire project with hot redeploy (great for development), good performance and great ease of use and install on top. In fact the new 3.x version is even greater with clustering, failover and some very interesting innovations in the area of control over which parts of the server to actually run via SARs and JMX. But enough about all this.

  17. My company uses Tomcat + Apache + PostgreSQL.... by rjkimble · · Score: 3, Informative

    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.

    --

    Guns don't kill people -- people kill people.
    But the guns seem to help a bit. (apologies to Eddie Izzard)
  18. Tomcat is fine by Hard_Code · · Score: 3, Informative

    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.

    --

    It's 10 PM. Do you know if you're un-American?
  19. listen to his boss words by imr · · Score: 5, Insightful

    to tune your answers.
    he doesnt want to know what he can gain by using either of them, he wants to know he wont lose anything.

  20. Re:M... mu... mu wa ha ha ha ha. by mabinogi · · Score: 2

    They would once the bean counters come in....

    --
    Advanced users are users too!
  21. aplaws by tapiwa · · Score: 2

    UK local authorites, via the Accessible and Personalised Local Authority Websites.

    This is a web toolkit based on the Arsdigita (of Phil Greenspun fame) Community system.

    Their setup is *nix, Apache, Tomcat/Resin and Oracle.

    --

    Live today. Tomorrow will cost a lot more!

  22. Tomcat does suck, avoid it. by Epesh · · Score: 3, Interesting
    I've used Tomcat for testing against the Sun specs, and I find that it's slow and not worth the money you spend on it.

    Yes, I know it's free. Pay attention.

    It does a relatively poor job of implementing the spec itself, and the spec is supposed to be its reason for being. It's gotten faster over time, which is nice, but it's still not very good at handling things. Tweaks abound, but running a custom version of a servlet container isn't likely to bring comfort to you... I hope.

    I'd suggest spending some money on the container, myself; Jetty is okay, but I personally prefer Orion, which is fully J2EE, fast as all get out, and very, very easy to administer. Installation of an Orion instance takes three steps: unzip, copy tools.jar, java -jar orion.jar. Done. It's also free for development, so there's no per-seat license cost for you to use it to write code.

    An aside: Oracle recently posted ECPerf numbers which were very good, and Oracle licensed the Orion codebase... and Orion costs thousands less. Since ECperf yields numbers based on dollars per transaction, you'd think Orion would kick butt on ECPerf.

    I find Tomcat to be acceptable only for compliance testing, because so many people think it's the best that out there (because of the price point). I've spent a lot of time having to work around Tomcat; I'd hope you didn't feel like doing the same.

    --
    Everybody dies.
    1. Re:Tomcat does suck, avoid it. by Creepy · · Score: 2

      I had heard bad things about Tomcat's performance (especially with a load - and that has improved over the last year or so), but not much about compatibility. I personally have to deal with Websphere and Weblogic, and would take BEA's product over IBM's in a heartbeat (that's my opinion, not my company's opinion, although many developers here share that opinion).

      Truth be told, I haven't seen many compatibility problems, though. Usually something that doesn't work on Tomcat doesn't work on Weblogic or WebSphere, either. If we do find a bug in the JSP engine, it usually is fixed quickly by the vendor (except, AHEM, in IBM's case, but I'll let bygones be bygones :) or worked around. Most of our code just provides a client form-based interface, though, so I doubt we're pushing the limits of the J2EE spec.

    2. Re:Tomcat does suck, avoid it. by Turmio · · Score: 5, Insightful

      What the hell are you talking about?

      You didn't mention what spec you mean but I think you meant that Tomcat implements Servlet, JSP etc. specs poorly?

      I wonder what is your standard for poor but you can't get any better compliance than what you get with Tomcat namely it happens to be the official, Sub-blessed reference implementation of these very specs. If you're in doubt, then check these URLs: Java Servlet technology - Implementations ja Specifications at java.sun.com and Front page of Tomcat site. Thank you.

    3. Re:Tomcat does suck, avoid it. by poot_rootbeer · · Score: 2


      Wait, so you say Tomcat does a poor job of implementing the spec, yet is acceptable for compliance testing.

      ???

      Also, post proof or retract. Your opinion alone is useless if you don't have some kind of evidence to back up your (apparently contradictory) statements.

  23. Comparisons, plus some opinions by potcrackpot · · Score: 3, Interesting

    From my experience, Tomcat 4.x is faster than Apache and JServ.

    Don't know how it compares to other servers (at least, from experience I don't), for example IIS, Resin, JRun etc.

    Tomcat 3.x WAS very slow - for example, who had to combine Apache and Tomcat to get anything reasonable - using Tomcat for JSP and servlets, and Apache for static pages. This was in itself a bit of a nightmare. Tomcat 4 is miles better.

    Comparing JRun to Tomcat for performance, see here.

    Compared to Orion and Resin, Tomcat also lost comprehensively. The arguments raged for a while over performance (for example)- but not many about whether it "did what it said on the tin".

    A more serious point here is that your bosses care more about the name and image than the quality. I'd think about trying to convince them that this is Not A Good Idea. For someone who IS using Tomcat in production, just do a google search; you'll get quite a few, for example.

    1. Re:Comparisons, plus some opinions by LadyLucky · · Score: 2
      Tomcat also lost comprehensively [weblogs.com].

      I know they aren't your numbers, but they are a load of rubbish. Tomcat on my work PC (800Mhz, give or take) could handle 300 requests per second, and it was doing something with the requests, I was stressing the app, not the servlet container. So while I have no idea how it compares to the others, that weblogs benchmark (6 requests/sec) is more than a tad wrong.

      --
      dominionrd.blogspot.com - Restaurants on
  24. Not sure if this helps, but.... by blues5150 · · Score: 2
    Primavera's Expedition v8.0 ships with the following.
    • Jetty Web Server v3.1.1
    • JBoss Application Server v2.43
    • Expedition database running on Sybase Adaptive Server Anywhere v7.0.3
    • Sybase JConnect v5.5 JDBC driver
    • Expedition 8.0

    I just installed the Jetty Web Server the other day so I don't have any real data to provide, sorry. I know of a few people that use it and have been happy with it. The only complaint that I've heard is that the pages take long to load. The person that said this thought it might have to do with the page being Java, but I think it might just be the database itself causing the slowdown. Just my $.02 worth.
    --

  25. weather.com is now exclusively Tomcat by nevermind · · Score: 5, Informative

    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.

    1. Re:weather.com is now exclusively Tomcat by KidSock · · Score: 2

      Every connection is stateless? What's the point in using a contianer then? You might as well us CGI.

    2. Re:weather.com is now exclusively Tomcat by Fjord · · Score: 2

      Because CGI is a pain in the ass for large scale projects when compared to J2EE even if every connection is stateless.

      J2EE is very standardised in it's interface and components. Perl CGI is somewhat standard, but doesn't have anything analagous to, say, the ability to create JSP tag libraries, or even just standard tags like .

      When you know all of the features of J2EE, you really know what you're missing in perl, and the things you have in perl don't really feel as well thought out and integrated.

      Note, I'm only using perl as my CGI language choice because it along with C are the only 2 languages I've done CGI with, and perl beats C into the ground for that use. I'm pretty familiar with perl and have used it with other on large scale web applicatins (http://www.careerexperience.com for example) and routinely use it for small stuff. I just find J2EE better for real applications.

      --
      -no broken link
  26. How I introduced free software into my big company by standards · · Score: 3, Informative

    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.

  27. javaBeans vs EJBs by spike666 · · Score: 2

    the big question begging moving from a simple jsp/servlet engine like Tomcat/Jetty/Resin to a full blown J2EE app server like WebSphere/BEA/JBoss is Do you want to run EJBs?
    i'm not an expert on EJBs by any means, and i'm trying to ask this same question of my own projects, but what i keep hearing is this: EJBs allow me to run much more scalable than servlet/javabeans.
    i dont know what your prospective usage numbers are, but if they are large scale (aka site on the internet that loads of people will hit hard) then you want to use an EJB architecture because you will be able to scale up with lots of big servers. given that you are working on PCs, my guess is that this is not the case.

    Also, i keep hearing that utilizing an EJB App Server will bring with it database connection architectures like Container Managed Persistance etc. BUT... there are some great examples of utilizing other data access patterns like Data Access Objects (see the jpetstore example)

    i think it comes down to proper application architecture. make sure your applications have good design, and keep in mind scalability (especially with the data access bottleneck) and you should be ok.

    oh yeah... in favor of tomcat ... Tomcat is used by IBM WebSphere to run all the jsp and servlets in webSphere, which in turn can then utilize the EJBs...

    1. Re:javaBeans vs EJBs by scrytch · · Score: 2

      Also, i keep hearing that utilizing an EJB App Server will bring with it database connection architectures like Container Managed Persistance etc. BUT... there are some great examples of utilizing other data access patterns like Data Access Objects (see the jpetstore example [ibatis.com])

      Bah. Beans, EJB, CMP, BMP, DAO ... Where does it end? My demands are really simple:

      I want to write Java.
      I want to run it.
      I want it to create objects.
      I want to publish them with a name.
      I want to move them around.
      I want to save those objects.

      Specifically, I do not not want to write stubs, "descriptors", configurators, managers, contexts, and all that bloody damn scaffolding. I do not want to write some sort of object/relational mapping -- I have no desire to convert a working object oriented schema into a SQL schema when I will never be querying it via SQL. I want objects with remotability and persistence that if it isn't orthogonal, is at least trivial -- as in one operation to effect each, at runtime.

      Only product I've seen that does anything like this is Objectspace Voyager. Is there *anything* free that comes close to that functionality?

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    2. Re:javaBeans vs EJBs by spike666 · · Score: 2

      i agree!!!

      somewhere along the way, java became this huge weird pain to deal with (ejb)... but i do like the DAO model. it seems to be flexible with regards to changing out data providers etc...
      i'm leaning toward running my stuff as javabeans called via servlet/jsps/struts... all under tomcat 4.x - i took a look at jboss and it didnt seem too well documented and all of a sudden i had like 6 additional ports listening, so i decided more research on it was necessary...

      but i'm gonna have to cringe at your reply cuz you said "orthogonal"

  28. Tomcat in production by Kintanon · · Score: 2

    We're using Tomcat on servers here to replace PHP on Apache. Eventually we're going to phase out Apache and use just Tomcat. It works great except for one tiny thing for us, there's no equivelant to htaccess. Which makes setting up restricted parts of our website a tiny bit annoying. But once you get the hang of the xml config files it's pretty easy. As for robustness, one of the sites we run it on gets a few hundred thousand hits to the same 3 or 4 webapps. I think it's great. But I can't give out the company name.

    Kintanon

    --
    Check out JoshJitsu.info for Brazilian Ji
  29. How about Resin? by martinde · · Score: 2

    I've got no experience with Resin and not too much with Tomcat. (I've used JRun and Websphere in the past and I like them both.) Anyways, there is a company at my local Java Users group that really speaks highly of Resin - I think this is the link.

    Obviously it's not open source which isn't exactly what you're looking for. On the other hand, what I hear is that it is fast, stable, and inexpensive. ($500 per deployed server.)

  30. Running on Intel machines? by Brian+Stretch · · Score: 2

    Their position is that it will save them hardware costs to run on Intel machines instead of big IBM or Sun iron.

    You mean AMD Athlon MP machines, right? :-)

  31. Re:Get away from Java by __past__ · · Score: 2
    Common Lisp makes an excellent server-side tool, and is blazingly fast*, plus better OO than virtually anything else.
    Agreed, CL seems to be the only sane language around, with all others essentially being (buggy) subsets of it.

    However, for the type of work one would probably do with Tomcat, the point that there are a LOT of ready-to-use libraries for Java might me more important than the language itself - there just isn't as many CL code freely available.

    Maybe Jython could serve as a compromise, integrating the Java APIs with a better subset of Common Lisp ;-)

  32. Navy by jonasson · · Score: 3, Funny

    I've heard good things that the Navy has been using Tomcats in production use for quite a while now. They even made a movie about it.

    1. Re:Navy by "Zow" · · Score: 2

      Yeah, I saw that. Seemed to me that the Tomcat was pretty impressive, but when it crashed, it crashed hard, and all your development just went up in smoke. Not to mention that it killed one of the admins. I don't think I'd want to put something like that in a production environment.

  33. Watchfire's FeedbackXM is Tomcat-based by ab762 · · Score: 2, Informative

    I work for Watchfire a leading maker of website quality management software. One part of the suite is FeedbackXM, 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.

  34. a production site using tomcat by norwoodites · · Score: 2

    http://trafac.chmcc.org

    It is a bioinformatics web site for finding promoters in DNA sequences.

    I did not design it, I work on it though (use and develop it).

  35. We are standardising on Apache and Tomcat by Ice+Tiger · · Score: 2

    Won't put our company name on here(it is a large UK health insurance company), but we use apache and tomcat for all our large scale web apps. For example we saved huge amounts of money by fronting our legacy middleware product with an app that you call using XMLRPC and it sits on Apache and tomcat on a Sun E10k domain. For performance it handles about 30 requests per second and about 1.2 million calls a day.

    The reason for this combo? It works, we tried other products and they couldn't handle the load, and when you dig deep then the parts we were using were old versions of Apache and jserv or tomcat! :)

    --
    "Because we are not employing at entry level, offshoring will kill our industry stone dead."
    1. Re:We are standardising on Apache and Tomcat by alext · · Score: 2

      I don't mean to jump down your throat, but from your description, and having just wrestled with a big Apache 1.x-fronted site, this sounds like one of the least appropriate environments for Apache+Tomcat.

      Apache 1.x handles concurrency very poorly, and transactions which take longer than simple static pages (such as XMLRPC ones going to a database) can quickly highlight the problems - suddenly your pool of 50 Apache processes looks mighty feeble faced with massed ranks of users out there whacking their submit buttons.

      In this environment, something like WebLogic really shines because it handles concurrency in a scalable and easily configurable manner, plus with nifty things like WebLogic Workshop, you get to build Web Service components with a fraction of the effort of Apache SOAP or similar setups, comparable with Microsoft Visual Studio .NET in fact, if I'm allowed to mention the evil empire.

      The WebLogic world is evolving pretty quickly these days - get those BEA salesmen to earn their commissions by keeping you up to date.

      [Disclaimer: earns living working with WebLogic]

  36. Not exclusively but want to by iajo · · Score: 2, Insightful

    At NetDoktor A/S we use Tomcat/Weblogic currently to run our Java platform. We're deseperatly trying to gain time to look at JBoss to see if we can kill off Weblogic.

    So I'd like to stand forward and say, yes we use Tomcat, and yes it's been in production so long we'd never consider Weblogic as a JSP/Servlet container.

    /Ian

  37. I run Tomcat in production by Simon+Brooke · · Score: 3, Informative
    ... 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.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  38. Try Resin by peterdaly · · Score: 5, Interesting

    I run two production Servlet Containers. One is Tomcat 4.X, the other is on Resin. While Resin is not open source, the cost is only $500/server, which is quite low by J2EE standards. I believe it is free for development, but I could be wrong.

    I tried Resin since I have heard "buzz" about it in message forums, and now can't say enough about it myself. Tomcat has a lot of quirks with reloading updated war files, reloading modified JSP's, etc. Resin does not have these problems, and I believe is much better suited for a non-stop production envirnment.

    In Tomcat, it is not uncommon for me to have to restart the container when rolling out updates where certain things have changed. In Resin, I can even add or remove a JDBC Connection Pool from the resin.conf file and have to pool rolled out or back without any additional intervention from me. In short, it just works. Not only does it work well as far a few (if any) glitches, it is VERY fast as well.

    For a commercial envirnment, I suggest you try Resin just to see if you find the value it adds over Tomcat worth it for you. I did.

    -Pete

    1. Re:Try Resin by AndyMan! · · Score: 2, Informative

      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

  39. My project is by bokmann · · Score: 2

    We are using JBoss and Tomcat in a production system, deployed in the government offices of 9 different governments.

    For more information, see www.trackernet.org

  40. Use Resin by alienmole · · Score: 2
    They say use Jetty (except for the ones that say to use Resin).

    Here are some good reasons to use Resin:

    • Fast, reliable, scalable
    • Easy configuration
    • Full source code provided under a "Developer Source" license, which makes it competitive with "free" products, at least from a commercial perspective
    • Development use is free - no licences need to be purchased for development and testing purposes. Runs well on Linux as well as Windows; latter can be useful for test deployments on developer machines
    • Inexpensive to deploy: $500 per server for the JSP version, $1000 for the EJB version; additional for priority support options.
    • Commercial support - see their pricing page.
    Here's a testimonials and customer list which includes some pretty big names.

    Despite any appearances above, I'm not associated with Resin, except as a customer. I first heard about it here on Slashdot, a couple of years ago. We evaluated it and eventually switched a number of applications from both Tomcat and commercial servers and have never looked back.

    Other servers that might be worth looking into are Orion and JBoss, but I don't know how they compare on some of the points above. The availability of commercial support from the vendor can be a clincher, and the source code provides some insurance against the vendor disappearing.

    I agree with all the cautionary comments about Tomcat, although we haven't worked with it for some time now.

  41. Tomcat is Cisco's preferred env. by vanguard · · Score: 2

    Cisco is working towards moving all their web based applications to tomcat. Just about all their new applications are being written there.

    Tomcat works for us. Regarding speed, if everybody says it's slow then maybe they're right. However, in my experience it's the database interaction that's slow, not the java code. Tuning the query can cut seconds, tuning the java cuts milliseconds. It's hard to fuss too much about the milliseconds when there is low hanging optimization fruit to be found in the sql.

    Vanguard

    --
    That which does not kill me only makes me whinier
  42. Enough Tomcat Bashing... I have proof it works! by md17 · · Score: 3, Informative


    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. 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!!! It rocks!

  43. you're confusing "app server"... by MORTAR_COMBAT! · · Score: 2

    with "servlet container" and-or "JSP container". both tomcat and jetty are fine examples of servlet and JSP containers.

    an app server, i.e., a server which serves up J2EE applications, is more generally thought of as a combined servlet, JSP, and EJB container. BEA, IBM WebSphere, etc, and JBoss are the real players in this space, but Oracle has their own app server rolling along now too. FYI, JBoss ships both a Jetty and Tomcat distribution.

    Tomcat is the reference implementation for the Servlet and JSP container APIs. This means it is absolutely the standard. While Jetty is great for being "lighter" weight and more easily embedded, Tomcat would have to be my choice for "open source" servlet and JSP container.

    --
    MORTAR COMBAT!
  44. Lack of good benchmarks makes it tough to decide by MCRocker · · Score: 2, Insightful

    The problem seems to be that it is extremely difficult to benchmark such servers. Greg Wilkins, one of the primary authors of Jetty, explains the issues fairly clearly in a response to the Jetty Benchmark thread on the jetty-discuss list.

    In addition, experience shows that J2EE application optimization is not as straight forward as other Java applications, so it is easy to get radically different performance results from a servlet with only minor tweaks. There was a wonderful presenation at JavaOne 2002 San Francisco about servlet optimization (link for atendees only). Among other things, the author demonstrated. a simple 6 line "Hello World" servlet that is written in standard style, yet can be made to run 3x faster with only minor tweaks. He also shows that testing under load reveals that servlets can behave much differently under load and that the only way to really write fast and reliable servlets is to write them as you normally would and then test them mercilessly.

    My conclusion is that you can't believe any of those published bechmarks, they're mostly biased marketting crap (everybody's benchmark seems to show their product is fastest). What you really need to do is load up multiple servers and configure them to do what you need them to do and test them under load to see how they perform in your environment. I know it's not what you want to hear, but since there are so many features that have varying performance, it's the only way to really find out.

    --
    Signatures are a waste of bandwi (buffering...)
  45. A little name dropping here... by rgraham · · Score: 2

    But just last week at our local Java users group James Duncan Davidson, the original developer of Tomcat (and Ant), and he really didn't recommend using Tomcat by itself in a large enterprise type setting where speed is an issue. He said using Apache to help serve up static pages/images will certainly help but it is important to keep in mind that Tomcat wasn't built for speed, it was built to be a reference platform.

    On a side note Davidson is a good speaker and worth seeing if you get a chance to.

  46. Small World! We may have been on a conference by (H)elix1 · · Score: 2

    We may have been on a conference call a few weeks ago. Call it a hunch.

    Here is my take...

    I suspect you did a big cost analysis of the different Application servers out there. Looked at IBM, BEA, and a few of the other smaller players. Tomcat was listed, but written off. Things moving at the speed of business - the developers started building with Tomcat. Now there is lots of code and tweaking to Tomcat that may (may not) prove difficult to migrate. Additionally, it looks like your not going to worry about an EJB container for the first couple phases and focus on STRUTS instead.

    Tomcat works great for development. It works amazingly well for fewer than 100 concurrent users - and that really works out to a lot of people. The cost factor is less of an issue. The full blown EJB container / CORBA ORB / kitchen sink tend to cost a pretty penny.... but a strait JSP / Servlet container do not. Weblogic Express goes for a couple grand - and contrary to what folks my say, you can get decent support from them. (Just make sure you are the contact rather than someone on the "business" side). I guess I view the cost as irrelevant at that point. Take the time to benchmark and load test on a production box (sparc?) a couple different solutions. . Some of the commercial Servlet engines are very fast - at the expense of some bleeding edge features you may get with Tomcat. Figure out if runtime or development time is more important.

    That being said, yes... there are folks using Tomcat in production. I have seen tons of departmental stuff out there. Enterprise gets a little rougher - I've seen a few companies wedge it in.

  47. Anyone running Vignette V/6 by ldopa1 · · Score: 2

    Anyone running Vignette's V/6 Enterprise Application Platform is running Jakarta Tomcat. It's a prerequisite. You can of course make custom connections to another servlet engine, but it isn't supported.

    I don't have a customer list or anything, but there it is.

    --
    The Dopester
    "Yes, I'm a Karma Whore, but I'm doing it to pay my way through school."
  48. Use Resin if you care about performence by Codex+The+Sloth · · Score: 4, Informative

    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).

    --
    I am not a number! I am a man! And don't you ... oh wait, I'm #93427. Ha ha! In your face #93428!
    1. Re:Use Resin if you care about performence by Kerg · · Score: 3, Informative

      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

    2. Re:Use Resin if you care about performence by King_TJ · · Score: 2

      I haven't done a whole lot with any of these packages on a corporate level - so take this with several large grains of salt....

      A while back, I was working on a project with a couple Java developers that required a Linux-based web server running a servlet engine.

      We went with Tomcat/Apache because it seemed like the most "standardized" option - and it was key that our application run under something fairly common/generic. (We had ideas of possibly selling the technology itself to a company interested in re-purposing it.)

      I quickly discovered Resin, and got permission from the author to use it free of charge while we were in this development stage (and not generating any profit). I liked Resin, and noticed it was fast -- but I also had some configuration hassles with it.

      We ended up cancelling our project before I had time to really dig into it very far - but it seemed that the resin service was a little bit picky about exactly where it was in the startup sequence on my RedHat server. Sometimes everything would boot, and then I'd discover Resin wasn't running. Launching it manually always worked just fine. If I juggled around what loaded before what in the runlevels, I could usually get it working - until I did some other RedHat upgrades. After that, sometimes it was suddenly "broken" again.

      I don't think I was the only one with these issues, as a search of Usenet uncovered several other people confused about errors they got that indicated Resin wasn't running.

  49. JBoss == Tomcat by Codex+The+Sloth · · Score: 3, Informative

    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.

    --
    I am not a number! I am a man! And don't you ... oh wait, I'm #93427. Ha ha! In your face #93428!
    1. Re:JBoss == Tomcat by oops · · Score: 3, Informative

      No. JBoss 3.0 now comes with Jetty as standard. Check out the Jboss download page and the comment regarding Jetty as the default web server.

    2. Re:JBoss == Tomcat by md17 · · Score: 2


      <sarcasm>
      You are right... Because using JBoss's:
      - Database connection pools
      - Better war file deployment handling (no restarts needed)
      - JNDI stuff
      - JAAS stuff
      - etc.
      Just has "no value"
      </sarcasm>

      JBoss is not just EJB! JBoss is the kitchen sink... It provides so much infrastructure that I save tons of time on every project. Plus even if I don't use EJB now, it is much easier to implement later.

      The only reason I can think of to not use JBoss is that it consumes a little extra memory.

      Give it a try

      Besides, if all you need is a web container, it's jmx... Pull out the mbeans you don't need. Yup, it's that easy.

    3. Re:JBoss == Tomcat by Codex+The+Sloth · · Score: 2

      Clearly I was confused about what servlet container JBoss used. I was pretty sure it used to ship with Tomcat but maybe I just got it confused with Enhydra which does.

      That having been said, there are alot of infrastructure tools available for Tomcat from Apache. Yes, you have to install them but the whole point is that they are not "the kitchen sink". The whole problem with BEA is that it is huge and bloated. The guy said, "I'm just doing servlets" and for that, JBoss sounds like it is overkill.

      Fundamentally, the benefit to using Servlets / JSP is not only platform migration but also being able to use different servlets containers without a rebuild. If you are using JBoss only features (or BEA only features) then you will be locked into that server vendor. If you wanted to switch away from JBoss now could you? If the answer is yes (because all the add-ons are independent of the container) then it would work in ANY servlet container and if not then you are hosed if you need to switch.

      There is no one servlet container to rule them all -- you have to be able to migrate easily (without a recompile) or you might as well be using ASP.

      --
      I am not a number! I am a man! And don't you ... oh wait, I'm #93427. Ha ha! In your face #93428!
  50. Re:Support? by bigjocker · · Score: 2

    Well, you should check this site for JBoss support.

    Or this one if you want Jetty support.

    The thing is, if your boss feels better having expensive support thay can have it, even as the same price of the commercial products. The win/win situation comes from the fact that expensive support is a may and not a must with free software.

    --
    Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
  51. I'm with the troll... by EEEthan · · Score: 2

    Maybe he's a bit rude, but I've never thought that Apache's configuration was a nightmare. Especially compared with another major free offering, which is configured with GUI boxes...

  52. Complementary by Martin+Spamer · · Score: 5, Informative


    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.

    1. Re:Complementary by Furry+Ice · · Score: 2, Informative
      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.

  53. Where is Tomcat used? by ericman31 · · Score: 2

    Check out Computer Associate's portal product, CleverPath. It uses Tomcat as its application server. My company is testing CleverPath right now for deployment as a B2B portal for our customers.

    If I were you I would let somebody else do the heavy lifting on benchmarks, where it's in production, etc. Contact CA, tell them you are thinking about deploying their portal and you want to know where it's in production and what the benchmarks are. Since CleverPath can be deployed with a third party app server (BEA, WebSphere, Sun ONE) you need to specify a native deployment for the reference customers. Since you know that the app server architecture is built on Tomcat you will have good references for Tomcat that you can use to demonstrate its abilities, or lack thereof.

    --
    In my universe I'm perfectly normal, it's not my fault you don't live in my universe.
  54. Tomcat in production sucks!! (alas!) by dario.lupi · · Score: 2, Interesting

    Ok guys, that's my experience. We had bad results with tomcat, our group of linux boxes (4 biprocessor pentium class machines RH 7.1) had big problems only with 60.000 pages on a day. What I appreciate less was the Tomcat ungraceful behaviour under stress. One moment all is Ok, after some seconds it starts trashing. We changed the code, installed Resin and achieve to serve 500.000 pages on a day with only 2 servers!!! Tomcat version was 3.2.something... Good luck!

  55. See For Yourself... by JohnA · · Score: 2
    Check out AnalystScan, a DB and JSP intensive site running exclusively on Tomcat and PostgreSQL. It's survived several mentions in the mainstream press, as well as a mini slashdotting.

    The only caveats I have for you are to be sure that you use the groovy built in connection pooling for your DB resources, and that you tune your JSPs before going into production.

    Good luck!

  56. Same Position by tweakt · · Score: 2

    I was volunteered to evaluate application servers to replace what we had been using (New Atlanta's ServletExec).

    Their main interest is in speed and scalability... and the $0 pricetag of Tomcat is also of interest to them (though not critical).

    I've been testing Tomcat as well as Caucho Resin (www.caucho.com) and have found Resin to be much faster and feature rich, but my bosses are actually pushing for Tomcat because it's open source and free. I think mostly also do to the (hopefully) larger installed base so peer to peer support will be more of a reality.

    BTW: Does anyone know a decent... free package that can script through a complex website (logins cookies, javascript) and load it down to test for performance? They want to see numbers of both of these and I have till friday!! eek.

  57. Resin in a production environment, plus GLUE by eyefish · · Score: 4, Interesting

    We've tested both Tomcat and Resin, and decided to go with Resin for several reasons.

    First of all it is very stable and very fast. And secondly, it has a very comprehensive way to do clustering, fail-over, and distributed sessions management.

    In just a couple of minutes you can set it up to cluster with several copies of Resin, each residing on a separate machine, on the same machine, or even in the same VM. You can even set up a Resin container to be a backup of another Resin container in the same machine, so you get both inter-machine and intra-machine failover.

    You can also do distributed sessions in several ways (with TCP messages, database storage, etc), and you can even force a user session to stay within the same Resin container out of a clustered group.

    As for Web Services, we heartly recommend GLUE from The Mind Electric. It's bar-none the absolute best (in terms of speed, stability, and easy of use) Web Services toolkit available for ANY platform. It puts Microsoft's .Net to shame, and it's way easier than offerings from IBM, Sun, Bea, Borland, or the Apache/Tomcat efforts. It's so easy to use that already you can make your *existing* applications be Web-Services compliant without re-writing or re-compiling them!!! You just tell GLUE which classes and methods will be exposed as Web Services and it automatically generates WSDL and starts listening for SOAP clients!!!

    As for a database, try the latest non-beta version of mySQL. It supports row-level locking, full transactional support using innoDB, and it is fast (specially considering its price). (Note that postgress is also a good alternative).

    Note that like many here, I also agree that Tomcat and JBoss are great solutions to your needs, so if your boss definitelly cannot be convinced otherwise, I think you'll be fine with Tomcat at least. I only advice you to design your applications in a way that they can cluster, so that you can increase performance easily by adding more Tomcat servers to the mix.

  58. .NET is the only way to go by cmdr_beeftaco · · Score: 2, Funny

    haha your blood pressure doubled and pulse rate jumped 15 points, call it your exercise for the day.

  59. Check out the IBM JDK by mxmasster · · Score: 2, Informative

    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.

    --
    "The similarities of sysadmins and drug dealers: both measure stuff in K's, and both have users."
  60. Tomcat is at least 2 times slower than resin by webperf · · Score: 3, Informative

    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 $$$

  61. I am using tomcat in production by unixbob · · Score: 2, Informative

    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.

    --
    The Romans didn't find algebra very challenging, because X was always 10
  62. You need numbers... by gaff1 · · Score: 2, Insightful

    Every application has different performance requirements and every app server has different pros and cons. It's absolutely critical that you figure out what you need from the app server.

    Figure out and document the "typical" type of application you will need to run on your app server, then design and document an application architecture for it. Once you have the architecture, create a prototype of the architecture that establishes a "thin thread" through the entire architecture. For example, JSP to Servlet to EJB to JDBC. This is really important because one app server may be super fast at parsing and displaying a JSP but horrible at authorization checking. Now that you have the prototype, the fun part starts.

    Conduct scalability testing, load testing, stress testing, and fault tolerance testing on each app server you are considering. Use your prototype architecture for the tests. Collect all the numbers and graph them out. It's really important that you establish a baseline hardware configuration and maintain that baseline throughout the tests so that you compare apples to apples.

    This process is time consuming but I believe it's a critical. You will learn boat loads about each of the app servers as you do this. You'll learn what it takes to set them up, configure an application for them, how to administer them, oh yeah and also how they perform for your architecture.

  63. Jetty is optimized for speed by gregwilkins · · Score: 2, Interesting
    Firstly It is not strickly true to say that tomcat does not look for speed. If anything it is a poor reference implementatin because it is trying to be suitable for production.

    Jetty has been developed mainly as an efficient HTTP/1.1 server. The Servlet container is secondary to providing correct and efficient service of the protocol.

    Jetty has been focused on being embedable in your application, rather than being a stand alone application server. Hence it is widely deployed but with very low visability. I wrote jetty and I'm still surprized when I find the jetty.jar inside IBM tivolli or Sonic MQ!

  64. TP Monitors by leandrod · · Score: 2

    What about TP monitors?

    I have never been able to find a real free TP monitor.

    I see everyone going nuts for application servers, but the fate of most of them is to suffer under high loads. I've never seen any of them incorporate the lessons learned by hard experience during 30 years in the TP monitor field.

    This to me seems like the whole OO and Web fads: everything has to be OO and HTML and HTTP, and XML too. But few people learn the fundamentals. So they go and build beautiful applications on Java, HTML, MySQL, without ever realizing its unreliability or all the duplication of effort necessary. Or the risks for lack of scalability.

    This is yet another thing the proprietary world gets not so bad as the free software world. For example, BEA's WebLogic Enterprise actually embeds the Tuxedo core to provide TP monitor services; they call it BEA Engine.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
  65. Tomcat vs Jetty and Java on Linux by j3110 · · Score: 2

    Tomcat is slower than Jetty in all cases that I've seen (I've not seen them all, so test it for yourself). Tomcat wants to be restarted everytime you deploy a new context(or I'm just stupid and don't know how to set it up right). Jetty is an embedded small fast implementation, that will run on it's own, but I recommend JBoss! With JBoss, you can create good war or ear files that you just drop in a directory to make things work. No hassle unless you can't write a simple deployment descripter and use jar, in which case you have bigger problems. If you think JBoss will use too much memory, you can just disable all most of it's services and it will be just fine. JBoss loads in anywhere from 7s (minimal services on fast machine) to 60s (all services on a ~400Mhz machine with 64+ M of ram, UDMA enabled on your hard drive, and IBM's JRE). Get a copy of JBoss and play with it. The only reason to run Tomcat is if you want to run Apache (because you like the way it does virtual hosts or you need PHP or modperl for some other project).

    Java on Linux is a complicated thing to get good results from. You need a good VM, and the one's from Sun are getting better. I recommend that you take a look at IBM and JRockit as well and compare them for your own use. They are both have no cost, but are pretty fast. JRockit is pretty robust. I use the Sun VM now just because I need 1.4 features.

    --
    Karma Clown
    1. Re:Tomcat vs Jetty and Java on Linux by j3110 · · Score: 2

      yeah... I remembered that you could use JBoss with Tomcat and not have to do it... I don't know how how JBoss manages it, but it seems to work ok :) Still, Tomcat is slower than Jetty. Tomcat is cool for that wierd Warp connector to Apache so that you can run PHP and JSP's on virtual hosts without having to do much configuration and still use the same port 80 for both.

      --
      Karma Clown
  66. TUX! by ttfkam · · Score: 4, Informative

    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.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
    1. Re:TUX! by ttfkam · · Score: 3, Informative

      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).

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
  67. JBoss/Jetty by GOD_ALMIGHTY · · Score: 3, Informative

    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!

    --
    Arrogance is Confidence which lacks integrity. -- me
    1. Re:JBoss/Jetty by GOD_ALMIGHTY · · Score: 2

      Precompile your JSPs in Ant 1.5
      Then when you deploy it's will be faster than PHP cause there will be no interpretation (other than normal JVM) or compiling. If it's still too slow for you look at GJC (Java frontend for gcc) and see if you can get the whole app server to compile to native code, I actually had a gcc developer tell me this should work now... haven't tried it though so YMMV.

      Also remember that developer time is way more expensive than hardware.

      --
      Arrogance is Confidence which lacks integrity. -- me
  68. Performance Junkies by aminorex · · Score: 2

    In a commercial environment transaction volume
    translates into revenue (or you have a broken
    business model). If your transaction volume is
    too high, buy another $%^@ box, dumbkopf!

    By the way, your boss is obviously an idiot, so
    I would suggest finding a new job ASAP.

    --
    -I like my women like I like my tea: green-
  69. It doesn't matter by slamb · · Score: 2

    Try any of them. I use Resin. Others are happy with Tomcat. I've never heard of Jetty, but it may be good, too.

    The important thing is that you write your application to the servlet spec. If you do that, switching servlet containers will be completely trivial. So if you later decide you've outgrown Tomcat, try something else instead.

  70. If you need Tomcat Support...Cocoon 2 support..etc by hackus · · Score: 2

    You might want to try looking at the vendor pages at http://jakarta.apache.org/site/vendors.html

    Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  71. Redeployment with WebLogic by alext · · Score: 3, Informative

    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]

  72. Tomcat vs. Resin by KidSock · · Score: 2

    I just setup Tomcat and Resin to develop a Filter that exposes our library to containers. Results: Tomcat is pathetically slow compared to Resin. No contest.

  73. Re:We've almost convinced our management to switch by alext · · Score: 2

    We've found that we end up deploying the same applications multiple times, with restarts, in order to get the thing working correctly

    Ugh. That should not happen at all - I'm working with news sites that redeploy and update several times a day on WebLogic.

    The process is complicated, particularly in a centrally managed/clustered environment - your consultant needs to understand precisely what goes on so that servers don't accidentally share temporary directories, the component is targeted at the right thing etc. etc. It's a bit arcane, but not unreasonably so.

    What's the central management console in JBoss? I didn't think it had one.

  74. Secure deployment by alext · · Score: 2

    Use manual deployment? This is the standard recommendation for WebLogic environments.

    Seems rather like you're cutting off your nose to spite your face.

  75. Re:Just for the record... by alext · · Score: 2

    simply because of an outdated association with the slow cgi stuff.

    It's more than that. Even with mod_perl, you're still lacking the efficient thread support of a Java web app server - this really matters when your concurrency level starts rising and Apache starts running out of back-end processes.

    And Java has a comprehensive security model, handles in-flight update and redeployment better, includes centralized management tools, has straightforward session and clustering support in many implementations, flexible and efficient database integration, not to mention a healthy market in applications and tools.

    These are some of the reasons Perl loses out in big developments - it has some nice features of its own but these aren't generally considered as critical.

  76. Re:J2EE? by MSBob · · Score: 2

    And servlet/JSP spec is part of what may I ask you? J2EE is a group of technologies and Servlets/JSP is one of them.

    --
    Your pizza just the way you ought to have it.
  77. Stability broke tomcat for me by markus_baertschi · · Score: 2, Informative

    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

  78. Don't use IBM VM with WebLogic by alext · · Score: 2

    No they don't - check here.

    What's much more interesting is that Linux on Intel (OK, and probably Wintel too) is the prime focus of BEA's own JRockit VM.

    With Sun, IBM and BEA all investing heavily, the outlook for Java on Linux has never looked better.

  79. We use Tomcat by ikekrull · · Score: 2

    We have used Tomcat in production since v. 3.2

    4.0.4 is the only version I would really say is rock solid though, and we had puzzling cases where the CPU would go to 100% usage and stay there under earlier 4.0.x - this is under NT, so its probably bugs in the OS/Java implementation anyway. I never had this problem running Tomcat under Linux.

    Overall, I have been very happy with Tomcat, whether integrated with Apache or standalone.

    You might as well at least try Tomcat before a commercial Servlet engine, and you'll probably find there is simply no need to look anywhere else.

    --
    I gots ta ding a ding dang my dang a long ling long
  80. Tomcat's good but....... by Allnighterking · · Score: 2

    PHP runs better. Faster response. Less overhead as far as CPU/memory usage. Greater availablity of code snippets on the web to shortcut deployment. PHP isn't just nuke. It's supported by a large company, and really works well. If you want to fully implement the features of Tomcat go with Zope. Even if you purchase Zope services from Zend Corp. you'll find that your return on your dollar is much, much higher. Especially since the load is lower on the server and as a result you can serve a greater number of users with the same box.

    --

    I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

    1. Re:Tomcat's good but....... by Allnighterking · · Score: 2

      A HA you happen to be one of those cold fusion people I see. PHP can do everything java does EXCEPT require 6 or 7 different JVM's (Linux currently has about 8 or 9 or iX86 and they aren't always compatible. PHP is web only so no main.) Then if you embed Javascript ... you can do more. (OK if you run from WinIIs you can embed VBasic.wet or C-- )

      --

      I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

  81. Cardiff Software's Liquid Office runs on Tomcat by McSpew · · Score: 2

    The company where I work just implemented Cardiff Software's Liquid Office online forms software, and it only runs on Tomcat. We've had some minor issues getting everything installed and getting Tomcat running, but once it's running, Tomcat has been fine. We've experienced no problems with Tomcat. We're running it on the same box as an IIS-based intranet, an IIS/MS-friendly content manager, and a web-based interface to our document imaging system.

    The box I'm running all this on is a dual 933 MHz PIII box with 1.5GB of RAM and four 18GB 15K rpm HDs in a RAID 5 array, running Win2k Server. Performance is downright snappy. LiquidOffice is using LDAP-integration to authenticate users out ActiveDirectory, too.

    Would I love to be running all this on Linux or Solaris or HP-UX or whatever, with some sort of high-quality LDAP-based directory instead of Win2k and ActiveDirectory? You're damn skippy I would. I hate Microsoft, but I have a lot of stuff I have to run that I don't get to choose and most of it doesn't yet run on anything except Microsoft.

  82. very thankfull by geekoid · · Score: 2

    I am very thankfull
    I don't need to write haiku,
    for topic reply.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  83. WebLogic logging and management by alext · · Score: 2

    Well, it's pretty good actually, no need to put Apache in there just for that - it creates an access.log file just the same. Check the Server HTTP Logging help page. Only thing it doesn't do is merge the access logs for you across different servers in a cluster like it can do with normal logs - too much traffic I guess.

    Filters appear in WebLogic 7 (they came in servlet 2.3 I think) - you write the class and then mention it in the web app deployment descriptor, e.g. using WebLogic Builder.

  84. Re:Get away from Java by angel'o'sphere · · Score: 2


    Maybe Jython could serve as a compromise, integrating the Java APIs with a better subset of Common Lisp ;-)


    Jython is a Python on top of a Java Virtual Machine integrated into the Java libraries, not a CL.

    However there are a lot of lisp implementations for the JVM.

    see: http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.ht ml

    Regards,
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  85. Is there a list of corporate OSS users? by Corrado · · Score: 2

    I have been trying to convice my large company to give OSS a chance (specifically CVS) but they want to talk to other large companies and get their take on it. What I need is a web site that contains a list of either references or quotes from large companies telling their OSS stories. If I could say that Sprint and IBM uses CVS extensively, and here is a inside contact that can talk about it, that would go a long way to opening the OSS door.

    --
    KangarooBox - We make IT simple!
  86. Reference Implementations by rjamestaylor · · Score: 2, Interesting

    Regarding Tomcat's role as a reference implementation: for HTML, XHTML, XSLT, MathML, etc., the W3C commissions Amaya as the reference implementation, but I don't see people giving up IE or Mozilla for the lastest Amaya builds...nor have I heard, "Yeah, but how does it look in Amaya?," when reviewing a new site design. So, not knowing the world of Java Servers, I find the repeated cry of "reference implementation" a bit weak as a recommendation.

    --
    -- @rjamestaylor on Ello
  87. Re:WARNING: Apache 2.0 on NetWare has been r00ted! by ajft · · Score: 2, Informative

    "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

  88. A year ago it sucked, but it's better today by Adam+Wiggins · · Score: 2

    My company began using it a few years ago as a replacement for a commercial JSP server that was a completely piece of crap. Compared to the commercial program it was okay, but it frequently (like once every couple of months) would lock up and require not only a complete restart, but in fact a "kill -9" of all java processes running as the Jakarta/Tomcat user.

    Today we are using JDK 1.4 and Tomcat 3.x and are pretty happy. It doesn't lock up or do weird things anymore. Speed is okay; not blazing fast, but for our business, the compiling (or interpreting) of dynamic pages is not the slowdown. Database access is a hundred times as CPU intensive so speed of our dynamic content isn't really important. Our pages are fairly complex and usually compile in about 500ms.

    All in all I vastly prefer coding web pages in PHP. Java is just plain clumsy for creating web content. But if you've got hundreds of thousands of lines of legacy code (like us), Tomcat will do you just fine.

  89. Re:Get away from Java by __past__ · · Score: 2
    Jython is a Python on top of a Java Virtual Machine integrated into the Java libraries, not a CL.

    Sure. I meant to imply that Python, as a language, is more "lispy" than Java, not that it is Common Lisp.

    However there are a lot of lisp implementations for the JVM.

    None of which seem to be CL, unfortunatly