You will find on this website publications about informations technologies. The content is available in french and english.

dimanche, 10 juin 2007

SOA essential concepts

The implementation of a Service-Oriented Architecture, SOA to use the buzzword, is now frequent. Theses implementations leads to healthy thought about it. After a first phase of spreading and clarification about what is SOA, some acceptance is setting up. So, we now find the principles that guide that architecture, the expected benefits, a method (in french...) and of course the vendors products that will help the implementation (the verb “help” is important because theses tools are not magic).

Layered architecture

That architecture first leads to ask real background questions about business formalisation and put system architecture in frontline and that is salutary.

What is also interesting in my opinion is the paradigm change at work with this architecture. I'm interested in the abstraction level of the concepts that we use and the SOA clearly give a high place abstraction level very noticeable. What are the concepts that we can consider as essential for SOA ? :

  • The concepts that form a process : activity, transition, synchronization. These concepts are important because they put emphasis on the process design at a macro level with possibility to implement those process directly. It goes along with the come back of the functional languages, we can say that the function goes ahead the data that was put too much in the frontline with the object approach.
  • The event : fundamental concept for a dynamic modelization worthy of this name and largerly sub utilized by UML.
  • The composition : the object approach essentially give to this notion a structural vision. A more dynamic approach is given by the architectural style "Pipe-and-Filter".
  • The service : the service is the unitary element of this architecture because it is the interface of the underlying unitary system (and if possible, implemented with an object approach).
  • The data : it seems evident but this very large concept has evolved to such an extent that I permit myself to flow it as a fundamental concept. The web and the XML language are greatly involved in theses evolutions. The Adam Bosworth's article concerning the background changes at work in data structures is an excellent vision for that.

Hence, these five concepts form, in my opinion, the foundations of SOA Architectures. You will find some transversal concepts but that stay for me secondary and less structuring (service registry, rules engine, service management and monitoring, etc.). Nevertheless, a very important principle occuring during implementation, so that does not help to modelize, is the standard respectness (XML, WS-* or web with REST architecture, etc.).

This post was inspired by the one from Gregor Hope on SOA patterns, I agree with him on the first three concept but, to my mind, the declarative approach does not make any paradigm change because it is in place for a long time (SQL is the most famous exemple).

Technorati Tags:

Posted at 3:27 PM in en/Architecture/
portage salarial freelance