Building a technical infrastructure that allows to support the concepts, principles and architectural approaches behind SOA.
SOA is a "hot" word. Everybody is speaking about it out there, but What is it? What are the ideas supporting this concept? Well, in this post I 'm going to analyse and define SOA under a technical and business view; and present a logical architecture that can be used to run a SOA designed application.
SOA "Services Oriented Architecture" points a way to model and organize the interactions among several application in a decoupled, standardized and business processes oriented way. Each application must express your business functionalities to the external world as services. A service is a decoupled and well-formed interface that defines all things that the application wants to share to the other applications.
The interactions among the applications is driven by an open and standardized protocol. This protocol must be text-oriented and technical ubiquitous. ( Transversal to any technology).
SOA as an architectural approach needs a physical platform which allows to deploy and execute each designed and implemented application using services as core concept and component. That physical platform should offer support to several non-functional requirements -NFR-, such as: transaction management, security, availability, reliability, scalability and many other NFRs required to run a big scale enterprise application.
Enterprise Services Bus (ESB) platforms are emerging as that SOA's physical platform. Technically speaking, an ESB platforms is a kind of runtime infrastructure that allows to integrate many disparated systems using synchronous and asynchronous mechanisms. It combines services (such as: webservices, RMI oriented interfaces, CORBA, .NET remoting, DNA, and so on) and queues (queues, topics) to exchange messages among different enterprise applications, each one built on different technical languages and for either different operating systems or hardware architecture (RISC, CISC).
According to my -many-years- experience and several enterprise deployment, I think that one ESB can be structured around the following logical layers:
a- Services Layer
b- Connector layer
c- BPM layer
d- Middleware layer
e- Management layer
f- Security layer.
The description of each one layer is presented nearly as one posting blog.

3 Comments:
Excellent SOA overview. The concepts are clearly explained. Could be interesting for the community to learn more about the ESB.
You are an excellent writer.
I love you my lover !
Nice nice. :) Keep on writing!
Feliz año Jorgito... (toca acá porque nadie le escribe). Ojalá el próximo año le traiga más ejercicio para que no le de un infarto.
Post a Comment
<< Home