NAME
Pipeworks - Pipeline Processing Framework
SYNOPSIS
use Pipeworks::Pipeline::MyDoc;
use Pipeworks::Message::GetBody;
my $line = Pipeworks::Pipeline::MyDoc->new;
# same as Pipeworks::Stage::FetchURL->new( ... )
$line->register( 'FetchURL' );
$line->register( 'GetDocumentBody' );
$line->register( sub { my $msg = shift; warn( "body:\n" . $msg->body ) } );
# same as Pipeworks::Message::GetBody->new( ... )
my $message = $line->message( GetBody => {
url => 'http://localhost/',
} );
my $result = $line->process( $message );
DESCRIPTION
This is a message oriented pipeline processing framework to enable
separation of concerns, organization of individual functionality and
improve code-reuse though aspect orientation.
It simply allows to define and organize pipelines that process messages
in multiple steps and return a result.
HISTORY
Originally the basic idea is inspired by UNIX concepts. There was a lot
of thinking how to represent a similar model in programming without
losing important benefits that UNIX provides. When Steve Bate wrote a
blog post about Messaging as a Programming Model
<http://eventuallyconsistent.net/2013/08/12/messaging-as-a-programming-m
odel-part-1/> things came together, started to make sense and code began
to materialize this implementation.
SEE ALSO
<http://eventuallyconsistent.net/2013/08/12/messaging-as-a-programming-m
odel-part-1/>,
<http://eventuallyconsistent.net/2013/08/14/messaging-as-a-programming-m
odel-part-2/>,
<http://eventuallyconsistent.net/2013/08/19/messaging-as-a-programming-m
odel-revisited/>,
<http://geekswithblogs.net/theArchitectsNapkin/archive/2013/08/19/messag
ing-for-more-decoupling.aspx>,
<http://geekswithblogs.net/theArchitectsNapkin/archive/2013/08/17/messag
ing-as-a-programming-model-ndash-letacutes-get-real.aspx>,
<http://geekswithblogs.net/theArchitectsNapkin/archive/2013/08/18/flows-
ndash-visualizing-the-messaging-programming-model.aspx>,
<http://geekswithblogs.net/theArchitectsNapkin/archive/2013/08/19/nested
-messaging---flows-on-different-levels-of-abstraction.aspx>
AUTHOR
Simon Bertrang <janus@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2013 by Simon Bertrang
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself, either Perl version 5.12.2 or, at
your option, any later version of Perl 5 you may have available.