Phil Greenspun on Application Servers

Phil Greenspun’s contrarian view of application servers, in particular, a scathing review of Kiva.


After you pay $35,000 per CPU, you can

add a dynamic page to your Web site by

following these easy steps, as outlined

by one of my co-developers:

1. write your java code in foo.java

2. compile with:

/usr/local/kds/jdk1.1.5/bin/javac -g -

classpath "/usr/local/kds/jdk1.1.5/lib/classes.zip:

/usr/local/kds/classes/java/SWING.JAR:/usr/local/

kds/classes/java/kfcjdk11.jar:/usr/local/kds/

classes/java/kdsjdk11.jar:/usr/local/kds/classes

/java/ktjdk11.jar::/usr/local/kds/jdk1.1.5/classes:

/usr/local/kds/jdk1.1.5/lib/classes.jar:/usr/local/

kds/jdk1.1.5/lib/rt.jar:/usr/local/kds/jdk1.1.5/lib

/i18n.jar:/usr/local/kds/jdk1.1.5/lib/classes.zip:

/usr/local/kds/jdk1.1.5/classes:/usr/local/kds/

jdk1.1.5/lib/classes.jar:/usr/local/kds/jdk1.1.5

/lib/rt.jar:/usr/local/kds/jdk1.1.5/lib/i18n.jar:

/usr/local/kds/jdk1.1.5/lib/classes.zip::

/usr/local/kds/APPS" "/usr/local/kds/

APPS/yourappname/foo.java"

3. once sucessfullly compiled, create a

GUID with: /usr/local/kds/bin/kguidgen

4. paste a copy of this GUID into your code.

5. edit yourappname.gxr and add an

entry for foo, with the GUID

6. Register the applogic with

/usr/local/kds/bin/kreg yourappname.gxr

if you like, or for some reason this

doesn't work, you can run kreg

without arguments in interactive mode.

7. you can access the guid at

http://yourserver.com/cgi-bin/gx.cgi/AppLogic+foo

The logs are in /usr/local/kds/log/

I think the kjsdev.log usually has the

most interesting information. If your

applogic fails at run time,

the browser will return

"document contains no data"

Kiva, to be fair, doesn’t use the Java Servlet interface that other servers have.

Possibly Related posts (machine generated):

  1. PHP and Java
  2. eXtensible Publishing System
  3. Handy WebDAV Hint: GET + PHP = Bad
  4. A Spectrum of Complexity in Class Design
  5. Lessons Learned Doing Java Programming for a Website

More like this: , .

blog comments powered by Disqus