Austrian Government Nov 18 2003 - Morning One


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Austrian Government Nov 18 2003 - Morning One

  1. 1. Service Oriented Architecture Wien, Osterreich 18 November 2003 Sprecher: Duane Nickull [email_address]
  2. 2. Sprecher – Duane Nickull <ul><li>Aus Kanada – Executive Vice-President f ü r Yellow Dragon Software. </li></ul><ul><li>Abeitet - UN/CEFACT eBusiness Architecture Group (UEB Architecture) </li></ul><ul><li>Co-lead /Chief Editor - ebXML Technical Architecture v 1.0 </li></ul><ul><li>ebXML Steering Committee Member </li></ul><ul><li>[email_address] </li></ul>
  3. 3. Tagesordnung <ul><li>9:15 – 11:00 Introduction – Service Oriented Architectures </li></ul><ul><li>History of Service Oriented Architectures (SOA). </li></ul><ul><li>Messaging: SOAP and ebXML MS </li></ul><ul><li>Business Service Interfaces – WSDL, CPP and CPA </li></ul><ul><li>Agents for Discovery – UDDI Directory and ebXML Registry </li></ul><ul><li>Process and Choreography – BPSS, BPEL </li></ul><ul><li>Modeling Methodology and Framework – BCF/ UMM / UML </li></ul><ul><li>Information – Core Components, BIE’s Semantics, XML schema. </li></ul><ul><li>11:00 – 11:30 - BREAK </li></ul>
  4. 4. Tagesordnung <ul><li>11:30 – 13:00 Service Oriented Architectures in practice </li></ul><ul><li>The Canadian Government’s IJI Data Dictionary work + ebXML registry </li></ul><ul><li>eForms scenario </li></ul><ul><li>Harmonizing Data models for international integration of justice and security data. </li></ul><ul><li>- Questions and Answers </li></ul>
  5. 5. An Introduction to Service Oriented Architectures Understanding the technological and cultural factors driving their adoption 09:30
  6. 6. Business factors for Services Business to Customer System Integration Internet Based Delivery SOA eBusiness Processes over WWW Cultural Shift Computers Protocols / Standards Local Networks WAN’s
  7. 7. Business Interaction Models B to C Disintermediation B to B Collaboration Infomediary Malls EDI HTML XML
  8. 8. The Shift to N-Tier 1-Tier 2-Tier N-Tier Mainframe Apps Mini-Computer Apps Corporate Applications (Often departmental) Distributed Production Web Aware/Web Scale eCommerce Client/Server Internet/ Enterprise Monolithic/ Automation 1988 1990 1994 1999 2001 2003
  9. 9. Before Object Oriented Programing… <ul><li>A program often resided on one system. </li></ul><ul><li>Old style -> Spaghetti code: no structure, no classes – procedural and linear execution. </li></ul><ul><li>GWBasic, early cobol, Pascal, Fortran </li></ul><ul><li>Object-Oriented programming is the early roots of Service Oriented Architecture. </li></ul><ul><li>Classes (encapsulation) call each other as services (accessor + mutator) </li></ul>
  10. 10. A simple program (object-oriented) <ul><li>public class HelloWelt{ </li></ul><ul><li>public static void main(String[] args){ </li></ul><ul><li>System.out.println(&quot;Hello Welt!&quot;); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>Import HelloWelt; public class WieGehtsAllesDieWelt{ public static void main(String[] args){ HelloWelt(); System.out.println(“Wie geht es Dir?&quot;); } } Imports another class Calls a method() of the class Returns something (optional)
  11. 11. A simple program (object-oriented) <ul><li>public class HelloWelt{ </li></ul><ul><li>public static void main(String[] args){ </li></ul><ul><li>System.out.println(&quot;Hello Welt!&quot;); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>Import HelloWelt; public class WieGehtsAllesDieWelt{ public static void main(String[] args){ HelloWelt(); System.out.println(“Wie geht es Dir?&quot;); } } This class uses the service This class offers a service
  12. 12. Service Oriented Architecture expanded <ul><li>What if the two classes are not on the same machine? Network! </li></ul><ul><li>How can one class find another? Service Description </li></ul><ul><li>How can a class send its’ information to the other class? XML serialization. </li></ul><ul><li>Do the two classes have to be on the same network? TCP/IP + HTTP </li></ul>
  13. 13. Calling a service (RPC) <ul><li>Remote Procedure Call (RPC) </li></ul><ul><li>Calling a functional piece of logic that resides elsewhere. </li></ul>Multiply() class ConvertCurrency() class ConvertCurrency(5.45, USD, CAD) Multiply (5.45, 1.63) Result comes back
  14. 14. XML used to pass values <ul><li><parameters> </li></ul><ul><li><service>Multiply</service> </li></ul><ul><li><integer value=‘5’/> </li></ul><ul><li><integer value= ‘4’/> </li></ul><ul><li></parameters> </li></ul>Service publisher Service User <answer> <integer value=‘20’/> </answer>
  15. 15. The ebXML SOA Architecture By UN/CEFACT and OASIS 11:05
  16. 16. ebXML <ul><li>Started in 11/1999 in San Jose, USA </li></ul><ul><li>UN/CEFACT and OASIS joint project. </li></ul><ul><li>Goal to develop one global electronic marketplace. </li></ul><ul><li>Architecture team decided to write a large Service oriented Architecture. </li></ul><ul><li>2,000 + participants worldwide. </li></ul><ul><li>Seven teams </li></ul><ul><li>Version 1.0 delivered May 2001, Wien (sponsored by AustriaPro) </li></ul>
  17. 17. ebXML Service Oriented Architecture
  18. 18. <ul><li>1.  Business processes and associated information models (in XML) </li></ul><ul><li>2.  A mechanism for registering and storing artifacts (Registry) </li></ul><ul><li>A mechanism for declaring a Trading Partners capabilities and services (CPP) </li></ul><ul><li>A way to convey semantics and agree on meanings of Business Payloads (Core Components, BIE’s) </li></ul>Architecture Concepts…
  19. 19. <ul><li>5.  A mechanism for describing a bilateral Trading Partner Agreement (CPA). </li></ul><ul><li>6.   A standardized messaging service (ebXML MS) </li></ul><ul><li>7. A standardized methodology/process for modeling the real world business and translating it into XML. (UMM) </li></ul>Architecture Concepts…
  20. 20. ebXML FSV – implementation
  21. 21. ebXML <ul><li>Is a framework / architecture </li></ul><ul><li>Does not mandate specific payloads </li></ul><ul><li>Is service oriented and event driven </li></ul><ul><li>Is being continually developed </li></ul><ul><li>Is a SOA specific for eBusiness but works well for other information sharing (eGovernment, security, data) </li></ul>
  22. 22. The W3C Web Services SOA Architecture A generic SOA.
  23. 23. Web Service – simple model
  24. 24. Web Service Architecture – expanded
  25. 25. WSAG principles <ul><li>An interoperability architecture. </li></ul><ul><li>Not intended for individual Web Services </li></ul><ul><li>Not dependant on WSDL, SOAP, ebXML MS or any other technology. </li></ul><ul><li>Provides a global perspective on the networked service architecture. </li></ul><ul><li>Other specifications, such as SOAP 1.2 and WSDL give detailed recommendations for specific requirements </li></ul>
  26. 26. WS Relationships
  27. 27. The UN/CEFACT Architecture Building on top of ebXML and Web Services SOA’s.
  28. 28. Key Architecture Principles <ul><li>Platform independence. </li></ul><ul><li>Event driven and Service Oriented Architecture. </li></ul><ul><li>Facilitation of multiple concurrent and/or different implementations. </li></ul><ul><li>Component based architecture allowing eBusiness components to be added, deleted or modified. </li></ul><ul><li>Allows proprietary protocol support, including custom extensions for industry standards. This refers to, but is not constrained by, electronic message payloads. </li></ul><ul><li>Custom workflow, information and syntax definitions are allowed in support of unique business rules and requirements, as may be defined by users. </li></ul><ul><li>Incremental phased implementation. </li></ul>
  29. 29. UN/CEFACT eBusiness Architecture Registry/Repository Business Collaboration Framework Business Processes Business Information Trading Partner “A” Trading Partner “B”
  30. 30. EDI Reference Model B U S I N E S S T R A N S A C T I O N S * UML Models Viewed as Information technology aspects of business transactions Business Operational View Functional Service View Business aspects of business transactions Comply with Covered by BOV related standards* Comply with Covered by FSV related standards
  31. 32. SOAP and ebXML Messaging Communication layer in SOA’s
  32. 33. SOAP <ul><li>Simple Object Access Protocol. </li></ul><ul><li>XML over http </li></ul><ul><li>Work by W3C; moving to v 1.2 </li></ul><ul><li>A simple and lightweight messaging standard designed as replacement for XML-RPC. </li></ul><ul><li>Synchronous and Asynchronous. </li></ul><ul><li>Can use other low level transport protocols </li></ul>
  33. 34. Ebxml Messaging Service <ul><li>Built on top of SOAP and HTTP (can also use other low level protocols like FTP, SMTP) </li></ul><ul><li>Requires a service level agreement. </li></ul><ul><li>Advanced security features </li></ul><ul><li>Advanced reliable messaging features. </li></ul><ul><li>If message does not get through – sender is advised. </li></ul><ul><li>Once and once only receipt by receiver. </li></ul><ul><li>Non-repudiation of sender. </li></ul><ul><li>Can carry any payload, 0, 1 or * attachments. </li></ul><ul><li>Conversation ID tracks differents threads. </li></ul>
  34. 35. ebXML - Secure and Reliable Messaging
  35. 36. Business Service Interfaces Using WSDL, CPP and CPA to describe services 09:30
  36. 37. How do I describe services? Unsere Computer ? ? ? ? ? ? ? ?
  37. 38. Service descriptions ? ? ? ? ? ? ? ? Eco.xml CPP WSDL WSDL WSDL Eco.xml CPP + BPSS CPP + BPSS Focus: Web Services Description Language (WSDL) Collaboration Protocol Profile (CPP)
  38. 39. Web Service Description Language <ul><li>WSDL provides a simple description of the service offered. </li></ul><ul><li>WSDL is missing items – semantics, trading partners agreement references, constraints on who can use the service, etc. </li></ul><ul><li>WSDL is a very lightweight, works well for web service descriptions. </li></ul><ul><li>Minor binding to Messaging layer (SOAP only) </li></ul>
  39. 40. Business Service Interface (BSI) <ul><li>UN/CEFACT Architectural term. </li></ul><ul><li>An abstract architectural component containing all aspects of an interface to a business including technical and business terms of use. </li></ul>
  40. 41. ebXML – CPP and CPA <ul><li>Trading Partner Profiles and Agreements. </li></ul><ul><li>Tells you Business Service Interfaces, bindings etc. </li></ul><ul><li>Provide a list of Business Processes or Web Services. </li></ul><ul><li>NOT designed to be a legal agreement. </li></ul><ul><li>example </li></ul>
  41. 42. Registry and Directory Functionality in SOA’s A look at UDDI, ebXML and ISO/IEC 11179 Registry and Directory Systems 13:00
  42. 43. Discovery - Registry/Repository ? ? ? ? ? ? ? ? Eco.xml CPP WSDL WSDL WSDL Eco.xml CPP + BPSS CPP + BPSS REGISTRY
  43. 44. What is a Registry? <ul><li>An XML registry is an infrastructure that enables the registration and discovery of services, ontology's or other artifacts for information sharing. </li></ul><ul><li>It is a neutral third party that facilitates dynamic and loosely coupled interactions. </li></ul><ul><li>A registry is available to organizations as a shared resource, often in the form of a web-based service. </li></ul>
  44. 45. Relationship of Registry standards
  45. 46. UDDI Directory Data Businesses register public information about themselves White Pages Yellow Pages Green Pages Standards bodies, programmers, businesses register information about their service types Service type registrations (“tModels”)
  46. 47. UDDI and SOAP
  47. 48. <ul><li>The Registry is the heart of ebXML. </li></ul><ul><li>Powerful system of Registries and Distributed Repositories. </li></ul><ul><li>Loosely coupled. </li></ul><ul><li>Registries contain pointers and meta information. Meta information constrained by Registry Information Model (RIM) </li></ul><ul><li>The Registry Services exposed by the interfaces have set metadata for expressing queries and returns. </li></ul>Repository Registry Synchronization API I / O RIM ebXML Registry / Repository
  48. 49. ISO Registry Metamodel
  49. 50. Business Process and Choreography BPSS and BPEL
  50. 51. Process = State Management
  51. 52. ebXML Business Process Specification Schema <ul><li>BPSS instances are Runtime and Design Time artifacts. </li></ul><ul><li>Captures particulars of process in an XML schema controlled instance. </li></ul><ul><li>References Business Information used in each step of process. </li></ul><ul><li>Contains conditions to guard against improper execution of a specific process. </li></ul><ul><li>Controls Business Signals </li></ul><ul><li>Lacking support from software vendors </li></ul>
  52. 53. Business Process Execution Language (BPEL) <ul><li>Similar to BPSS in concept. </li></ul><ul><li>Designed for Web Services. </li></ul><ul><li>Work is advancing rapidly – strong support from major vendors. </li></ul><ul><li>Choreographs service use </li></ul><ul><li>Controls Business Signals </li></ul>
  53. 54. Information Core Components, BIE’s, Semantics, XML schema
  54. 55. ebXML Business information Service Description 1.. Supported Process <<References>> DTD’s Schemas? DTD’s Schemas? DTD’s Schemas? <<Constructed From>> 1.. Core Comp. Core Comp. Core Comp. Core Comp. Core Comp. Core Comp. Core Comp Business Information Entities <<Constructed From>> <<Constructed From>> XML Representations Bridge to Legacy Data
  55. 56. Core Components: <ul><li>A Core Component captures information about a real world (business) concept.  </li></ul><ul><li>A Core Component can be atomic or aggregate. </li></ul><ul><li>It is ‘Core’ because it occurs in many different areas of industry/business information exchange. </li></ul><ul><li>Think ISO 11179 Data Elements! </li></ul>
  56. 57. Core Components & BIE’s are like… Name Address email Phone # Company Company Phone # email Address Name Party Party ID Invoice PO # Line Item Cost
  57. 58. Core Components – driven by UMM
  58. 59. The UN/CEFACT Modeling Methodology An integral part of the UN/CEFACT Business Collaboration Framework (BCF)
  59. 60. The UMM Meta-model
  60. 61. UMM - expanded
  61. 62. What can UMM give us? <ul><li>Data in payloads, transport details in message envelope and verbs in BP* artifacts. </li></ul><ul><li>Higher probability of interoperability between vocabularies. </li></ul><ul><li>Alignment of semantics. </li></ul><ul><li>Smart, re-useable processes. </li></ul><ul><li>A complete view of choreography and state. </li></ul><ul><li>A statement of intent. </li></ul>
  62. 63. Q & A SOA’s
  63. 64. BREAK TIME!!! <ul><li>Back by 11:30 please. </li></ul>