Essex 0.3 has been tagged and released. Essex is a service-oriented toolkit for application development in Perl. It is not a comprehensive framework like Mason or Rails. Rather, it is a lightweight component manager and a handful of useful services. If you are writing an application (web or otherwise) in Perl, you may want to use Essex to get you started. (Read the introduction to Essex or more about the new project.)
A quick list of features include:
- A service manager
- A useful module for object properties
- A REST dispatcher
- Service pooling
- YAML-based configuration
- A pipelined template service (using Template Toolkit)
- A database service
- A solid set of unit tests
- A generic mod_perl application handler
- A simple build and install process with few required external dependencies
Essex is licensed under a Creative Commons Share-Alike license. (More on this in my next post.)
I wouldn't say Essex is stable yet as I haven't written any real code on top of it -- I expect the code and functionality to evolve over time as I develop Orchard and other applications. However, it is probably solid enough to at least download and read if you are curious about service-oriented development or want some proof that Perl can be used for more than mere scripting.
The 0.3 release was tagged in the unto.net subversion tree at http://svn.unto.net/svn/public/essex/tags/0.3/. Or you can download a tgz at http://www.unto.net/nightlies/essex-0.3.tgz. (And as always, the latest nightly is available at http://www.unto.net/nightlies/essex-latest.tgz and the trunk at http://svn.unto.net/svn/public/essex/trunk/.
Looking at the download logs, not many people are trying this out. That's okay -- I just wanted to get the code out there so I could move on to the more interesting applications. That said, I'd always love a code review or some feedback. I plan on adding to Essex as I identify services that could be generally applicable, but at the same time I'd like to keep this lightweight and straightforward.