Im Gespräch mit Oliver Wulff

Apache CXF: Das Web Service und REST Enablement Framework

Weiter geht es in unserer Apache-Enterprise-Integration-Woche. Heute finden Sie auf JAXenter einen ausführlichen Praxisartikel zu ActiveMQ von Ivan Mioc. Zudem stellt uns Oliver Wulff hier das Apache CXF Framework vor und gibt einen Ausblick auf die kommende Version 2.5.

Übrigens: Haben Sie schon bei unserem Quickvote mitgemacht?

Welcher ist Ihr präferierter Enterprise Service Bus?

JAXenter: Apache CXF ist Ihr Thema auf dem Apache Integration Day. Was ist mit CXF möglich?

Oliver Wulff: Apache CXF ermöglicht es einem Projekt, effizient Services anzubieten, ohne die bestehenden Software-Komponenten wie Business Logik, Servlet Container oder Application Server migrieren zu müssen. Dabei ermöglicht CXF dem Architekten und Entwickler einen Contract-First- oder Code-First-Ansatz zu wählen sowie zwischen den Technologien REST und Web Services zu wählen. Die physische Ausprägung der Services wird primär im Deployment-Prozess über die Konfiguration gemacht (Databinding, Transport, Security, usw.)

JAXenter: Für welche Architektur-Szenarien ist CXF prädestiniert?

Oliver Wulff: CXF wurde als Framework entwickelt, welches das Deployment-Modell nicht vorschreibt wie zum Beispiel Servlet Container, Application Server, OSGi Container oder gar J2SE-Umgebung. Entweder können CXF und Camel zentral in einem OSGi Container oder Servlet Container deployen – dies entspricht der klassischen ESB-Architektur. Oder man deployed die Services in den bestehenden Application Container. Um den Enterprise-Anforderungen wie Location Transparency, Failover, Security, End-to-End Monitoring für ein verteiltes Deployment erfüllen zu können, sind weitere Services notwendig wie Security, Registry und Monitoring. Talend bietet diese Services mit Apache-Lizenz an.

JAXenter: Web Services und REST: Wo sehen Sie die Vorteile dieser Technologie-Ansätze?

Oliver Wulff: Dies ist schwierig in einem kurzen Statement zu beantworten. Beide Technologien haben ihre Vorteile je nach Use Case. Trotzdem kann man jedes Problem sowohl mit der einen oder anderen Technologie lösen. Web Services und WSDL sind etwas aufwändiger zu realisieren, wenn es darum geht, Zugriff in einer feingranularen Art und Weise auf Entitäten zu geben. Je mehr Business Logik zwischen dem Service und den Daten vorhanden sind, tendiere ich im allgemeinen zur Web Services Technologie.

JAXenter: Können Sie kurz ein Beispiel skizzieren, wie ein typisches Enterprise-Thema mit dem CXF-Framework abgebildet werden kann?

Oliver Wulff: Service Consumer und Provider, die mit CXF entwickelt wurden, können in der Deploymentphase mit Konfiguration angereichert werden, um Security-Funktionalitäten wie Authentisierung mit SAML 2.0 zu unterstützen. CXF stellt hierzu einen SecurityTokenService (STS) zur Verfügung. Die Policies des Service Providers müssen dem Service Consumer zur Verfügung gestellt werden. Dies kann während der Deploymentphase oder zur Laufzeit geschehen. CXF wird automatisch mit seinem Schlüssel/Passwort den STS aufrufen, um ein Security Token zu bekommen, das der Service Provider versteht. Diese Abläufe haben keinen Einfluss auf die Programmierung des Service Consumer oder Providers. CXF basiert auf einem erweiterbaren Framework, so dass es für die Integration von Policies unterschliedliche Varianten gibt, um den Anforderungen der Unternehmen gerecht zu werden.

JAXenter: In Planung ist ja das Release 2.5 von CXF. Was können wir hier erwarten?

Oliver Wulff: CXF wird neu die Standards WS-MetadataExchange und WS-ReliableMessaging unterstützen. In Karaf wird es neu CXF spezifische Kommandos für Karaf/OSGi geben. Den größten Mehrwert wird aber der WS-Trust SecurityTokenService bringen, der von Talend mit Kunden entwickelt und der CXF Community zur Verfügung gestellt wurde.

JAXenter: Vielen Dank für dieses Gespräch!

Oliver Wulff ist Sprecher auf dem Apache Integration Day der W-JAX, wo er Apache CXF ausführlich vorstellt:

Flexibles Service Enabling mit Apache CXF

Apache CXF ist das Web Service und REST Enablement Framework das sich durch seine Architektur sehr einfach in bestehende Umgebungen integrieren und anpassen lässt. Entstanden ist das Framework aus den beiden Projekten Celtix und XFire und ist zurzeit in der Verson 2.4 verfügbar. Das Framework unterstützt sowohl die Methoden Contract-First als auch Code-First und verschiedene Language Bindings wie JAX-WS, JAX-RS und andere.

Der Vortrag gibt eine Einführung in die Architektur von CXF und zeigt an einigen praktischen Beispielen wie z.B. Enterprise-Themen, wie Policy und Security in diesem Framework abgebildet werden. Mithilfe der Talend Administration Console wird illustriert, wie die Services in einem verteilten Umfeld gemanagt werden können. Abschließend werden einige aktuelle Neuerungen gezeigt und ein Ausblick auf die kommende Version 2.5 gegeben.

Alle Infos zum Apache Integration Day gibt´s auf dem W-JAX-Zeitplaner!

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.