Java Magazin 8.2007
Total Page:16
File Type:pdf, Size:1020Kb
42846_ms_javaMa0707_weapons.indd1 1 Niederlande € 7,80 © 2007 Microsoft Corporation. Alle Rechte vorbehalten. 8.07 Deutschland € 6,50 Österreich € 7,50 Schweiz sFr 12,70 Ihr Potenzial. Unser Antrieb. VERSCHAFFEN SIE SICH DIE RICHTIGE WAFFE, BEVOR BEVOR WAFFE, RICHTIGE DIE SICH SIE VERSCHAFFEN OSGi – Die Zukunft Javas? Javas? Zukunft Die – OSGi SIE SICH DIESER WEBANWENDUNG STELLEN. WEBANWENDUNG DIESER SICH SIE Internet & Enterprise Technology www.javamagazin.de • SOA mit Open Source Source Open mit SOA Auf Testversionen & more • JAX-TV: Interview mit Dierk König • Ivy 1.4.1 CD • TeamCity 2.1 • Apache Forrest 0.8 • Groovy 1.0 • DbUnit 2.2 ➔ Lesen Sie im Heft ab Seite 67! • Alle Infos auf S. 3 JSF in großen Projekten Projekten großen in JSF • Reporting unternehmensweit unternehmensweit Reporting OSGi Die Zukunft Javas? ➔ Komponenten in Java, jetzt aber richtig! ➔ Mit Eclipse OSGi-Bundles entwerfen • JSR 275: Internationale wissenschaftliche Formate Formate wissenschaftliche Internationale 275: JSR SOA mit Open Source Was leisten die freien Tools? JSF im Härtetest Praxis in großen Projekten • ASP.NET AJAX Control Toolkits von Visual Studio von AJAX Toolkits Control ASP.NET Sie diese: Mit den standardkonformen Meistern gestalten. Webseiten interaktive beeindruckende, Herausforderung: Ihre Tools unter unter Tools und Tipps Mehr aufzunehmen. Browser jedem mit es bereit, Spring-Avalon-Migration Spring-Avalon-Migration Reporting unternehmensweit Herausforderungsmeister.de Ein Bericht sagt mehr als 1.000 Zeilen Zahlen & Fakten • Crossmedia mit XML mit Crossmedia JSR 275: Internationale wissenschaftliche Formate Spring-Framework ® Avalon-Spring-Migration – sind Sie 15.05.2007 15:44:46 Uhr ein Praxisbericht Crossmedia mit XML Apache Forrest bedient viele Formate 7 86 45 D Open Source SOA Realisierung einer serviceorientierten Architektur auf der Basis von Open Source SOA auf die leichte Art VON WOLFGANG PLEUS Derzeit positionieren sich die Großen der Branche als Anbieter von Plattformen für serviceorientierte Architek- turen (SOA). Dies lässt erahnen, wie bestimmend das SOA-Paradigma für die nähere Zukunft sein wird. Auch jenseits der etablierten Anbieter entstehen anspruchvolle Produkte im Open-Source-Bereich, die jedoch mangels Marketing oft kaum wahrgenommen werden. Dabei haben auch diese Produkte eine Menge zu bieten. Getrieben vom eigenen Produktportfolio wird die Verwaltung von Services, Regeln genannten Bausteine Open-Source-ba- hat jeder Hersteller eine eigene Vorstellung oder Richtlinien erschwert. Eine Registry/ sierte Implementierungen mit einem zu- von der technischen Ausgestaltung einer Repository hilft dabei, die Komplexität zu friedenstellenden Reifegrad (Tabelle 2). serviceorientierten Architektur. Unabhän- beherrschen. Sicherheitsaspekte wie Au- Da es den Umfang des Artikels sprengen gig von den Unterschieden fi nden sich aber thentifi zierung und Autorisierung werden würde, alle Bausteine im Detail zu be- immer wieder gleiche Funktionalitäten, durch ein Identity-Management-System trachten, konzentrieren wir uns zunächst sodass eine serviceorientierte Referenzar- abgebildet. Und schließlich bedarf es der auf die Kernbausteine Enterprise Service chitektur in der Regel einen oder mehrere Möglichkeit, eine SOA zu überwachen. Bus und Business Process Management. Bausteine aus Tabelle 1 umfasst. Da die Interaktion häufi g asynchron und Mit Apache ServiceMix steht ein Ja- Der Enterprise Service Bus sowie das verteilt abläuft, stellt dies eine echte Her- va Business Integration-(JBI-)konformer Business Process Management stellen die ausforderung dar. Durch Health Tracking ESB zur Verfügung, während Apache Kernfunktionalitäten einer SOA bereit, da lassen sich Fehlersituationen aufspüren Ode die Laufzeitumgebung für Business sie es ermöglichen, Prozesse zu defi nieren und beseitigen, während Business Activi- Process Execution Language (BPEL) be- und auszuführen. Eine Rule Engine erlaubt ty Monitoring zur statistischen Aufberei- reitstellt. JBI [6] ermöglicht die herstel- es, fachliche Regeln in die Prozesse einzu- tung der erfassten Daten dient. Daduch lerunabhängige Wiederverwendung von beziehen und dynamisch anzupassen. Mit lassen sich beispielsweise Nutzungsprofi le JBI-Komponenten und erhöht somit die zunehmender Komplexität einer SOA für einzelne Services erstellen. Investitionssicherheit. Dieses Verspre- chen ist nicht neu, wurde ein ähnliches Open-Source-Bausteine Ziel doch auch mit EJB als Komponen- Quellcode auf CD Mit Ausnahme der Tracking- und Moni- tenmodell verfolgt. Dies war aber nur toring-Funktionalität gibt es für die oben bedingt erfolgreich, da wichtige Details www.javamagazin.de 8.2007 67 Open Source SOA Abb. 1: unterscheiden. Mediationsprozesse die- Inte- griertes nen der Entkopplung von Services, indem Szenario sie zwischen dem Konsumenten und dem Anbieter vermitteln. Mediation umfasst: • Protokollumsetzung, zum Beispiel von FTP nach HTTP • Formatkonversion, zum Beispiel Flat- File nach XML • Schematransformation, zum Beispiel Kunde1.xsd nach Kunde2.xsd • Routing, zum Beispiel Auftragswert > 500 – Lieferant A sonst Lieferant B Geschäftsprozesse dagegen modellieren wie Verteilung und Verwaltung nicht im Apache Ode [2] stellt eine Laufzeitum- Prozesse mit Relevanz zur jeweiligen fach- Standard geregelt waren. gebung für BPEL4WS 1.1- und WS-BPEL lichen Domäne. Beispielsweise könnte ein Wie es scheint, hat man dazugelernt 2.0-konforme Prozesse zur Verfügung. komplexer, lang laufender Buchungspro- und neben der Interaktion und Packetie- Die Integration von Ode und ServiceMix zess über BPEL abgebildet werden. Einer rung der Komponenten auch spezifiziert, erfolgt über eine JBI Service Engine. der Vorteile ist die grafische Repräsenta- wie eine Komponente installiert, gestartet tion des Prozesses und die damit verbun- und gestoppt wird. Zudem sind die Ver- Prozesse dene einfachere Kommunikation mit den antwortlichkeiten von JBI-Komponenten Je nachdem, in welchem Kontext eine Fachbereichen. Mediationsprozesse und klar umrissen. Es wird zwischen Binding serviceorientierte Architektur entsteht, Geschäftsprozesse ergänzen sich somit. Components und Service Engines un- liegt der Schwerpunkt entweder auf der terschieden. Während erstgenannte die Integration bestehender Systeme (EAI) Szenario Kommunikation zur Außenwelt regeln, oder der Abbildung von Geschäftspro- Soweit zur Theorie. Im Folgenden soll ge- also beispielsweise Protokolle wie FTP, zessen (BPM). Dies führt regelmäßig zu zeigt werden, wie sich Prozesse mit Open- FILE oder HTTP implementieren, sind Missverständnissen. Während die BPM- Source-Technologien implementieren las- letztere für die interne Verarbeitung be- Fraktion meist reflexartig mit BPEL oder sen. Als Beispiel dient das fiktive Szenario stimmt. Dazu gehören beispielsweise BPMN als Mittel der Wahl antwortet, einer Hotelbuchung (Abb. 1). XSLT-Transformationen oder die Im- führen die EAI-Verfechter meist die Mög- Im Kern steht dabei ein Geschäftspro- plentierung von Interaktionsmustern wie lichkeiten des ESB ins Feld. Dabei führt zess, der in BPEL implementiert und in Apa- Splitter oder Pipeline. Eine vollständige die naive Anwendung der einen oder an- che Ode ausgeführt wird. Der Geschäfts- Liste der verfügbaren Komponenten steht deren Technologie selten zum Erfolg. In prozess nutzt einen Service tour operator, auf der ServiceMix-Website zur Verfü- der Praxis hat es sich bewährt, zwischen der als POJO implementiert ist und durch gung [1]. Mediations- und Geschäftsprozessen zu die Komponente servicemix-jsr181 an den ESB angebunden wird. Dies stellt die einfachste Methode dar, um einen Service Baustein Verantwortlichkeit bereitzustellen. Hier wäre es auch möglich, Enterprise Service Bus (ESB) Entkopplung von Services, Vermittlung externe Services beispielsweise über HT- Business Process Management (BPM) Abbildung von Geschäftsprozessen TP anzubinden. Der Service tour operator Rule Engine Dynamische Änderung von Regeln liefert eine Liste möglicher Hotels in un- Registry/Repository Verwaltung von Artefakten terschiedlichen Preislagen. Der Geschäfts- Identity Management Authentifizierung, Autorisierung, Single Sign-On prozess ermittelt das günstigste Hotel und Health Tracking / Activity Monitoring (BAM) Überwachung sendet das Ergebnis an den Aufrufer. Der Tabelle 1: Bausteine einer SOA Geschäftsprozess kann entweder synchron über SOAP/HTTP oder asynchron über Baustein Verantwortlichkeit XML/Filedrop aufgerufen werden. Die Enterprise Service Bus Apache ServiceMix [1], Codehaus Mule [15], Sun OpenESB [16] Vermittlung und Umsetzung übernimmt Business Process Management Apache Ode, JBoss jBPM [17], Intalio BPMS [14] der Mediationsprozess im ESB. Rule Engine JBoss Drools [11] Die Einbindung einer Rule Engine Registry/Repository Apache jUDDI [10] durch die Komponente servicemix-drools Identity Management Internet 2 Shibboleth [9] wäre ebenfalls möglich. Diese würde sich Tabelle 2: Open-Source-Bausteine analog zu servicemix-jsr181 als Service 68 8.2007 www.javamagazin.de Open Source SOA in den ESB integrieren. Prinzipiell ist es sekundär, welche Technologie für die Ent- wicklung eines Service verwendet wird. BPEL, Drools, Groovy oder POJOs sind gleichberechtigt und für den Aufrufer transparent. Der Aufruf erfolgt immer über klar definierte Schnittstellen. Somit stellt der ESB zusätzlich zur Mediations- funktionalität eine Laufzeitumgebung für Serviceimplementierungen bereit. Abb. 2: JBI-Artefakte Artefakte Die Entwicklung von prozessbasierten beispielsweise der touroperator service Build-Prozess, eine Java-Entwicklungs-