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
