Lade...
 

SOA

Service Oriented Architecture (SOA)

In erster Linie beschreibt SOA ein Organisationskonzept, welches eine an den konkret benötigten Geschäftsprozessen ausgerichtete IT-Infrastruktur anstrebt, die schnell und flexibel auf Änderungen im Geschäftsumfeld reagieren kann. Aus dieser Anforderung folgt eine Systemarchitektur, welche sich primär an der Bereitstellung von fachlichen Diensten und Funktionalitäten orientiert. Im SOA-Kontext ist eine solche Funktionalität als Service definiert, welcher über eine einheitliche/standardisierte Schnittstelle angesprochen werden kann.

Die Zusammenstellung der Funktionalität für einen gesamten Geschäftsprozess kann so über die Komposition einzelner, lose gekoppelter Dienste erfolgen. Aufgrund der einheitlichen Schnittstelle ist es dabei unerheblich, ob die Dienste von unterschiedlichen Programmen auf unterschiedlichen Systemen zur Verfügung gestellt werden. Somit ist die umfassende Integration auch sehr heterogener IT-Landschaften auf einer einheitlichen Basis möglich. Gleichzeitig wird eine hohe Wiederverwendbarkeit sowie die Unabhängigkeit von konkreten Implementationen der einzelnen Dienste erreicht.

Im Zusammenhang mit SOA werden häufig auch Web Services genannt. Dieses bedeutet nur, dass ein Service wie im Rahmen von SOA über im Web übliche Standards (z.B. HTTP, FTP, SMTP) als Transportmedium angesprochen werden kann. Genauer ist ein Webservice über einen URI eindeutig identifizierbar und seine Schnittstelle per XML definiert.

SOA mit ClassiX®

Auch ClassiX® bietet die Möglichkeit als Teil einer serviceorientierten Architektur mit anderen Anwendungen zu kommunizieren. Dazu stellt ClassiX® eine CORBA-Schnittstelle zur Verfügung. Über diese standardisierte Schnittstelle ist es Möglich, mit ClassiX® zu kommunizieren. Dabei basiert die Kommunikation auf dem Message-Konzept von InstantView®. Es ist also möglich, InstantView®-Messages an ClassiX® Instanzen zu senden und dabei beliebige Parameter zu übergeben.

Somit kann ein ClassiX® diverse Services anbieten, welche auf einfachste Art und Weise in InstantView® implementiert werden können. Zur Adressierung von verschiedenen ClassiX® Systemen und somit der Dienste kommen standardisierte Mechanismen von CORBA zum Einsatz, wie z.B. der CORBA Naming Service. Hier melden sich laufende ClassiX® Instanzen an und können dann von anderen Anwendungen abgefragt werden. Diese Art der Namensauflösung ermöglicht dann das Senden von Messages an die ClassiX® Systeme. Die ClassiX® Instanzen melden sich mit eindeutigen Namen beim CORBA Naming Service an und lassen sich so gezielt ansprechen.

 

Die Abbildung eines Service in ClassiX® erfolgt dementsprechend auf eine InstantView® Nachricht. Parameter werden wie gewohnt auf dem Stack mit übergeben. Somit können in InstantView® beliebige, von Außen über CORBA erreichbare Dienste implementiert werden. Ebenfalls möglich ist natürlich die Kommunikation von mehreren ClassiX® Instanzen untereinander. Die Rückgabe von Ergebnissen eines Services an die Fremdanwendung ist möglich, indem auch die Fremdanwendung das CORBA-Interface zum Empfang von Messages implementiert. Der Service auf InstantView®-Basis kann dann die Ergebnisse zurückliefern indem einfach eine entsprechende Message an die Fremdanwendung geschickt wird und die Daten auf dem Stack übergeben werden.

Als Beispielimplementation einer einfachen Anwendung, welche über die CORBA Schnittstelle mit dem ClassiX® System kommuniziert, ist bei jeder ClassiX® Installation das Program cxsendmsg.exe mitgeliefert. Dieses Kommandozeilenprogramm kann eine Message zusammen mit entsprechenden Parametern an eine beliebige ClassiX® Instanz senden.

Die Unterstützung von SOAP-basierten Web Services mit ClassiX® ist für die nähere Zukunft geplant. Diese ist auch über die CORBA Schnittstelle möglich, indem ein Adapter geschaffen wird, welcher per SOAP empfangene Anfragen umsetzt in CORBA-basierte Kommunikation mit dem ClassiX® System.