software development

The Best::Of::Perl Framework

The Best::Of::Perl framework is a rapid software development toolkit for developing web-based applications, such as web sites. In case you are wondering "Hmmm, what might such an application look like?", then (ahem) please be kindly advised that you are looking at such a site just now.

The Loomsday web site has been built using the BOP framework to keep it well structured (Perl code separated from the HTML layout, database content separated from the Perl code), easy to understand, and sorrow-free to maintain until the day the sun will finally become a nova.

BOP is built using object-oriented Perl, aiming for as much re-usable code as possible to keep the coding efforts on applications built on top of the BOP framework at a minimum.

The framework can also be used to run standalone daemon processes in parallel to web server processes. An example would be a two-way-messaging control daemon that is continuously polling a GSM modem, while at the same time providing core web server functionality. In this - real world - scenario, BOP is running multiple pre-forked web server processes for web-based management frontend access, and one process to control the GSM modem. All processes can access the same databases, which makes high-level integration a snap.

The BOP framework has been developed with these goals in mind:
  • Provide one-liner method calls for redundant tasks where ever possible.
  • Squeeze the number of code lines in the typical application as much as possible,
  • Do not introduce too much "invisible magic", meaning we are always trying to keep things understandable by reading the source code.
Best::Of::Perl takes away the need to re-develop redundant functionality that is usually required in most web applications: User management and access control to the various resources provided by your web application, built-in HTTPS support for secure user authentication, cookie-based session authentication, navigation menu link setup - these are already part of the framework, and are ready as soon as you start the built-in skeleton application for the first time. As a matter of fact, the skeleton application is a subset of this Loomsday website.

This framework is ideal for firms that need more than just a few dynamically generated web pages, but shy away from the complexity - and cost! - of a full blown web development project.

With Best::Of::Perl, we are able to provide you with a working prototype within days, and unlike with most other projects, where the prototype actually needs to be rewritten once the project reaches maturity, you can simply watch BOP evolve into the final solution for you - without spending any time in expensive loops in the development cycle.

If you think Best::Of::Perl could be useful to you, then please use the contact form to get in touch with us.

PS: By the way, the framework name does not imply we believe it is the best software ever written in Perl. The name has simply been picked to give the appropriate public credit to the components BOP is using to achieve its compactness and clean structure:
  • The Perl language itself. You can see on the overview page what we think about it. Enough said.
  • Template::Toolkit the amazing HTML templating engine, used to produce dynamic HTML pages from template files.
  • DBIx::Class is no less astonishing, since it allows for accessing SQL databases in a Perl-ish way, i.e. without writing SQL query code.
  • The enhanced version of the pre-forking web server that is integral part of the Tequila mail server admin software. The Tequila web server is being used as core web server for the BOP framework. With Best::Of::Perl you do not need an external web server (Apache, et al) to run your applications any more (and yes, the server is fast enough).
  • Other goodies include Log4perl for extensive, and fine granular, logging, Config::Simple for configuration files, MIME::Lite to send email, the DateTime module for data handling, and SQLite as default data storage method for Best::Of::Perl.