Blog Moved

Future posts related to technology are directly published to LinkedIn
https://www.linkedin.com/today/author/prasadchitta

Friday, February 25, 2011

Architectural Approaches

Having written a small post on "Enterprise Solution Architecture" some time back on this blog now I want to touch up on the Architectural Styles/Approaches.

Typically the architecture discipline is about making "models" and naturally the architecture is thereby model-driven. Model Driven Architecture or MDA is an approach for building various models using the UML (Unified Modeling Language) for defining "structure" and "behavior" of a system being modeled.

But, a "model" can only represent a specific view point of the "system" being modeled. So, there should be a standard set of view points fit into a framework to describe a typical Enterprise. The open group's TOGAF and ADM tries to do that by defining specific "architectural layers" i.e, business, information, application and technology with multiple view points as functional view, security view, user view, communications view, management view etc., The ADM gives a methodology to select the key stakeholders and required viewpoints the architecture needs to be developed.

IEEE 1471 gives a recommended practice of "Architecture Descriptions" that generalizes specific frameworks in generating these models within the system's context, stakeholders and their specific needs.

But there is never been an architecture that related to Information Technology that is purely greenfield. There is always an "As-Is" architecture and a "To-Be" architecture that will be built based on current problem domain. SEI's ATAM is a tradeoff methodology to evaluate the architecture and evolve the architectures.

So, architecture discipline develops models that go out of sync by the time the solution goes live into production and starts solving the problem. It is really difficult to keep the models in sync with what is the reality on the field.

The Service Oriented Architecture i.e, SOA looks at the Enterprise as a set of loosely coupled services that interact to run the enterprise in its environment. This gave a rise to deploy and host the services in a marketplace like environment called "Cloud" that changes the paradigm of architecture into "Cloud Computing".

While a majority of architectures even in SOA are flow based, there is a different approach that is available is Event Driven Architecture or EDA. This approach looks at the events processing and events triggering various workflows in a business environment. With the complex-event-processing that correlates events over cause-effect, spacial or temporal dimensions it has specific uses in service management and Business Performance Management areas.

While solving complex problems all the above different architectural approaches can be used based on their fitment and availability of time and resources.

But the key is to have the right set of people, processes and tools in developing these architectural views!

No comments: