I’ve been working with a client using Epicentric to develop portal sites lately. I’ve worked on portals for other customers in the past and have lately started wondering what the most efficient way of developing these sorts of web applications would be. The Epicentric product is Java-based and relies on a fairly huge stack of software above the web server including a JDK, JDBC, a JSP server, and a Java servlet engine such as Jrun or Tomcat. Epicentric is a commercial portal app. Other (free) portal apps such as slash use the mod_perl approach – basically a Perl app combined with Perl DBI. Zope is Python-based (which I’m assuming would be slower unless there’s a Python equivalent to mod_perl?). And then there’s mod_virgule which is written in C but has no database interface (yet).
The question that I really haven’t found a satisfactory answer for is the speed/scalability issue. Which approach handles transactions faster and which scales to very large sites best? I’ve been unable to find any type of benchmarks or even anecdotal comparison of systems like these. I’m thinking about coding a simple benchmark program that simulates typical portal site operations in both mod_perl/DBI and Java/JDBC and comparing the speed and scalability using the same hardware, OS, database, and webserver. Has anyone done anything along these lines before? If so, I’d love to hear about it.
If I haven’t been doing a very good job of keeping my news page up to date lately, I can only make the excuse that I’m running a little short of free time these days. I’ve been helping a client migrate a lot of Solaris and Linux boxes to a new data center and it’s turned into a quite a major project. The last several days have also been spent helping them set up a Linux box to run Epicentric, a large, non-free, buzzword rich web development gizmo. Officially it’s used to make “portals” but the term seems to be defined very loosely so as to mean what we used to call a “web site”. And to make sure that enough buzzwords can be included, the Epicentric Portal Server runs on top of a big stack of other stuff including a Sun JDK, a JIT compiler, a web server, a Java servlet engine, JSP server, JDBC, and an SQL database. The end result is that you can take a simple web project that would take one person a couple of hours to do on a server with Apache and mod_perl and turn it into a giant project that requires dozens of developers, costs lots of money, and goes much slower.
The large number of components involved has created its own political problems with some people insisting that only high priced, non-free software like NT, IIS, and such must be used. What I’m actually using is Linux, Apache, the Sun JDK, IBM JIT compiler, and Jakarta Tomcat (the Apache Java servlet engine & JSP server). The only non-free components will be our existing Oracle 8i database and Epicentric itself. If anyone is interested, I may post a HOWTO page of the steps it takes to get all this debris working together. (assuming that I do in fact get it to work together!)
In unrelated news, I guess everyone saw the Slashdot article about Copyleft being named as a new defendant in the DeCSS suit because their DeCSS T-Shirt is a “circumvention device”? I’ve already bought two of their DeCSS shirts but when I heard the news I decided to buy some additional T-Shirts from them. Some of the money from each shirt you buy goes to the EFF or FSF so visit their site, buys some fun stuff and help fight the forces of evil.