vrijdag 26 september 2008

SOA: hoe in te voeren?

Jonathan Mack op InfoQ, over hoe moeilijk het is om SOA in te voeren.


"When it comes to the SOA roadmap, the two most popular approaches to SOA implementation have emerged lately:
  • Enterprise (top-down) SOA approach, which is an extremely high - risk approach with an initial price tag of a several million dollars. In addition, based on the size and complexity, such project can virtually never be accurately estimated.
  • Grassroots (bottom-up) SOA approach - implementing elements of SOA (both services and infrastructure) as parts of existing business-driven IT undertaking. This approach typically does not succeed. On one hand, the scope of resulting services is limited to the specific business problem and might not be applicable (or even wrong) for the rest of enterprise. On another hand, the time and expense required to build the SOA layer can detract from other business needs of a project."
OK, dat lukt dus niet. Mack gaat dan verder met constateren dat een incrementele aanpak beter is:
"...to build SOA incrementally. Most vendors have come around to recognizing that this is the most reasonable approach. Nevertheless, it’s not simple to accomplish. The key elements of an Enterprise Server Bus (ESB) - the ability to translate and transform information from one system to another and the ability to route messages - as well as the messaging infrastructure to transmit the information must be in place from the beginning. Common (shared) services such as logging, monitoring, and exception handling also should be Day 1 implementations."




Ja, zo ken ik er ook nog wel een paar. Dit is dus ook een moeizaam verhaal.

Conclusie: SOA, althans ESB gedreven SOA, werkt niet.

Misschien wat kort door de bocht, maar eigenlijk komt het daar wel op neer. Zie ook dit en dit.


1 opmerking:

Anoniem zei

"ESB gedreven SOA". Bestaat er dan ook zoiets als "niet ESB gedreven SOA"? Volgens mij niet. Zelfs in een volledig geharmoniseerde en gestandardiseerde wereld zul je altijd berichten moeten routeren, gegarandeerd moeten transporteren en moeten orkesteren. Of zie jij een alternatief?