SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg

1,340 views

Published on

Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,340
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg

  1. 1. Berthold Maier <br />Oracle Consulting Deutschland<br />Torsten Winterberg<br />OPITZ CONSULTING GmbH<br />DOAG Konferenz, November 2010, Nürnberg<br />SCA & SDO: Konzepte und Design<br />
  2. 2. Das Team: Masons-of-SOA<br />www.soa-community.com<br /><ul><li>Bernd Trops (Sopera)
  3. 3. Clemens Utschig-Utschig (Böhringer-Ingelheim)
  4. 4. Berthold Maier (Oracle Consulting)
  5. 5. Hajo Normann (HP Enterprise Services)
  6. 6. Torsten Winterberg (OPITZ CONSULTING):
  7. 7. Jürgen Kress (Oracle Corp.)</li></li></ul><li>Agenda<br />Was ist SCA? Aufbau und Bestandteile<br />Was ist SDO?<br />SCA und Oracle SOA Suite <br />
  8. 8. Was ist SCA?<br />properties<br />Java interface<br />WSDL portType<br />C1<br />S<br />S<br />service<br />R<br />wire<br />Binding:<br />SOAP<br />JMS<br />JCS<br />…<br />C2<br />S<br />R<br />R<br />reference<br />component<br />composite<br />Service Component Architecture:<br />Sprachneutral (sprachabstrahierend)<br />Component Model <br />Assembly Model<br /><ul><li>http://www.OSOA.org
  9. 9. StandardisiertbeiOASIS:
  10. 10. SCA/SDO goes to OASIS, could be to SOA what Java EE was to n-tier computing
  11. 11. Vereinfacht die Entwicklung in serviceorientierten Architekturen
  12. 12. Entwicklung konzentriert sich auf Implementierung der Geschäftslogik
  13. 13. SCA-Umgebung regelt bzw. vereinfacht die technische Integration</li></li></ul><li>SCA-Spezifikationen<br />
  14. 14. SCA 1.0 Metamodel<br />
  15. 15. SCA Component<br />Verwendet konkrete Implementierung von Geschäftslogik<br />Kapselt verwendete Programmiersprache<br />Stellt Funktionalität als Services zur Verfügung (Service Provider)<br />Verwendet andere Services (Service Consumer)<br />Konfiguriert Implementierung über Properties<br />PROPERTIES<br /> SERVICES<br />IMPLEMENTATION<br />REFERENCES<br />Impl<br />
  16. 16. Implementation<br />konkrete Implementierung von Geschäftslogik <br />in einer beliebigen, von der SCA Runtimeunterstützten Programmiersprache<br />Konfiguration der Implementation erfolgt in:<br />SCA Component<br />Implementation<br />
  17. 17. Service<br />von Implementierung bereitgestellter Service<br />SCA Component<br />Impl<br />
  18. 18. von Implementierung verwendete/notwendige Services<br />SCA Component<br />Impl<br />Reference<br />
  19. 19. Properties<br /><ul><li>Konfiguration der implementierten Komponente
  20. 20. Laufzeitparameter vor/nach Deployment-Zeitpunkt</li></ul>SCA Component<br />Impl<br />
  21. 21. Componentdeclaration: componentType<br /><componentTypexmlns="http://www.osoa.org/xmlns/sca/1.0"> <br /> <servicename="MyValueService"> <interface.javainterface="services.myvalue.MyValueService"/> </service> <br /> <referencename="customerService"> <interface.javainterface="services.customer.CustomerService"/> </reference> <referencename="stockQuoteService"> <interface.wsdlinterface="http://www.stockquote.org /StockQuoteService#wsdl.interface (StockQuote)"/> </reference> <br /> <propertyname="currency" type="xsd:string">USD</property> <br /></componentType> <br />
  22. 22. SCA: Abstract andConcrete WSDL<br />Abstract WSDL:<br />Types, messages (structure of the methodinput/output parameter types, exception (or fault) types, the port type (=interface)<br />Concrete WSDL<br />bindings to protocols, data structures and service elements with address location<br />SCA & WSDL<br />Composite/components are always defined as “Abstract WSDLs”. The binding takes place in the SCA-Composite Container<br />
  23. 23.
  24. 24. SCA Composite<br />Service Component Definition Language (SCDL)<br /><compositexmlns="http://www.osoa.org/xmlns/sca/1.0"<br /><service name="bpelprocess1_client_ep" ui:wsdlLocation="BPELProcess1.wsdl"><interface.wsdlinterface=http://xmlns.oracle.com//...tApp/BPELProcess1#wsdl.interface(BPELProcess1)callbackInterface="http://xmlns.oracle.com/...BPELProcess1#wsdl.interface(BPELProcess1Callback)"/> <binding.wsport="http://xmlns.orac/.../BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)"/> <callback> <binding.wsport="http://.../BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1Callback_pt)"/> </callback></service><br /> <componentname="OrderSpring"> <implementation.springsrc="order-service-beans.xml"/></component><component name="BPELProcess1"> <implementation.bpel src="BPELProcess1.bpel"/></component> <wire> <source.uri>bpelprocess1_client_ep</source.uri> <target.uri>BPELProcess1/bpelprocess1_client</target.uri></wire><br /></composite><br />
  25. 25. Wiring<br />Verknüpfung von References und Services<br />Definiert durch Interfaces, Bindings und definierten Policies<br />Autowiring kompatibler References/Services durch SCA Runtime möglich<br />
  26. 26. Bindings<br />Definieren Protokoll für Kommunikation mit Service/Reference <br />Pro Services/Reference können mehrere Bindings definiert werden.<br />Innerhalb einer Domain kann die Wahl des Bindings der Runtime überlassen werden.<br />Trennung von Geschäftslogik (implementation), Infrastrukturcode (binding) und Infrastrukturkonfiguration (composite)<br />Binding-Abstraktion ermöglicht Nutzung von Alternativen zu Web-Services<br />SCA spezifiziertWeb-Service-, JMS-, EJB-Session-Bean- und JCA-Binding<br />
  27. 27. Bindings<br />
  28. 28. Service DataObjects<br />Spezifikation zur Vereinheitlichung der Handhabung von Daten- unabhängig von Programmiersprache- unabhängig von Datenquelle (DB, XML, ...)<br />Entwicklung stark mit SCA gekoppelt<br />Generell aber unabhängige und eigenständige Spezifikation<br />
  29. 29. SDO DataObjects<br />DataObject : Enthält Daten als Properties und Verweise auf weitere DataObjects (Containment oder Reference)<br />SDO DataObject<br />SDO DataGraph<br />Department<br />Employee<br />Id<br />Name<br />
  30. 30. Data AccessService<br />
  31. 31. Oracle SOA Suite 11g<br />Ganzheitliche Suite mit diversen Komponenten:<br />BPEL, ESB/Mediator, Rules, HumanTasks, EDN, CEP, BAM, WSM, Adaptoren<br />Implementierung des SCA assembly models<br />SCA composite als standard-basierte Deployment Unit<br />Diverse Komponenten in Composites verwendbar: <br />ESB (Mediator), BPEL, Human Task, Rule, Spring<br />
  32. 32. Schematische Darstellung<br />
  33. 33. Service-ProgrammierungmitJava<br />ADF BC<br />SDO <br />ADF-BC<br />Java<br />Application<br />JAX-WS<br />Java Class<br />Java<br />Application<br />EJB<br />ADF<br />EJB<br />Java<br />Application<br />JMS<br />Java<br />Application<br />JMS<br />
  34. 34. ADF BC genutzt als Web-Service und SDO<br />ADF Faces Web Application<br />Web-Service(Activity)<br />DatenWeb-Service<br />(SDO)<br />Application Module(exposed as WS)<br />SOA Suite<br />ADF <br />Business<br />Components<br />View Object<br />E<br />DN<br />Entity Object<br />DB<br />
  35. 35. ADF BC, SDO and BPEL<br />ADF BC Application Module könnenalsWeb-Service angebundenwerden<br />ADF BC View Objectskönnenals SDO Service direkt in SCA/BPEL eingebundenwerden<br />SOA Suite ADF BC Binding-Adapter stelltVerbindungzum ADF BC SDO-Service her<br />BPEL Variablenkönnendirekt auf SDO-Entities (ADF VOs)basieren<br />Veränderungen via Assign in BPEL resultierenunmittelbar in SDO Updates <br />Verwendet SDO/XML over RMI per Default<br />Transaktionssicherheitkanneinfachgewährleistetwerden<br />
  36. 36. Demo: ADF BC Service Interface<br />Demo !<br />
  37. 37. Java-Bean als SCA-Component: Spring Bean Components<br />Natives SCA-JavaBindingwird von Oracle nichtunterstützt:<br />Alternative: Verwendung von Spring<br />Spring’s Dependency Injection istmit SCA’s Reference Konzeptvergleichbar<br />POJOs (Spring Beans) können in Composite Services orchestriertwerden<br />Könnenauchalsexterne Services exponiertwerden<br />
  38. 38. Einbindungeines JavaBeans in ein Composite<br />Add Spring Context to the composite<br />A spring bean configuration file is created<br />Add bean definitions for POJOs based on java interfaces<br />Add SCA: service elements to exposebeans as service to other components<br />Add SCA: reference elements to get service components injected to satisfy a dependency<br />
  39. 39. Vorgehensschritte und Spring Files<br />2<br />1<br />3<br />4<br />5<br />
  40. 40. Literaturempfehlung<br />Oracle SOA Suite 11g Handbook<br />Erschienen August 2010<br />Autor: Lucas Jellema<br />Präsentation und Demos: <br />http://technology.amis.nl/blog<br />
  41. 41. Kontakt:<br />Torsten Winterberg<br />Director Strategy & Innovation Head of Competence Center SOAOracle ACE Director<br />OPITZ CONSULTING GmbHKirchstr. 6, 51647 Gummersbach, GermanyPhone: +49 661 6001 0torsten.winterberg@opitz-consulting.com<br />

×