NAME
App::Services - Makes reusable services easy
VERSION
version 0.002
SYNOPSIS
use App::Services::<service>::Container;
my $cntnr = App::Services::<service>::Container->new(
%service_config,
);
my $svc = $cntnr->resolve( service => '<service_name>' );
$svc->do_something;
DESCRIPTION
App::Services::* are a set of modules that provide common functionality where much of the low-level coding and configuration is already done. If one is starting a new Perl application, the intent is that by using App::Services, more rapid development can be achieved by focusing on the application's main purpose and minimizing time spent on minutiae and learning details of multiple ancillary CPAN modules. The existence of this module is a testament to its utility in our own application development.
The types of functionality provide by App::Services are convenient implementations to logging, database connections, forking, email and a persistent object store.
App::Services::* provides a layer of abstraction that hides the implementation of the functionality and minimizes the configuration to common bare essentials. This allows for coding at a high, single layer of abstraction for application code. The abstraction layer used is inversion of control using Moose and Bread::Board. The App::Services module itself serves only as the root and main document for the distribution.
There are pre-packaged container classes, App::Services::<service>::Container, included that can be used to instantiate the services, but in many cases you will want to write your own.
LIST OF SERVICES
App:Services::Logger
Easy access to a Log::Log4perl logger.
App:Services::Forker
A simple fork service.
App:Services::Email
Email!
App:Services::DB
Get a database connection real quick.
App:Services::ObjStore
A persistent object store based on KiokuDB
Authors
Sean Blanton
TODO
Docs barely exist.
AUTHOR
Sean Blanton <sean@blanton.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Sean Blanton.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.