Richard Dice was kind enough to point out my hypocrisy :-) I'd given a
talk at YAPC19100 about how Perl doesn't need "all that enterprise
infrastructure stuff".  The talk is at:

  http://prometheus.frii.com/~gnat/yapc/2000-special/

I didn't talk about messaging, transactions, etc. but instead about
things like CORBA and XML.  Richard asked me "so what's changed?"

Maybe I'm hanging around with more troublemakers now :-) but I hear
more and more people saying that there are some things that Java makes
easier than Perl does.  The consistent theme is that persistence,
email, transactions, etc. are no-brainers in Java, whereas they
require some brain in Perl.  If enough people run into these things,
then I figure it's a real problem and not the grumblings of a few
malcontents :-)

Because there are no standard solutions to these problems, developers
have to go through these steps:
 * locating candidate modules (finding them on CPAN)
 * selecting a candidate module (what are the relative features of each
   module?)
 * testing the module (ensuring you aren't developing your system
   on a partially-implemented or broken module)
 * learning how to use the module (not every module has the world's
   greatest docs)

J2EE provides standard quality-controlled ways to do databases,
messaging, mail, servlets, XML, security, and persistence in a bunch
of environments (applications, applets, web, and "beans").  There is a
ton of documentation on it at sun.com.

I see no reason why we can't solve at least some of the problems
enterprise folks are facing.

There are three (related) questions to answer that will define the
scope of the project:

 * which problems need solving? (e.g., DBI has most of the essential
   JDBC functionality)

 * how much of J2EE do we want to adopt?  For instance, do people
   really feel the absence of beans, or do we just want to go for
   the application and web environments?

 * should we write Perlish modules or reimplement Java APIs?

 * do we solve the wider problem of CPAN quality-control or an SDK, or
   just write the modules we need?

My personal preference would be to do: persistence, messaging,
transactions, mail.  I'd only go for application and web environments.
I'd only write modules--re-engineering CPAN requires too much work and
too much politics.

Thoughts?

Nat

Reply via email to