General-Purpose Architectures – An MVC Type-II Example

This session will address how one might build a general-purpose architecture using common processing patterns. This will be based upon “best practices” plus computer science and software engineering “fundamentals”. In recent history, an emphasis has been placed upon software architectures and the role of “Software Architect” is proliferating. Yet, architecture is not a departure from engineering. It is an integral part. All the the archetypal principles that apply elsewhere in engineering apply in the realm of architecture. This includes the importance of software reuse, implementing a concern once and well so one might make use of it when needed. General-purpose architectures allow for more concurrency during development and reduce project task dependencies. This shortens project life-cycle times.

Although general-purpose architectures can be applicable for any standard architectural pattern such as layered, requestor-providor, interpreter, pipe-and-filter, and etc, this session will discuss a general-purpose controller for use in a flat model-view-controller system. The instance of this system will be a general-purpose JAVA Enterprise Edition servlet. Yet, this approach is viable for any modern high-level programming language that supports dynamic invocation. This includes the languages bundled in Microsoft’s New Enterprise Technology (.NET) platform; a Linux, Apache, MySQL, and PERL, PHP, or Python (LAMP) stack; Oracle’s JAVA Micro, Standard, and Enterprise Editions; plus C++, Groovy, Ruby, and more.