Catalyst (software)

Catalyst also provides a standardised interface for data models, authentication, session management and other common web application elements.

All of these elements are implemented as plugins to a set of common interfaces, allowing the developer to change the specific method used (e.g. a session storing in shared memory versus as a database table, or using FastCGI versus operating as an within Apache's mod_perl) by changing the configuration of Catalyst to use a different plugin without altering the application code.

Maypole was one of the first web application frameworks for the Perl programming language that was based on the MVC pattern; its principal author was Simon Cozens.

Catalyst promotes the re-use of existing Perl modules that already handle common web application concerns well.

Catalyst can run using any database supported by Perl's DBI (this means almost anything, even a CSV file), but a proper RDBMS or ODBMS is recommended.

Several different RDBMS systems are supported, including MySQL, PostgreSQL, SQLite, IBM Db2, Oracle and Microsoft SQL Server.

[10] Many Catalyst-based projects use DBIx::Class as the ORM layer, which provides further abstraction of SQL queries, using a resultset-based API with transparent support for arbitrary joins and other features.

Websites powered by Catalyst include Magazines.com,[11] bbc.co.uk iPlayer backend,[12] DuckDuckGo's Community Platform, http://flexibase.io and Tripwolf.com.