Archive for the ‘SOA’ Category

>Architectural Approaches

February 25, 2011

>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!

Binding Energy of Software Systems

October 1, 2010

When we study basics of atomic physics, we came to know that “A bound system has typically lower potential energy (i.e., mass) than its constituent parts” To make it into simple words, the total mass of all nucleons is more than the mass of nucleus formed by them. This mass deficit when converted to energy equivalent is called binding energy. That is the “force” which keeps the system together and not let the different constituent components fall apart!

So, In software terms, this is the effort that has gone into the “integration” of the different system components into its final form of Business Application.

Traditionally the integration has followed different models in the software systems.

Silos: Multiple software components were developed on a specific technology / programming language like COBOL, C etc., and they are integrated vertically using the procedure calls and RPCs. It is difficult to integrate with a component that is outside the technology.

Star/Spaghetti i.e., point to point integration: In this method, different components of a business application talk to each other using the flat files, or other methods. As a need for integration arises, the necessary interface should be developed and deployed on both the interfacing components of the business application. Soon, we will have a very complex spaghetti created that is very difficult to maintain.

Hub and Spoke based EAI: To overcome the standardization problems of point to point interfaces, each component should talk a “common language” with a central HUB that mediates all the integration between the enterprise business systems in that common language. This technology has developed several standard adaptors for common business components.

Enterprise Service Bus (ESB): This is the most modern integration technique available today. The key difference is that the central HUB is replaced with a more open set of protocols that can integrate the business components beyond a single enterprise. It is more open and allows more loosely coupled, heterogeneous components to talk to each other by providing more sophisticated “translation” services to them.

So, it is important that sufficient “binding energy” is in the Enterprise Business System and the CORRECT structure/method is used for the integration to keep the software strong (for operations) and flexible (for tackling the changes) all the way through its lifetime.

For more information on binding energy (atomic physics) : http://en.wikipedia.org/wiki/Binding_energy

For more on Patterns in Business Service Choreography using ESB (IBM redbook): http://www.redbooks.ibm.com/redpapers/pdfs/redp3908.pdf

Enterprise Data Fabric – data grids

April 10, 2010

Enterprise Data Fabric or “in memory data grid” can improve the distributed or clustered application performance dramatically.

The Problem:
Distributed applications need to share the “application objects” across multiple processing nodes. As the application objects are not “relational” there is a need for the Object Relational Mapping (ORM) to share the application objects using a relational database.

The ORM technology involves converting the object into a set of relational (table/column) information and and turns slow.

The Solution:
Using an in-memory data grid to store the application objects on distributed multiple node cache and managing the transactions in once and only once manner.

This will dramatically improve the performance and scalability of the application.

This is also going to be a key enabler of the Private PaaS Cloud Computing in future.

IBM WebSphere eXtreme Scale and Oracle Coherence are the examples of Distributed Caching Platforms that provide Enterprise Data Fabrics or in-memory data grid solutions.

Let us see how this technology shapes up the future!

SOA Governance standalone? or merge with IT Management?

February 9, 2010

“Governance” in general and SOA Governance in particular has been a buzz word for sometime now.

My definition for Governance is making sure that a “thing” works as it is supposed to work. Replace the “thing” with SOA, IT, state, country etc.,

One of the emerging trends for past few years is “Business Transaction Management” for managing the composite IT applications configuration, performance and “Governance”

Traditionally the IT management tools and frameworks have looked at the IT as operations management, quality management, performance management, configuration management etc., disciplines.

In this trend the problem of IT management is from a business point of view. That is good. So, what is happenning in the technology?

1. Application Performance Management
2. Composite Application Management using run time discovery of relationships between the components (services) of the application
3. Business transaction management tools

Here is the question:

Will the new trend merge in traditional IT Management tools?
or
A standalone set of new SOA Governance tools emerge due to the new trend?

Based on my “UNIX” philosophy, I think an integrated set of tools that consist of traditional IT management with the new SOA Governance would be a best fit to tailor to the needs of contemporary corporates!

Let us wait and see….

Private Clouds Again

June 17, 2009

As mentioned in the previous blog post on Private Clouds, the vendors are coming out with some products on this technology.

IBM launched the CloudBurst and HP BladeSystem Matrix.

All the three types of private clouds look promising at the current moment; IaaS, PaaS and SaaS. Service oriented, self-provisioning model of Cloud and the pay-as-you-go billing are key factors of success for Clouds.

Private Clouds

May 13, 2009

An interesting trend emerging is the concept of “Private Cloud” in the Data Center Management Area.

