Service Orientierte Architekturen für Healthcare Migration von eGate auf Sun's Java CAPS und die Zukunft von CAPS Peter Affolter 16 FACHBEITRÄGE Kompendium Schweiz 2007 Peter Affolter Mit der Übernahme von SeeBeyond durch Sun Microsystems vor rund zwei Jahren hat Sun auch die Produkte eGate und ICAN übernommen. Diese wurden zusammen mit bestehenden Sun-Produkten zu einer neue Produktefamilie - ‹Composite Application Platform Suite› (CAPS) weiterentwickelt. ICAN, wie auch die neue CAPS Plattform basieren auf Java/JEE und laufen in einem Java ­Application Server. Die bestehenden Applikationen, welche für eGate entwickelt wurden, sind noch auf der Basis einer proprietären Skriptsprache erstellt. Dies macht eine Migration von eGate nach CAPS nicht einfach. Mit Hilfe des Produktes ‹Schema Runtime Environment› (SRE) von Sun können die beiden Applikations-Arten aber einfach parallel betrieben und sanft migriert werden. Übersicht Java CAPS Wie schon erwähnt, basiert CAPS vollständig auf Java/ JEE. Sun im speziellen hat die Suite so weiterentwickelt, dass sie allen gängigen Standards entspricht. So ist sie nicht nur eine Suite an Produkten für die klassische Enterprise Application Integration (EAI), sondern auch eine komplette Infrastruktur zur Erstellung von Applikationen auf der Basis einer Service orientierten Architektur (SOA) und von Composite Applications. SOA und Composite Applications sind zukunftsweisend für die Realisierung von Integrationen und wiederverwendbaren Applikationen. Sie basieren auf offenen Standards und vermindern so die Komplexität einer zukünftigen Migration erheblich, falls dies überhaupt noch nötig sein sollte. Java Composite Application Platform Suite Abbildung 1: Java Composite Application Platform Suite Die Komponenten von CAPS werden hier kurz erläutert, um die Zusammenhänge bei der Migration mit eGate besser verständlich zu machen. (siehe auch Abbildung 1 ‹Java Composite Application Platform Suite›) nCore Services Diese bestehen aus einem Java/JEE Application Server als Runtime für die Plattform und aus einem Directoryund Access Manager für die Sicherheit der Services. ­Diese kontrollieren die Zugriffe auf die einzelnen Komponenten zu Design- und Runtime. neGate Integrator Dies ist der Enterprise Service Bus (ESB) des klassischen SOA-Umfeldes, welcher die eigentliche Runtime-Umgebung der Services darstellt. nRepository / Registry Bilden die zentralen Directories. Das Repository enthält alle Produkt- und Projekt-Artefakte zur Design-Time der Applikation. Die Registry verwaltet alle Services zur Runtime. Bei einer SOA ist einer der Kernpunkte das Auffinden und Ausführen von externen Services. nEnterprise Designer Der eDesigner ist das zentrale Integrated Development Environment (IDE) zur Entwicklung der gesamten ­Applikation von der Integration der Backend-Systeme, über die Business Prozesse bis hin zum Benutzer-Interface. Dabei muss sich jeder Entwickler beim zentralen Repository anmelden und sieht so nur die für ihn freigegebenen Komponenten des Projektes. nEnterprise Manager Auch beim eManager muss sich der Benutzer anmelden und verfügt so jeweils über klar definierte Möglichkeiten, um die laufenden Applikationen zentral zu überwachen und gegebenenfalls zu starten/stoppen oder neu zu deployen. Es ist die zentrale, webbasierte Applikations-Management-Konsole. nIntegration Components Für die Integration von Backend-Systemen verfügt die Suite über vier Komponenten. Die bekanntesten sind dabei sicher die eWays zum Anbinden von mehr als 80 verschiedenen Systemen. So können beispielsweise JBDC, JMS Oracle, SAP oder Siebel ohne Programmierung eingebunden werden. Im weiteren gibt es zwei Komponenten zum Einbinden von B2B Servern via EDIFACT, ebXML, usw. sowie eine Komponente für das Verarbeiten von grossen Files via ETL (Extract Transform Load). All diese Komponenten sind in eDesigner und eManager integriert und bilden direkt Services einer SOA. Diese Services können über die verschiedensten Interfaces wie Web Services, JMS, RMI oder native EJB aufgerufen werden. neInsight Business Process Manager Ist die Runtime-Umgebung für Business Prozesse, welche durch den Standard BPEL (Business Process Execution Language) definiert sind. Diese können mit dem eDesigner grafisch erstellt, oder von anderen BPEL­fähigen Tools importiert werden. Migration von eGate Applikationen nach Java CAPS nView Generation In der View-Generation gibt es zwei Studios, mit welchen Benutzer-Views erstellt werden. Mit dem eVision Studio werden dynamische HTML-Seiten erstellt. Mit dem eBAM Studio für Dashboard-Pages können Daten aus den aktuellen Business Prozessen (Business Activity Monitoring - BAM) als verschiedene Grafiken dargestellt werden. Mit der eView Komponente werden logische Views auf Daten-Records definiert. Dies wird in der Regel in Bereichen von Personen, Kunden oder Patienten verwendet. Mit dieser Anwendung kann zum Beispiel ein Master Patient Index erstellt werden. nPortal Der Sun Portal Server rundet die Suite ab. Er dient dazu, die einzelnen Web-Applikationen in einem vereinten, personalisierten Benutzer-Interface darzustellen. Er kann so als zentraler Zugang zu allen Applikationen dienen, also nicht nur für CAPS-Applikationen, sondern dank dem Portlet Standard JSR168 für jede beliebige Applikation. Applikationen, welche auf der Basis von eGate entwickelt wurden, basieren auf der proprietären Skript-Sprache Monk und einer Schema Definition zur Integration der Backend-Systeme. Oft wurde die Business-Logik der Integrationen anschliessend in Java realisiert, aber die Anbindung und die Kontrolle verbleibt in Monk. Dies bedeutet, dass die bestehenden Applikationen nicht einfach automatisch konvertiert werden können. Um eGate-Applikationen einfach und insbesondere schritt­ weise auf Java CAPS Applikationen zu migrieren, gibt es das Tool ‹Schema Runtime Environment (SRE)›. Damit können eGate 4.x Applikationen innerhalb der Runtime von CAPS ablaufen. Dies wiederum bildet die Grundlage, damit bestehende Module in eGate direkt mit neuen Applikationen in CAPS kommunizieren können. Ebenso wird der eManager wieder zur zentralen Konsole, um beide Applikations-Typen entsprechend zu überwachen. Damit ist CAPS eine komplette Suite. Sie überzeugt insbesondere durch ihre saubere Integration und die einfache Bedienung. Die Erstellung eines neuen Services, einer neuen Composite Application oder Integrations-Applikation geschieht hauptsächlich durch Konfiguration und nicht durch aufwändige Programmierung. Lösungen ­können so schneller und weniger fehleranfällig realisiert werden. Upgrading to the SRE 4.x Suite Java CAPS 5.x Collaboration A SRE Collaboration A J2EE Collaboration X Queue 1 SRE Queue 1 J2EE Queue 2 Collaboration B SRE Collaboration B J2EE Collaboration Y 4.x Schema Enterprise Manager Enterprise Monitor SRE Schema Designer Enterprise Manager Enterprise Designer FACHBEITRÄGE Kompendium Schweiz 2007 17 18 FACHBEITRÄGE Kompendium Schweiz 2007 Damit ist nun die Grundlage geschaffen, um die bestehenden Module von eGate nach CAPS zu migrieren. Im Wesentlichen müssen diese nun Schnittstelle für Schnittstelle auf CAPS neu geschrieben werden. Dabei kann man aber sehr einfach mit ähnlichen Tools weiterarbeiten. Dank den eWays kann man ohne Aufwand mit den Komponenten in der SRE kommunizieren. Dies erlaubt eine schrittweise Migration und nicht eine ‹Big Bang›-Umstellung auf einen bestimmten Tag. Ebenso kann die SRE und die CAPS Umgebung jederzeit mit neuen Versionen ak­ tualisiert werden. So kann die Koexistenz der beiden Systeme beliebig lange dauern. Einzelne Schnittstellen oder Komponenten können so also auch langfristig weiter auf eGate/SRE betrieben werden. Es macht zum Beispiel ­keinen Sinn, eine Schnittstelle auf CAPS zu migrieren, wenn das Zielsystem ohnehin in einem oder zwei Jahren ausser Betrieb genommen wird. Weitere Informationen www.sun.com/products/soa www.sun.com/software/javaenterprisesystem/javacaps Zum Autor Peter Affolter ist Elektro- und Software-Ingenieur und arbeitet seit gut 15 Jahren in der Software-Entwicklung. Davon ist er seit 10 Jahren im Consulting-Bereich für Java tätig, beispielsweise für Firmen wie Netscape, Silverstream und BEA-Systems. Seit Februar 2006 ist er als Software Architekt für Sun Microsystems (Schweiz) AG im Einsatz. n Alle grösseren Änderungen oder neue Entwicklungen können aber direkt in CAPS gemacht werden. Bestehende Interfaces werden so lange weiter verwendet, bis keine aktiven eGate Schnittstellen mehr laufen. SRE kann dann einfach abgestellt werden. Das ganze Routing der Daten zwischen den einzelnen Schnittstellen - unabhängig davon, ob direkt in CAPS oder in SRE - wird dann bequem und grafisch mit Business Prozessen modelliert und benötigt keine komplexe Programmierung. Sowohl grössere Spitäler in der Schweiz, als auch ein ­Finanz-Institut sind zur Zeit daran, eine Migration in Angriff zu nehmen. Sie gehen davon aus, dass die beiden Systeme gut ein Jahr parallel laufen werden. Ausblick auf die Weiterentwicklung von Java CAPS Java CAPS ist für Sun Microsystems die zentrale SOA- und Middleware-Plattform und wird konsequent weiterentwickelt. Im Moment steht CAPS in der Version 5.1 zur Verfügung. Diese ist die erste vereinte Version von ICAN und der Sun Runtime. In den nächsten Quartalen werden die Minor-Versionen 5.1.1 und 5.1.2 herausgegeben, um kleinere Erweiterungen und Performance-Verbesserungen einzubringen. Mit der Version 5.2, die Ende 2007 erscheint, wird die nächste grössere Version auf den Markt kommen. Sie hat vorwiegend eine bessere Integration in weitere Sun Produkte und BPEL 2.0 zum Thema. Mit dem neuen Standard Java Business Integration (JBI, JSR208), welcher zur Zeit in Bearbeitung ist, werden ESBs zu einer Plug-In Architektur umgeschrieben und können zukünftig noch besser mit anderen Systemen zusammenarbeiten. Sun wird im Jahr 2008 CAPS in der Version 6.0 auf den Markt bringen, welche vollständig als JBI realisiert ist. Eine Migration der Applikationen wird aber nicht notwendig, da JBI nur die interne Architektur von ESBs tangiert und nicht deren Applikationen. Korrespondenzadresse Peter Affolter Software Solution Architect Sun Microsystems (Schweiz) AG Javastrasse 2 / Hegnau 8604 Volketswil Tel. 044 908 90 00 [email protected] www.sun.ch