Bei Xebia sind wir an einer ganzen Reihe von SOA-Projekten ( Service Oriented Architecture ) beteiligt, von kleinen bis hin zu großen. In dieser Eigenschaft sehen wir eine Menge guter Dinge, aber wir sehen auch eine ganze Reihe von Projekten, die ins Stocken geraten oder gescheitert sind.
Um unsere Erfahrungen mit diesen SOA-Projekten zu teilen, haben Gero Vermaas, Viktor Grgic, Rik de Groot und ich beschlossen, eine Reihe von Blogs über die ärgerlichsten Fallstricke von SOA zu schreiben. Jede Woche werden wir einen Punkt aus dieser Liste veröffentlichen. Auf diese Weise hoffen wir, das Bewusstsein für diese Gefahren zu schärfen und Ihnen eine Checkliste an die Hand zu geben, auf die Sie achten sollten. Wie immer bei solchen Listen sind sie natürlich nicht vollständig und nicht alle Probleme sind so absolut, wie der Titel vermuten lässt. YMMV!
Der erste Punkt, den wir besprechen möchten, ist das Not Invented Here Syndrom (NIH). Natürlich ist dies etwas, das in mehreren Bereichen der IT zu beobachten ist, aber in einem SOA-Kontext trifft es tatsächlich auf zwei verschiedene Ebenen zu.
Zunächst einmal besteht die Idee einer SOA darin, vorhandene Dienste wiederzuverwenden. Wenn Abteilung A einen Service get_personal_details erstellt, macht es wenig Sinn, wenn Abteilung B einen Service get_address erstellt. Vorausgesetzt, der get_personal_details-Dienst liefert die vollständige Adresse.
Natürlich kann es mehrere Gründe geben, warum Abteilung B dies tut:
- Sie wissen nichts über den Dienst get_personal_details. In diesem Fall gibt es keine richtige Service-Registrierung, ein Punkt, den wir später besprechen werden.
- Die Art und Weise, wie sie ihre Anwendung entwerfen, veranlasst sie nicht, über Wiederverwendung nachzudenken. Das ist eines der Dinge, die bei der Anwendung von Big Design Up Front passieren können. Das werden wir auch in einem zukünftigen Blog besprechen (so wird die Spannung aufgebaut, nicht wahr? ;-) ).
- Sie kennen den Dienst get_personal_details, möchten ihn aber nicht nutzen. Vielleicht wissen sie nicht, was er genau tut, vielleicht trauen sie Abteilung A nicht zu, dass sie es richtig macht oder richtig hält, oder vielleicht möchten sie lieber die volle Kontrolle über die Implementierung haben. In diesem Fall haben Sie es mit einem klassischen NIH zu tun. Dies ist der richtige Zeitpunkt, um über die Eigentumsrechte an den Diensten zu sprechen und sowohl Abteilung A als auch Abteilung B das Gefühl zu geben, die Kontrolle zu haben.
- Anfang der 2000er Jahre entdeckten Unternehmen, die die nachrichtenbasierte Integration nutzen, den Bedarf an wiederverwendbaren generischen Diensten (z.B. Übersetzung, Routing, Transport usw.). Dies führte zur Entwicklung zahlreicher selbst entwickelter Messaging-Frameworks, die in der Regel auf einem Messaging-System wie
MQ Series aufsetzen. Obwohl diese Frameworks damals einen Bedarf erfüllten, haben sie sich aufgrund ihrer Beschaffenheit mit vielen Unternehmensanwendungen verflochten und dadurch die Einführung eines ESB nach Industriestandard behindert. - Aber selbst jetzt schreiben die Leute ihre eigenen ESB-ähnlichen Dienste. Viele Architekten haben den Eindruck, dass ESBs von den Anbietern stark forciert werden und betrachten ESBs als nutzlose Systeme, auf die sie verzichten können. Das mit dem Drängen mag zwar stimmen ;-), aber eigene Übersetzungs-, Routing- und Transportdienste zu schreiben, halten wir nicht für eine sehr vernünftige Antwort. Sie bauen in der Tat Ihren eigenen ESB auf!
Verfasst von
Vincent Partington
Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



