Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

Enterprise Java Beans

Back in the '70s when I started beating on computers, if you wanted to compile and run a program you would hand in to the computer center a card deck containing:

  • A couple of magic cards the computer center provided you that had something to do with the accounting system.
  • A job card you cargo-culted off the example job card you got on your first day.
  • A couple of cards telling the compiler that yes you really did want to do the same thing you always did. Instead of the defaults which were something like: take the following program, request a tape load, write the program to tape, send an operator message asking them to mail the tape to 'The Gong Show' with a cover letter explaining it was an entry in the 'stupid programmer tricks' contest, and recycle the card deck as firestarters.
  • A couple of cards telling the computer that the program was here, not on a tape that had been mailed to the gong show.
  • The program.
  • A magic end-of-data card that you can't punch on the card punch and if you run out you'll have to sneak in to the operator's room during lunch and punch an extra copy on the operator's punch because they charge you department for official end-of-data cards.
  • The data.
  • Another special end-of-data card.
  • Another set of magic cards to tell the computer to print the output instead of mailing it to the gong show.
  • An end-of-job card that was identical to the end-of-data card except it was red, and you never could figure out why that mattered except that if the last card of the deck wasn't red the operator wouldn't accept it

Your buddy Joe once gave them a blank red card instead of an end-of-job card and they never checked if it was punched, which was pretty funny until the end-of-month accounting run was charged to your department because the computer charged the next job to Joe's cost center.

This has to be a parody of the old days.

[dead link ... moved to openejb.org]

I've had a co-worker berate me at length because I'm clearly misrepresenting what EJB is all about. All these things have to be specified because there are half a dozen transaction mechanisms and other things that need to be specified, you can't leave them out.

That really doesn't matter. You know there were really good reasons for all those cards on the old days too. You have multiple record types for files, even text files, and multiple kinds of file systems with slightly different APIs for each, and so on. What happened is that we don't have multiple kinds of file systems and we have three kinds of text files and a program that accepts any combination of CR and LF as an end of line can read them all... and there were good reasons for people preferring each of the different file types and file system interfaces and so on...

In five or ten or twenty years all those defaults won't matter, either there will be one winner or you'll use the same API for all the options, and people will write five line servers and clients for the things people use EJB for. Maybe there will be a wrapper around this that just sets "the standard options", or maybe it'll be replaced. It doesn't matter. It'll all go the way of opening a file by setting up a 36 word file control block and a 20 or 24 word IO control block depending on the filesystem.

I hope.

Even though Enterprise COBOL exists, maybe, just maybe, that's a fluke. Maybe, just maybe, we won't be programming our neural implants in XML and Java one day.

 IO
Lynx-enhanced by <peter at taronga.com> (Peter da Silva)