|Think about Loose Coupling|
Re: Order in Perl chaos?by andreychek (Parson)
|on Apr 18, 2002 at 18:57 UTC||Need Help??|
I think that you bring up some very valid points. In fact, there are some others that feel the same way you do :-)
One such example is a group building P5EE, a Perl 5 Enterprise Environment. They are looking to "promote the development, deployment, and acceptance of Enterprise Systems written in Perl". In doing so, they are attempting to create a "generic" framework for both web and non-web applications. This framework is being designed to have a consistant API, easy to use and install, and powerful. The P5EE slogan is "this is one great way to do it", which perhaps could be considered a subset of TMTOWTDI :-)
At about the same time P5EE sprung up, and with lachoy's help, I've been working on something called OpenPlugin. It's goal is a bit more specific than P5EE, for better or for worse.
I work on a web application framework called OpenThought. Compared to other frameworks, it's relatively new, yet it offers a very unique set of features. However, OpenThought still shares many of the needs other application frameworks require. It still utilizes authentication, sessions, datasources (DBI, LDAP, etc), headers, parameters, and so on. With so many modules and frameworks offering full implementations of these already, I thought "why should I go about creating all this again?" Thus was born OpenPlugin. It is designed to have pluggable capabilities. For example, one plugin it offers is a logging facility (appropriatly called "Log" :-). The Log Plugin can't do anything on it's own though, it needs to utilize a driver to tell it how to log. So there are LOG drivers for STDERR, Syslog, and Files. The Param Plugin offers drivers for CGI and Apache. And so on.
OpenPlugin is being designed as a plugin system any application framework can make use of. This would offer a consistant (or at least similar) interface across application frameworks. Also, instead of each application framework author putting their efforts into an integrated system that only works with their framework, this allows all those authors to work together on one unified system. Or so is my hope :-)
OpenPlugin, although currently very functional, is still in the early stages of it's existance. And, of course, I'm always looking for a hand :-) OpenPlugin can be downloaded, along with OpenThought, at the OpenThought Website.
So, to answer your original question, I think that while we continue to enjoy the power of TWTOWTDI, that there are cases where "this is one great way to do it" may very much apply, and we're beginning to see new applications and frameworks looking to make use of consistant API's.