Blog Moved

Future posts related to technology are directly published to LinkedIn

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!

Wednesday, February 16, 2011


Analytics is the "science of analysis" i.e., dividing a large set of data into certain "themes" and understanding various relationships between these to make out some business sense and take it for strategic advantage or for efficient operations is the field of Analytics.

In olden days, data that used to be stored in the computers is predominantly "Human generated transactional data" i.e., when an transaction happens between a producer and consumer, the data related to such transactions was stored in the software systems. This is relatively small amount of data.

As the days progressed, various "machine generated events" like a customer's website views, different clicks, data from automated sensors (like RFID etc., ) and various system log events are being stored for analyzing the behaviors.

This post is to enumerate different mathematical models and their uses in the field of business and web analytics.

1. Descriptive models: Used to classify the data into different groups. For example deriving the age of a person based on the first driving license date. Determining the sex based on height and weight etc., Focus is on as many variables as possible.

2. Predictive models: Used to find the causal relationships between the themes of data. Focus is on specific variables. These models give a probability of a set of outcomes.

3. Optimization/decision models: Used to derive the definite impact of certain decision and optimize the result within a set of constraints based on the data.

PMML = predictive model markup language from dmg is the xml based standard that can be used to exchange the models across multiple supporting applications.

The trend is in-database analytics that brings the data analytics into the database core engine and databases that are specifically built for the purpose of analytics based on columnar storage that makes the database an "analytical database" instead of a mere data storage and retrieval engine.

Oracle has published a good reference paper on this subject that can be found here -Predictive Analytics: Bringing tools to data.

over and above the thematic analysis there is an increasing demand for spacial and temporal analysis of the data. The field of analytics will converge into a single set of tools where one can analyse the data using the slicing and dicing functionality on all the dimensions of themes, spacial characteristics and temporal analysis at the same time with loads and loads of machine generated data is not far in the future....

Recently, I came across this paper that presents a framework for thematic, spacial and temporal analytics that can be possibly combined with data mining option....