Service component architecture_soa_hauswald_2011

733 Aufrufe

Veröffentlicht am

Die SCA-Spezifikationen (Service Component Architecture) bieten eine Implementierungsmöglichkeit für Service-orientierte Architekturen. Vorangetrieben durch eine breite Herstellerunterstützung werden viele in einer SOA vorhandenen Risiekn wie Vendor-Lock-in und Wiederverwendung/Granularität von Services adressiert. Im ersten Teil der Präsentation werden SCA-Spezifikationen vorgestelt und wie sich SCA-Komponenten in Java realisieren lassen. Der 2. Teil zeigt ein konkretes Projekt auf Basis der Oracle SOA Suite und Apache Tuscany.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
733
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
13
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Service component architecture_soa_hauswald_2011

  1. 1. Service ComponentArchitectureSolide Basis für SOA-Prinzipien? Service Component Architecture - Solide Basis für SOA- Prinzipien? Folie 1 23. November 2010 Alexander Hauswald © Zühlke 2011
  2. 2. Service ComponentArchitectureFolie 223. November 2010Alexander Hauswald© Zühlke 2011
  3. 3. Service Design Prinzipien1. Loose Coupling2. Encapsulation3. Autonomy4. Orthogonality5. Idempotency6. Cohesion Service Component Architecture Folie 3 23. November 2010 Alexander Hauswald © Zühlke 2011
  4. 4. Service Component Architecture ?• Spezifikationen, die ein Modell für das Erstellen von SOA Anwendungen beschreiben• Deklarative Metadaten für die Konfiguration• Abstraktionen helfen verschiedene Aspekte bei der Komposition von Systemen zu berücksichtigen• Unterstützung von Assembly, Deployment und Runtime Service Component Architecture Folie 4 23. November 2010 Alexander Hauswald © Zühlke 2011
  5. 5. OpenSOA• OSOA Collaboration gegründet 2005• Konsortium von Herstellern und Firmen• Ziel ist die Erstellung von Spezifikationen, um die Erstellung von SOA Applikationen zu beschreiben• Draft 0.9 im Herbst 2005• Version 1.0 im Winter 2007• Übernahme durch OASIS – http://www.oasis-open.org/committees/tc_cat.php?cat=soa• Version 1.1 final release Winter 2010/11 anvisiert Service Component Architecture – Eventing Folie 5 23. November 2010 Alexander Hauswald © Zühlke 2011
  6. 6. OpenSOA Partner Service Component Architecture Folie 6 23. November 2010 Alexander Hauswald © Zühlke 2011
  7. 7. Komponentenmodelle gibt es schon• COM / DCOM• Java EE• .Net Remoting / WCF• CORBA Service Component Architecture Folie 7 23. November 2010 Alexander Hauswald © Zühlke 2011
  8. 8. Warum noch eines?• Bruch zwischen Modellierung, Architektur und Implementierung• Service Orientierung Objekt Orientierung• Komplexität Service Component Architecture Folie 8 23. November 2010 Alexander Hauswald © Zühlke 2011
  9. 9. SCA Design Prinzipien• Unabhängig von der Programmiersprache wie auch von der zugrunde liegenden Implementierung• Unabhängig von der Container-Technologie• Lose Kopplung zwischen den Komponenten• Policies beschreiben Security, Transaction und Reliability• Rekursive Komposition Service Component Architecture Folie 9 23. November 2010 Alexander Hauswald © Zühlke 2011
  10. 10. Spezifikationsinhalte• Struktur – Assembly Model Spezifikation• Implementierung einer Programmiersprache – Component Implementation Spezifikation – E.g. Java, C++• Remoting – Binding Spezifikation – E.g. Web services, JMS, RMI-IIOP, EJB• Infrastruktur – Policy Framework Spezifikation – E.g. Security, transactions, reliability Service Component Architecture Folie 10 23. November 2010 Alexander Hauswald © Zühlke 2011
  11. 11. Verwendung in Produkten• Kommerzielle Anbieter – Oracle SOA Suite 11g – IBM Websphere Application Server – Tibco ActiveMatrix – Hydra Suite• OpenSource Anbieter – Apache Tuscany – Fabric3 Service Component Architecture Folie 11 23. November 2010 Alexander Hauswald © Zühlke 2011
  12. 12. SOA Standards für Oracle Service Component Architecture Folie 12 23. November 2010 Alexander Hauswald © Zühlke 2011
  13. 13. Schlüsselwörter in SCA• Service• Reference• Wire• Interface• Binding• Implementation• Component• Composite Service Component Architecture• ComponentType Folie 13 23. November 2010 Alexander Hauswald © Zühlke 2011
  14. 14. Essenz• Service• Component• Composite• The Domain Service Component Architecture Folie 14 23. November 2010 Alexander Hauswald © Zühlke 2011
  15. 15. SCA Assembly Domain Service Component Architecture Folie 15 23. November 2010 Alexander Hauswald © Zühlke 2011
  16. 16. Service Konzept• Service – extern nutzbare Funktionalität einer Implementierung Service• Reference – Abhängigkeit zu einem externen Service Reference Service Component Architecture Folie 16 23. November 2010 Alexander Hauswald © Zühlke 2011
  17. 17. Component KonzeptComponent – konfigurierte Instanz einerImplementierung in einem composite• Stellt service bereit• Konsumiert services• Konfiguriert references durch wiring von services Service Component Component Architecture Folie 17 23. November 2010 Alexander Hauswald © Zühlke 2011
  18. 18. Component KonzeptComponent Implementation – Konfigurierbares StückSoftware, das eine spezifische Business Funktionalitätbereitstellt• Implementierung – Java, Spring, C++, BPEL, …• Stellt Business Funktionen als service bereit• Kann andere services mittels references benutzen• services und references sind mit Interfaces getyped• Scope – Runtime verwaltet State und Nachrichten Routing Service Component Architecture Folie 18 23. November 2010 Alexander Hauswald © Zühlke 2011
  19. 19. Component Konzept Service Component Architecture Folie 19 23. November 2010 Alexander Hauswald © Zühlke 2011
  20. 20. Composite KonzeptComposite• Eine Zusammenstellung von Components, die gemeinsam entwickelt und deployed werden – Publicly consumable services – Service Implementierungen sind Components – Benötigte Services sind References – Hat Properties – Kann als Implementierung anderer Components verwendet werden Service Component Architecture Composite Folie 20 23. November 2010 Alexander Hauswald © Zühlke 2011
  21. 21. Beispiel Composite Service Component Architecture Folie 21 23. November 2010 Alexander Hauswald © Zühlke 2011
  22. 22. Beispiel composite.xml<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://example.org"name="…"> <service name="..." promote="A"/> <component name="A"> <implementation ... /> <property name="...">...</property> <service name="...">...</service> <reference name="" target="B"/> </component> ... <property name="...">...</property> Service Component Architecture <property name="...">...</property> Folie 22 <reference name="" promote=“B"/> 23. November 2010 Alexander Hauswald</composite> © Zühlke 2011
  23. 23. Rekursive CompositionComposites und Components ähneln sich•Konfigurierte Referencen, Services, PropertiesEin composite kann von anderen composites alscomponent-Implementierung verwendet werdenEine component kann durch eine „simple“Implementierung oder ein composite umgesetzt werden Service Component Architecture Folie 23 23. November 2010 Alexander Hauswald © Zühlke 2011
  24. 24. Bindings• Gelten für services und references• Spezifisch für – Access Method / Protocol / Transport – Serialization – Framework• Werden beim Deployment hinzugefügt, aber müssen kompatibel mit der darunter liegenden Implementierung sein• Eine Anzahl an bindings sind vordefiniert, aber nur einige wenige sind required von den Herstellern Service Component• Das binding.sca Element erlaubt extensibility und Architecture runtime defaults Folie 24 23. November 2010 Alexander Hauswald © Zühlke 2011
  25. 25. Composite Overview Service Component Architecture Folie 25 23. November 2010 Alexander Hauswald © Zühlke 2011
  26. 26. The Domain Service Component Architecture Folie 26 23. November 2010 Alexander Hauswald © Zühlke 2011
  27. 27. The Big Picture Service Component Architecture Folie 27 23. November 2010 Alexander Hauswald © Zühlke 2011
  28. 28. Client and Implementation Specifications• Spezifiziert wie service components und service clients gebaut werden• Spezifisch für eine Sprache, Framework oder API erweiterbar• Es existieren diverse C&I Spezifikationen (es müssen aber nicht alle durch die Hersteller umgesetzt werden): – Java, BPEL, Spring Framework, C++ Service Component Architecture Folie 28 23. November 2010 Alexander Hauswald © Zühlke 2011
  29. 29. Java Client und ImplementierungImplementation type for POJO• Uses <implementation.java class=“java-class-name”><component name="AccountServiceComponent"><implementation.java class = "services.account.AccountServiceImpl"/> ...</component>Uses the common annotations and APIs Service Component Architecture Folie 29 23. November 2010 Alexander Hauswald © Zühlke 2011
  30. 30. Java Component Implementation• Interface Definition• Reference Definition• Property Service Component Architecture Folie 30 23. November 2010 Alexander Hauswald © Zühlke 2011
  31. 31. SCA in Java - AnnotationsCommon across all Java-related specificationsImplementation annotations•@Service, @Reference, @Property•@Scope, @Init, @Destroy, @EagerInit•@ConversationID, @ConversationAttributes•@ComponentName•@ConstructorInterface annotations Service Component Architecture•@AllowsPassByReference, @Callback Folie 31 23. November 2010•@Remotable, @Conversational, @Oneway Alexander Hauswald © Zühlke 2011
  32. 32. JDeveloper – Composite Editor Service Component Architecture Folie 32 23. November 2010 Alexander Hauswald © Zühlke 2011
  33. 33. Zusammenfassung• SCA wird von einem Konsortium von Firmen und Herstellern (weiter-)entwickelt• SCA Spezifikationen definieren eine einheitliche Plattform für die Erstellung von SOA Applikationen• SCA bietet deklarative Konfigurationen und dynamische Aufrufmöglichkeiten• SCA unterstützt die Service Design Prinzipien• SCA steht nicht in Konflikt mit existierenden Technologien oder versucht diese zu ersetzen Service Component• SCA ist die technologisch ideale Basis für eine Architecture Service-Orientierte Architektur Folie 33 23. November 2010 Alexander Hauswald © Zühlke 2011
  34. 34. SCA löst nicht die Probleme der Welt,aber…• Bringt Architektur und Implementierung näher zusammen• Einheitliche Sprache in der Service-Orientierten Welt• Einfachheit des Komponentenmodells• Bestandteil der SOA Technologiestacks von Oracle, Tibco, IBM, …• Business-Orientierung ? Service Component Architecture Folie 34 23. November 2010 Alexander Hauswald © Zühlke 2011
  35. 35. Profil Alexander HauswaldSpezialgebiete Service Orientierung (Oracle) Cloud Computing (Azure, AWS)Kontaktinformationen aha@zuehlke.com Twitter://soa_axel Service Component Architecture Folie 35 25. Januar 2011 Alexander Hauswald © Zühlke 2011
  36. 36. LinksOASIS SCAhttp://www.oasis-open.org/committees/tc_cat.php?cat=soaFabric3http://www.fabric3.org/Apache Tuscanyhttp://tuscany.apache.org/Oracle SOAhttp://www.oracle.com/technology/tech/soa/index.htmlJim Marino, Michael Rowley - Understanding SCAhttp://www.amazon.de/Understanding-Component-Architecture- Service Component ArchitectureIndependent-Technology/dp/0321515080/ref=sr_1_1?ie=UTF8&s=books-intl- Folie 36 23. November 2010de&qid=1290946965&sr=8-1-spell Alexander Hauswald © Zühlke 2011

×