Banking on Perl

Lisbon -- 3rd August 2009

Paul Johnson

www.pjcj.net

Perl in Large Corporations

very_big_corporation_of_america.jpg

Perl in UBS

UBS.jpg

UBS

vault.jpg

UBS

keys.jpg

3 minutes

lock.jpg

Glue

glue.jpg

New Development in Perl

green_field.jpg

Case studies

case.jpg

Here comes the science bit!

science.jpg

Go, Johnny, Go!

cash.jpg

5 minutes

serpent.jpg

Outsourcing

outsource.jpg

Systems

systems.jpg

Databases

oracle.jpg

Webservers

apache.jpg

Communications

telephone.jpg

Data Munging

data_munging.jpg

MQSeries

queue.jpg

High availability

ha.jpg

Monitoring

monitor.jpg

Logging

logging1.jpg

Logging

logging2.jpg

Logging

logging3.jpg

Archiving

archiving.jpg

8 minutes

box.jpg

Deployment

deployment.jpg

Extra development

develop.jpg

Database Investigation

investigate.jpg

Management Information System

mis.jpg

Legal Archiving

legal_archive.jpg

Automated Testing

automated_testing.gif

More Communications

rwilliams.jpg

CPAN

cpan.png Algorithm::Diff aliased Alien::SeleniumRC Any::Moose AppConfig Archive::Tar Archive::Zip Array::Compare autobox B::Hooks::EndOfScope B::Hooks::OP::Check Bit::Vector B::Utils Cache::FastMmap Carp::Assert Carp::Assert::More Carp::Clan Catalyst::Action::RenderView Catalyst::Controller::FormBuilder Catalyst::Devel Catalyst::Engine::Apache Catalyst::Engine::HTTP::POE Catalyst::Model::DBIC::Schema Catalyst::Plugin::Authentication Catalyst::Plugin::Authorization::Roles Catalyst::Plugin::ConfigLoader Catalyst::Plugin::JSONRPC Catalyst::Plugin::Server Catalyst::Plugin::Session Catalyst::Plugin::Session::State::Cookie Catalyst::Plugin::Session::Store::FastMmap Catalyst::Plugin::StackTrace Catalyst::Plugin::Static::Simple Catalyst::Plugin::XMLRPC Catalyst::Runtime Catalyst::View::JSON Catalyst::View::TT CatalystX::Component::Traits CGI::FormBuilder CGI::Simple Class::Accessor Class::Accessor::Chained Class::Accessor::Grouped Class::C3 Class::C3::Adopt::NEXT Class::C3::Componentised Class::Data::Accessor Class::Data::Inheritable Class::Inspector Class::MOP Class::Singleton Class::Trigger Clone Compress::Raw::Bzip2 Compress::Raw::Zlib Config::Any Config::General Config::Tiny Context::Preserve CPAN CPAN::Mini C::Scan CSS::Tiny Data::Dump Data::Dumper Data::Flow Data::OptList Data::Page Data::UUID Data::Visitor Date::Calc DateTime DateTime::Locale DateTime::TimeZone DBD::Pg DBD::SQLite DBI DBIx::Class DBIx::Class::Schema::Loader DBIx::ContextualFetch DBIx::Log4perl DBIx::ProcedureCall Devel::Caller Devel::Cover Devel::Declare Devel::GlobalDestruction Devel::Leak Devel::PartialDump Devel::StackTrace Devel::Symdump Digest::MD5 Digest::SHA Email::Address Email::Send Email::Simple Error ExtUtils::CBuilder ExtUtils::Depends ExtUtils::MakeMaker FCGI FCGI::ProcManager File::ChangeNotify File::Copy::Recursive File::Find::Rule File::HomeDir File::Modified File::Remove File::Temp File::Which Hook::LexWrap HTML::Lint HTML::Parser HTML::TagCloud HTML::Tagset HTTP::Body HTTP::Request::AsCGI HTTP::Response::Encoding HTTP::Server::Simple Image::Size IO::Compress IO::String IO::stringy IO::Tty IO::Zlib JSON JSON::Any JSON::XS libnet libwww::perl Lingua::EN::Inflect Lingua::EN::Inflect::Number List::MoreUtils Locale::Maketext::Simple Log::Log4perl MIME::Base64 MIME::Types Module::Build Module::Find Module::Install Module::ScanDeps Moose Moose::Autobox MooseX::Declare MooseX::Emulate::Class::Accessor::Fast MooseX::Meta::TypeConstraint::ForceCoercion MooseX::MethodAttributes MooseX::Method::Signatures MooseX::Params::Validate MooseX::SemiAffordanceAccessor MooseX::Traits MooseX::Traits::Pluggable MooseX::Types MooseX::Types::Structured Mouse MRO::Compat namespace::autoclean namespace::clean Net::Server Net::SSLeay Number::Compare Number::Format Object::Signature OLE::Storage_Lite PadWalker Params::Util Params::Validate PAR::Dist Parse::CPAN::Meta Parse::Method::Signatures Path::Class PathTools Perl6::Junction Perl::Tidy Pod::Coverage POE POE::Test::Loops PPI PPI::HTML Proc::ProcessTable Return::Value RPC::XML Scalar::List::Utils Scope::Guard Set::Object Shell::Source SOAP::Lite Sort::Versions Spreadsheet::ParseExcel SQL::Abstract SQL::Abstract::Limit String::RewritePrefix Sub::Exporter Sub::Install Sub::Name Sub::Uplevel Task::Weaken Template::Plugin::Number::Format Template::Timer Template::Toolkit TermReadKey Term::ReadLine::Perl Test::ClassAPI Test::Deep Test::Differences Test::Exception Test::Harness Test::JSON Test::LongString Test::Mock::LWP Test::MockObject Test::NoWarnings Test::Object Test::Pod Test::Pod::Coverage Test::Simple Test::SubCalls Test::Tester Test::use::ok Test::Warn Test::WWW::Mechanize Test::WWW::Mechanize::Catalyst Test::WWW::Selenium Text::Aligner Text::Diff Text::Glob Text::SimpleTable Text::Table Text::TabularDisplay Text::Template Tie::IxHash Tie::ToObject TimeDate Tree::DAG_Node Tree::Simple Tree::Simple::VisitorFactory UNIVERSAL::can UNIVERSAL::isa UNIVERSAL::require URI Variable::Magic WWW::Mechanize XML::Parser YAML YAML::LibYAML YAML::Perl YAML::Syck YAML::Tiny

12 minutes

gold.jpg

Why Perl?

onion.jpg

Challenges

solaris.jpg

You've done what?

wot.jpg

All the world is not Perl

vax.jpg

Java Interfaces

java.jpg

15 minutes

gold2.jpg

NFS

net.jpg

Advantages

plus.png

Disadvantages

minus.gif

Which approach is better?

plus-minus.jpg

Where is Perl used?

where.jpg

Who uses Perl?

who.jpg

Why is Perl not used more?

vampire.jpg

Conclusions

radar.jpg