NAP::Messaging – glue and policies for interacting with ActiveMQ

As part of our service oriented architecture, our Perl applications send messages over ActiveMQ; a few of them also consume those messages and act on them.

All these consumer applications are based on Catalyst. Initially, we used Catalyst::Engine::Stomp and a rather complicated set of in-house libraries to wrap it.

Those in-house libraries have, in time, grown to incorporate more and more responsibilities, including testing, logging, message serialisation, plugin loading… it was time to break them apart and write something cleaner.

Continue reading


NAP::policy: an introduction

What is NAP::policy?

It’s a pragma, or a “policy” module, to help people at NAP write more
uniform code.

The module itself is equivalent to a series of use statements,
that are considered “a good idea” for our needs.

The distribution also contains a few more “good idea” modules, that
are not tied to any particular application, but can help developers.

Continue reading