Robert Hettinga (rah@shipwright.com)
Sun, 15 Nov 1998 15:32:00 -0500
http://www.wasp.org/ is a site which belongs to WASP's author, and DBS and
DCSB member, Steven Smith.
When it's finished, the current version is about 70%-there alpha, WASP will
be an open source web application delivery platform written in JAVA for
XML/HTML.
Steve and I were talking about using WASP for digital commerce, financial
cryptography, and dbts applications Friday night, at Anthony's Pier 4,
during the Constitution Yacht Club awards banquet.
(Naw, not *that* kind of yacht club. CYC, while I'm plugging things, and
for those of you who sail in Boston, charges all of $75/yr, and it mostly
does <very friendly, but hotly contested :-)> 'round-the-bouy races and
cookouts, all out of a one-room prefab houseboat clubhouse tied up at the
Constitution Marina on Boston Harbor in Charlestown. Steve graciously
answered a cattlecall on the DCSB list for crew this summer, and now does
foredeck on Corisan, the 1968 Columbia 38-footer a bunch of us old farts
race on every Thursday night, when it's warm enough to, anyway.)
So, seeing that WASP is still being built, and Steve is crypto-clueful, I
thought I'd spam the crypto community (and a few others :-)) about WASP so
that Steve could get some comments on what he has now, and requests for new
stuff he can add to WASP. And, of course, since it's open source, to
solicit WASP additions, if WASP indeed doesn't suck, both crypto and
otherwise, from other clueful people both inside the country and otherwise.
:-).
The following is from Steve's FAQ on WASP, sans links, so it might read
strangely here in text.
Cheers,
Bob Hettinga
> 1. What is the WASP?
>
> The WASP is an OpenSourceTM platform (library) for developing complex web
>applications. It is written in Java and runs under any system which will
>support the Java Servlet API. (eg. Sun's JavaWebServer, Apache (via Live
>Software's JRun), NetScape, IIS and others.)
>
> The current version is: 0.7a. Download it now. I think this is 70% to a
>1.0 release. 0.8a will be out by 11/16 and will include the
>DataAccessObject (org.wasp.data.*).
>
> 2. How does the WASP work?
>
> The WASP parses .wasp files which consist of standard HTML and some
>additional XML tags that are used to control the behavior of the WASP.
>All .wasp files should be consistent with XML syntax. The WASP allows you
>to add new tags and functionality easily. The default set of tags provide
>standard script features, including: variable substitution, conditional
>processing, looping, dynamic SQL queries (for prototyping only),
>interfaces to Data Access Objects, etc. Session management is provided by
>the underlying Servlet API and WASP applications have access request,
>session, and global namespaces. See the Javadoc.
>
> 3. Who can use the WASP?
>
> Anyone can use it for Free! Better yet, you can download the source.
>The WASP is released under the Library General Public License (LGPL), so
>if you make any improvements to the WASP, the results must be free as
>well. WARNING: This software is still alpha stage. It works, but there
>are no Makefiles or INSTALL instructions yet. You're on your own. An
>example .wasp page will be posted soon.
>
> 4. Why would I want to use the WASP?
>
> That is probably the subject for an entire whitepaper which I don't have
>time to write. I wrote this software because all the methods I have found
>for developing web applications suck in some way or other. Even
>monumental OpenSource treasures like Apache and Perl leave something to be
>desired when considering a complex application. Before I go trashing
>everyone else's stuff though, let me tell you why The WASP doesn't suck:
>
> It is easily extended so you can make it do whatever you want. It is
>written in Java so you can use any server OS or Database. It seperates
>HTML from SQL and Java application logic, thereby allowing designers to
>design and programmers to program. It is fast and scaleable. It will run
>well enough on your hopped up 486 linux box and it will scream on your 10
>CPU Sparc Mega Server. If you run NT, I'm sure it'll work there too.
>(Shame on you for wasting good hardware!) It encourages the development of
>reusable business objects. It can talk to dynamic data sources/services
>that are not SQL-Based! (Important for complex distributed object
>applications.) It is OpenSource, so when you run into a bug, you can fix
>it! It is comprehendable by any experienced object programmer. (Only
>~3000 lines of code) It is Free!
>
> 5. What's wrong with the other stuff?
>
> The other standard methods for developing web apps all suffer from one or
>more of the following:
>
> They involve editing single files containing 5 or more programming
>lanugages, all with different syntax, and which execute in 5 different
>places at 5 different times. They require you to surf the tech-support
>websites of your tools vendors hoping for clues to some bug. They yield
>unmaintainable / throwaway solutions. They tie you to a single vendor's
>hardware, operating system, or database. They force you to use some arcane
>GUI environment to create your "application". This process always feels
>like Voodoo to me. M1CR0S0F4 R00LZ D00D!!!1!!1!. They cost money whether
>they work well or not.
>
> 6. What can I do for the WASP?
>
> I will be setting up a database here soon to keep track of a wishlist,
>bugs, etc. In the meantime, consult the source code and look for XXX in
>the comments. These indicate areas that need work. Obviously, general
>stuff like cleaning up error paths/exception handling would help. Anyone
>with experience in the area of Enterprise Java Beans who could offer
>suggestions on how to implement the Data Access stuff in the approved Java
>framework would be greatly appreciated. I understand the EJB isn't baked
>yet. I guess I'll buy a book on it after I finish the contract I'm on.
>
> After the Parser is reworked, the Page cache might be reworked to
>serialize and write to disk or use some persistant store. The WASP caches
>pages to avoid expensive parsing but I haven't yet measured how much
>memory this uses. (RAM sure is cheap these days!)
>
> Also, if you really want a pure OpenSource stack of software, someone
>needs to implement an OpenSource servlet runner. That is truely a
>"chasing taillights" problem (as the Halloween Document put it) so it
>should be easily enough accomplished. If no one steps up to plate, maybe
>I'll get around to it, but don't hold your breath. I'm enjoying writing
>WASP applications too much!
>
> There is a net-CVS repository for the WASP code. Read-only access has
>not been set up yet. Contact steven.t.smith@pobox.com to obtain access.
>
> 7. What about the LGPL and Java Virtual Machine?
>
> I'm no licensing expert. Ostensibly, I want this program to be freely
>used and improved while not enriching the lawyers, taxmen and all the
>other parties that surround commercial software. Mostly, however, I want
>to share this cool program with my friends. If anyone else can use it,
>that would be great! If anyone could help me debug it, that would be even
>greater! That's why I chose to OpenSource.
>
> What exactly defines a program running inside a JVM is not immediately
>obvious. I just assumed that Java classes are all kind of like libraries.
>That's why I chose to use the LGPL.
>
> In my view, the WASP consists of every class in the org.wasp.* heirarchy.
>I don't consider any Data Access code that is specific to your
>website/application and which may be "linked" into the WASP at runtime, to
>be "part of" of the WASP or create some kind of derivative work. If you
>do write additional Taglets which are of general use, I expect those to be
>included in the WASP. This is sort of "enforced" by Taglets registering
>themselves via code in the main org.wasp.engine.Servlet.init(), thereby,
>in my view, making them part of the WASP. Data Access stuff that is
>custom to your application can be configured in via initialization
>parameters and thusly not considered to be part of the WASP.
>
> For what it's worth, the more you poke around this stuff, the more you
>realize that Software isn't a THING at at all. All those phantasms people
>use to think about it are simply anachonistic hold-overs from industrial
>era, scarcity thinking. Software Licenses and the businesses they support
>begin to look like so many Voodoo incantations and pointless
>pontifications about angels on the head of pin. Or worse, they seem like
>the rules of a silly boardgame which is played with real money, and in
>which the house (government, lawyers, VCs, Investment Banks and corporate
>shareholders) always wins. Casinos at least offer better odds. I believe
>a programmer is better off figuring out how to get people to actually use
>and propagate code in ways that enrich each of us individually and empower
>individuals generally.
>
> 8. Who wrote it?
>
> Me. (steven.t.smith@pobox.com) And whoever I could sucker into helping
>me. ;-) See the CONTRIBUTORS file for details.
-----------------
Robert A. Hettinga <mailto: rah@philodox.com>
Philodox Financial Technology Evangelism <http://www.philodox.com/>
44 Farquhar Street, Boston, MA 02131 USA
"... however it may deserve respect for its usefulness and antiquity,
[predicting the end of the world] has not been found agreeable to
experience." -- Edward Gibbon, 'Decline and Fall of the Roman Empire'
The following archive was created by hippie-mail 7.98617-22 on Sat Apr 10 1999 - 01:17:18