This trend eventually combines the strengths of
a. Standardization of overall infrastructure based on open standards
b. Virtualization of server resources
c. Seemless Provisioning of applications
d. Pay-as-you-go billing models and charge back of IT resources based on consumption
e. Services oriented architecture (SOA)

Their main advantages over the “PUBLIC clouds” are
1. less risk of security related issues
2. more control over the network bandwidth and availability

In my opinion, some big IT houses will adopt to “Private Clouds” to get the benefits of cloud computing while keeping the control in-house in the short term. As the technology advances and matures, it will also benefit the PUBLIC CLOUD providers!

Difference between EAI and ESB

November 21, 2008

What really is ESB (SOA term)? What is its main difference with EAI (slightly older term)?

EAI is generally a HUB and SPOKE model of integrating the applications. When we remove the HUB from EAI and replace with a BUS (called ESB – Enterprise Service Bus) it becomes the SOA.

“Web Services” can be developed using multiple technological options can then be put on to this BUS and used by multiple consumers.

The SOA gives the marketplace to buy and sell services as commodity. The standards around the service description, service discovery and service invocation makes it all possible.

ESB is a concept, there are several software tools enabling the implementation of ESB are available in the market. They generally run on a middleware server as an application providing some core functionality around the service choreography and orchestration.

There are also BPEL engines which can do all the functionality of ESB and provide more complex work flow modeling of business processes.

It is an important decision to make between the ESB and BPEL processor manager while providing solutions.

There are instances a classical EAI tool would be sufficient to solve a specific problem where the BPEL based solutions are being implemented!!!!

Links:
Good Link found on the web on this subject: http://emergingtech.ittoolbox.com/documents/soa-vs-eai-vs-esb-12998

Service Oriented Analysis and Design

April 14, 2008

Currently the Business Process Modeling (BPM), Enterprise Architecture (EA) and the object oriented analysis and design (OOAD) being put together to make the overall life cycle of software architecture development into a service oriented analysis and design (SOAD)

The focus is to analyze the business from a service oriented perspective and get the business aligned, loosely coupled, coarse grained services identified and documented.

The complete SOA life cycle involves
Service Identification – Analysis
Service Specification – Design
Service Realization – Development & Testing
Service Operation – Implementation and Maintenance

The concepts come from Object Orientation but quickly getting adopted to “Service Orientation”

The life cycle is supported by the Service Governance and Service Security and other manageability aspects as the supporting “technical” SOA framework.

Data Security and Related Technologies

February 13, 2008

This post is my review of the technology available in the area of “Data Security” – Security in used in a context of access control and threat protection.

All the information technology is about making the right data available to the right user and the security means it should not be available to a wrong user. This is especially true for the sensitive and personal data stored on the IT assets.

The focus is on Oracle Technologies.

Virtual Private Database & Oracle Label security
Used to restrict regional/role-based access to the data using the data access policies or labels. A user with right role in right region can access their own data. They will not be able to see any other data, which they are not authorized to see.

Transparent Data Encryption – Disk level encryption
Used for Disk level encryption of data. Data is not stored in plain text on the disk, Prevents data visibility to some low level disk reading type attacks

DBMS_CRYPTO – Application Encryption
Application managed encryption. Only the application knows how to use the data.

Database Vault
Role separation and Insider threat.
Good for IT/DBA outsourcing. Protection from privileged users accessing the sensitive application data.

Data Masking or Scrambling
The internal development/test by masking sensitive data or provide the data to service providers for billing or telemarketing etc by scrambling sensitive data.

Services and BPEL

October 19, 2007

Of late there is a lot happening on the service oriented architectures (SOA)

Approximately two years back, when the UK gas distribution networks have been sold to different private owners by the regulated business there was a need to “integrate” the business processes uniformly for the metering business work management applications where I first got into the this.

Is this new? when the c language programs were written a function used to provide a specific “service” to the calling function. It was call by value or call by reference and use of pointers that time. Later in multi processing systems the interprocess communication (ipc) was used to coordinate between the processes running on the same computer. Further to that the remote procedure call (rpc) came up. Multiple standards have come up from the rpc technology and with the advent of xml it finally transformed as web services.

SOA is not actually a software thing it is more of an architectural pattern. designing the business process as a loosely coupled services and orchestrating the web services using the business process managers is synonymously called as SOA.

The beauty of SOA’s success is in the appeal of legacy wrapping. No need of re-writing the legacy application. One can still use the core COBOL back-end program with a wrapped adapter in a web service orchestrated SOA environment.

Care must be taken while designing and defining services and the work flow. Properly designed business processes with the aid of BPEL looks very promising for the future.