Service Component Architecture Ein Vergleich zwischen SCA,JBI und WCF Marcello Volpi Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 1 Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 2 Einführung Serviceorientierte Architekturen (SOA) Entwicklung verteilter Anwendungen Integration „alter alter“ Plattformen (Corba,J2EE) (Corba J2EE) kein Standard I k Inkompatible tibl SOA-Anwendungen SOA A d Orchestrierung Marcello Volpi 3 Einführung Was sind SOA SOA‘s? s? Funktionalität aufteilen (Service) lose gekoppelt Flexibel wiederverwendbar i d db Service Provider/Consumer Marcello Volpi 4 Einführung Marcello Volpi 5 Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 6 Service Component Architecture Sammlung von Spezifikationen Entwickelt von OSOA Group 2005 Seit 2007 OASIS Standard SOA als Basis P Programmiermodell i d ll Assemblierungsmodell Deploymentmodell Apache Tuscany, Rogue Wave HydraSCA Marcello Volpi 7 Service Component Architecture Service nicht an Runtime gebunden generische Spezifikation „einfach einfach“ Heterogenität S Sprachneutral h t l Erweiterbar durch sprachabhängige Spec. Marcello Volpi 8 Service Component Architecture Marcello Volpi 9 Service Component Architecture Component konfigurierte Implementierung wird in XML beschrieben Implementierung wiederverwendbar S i Services -> >P Provider id References -> Consumer Marcello Volpi 10 Service Component Architecture Composite kleinste Deployment Einheit Zusammenstellung von Komponenten Leiten Services und References weiter f fasst t Services S i und dR References f zusammen Kann wieder Implementierung sein Marcello Volpi 11 Service Component Architecture Wire Binding „Draht“ zwischen Components Vereinigt g Components p zur Einheit Transporttechnologie p g Services beschrieben Zugriffsmöglichkeit SCA-Binding, WSDL, JMS, … Domain grenzt SCA Mechanismen ab fasst Services zu einem Bereich zusammen fasst Composites zusammen Marcello Volpi 12 Service Component Architecture Lifecycle Marcello Volpi 13 Service Component Architecture Interoperabilität Plattformunabhängig Sprachneutral Kommunikation mit bestehenden Anwendung B t h d S Bestehende Service i weiterverwenden it d Neue Services entwickeln Marcello Volpi 14 Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 15 Java Business Integration Spezifikation aus Java Community Prozess startete 2003 2005 offiziell verabschiedet Implementierung einer SOA b t auff WSDL 2 baut 2.0 0 auff Apache ServiceMix, FuseESB, OpenESB "Do for Integration what J2EE did for application development" - Zitat bei der Vorstellung des JBI-Standards Marcello Volpi 16 Java Business Integration Java Standard Plug-In Architektur Web-Service Prinzip auf Container leichtgewichtige Integrationslösungen Ök Ökosystem t für fü Hersteller H t ll und dE Entwickler t i kl Plattformunabhängigkeit Technikunabhängigkeit Marcello Volpi 17 Java Business Integration Marcello Volpi 18 Java Business Integration Normalized Message Router (NMR) Herzstück von JBI Aufgaben Interoperabilität der Komponenten Routing der Nachrichten austausch Normalisierter Nachrichten standardisierter ESB Delivery Channel -> Kommunikationskanal Marcello Volpi 19 Java Business Integration Eigentliche JBI-Komponenten JBI Komponenten Service Engine stellt Logik bereit beschreiben/ registrieren Schnittstellen Kommunikation nur über NMR Binding g Component p Kommunikation über Protokoll (z.B. SOAP) Normalisieren der Nachrichten Verbindung NMR nach außen Marcello Volpi 20 Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 21 Windows Communication Foundation Eingeführt 2006 mit .NET 3.0 aktuelle Version .NET 3.5 demnächst .NET NET 4 4.0 0 Entstand aus .NET Remoting und ASP.NET V l i hb Vergleichbare K Konzepte t wie i SCA „Alles was gebraucht wird ist .NET“ Marcello Volpi 22 Windows Communication Foundation Vereinheitlichung in der .NET Welt Entwicklung vereinfachen Einheitliche Programmiermodell Einen quasi Standard zu etablieren Alt Technologien Alte T h l i Ablö Ablösen Konfigurierbar sichere Anwendungen WS-* Marcello Volpi 23 Windows Communication Foundation Marcello Volpi 24 Marcello Volpi Address A Binding Contract C Biinding Co ontract Client Ad ddress Address A Binding B Contract C Windows Communication Foundation Endpoint WCF Service 25 Windows Communication Foundation Service Endpoint Das ABC von WCF Address Binding Wo? Adresse des Service Wie? Kommunikationsart Contract Was? Service Funktionalität Marcello Volpi 26 Windows Communication Foundation Service Contract Data Contract Datentypen erweiterbar Fault Contract existierende Operationen Fehlerarten Message Contract Direkter Umgang mit Nachrichten Marcello Volpi 27 Windows Communication Foundation Service Runtime Messaging Steuert das Verhalten der Services Transportkanäle Protokollkanäle Hosting Windows Activation Service Windows Dienst Marcello Volpi 28 Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation (WCF) F it Fazit Marcello Volpi 29 Fazit SCA und JBI sind komplementär SCA und WCF Ähnlichkeit SCA Integration im Vordergrund SCA bietet mehr Freiheiten WCF F Fokus k auff .NET NET Kriterien SCA JBI WCF Interoperabilität X (X) (X) Webservice X X X Betriebssystemunabhängig X X Offener Standard X (X) Marcello Volpi 30 Marcello Volpi 31 Quellen Windows Communication Foundation – Elsevier Verlag g von Marco Kurhmann und Gerd Beneken OASIS http://www.oasis-opencsa.org/sca JBI Spezikation http://jcp.org/en/jsr/detail?id=208 http://www.davidchappell.com/articles/introducing p pp g_sca.pdf p Java Spektrum WCF,JBI,SCA -Ausgabe05/2007D.Pieper,C. Röttgers .NET Framework Developer Center http://msdn.microsoft.com/dede/netframework/aa663324.aspx Marcello Volpi 32