SOA steht für Service Oriented Architecture, also für eine Softwarearchitektur welche auf Dienste aufbaut und nicht von monolithischen Programmen dominiert wird. SOA ist daher auch keine neue Technologie um Fachliche Probleme besser, schneller oder eleganter lösen zu können, sondern beschreibt ein Paradigma zur Softwareentwicklung basierend auf unabhängigen Bausteinen, den Diensten. Technologisch konnte man SOA schon vor Dekaden realisieren, z.B. durch die Middleware CORBA. Heutzutage werden Dienste zumeist über Webservices angeboten (SOAP).

Die Idee hinter SOA ist das erstellen von abgeschlossenen und eigenständigen Diensten welche durch ihre Schnittstellen über ein Netzwerk der Öffentlichkeit zur Verfügung gestellt werden.  Diese Dienste sind plattformunabhängig und können zur Laufzeit über einen Verzeichnisdienst angefordert werden. Die abgekapselten Dienste können nun zu „höheren“ Diensten zusammengefügt (Orchestriert) werden.
Dienste können also beliebig wiederverwendet werden und helfen dadurch die Entwicklungskosten neuer „höherer“ Dienste zu minimieren. Durch die lose Kopplung der Dienste wird auch die Wartung und das Erweitern der „höheren“ Dienste erleichtert. Um zu dieser Flexibilität zu gelangen muss allerdings zuerst die Umstrukturierung der momentanen Applikationslandschaft und deren Ersetzung durch Dienste realisiert werden.

Das einführen von SOA bedarf einer wohlüberlegten Planung unter Einbeziehung von Mitarbeitern und Management. Um diesen Planungsaufwand bewältigen zu können bietet SparxSystems in ihrer Modellierungsplattform Enterprise Architect eine Vielfalt an Werkzeugen.

Enterprise Architect, ursprünglich UML CASE Tool, verfügt mittlerweile über eine Vielzahl an Modellierungssprachen. Neben der UML bietet sich die Verwendung von Maind Maps und Archimate (http://www.archimate.org/) Modellen an um eine Teambasierte Umstrukturierung Ihrer monolithischen Applikationen zu unterstützen.

Auch die von Michael Bell speziell für SOA definierte Sprache von (SOMF - Service-Oriented Modelling Framework) wird bereits von Enterprise Architekt unterstützt. Eine weitere von Enterprise Architekt unterstütze Sprache ist die von der OMG spezifizierte SoaML  (Service-Oriented Architecture Modelling Language), welche als Antwort auf den Call for Proposals zu "UML-Profile and Metamodel for Services" (UPMF) entwickelt wurde.

Wenn die einzelnen Dienste herausgearbeitet wurden können sie für die Abwicklung komplexerer („höherer“) Prozesse verwendet werden. Die Orchestrierung der einzelnen Services zu einem großen Prozess kann neben UML Aktivitätsdiagrammen auch mit den in Enterprise Architect verfügbaren Sprachen BPMN (Business Process Modelling Notation) und eEPK (erweiterte Ereignisgesteuerte Prozessketten)s definiert werden.

Um Ihren SOA Softwareentwicklungsprozess beschreiben zu können bietet Enterprise Architect die von der OMG spezifizierte Sprache SPEM (Software and Systems Process Engineering Meta-model). Damit haben Ihre Projektleiter sowie andere Personengruppen welche für die Erstellung und Bewahrung von Entwicklungsprozessen verantwortlich sind ein Werkzeug an der Hand diese Prozesse für jeden am Projekt beteiligten genormt zur Verfügung zu stellen.

Enterprise Architekt ist eine kostengünstige Lösung um Ihre SOA Projekte voranzutreiben und Ihr gesamtes Team mit den nötigen Informationen zu versorgen. Überzeugen Sie sich selbst, hier können Sie eine 30 Tage Trial Version downloaden. Bei Interesse schreiben Sie an vendor@SparxSystems.eu

Weiterführende Links:

SoaML Archimate SPEM BPMN MindMap