Service Orientation and the  Justice Reference Architecture Scott Fairholm, GISWG, GSWG John Ruegg, GISWG, GSWG GJXDM User...
After this session, you will <ul><li>Know the history of Global’s SOA Initiative </li></ul><ul><li>Know what SOA is </li><...
Global’s SOA Initiative <ul><li>On Sept 29, 2004 Global adopted the recommendations found in the report:   A Framework for...
Global’s SOA Vision <ul><li>Any member of the justice community can access the information they need to do their job, at t...
What is SOA?
Service Oriented Architecture is not… <ul><li>SOA is not Web Services </li></ul><ul><li>SOA is not about BPEL </li></ul><u...
SOA …  <ul><li>Is architecture – a set of best practices for the organization and use of IT </li></ul><ul><li>Abstracts so...
SOA Characteristics <ul><li>Reusability  – Logic is divided into services with the intention of promoting reuse. </li></ul...
SOA Implications Rather than dealing with isolated systems that must be  integrated after the fact , Service Orientation p...
SOA: Changing Thinking and Technology <ul><li>Orchestrated solutions </li></ul><ul><li>Loosely coupled  </li></ul><ul><li>...
Benefits of SOA Agility Speed Efficiency Services Revenue Accountability Costs Risk Develop flexible business models enabl...
The Best Technology…. <ul><li>Is complex on the inside yet simple on the outside </li></ul><ul><li>The secret is the abstr...
Focus on the Business– Process and Services Application a Application c Application b Application logic Source: Service-Or...
Application layer Services interface layer Business  process layer .NET J2EE Legacy Source: Service-Oriented Architecture,...
SOA is Fractal <ul><li>Works equally well  </li></ul><ul><ul><li>At the applications level </li></ul></ul><ul><ul><li>At t...
SOA and the Natural World <ul><li>The Human Body is a complex system of autonomous systems that “roll up” into a large sca...
SOA and the Natural World (Cont.) <ul><li>Each system functions independently </li></ul><ul><li>Lower level functions are ...
The Justice Reference Architecture… An abstract framework for understanding the significant concepts and components of Ser...
Levels of Abstraction <ul><li>A Reference Model  </li></ul><ul><ul><li>Minimal set of unifying concepts, axioms and relati...
OASIS SOA Reference Model <ul><li>About Services </li></ul><ul><ul><li>Service Descriptions </li></ul></ul><ul><ul><li>Pol...
Global’s “Draft’ Justice Reference Architecture
Draft Justice Reference Architecture
Business Service Identification and Design How do you find the right set of business services at the right level of granul...
GISWG Services Committee <ul><li>Tasked with identifying </li></ul><ul><ul><li>Service Design Principles </li></ul></ul><u...
SOA Principles <ul><li>Reusability  – Logic is divided into services with the intention of promoting reuse. </li></ul><ul>...
Business Service Identification–  Three Approaches <ul><li>Application-centric approach </li></ul><ul><li>Business process...
Service Interaction? <ul><li>What is a Service? </li></ul><ul><li>What do you need to make Services interoperate?  </li></...
What Is Service Interaction? Service Interaction Service Definition Service Delivery <ul><li>Deposit Slip—Design (Banking ...
Service Interaction—Example II Service Interaction Service Definition Service Delivery <ul><li>Smoke Alarm - Design  (Engi...
Does my IEPD define all of my Service Interaction Requirements? <ul><li>You defined what functions your SERVICE performs a...
Additional Service Interaction Requirements? <ul><li>Do you need to know who is using your service? </li></ul><ul><li>Does...
Additional Service Interaction Requirements? (Continued) <ul><li>What message transport protocols will your service suppor...
“Common” Service Interaction Requirements Most of these questions apply to any SOA Service, not just the Service you are d...
OASIS, W3C and WS-I Standards <ul><li>These Standards Bodies Define  Non-Domain  Specific, Vendor Neutral, Sets of Open St...
“Common” Security Controls for a SOA Service <ul><li>Transport-level  Firewalls, basic authentication,  encryption (https,...
Web Services Security Framework Message Confidentiality XML Encryption Message Integrity (Non-Repudiation) XML Digital Sig...
Other “Common” Web Services Standards for SOA Services  <ul><li>Metadata Management  WS-Addressing, WS-MessageDelivery, WS...
Other “Common” Web Services Standards for SOA Services <ul><li>Notification (Publish/Subscribe) </li></ul><ul><li>WS-Event...
Wide Industry Support for Web Services Standards <ul><li>Web Services standards are numerous and supported by major vendor...
What is a Service Interaction Profile (SIP)? <ul><li>A SIP supports both your  Domain Specific  Service Requirements (IEPD...
Service Interaction Profile (SIP) Promotes Service Interoperability <ul><li>Message Transport Level Interoperability </li>...
WS-I & OASIS “Common” Profiles for Interoperability <ul><li>WS-I Basic Profile (SOAP,WSDL,Bindings) </li></ul><ul><li>WS-I...
SOAP for Interoperable Message Structure <ul><li>Only SOAP provides an interoperable message container for all of the Web ...
Communications Protocol Envelope (HTTP, SMTP,…) SOAP With Attachments MIME Envelope MIME Part SOAP-ENV: Envelope SOAP-ENV:...
What about other SIP’s <ul><li>http + URI + xml = Simple Web Services(REST) </li></ul><ul><li>http + SOAP + xml + wsdl = S...
All Service Interaction Occurs via Messages Service Interface Capabilities Service Consumers Network Service Definition A ...
Federated Query Service Service Interface Query Response Service Query Response Service Query Response Service Service Int...
Service Enabling Legacy Systems MAINFRAME  APPLICATION Legacy Adapter Validate Client Address Service Service  Consumers M...
Multi-Channel Delivery of a Service Service Interface Bank Deposit Service Service Consumer Service Consumer ATM Remote Ba...
Fusion Center Services Fusion Center Subscriber Service Fusion Center Notification Service Fusion Center Query/Response Se...
SOA For Enterprise Application Integration (EAI) j2EE .net Fusion Centers MSMQ IBM MQ Series SQL c# CICS VB TIBCO Mainfram...
SOA for Inter-Enterprise Services VB Mainframe COBOL HTTP, SOAP, WSDL Partner Facing External SOA Services  Message Messag...
JRA Concept Map Components  Summary Service Definition:  Identify and Design your Service Service Interaction:  Describe y...
JRA Concept Map Components and  Service Definition Requirements Policies & Contracts Agreements Business Process Model Bus...
JRA Concept Map Components and  Service Definition Design Defines  Non-Domain   Specific Service Interaction  Requirements...
JRA Concept Map Components and  Service Definition Specifications Services Specifications Service Interface(s) Specificati...
JRA Concept Map Components  Service Definition Summary SOA Service Definition: A set of Implementable XML Specifications a...
JRA Concept Map Components and  Service Discovery Interaction Service Interface Service Model Repository Willingness Aware...
JRA Concept Map Components and  Service Interaction Service Interface Capabilities Service Consumers Network Service Defin...
JRA Concept Map Components and  Service Delivery Intermediaries Interceptors Services Capabilities Execution Context Real ...
JRA Concept Map Components and  Execution Context Services Capabilities Sample Execution Context(s) Service Provider techn...
JRA Concept Map Execution Contexts Service Interaction Service Definition S E R V I C E Service Interaction Execution Envi...
Questions???
What is a Service? The means by which the needs of a consumer are brought together with the capabilities of a provider. Dr...
Upcoming SlideShare
Loading in …5
×

Service Orientation and the Justice Reference Architecture

848 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
848
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • From an IT perspective, enterprise logic can be divided into two perspectives– business logic and application logic Business logic is a documented implementation of the business requirements Application logic is an automated implementation of the business logic organized into various technology solutions
  • A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity – the service provider – for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider. Dynamics of Services: From a dynamic perspective, there are three fundamental concepts that are important in understanding what is involved in interacting with services: the visibility between service providers and consumers, the interaction between them, and the real world effect of interacting with a service. About Services: In support of the dynamics of interacting with services are a set of concepts that are about services themselves. These are the service description, the execution context of the service and the contracts and policies that relate to services and service participants.
  • A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity – the service provider – for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider. Dynamics of Services: From a dynamic perspective, there are three fundamental concepts that are important in understanding what is involved in interacting with services: the visibility between service providers and consumers, the interaction between them, and the real world effect of interacting with a service. About Services: In support of the dynamics of interacting with services are a set of concepts that are about services themselves. These are the service description, the execution context of the service and the contracts and policies that relate to services and service participants.
  • In a service-oriented architecture, a service is the means by with a unit of work is performed by a service provider to achieve desired results from one or more service consumers. A service is well defined, self-contained, described solely by its interface contract and behavioral attributes, and located anywhere on the network.
  • Service Orientation and the Justice Reference Architecture

    1. 1. Service Orientation and the Justice Reference Architecture Scott Fairholm, GISWG, GSWG John Ruegg, GISWG, GSWG GJXDM Users Conference 9/7/2006
    2. 2. After this session, you will <ul><li>Know the history of Global’s SOA Initiative </li></ul><ul><li>Know what SOA is </li></ul><ul><li>Understand what we mean by Architecture – the Justice Reference Architecture </li></ul><ul><li>Understand what Services are, and </li></ul><ul><li>How Services interact with each other </li></ul>
    3. 3. Global’s SOA Initiative <ul><li>On Sept 29, 2004 Global adopted the recommendations found in the report: A Framework for Justice Information Sharing: Service Oriented Architecture (SOA) </li></ul><ul><ul><li>Recognize SOA as the recommended framework for development of justice information sharing systems </li></ul></ul><ul><ul><li>Promote the utility of SOA for the justice community </li></ul></ul><ul><ul><li>Urge members of the justice community to take corollary steps in the development of their own system </li></ul></ul>
    4. 4. Global’s SOA Vision <ul><li>Any member of the justice community can access the information they need to do their job, at the time they need it, in a form that is useful, regardless of the location of the data </li></ul>
    5. 5. What is SOA?
    6. 6. Service Oriented Architecture is not… <ul><li>SOA is not Web Services </li></ul><ul><li>SOA is not about BPEL </li></ul><ul><li>SOA is not about ESB </li></ul><ul><li>SOA is not about XML or the GJXDM or NIEM </li></ul><ul><li>SOA is not about Technology </li></ul><ul><li>Not driven by the “How” </li></ul><ul><li>SOA is a fundamental change in the way we think about “What” our business is </li></ul>
    7. 7. SOA … <ul><li>Is architecture – a set of best practices for the organization and use of IT </li></ul><ul><li>Abstracts software functionality as loosely-coupled, business-oriented Services </li></ul><ul><li>Composes services into business processes (which are also Services) in a declarative manner </li></ul><ul><li>Is about Change </li></ul><ul><li>Helps IT respond to change and enable innovation </li></ul>Source: Zapthink
    8. 8. SOA Characteristics <ul><li>Reusability – Logic is divided into services with the intention of promoting reuse. </li></ul><ul><li>Contracts – Services adhere to a communications agreement, as defined collectively by one or more service description documents.   </li></ul><ul><li>Loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.   </li></ul><ul><li>Abstraction – Beyond what is described in the service contract, services hide logic from the outside world and define explicit boundaries.   </li></ul><ul><li>Composability – Collections of services can be coordinated and assembled to form composite services which are inherently integrated without the need for additional layers of middleware.   </li></ul><ul><li>Autonomy – Services have control over the logic they encapsulate.   </li></ul><ul><li>Statelessness – Services minimize retaining information specific to an activity.   </li></ul><ul><li>Discoverability – Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms. </li></ul>
    9. 9. SOA Implications Rather than dealing with isolated systems that must be integrated after the fact , Service Orientation provides business users with understandable Services they can call upon and compose into business processes as needed – building systems that can adapt as the business changes . Source: Zapthink
    10. 10. SOA: Changing Thinking and Technology <ul><li>Orchestrated solutions </li></ul><ul><li>Loosely coupled </li></ul><ul><li>Message oriented (Metadata) </li></ul><ul><li>Architecture makes it work </li></ul><ul><li>Favors Heterogeneous Technology </li></ul><ul><li>Implementation abstraction </li></ul><ul><li>Function oriented </li></ul><ul><li>Build to last </li></ul><ul><li>Prolonged development cycles </li></ul><ul><li>Cost centered </li></ul>From To <ul><li>Application silos </li></ul><ul><li>Tightly coupled </li></ul><ul><li>Component/Object oriented </li></ul><ul><li>Middleware makes it work </li></ul><ul><li>Favors homogeneous Technology </li></ul><ul><li>Known implementation </li></ul><ul><li>Process oriented </li></ul><ul><li>Build to change </li></ul><ul><li>Incrementally built and deployed </li></ul><ul><li>Business centered </li></ul>Source: IBM, Microsoft, Zapthink
    11. 11. Benefits of SOA Agility Speed Efficiency Services Revenue Accountability Costs Risk Develop flexible business models enabled by granular IT processes, called “Services” Combine and reuse prebuilt services for rapid application development and deployment in response to changing needs Integrate historically separate systems, reduce cycle times and costs, fosters incremental implementation Offer new services to customers without having to worry about the underlying IT infrastructure Create new value from existing systems Eliminate duplicate system, build once and leverage, reduced cost for integration Improve visibility into business operations, decrease dependency proprietary technologies/vendor lock-in Greater visibility for governance and compliance
    12. 12. The Best Technology…. <ul><li>Is complex on the inside yet simple on the outside </li></ul><ul><li>The secret is the abstraction layer </li></ul>Source: Zapthink
    13. 13. Focus on the Business– Process and Services Application a Application c Application b Application logic Source: Service-Oriented Architecture, Thomas Erl Business logic
    14. 14. Application layer Services interface layer Business process layer .NET J2EE Legacy Source: Service-Oriented Architecture, Thomas Erl orchestration service layer business service layer application service layer
    15. 15. SOA is Fractal <ul><li>Works equally well </li></ul><ul><ul><li>At the applications level </li></ul></ul><ul><ul><li>At the enterprise level </li></ul></ul><ul><ul><li>Across enterprises </li></ul></ul><ul><li>SOA supports the kind of complex, heterogeneous, distributed, environments we face in Justice </li></ul>
    16. 16. SOA and the Natural World <ul><li>The Human Body is a complex system of autonomous systems that “roll up” into a large scale collaborative system </li></ul><ul><ul><li>The Circulatory System, for example </li></ul></ul><ul><ul><ul><li>Heart </li></ul></ul></ul><ul><ul><ul><li>Blood Cells </li></ul></ul></ul><ul><ul><ul><li>Arteries </li></ul></ul></ul><ul><ul><ul><li>Etc. </li></ul></ul></ul><ul><ul><li>These discrete systems work together to keep the body alive and support other critical processes, like respiration, speech, movement. </li></ul></ul><ul><li>In SOA we would call that Composability </li></ul>
    17. 17. SOA and the Natural World (Cont.) <ul><li>Each system functions independently </li></ul><ul><li>Lower level functions are ubiquitous and exposed to higher-level functions through a common interface </li></ul><ul><li>The heart doesn’t worry about what the lungs do or how they do it </li></ul><ul><li>When you run or lift something heavy, the muscles “ask” for more oxygen from a service (the pulmonary-respiratory system). </li></ul><ul><ul><li>Your muscles don’t need to bother with how the lungs absorb oxygen or what causes the heart to beat faster. </li></ul></ul><ul><li>In the natural world this all makes sense. That’s how it works. </li></ul><ul><li>We are just catching up in the software world. </li></ul>
    18. 18. The Justice Reference Architecture… An abstract framework for understanding the significant concepts and components of Service-Oriented implementations within the justice and public safety communities and for identifying where governance and technical standards are needed to support greater interoperability and information sharing.
    19. 19. Levels of Abstraction <ul><li>A Reference Model </li></ul><ul><ul><li>Minimal set of unifying concepts, axioms and relationships that provides a framework for understanding significant relationships among the entities of some environment, independent of specific standards, technologies, implementations, or other concrete details </li></ul></ul><ul><ul><li>In the housing domain a “ Food Preparation Area ” is a reference model concept. </li></ul></ul><ul><li>A Conceptual Reference Architecture </li></ul><ul><ul><li>Provides abstract implementation solutions for the common concepts of the reference model and allow for mapping across different implementation architectures </li></ul></ul><ul><ul><li>A “ Kitchen ” is an Conceptual RA version of the RM “ Food Preparation Area ”; </li></ul></ul><ul><li>Domain Reference Architecture(s) </li></ul><ul><ul><li>Provides an actual set of implementation standards that enables interoperability </li></ul></ul><ul><ul><li>A specific kitchen design </li></ul></ul><ul><ul><ul><li>Large apartment complex- compact kitchen </li></ul></ul></ul><ul><ul><ul><li>Suburban single family home – large kitchen </li></ul></ul></ul><ul><ul><ul><li>House boat – galley kitchen </li></ul></ul></ul><ul><li>An Implementation Architecture </li></ul><ul><ul><li>Your kitchen. </li></ul></ul>
    20. 20. OASIS SOA Reference Model <ul><li>About Services </li></ul><ul><ul><li>Service Descriptions </li></ul></ul><ul><ul><li>Policies and Contracts </li></ul></ul><ul><ul><li>Execution Context </li></ul></ul>Services <ul><li>Dynamics of Services </li></ul><ul><ul><li>Visibility </li></ul></ul><ul><ul><li>Interacting with Services </li></ul></ul><ul><ul><li>Real World Effects </li></ul></ul>Service Contracts & Policy Service Description Execution Context Visibility Interaction Real World Effect
    21. 21. Global’s “Draft’ Justice Reference Architecture
    22. 22. Draft Justice Reference Architecture
    23. 23. Business Service Identification and Design How do you find the right set of business services at the right level of granularity to maximize business agility?
    24. 24. GISWG Services Committee <ul><li>Tasked with identifying </li></ul><ul><ul><li>Service Design Principles </li></ul></ul><ul><ul><li>An initial prioritized list of candidate services for the justice community </li></ul></ul><ul><ul><li>A methodology for identifying Business Services </li></ul></ul>
    25. 25. SOA Principles <ul><li>Reusability – Logic is divided into services with the intention of promoting reuse. </li></ul><ul><li>Contracts – Services adhere to a communications agreement, as defined collectively by one or more service description documents.   </li></ul><ul><li>Loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.   </li></ul><ul><li>Abstraction – Beyond what is described in the service contract, services hide logic from the outside world and define explicit boundaries.   </li></ul><ul><li>Composability – Collections of services can be coordinated and assembled to form composite services which are inherently integrated without the need for additional layers of middleware.   </li></ul><ul><li>Autonomy – Services have control over the logic they encapsulate.   </li></ul><ul><li>Statelessness – Services minimize retaining information specific to an activity.   </li></ul><ul><li>Discoverability – Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms. </li></ul>
    26. 26. Business Service Identification– Three Approaches <ul><li>Application-centric approach </li></ul><ul><li>Business process approach </li></ul><ul><li>Business capabilities approach </li></ul>
    27. 27. Service Interaction? <ul><li>What is a Service? </li></ul><ul><li>What do you need to make Services interoperate? </li></ul>Service Contracts & Policy Service Description Execution Context Visibility Interaction Real World Effect
    28. 28. What Is Service Interaction? Service Interaction Service Definition Service Delivery <ul><li>Deposit Slip—Design (Banking Domain Specific IEPD) </li></ul><ul><li>Receipt Slip—Design (Banking Domain Specific IEPD) </li></ul><ul><li>ID—Design Industry standard token (non-Banking Domain Specific IEPD); drivers license, passport, picture ID </li></ul>I’d like to make a deposit Certainly, may I see some ID? Teller requests Deposit transaction in bank system Deposit confirmation displayed in bank system Receipt Slip <ul><li>Deposit Slip </li></ul><ul><li>Checks </li></ul><ul><li>ID </li></ul>Request Message Network Message Transport = Hand Carried Message Response Message
    29. 29. Service Interaction—Example II Service Interaction Service Definition Service Delivery <ul><li>Smoke Alarm - Design (Engineering specification IEPD) </li></ul>Fire-and-Forget Message Alarm Sounds Wake Up (Real World Effect) Smoke Event Alarm Message Network Message Transport = Sound Waves in Air
    30. 30. Does my IEPD define all of my Service Interaction Requirements? <ul><li>You defined what functions your SERVICE performs and what MESSAGES it Sends/Receives in your (IEPD). </li></ul><ul><li>You are done, RIGHT? </li></ul><ul><li>NOT QUITE YET …. </li></ul>
    31. 31. Additional Service Interaction Requirements? <ul><li>Do you need to know who is using your service? </li></ul><ul><li>Does your service need to know what role/job function the requestor represents before granting access? </li></ul><ul><li>Is your message, or parts of your message confidential? </li></ul>
    32. 32. Additional Service Interaction Requirements? (Continued) <ul><li>What message transport protocols will your service support? </li></ul><ul><li>Does your service need to support transaction processing (commit/rollback)? </li></ul><ul><li>Does your service rely on a distributed (Federated) authentication model? </li></ul>
    33. 33. “Common” Service Interaction Requirements Most of these questions apply to any SOA Service, not just the Service you are developing. These “common” requirements can be met using a set of Industry Standards & technologies supported by a Service Interaction Profile (SIP) in the JRA.
    34. 34. OASIS, W3C and WS-I Standards <ul><li>These Standards Bodies Define Non-Domain Specific, Vendor Neutral, Sets of Open Standards for Addressing “Common” SOA Service Requirements </li></ul><ul><li>GLOBAL Justice Reference Architecture (JRA) modeled after the OASIS SOA Reference Model </li></ul>
    35. 35. “Common” Security Controls for a SOA Service <ul><li>Transport-level Firewalls, basic authentication, encryption (https, ftps) </li></ul><ul><li>Message Level Authentication and Authorization Tokens </li></ul><ul><li>Data Level Encryption and Digital Signature for non-repudiation </li></ul><ul><li>Environment Level Logging, auditing and management </li></ul>
    36. 36. Web Services Security Framework Message Confidentiality XML Encryption Message Integrity (Non-Repudiation) XML Digital Signature Authentication Profiles X.509 Username/Password Kerberos Subject Authorization SAML Assertions Core Web Services Security Specifications
    37. 37. Other “Common” Web Services Standards for SOA Services <ul><li>Metadata Management WS-Addressing, WS-MessageDelivery, WS-Policy, Web Services Policy Language (XACML), WS-MetadataExchange </li></ul><ul><li>Messaging Reliability WS-Reliability, WS-ReliableMessaging </li></ul><ul><li>Composite Message Level Security WS-SecurityPolicy, WS-Trust, WS-SecureConversation, WS-Federation </li></ul>
    38. 38. Other “Common” Web Services Standards for SOA Services <ul><li>Notification (Publish/Subscribe) </li></ul><ul><li>WS-Eventing, WS-Notification (WS-BaseNotification, WS-Topics, WS-BrokeredNotification </li></ul><ul><li>Transactions </li></ul><ul><li>WS-Transactions (WS-AtomicTransactions, WS-BusinessActivity, WS-Coordination) WS-Composite Application Framework (WS-Context, WS-CoordinationFramework,WS-TransactionManagement) </li></ul>
    39. 39. Wide Industry Support for Web Services Standards <ul><li>Web Services standards are numerous and supported by major vendors including: </li></ul><ul><li>IBM, ORACLE, SUN, SAP and Microsoft </li></ul>
    40. 40. What is a Service Interaction Profile (SIP)? <ul><li>A SIP supports both your Domain Specific Service Requirements (IEPD) and one or more of the “Common” Non-Domain Specific Requirements your Service needs to Implement (eg. Security Controls) </li></ul>
    41. 41. Service Interaction Profile (SIP) Promotes Service Interoperability <ul><li>Message Transport Level Interoperability </li></ul><ul><li>http-http,https-https, ftp-ftp, jms-jms,MQseries- MQseries </li></ul><ul><li>Message Structure Level Interoperability </li></ul><ul><li>SOAP-SOAP, MQmessage-MQmessage,REST-REST </li></ul><ul><li>Message Content Level Interoperability </li></ul><ul><li>GJXDM-GJXDM, NIEM-NIEM, HIPPA-HIPPA, HL7-HL7, UBL-UBL </li></ul>
    42. 42. WS-I & OASIS “Common” Profiles for Interoperability <ul><li>WS-I Basic Profile (SOAP,WSDL,Bindings) </li></ul><ul><li>WS-I Attachment Profile (SOAP with Attachments) </li></ul><ul><li>OASIS WS-Security Profile(s) (SOAP with Security) </li></ul><ul><ul><li>Username/Password Profile </li></ul></ul><ul><ul><li>X.509 Profile </li></ul></ul><ul><ul><li>Kerberos Profile </li></ul></ul><ul><ul><li>SAML Profile </li></ul></ul><ul><ul><li>Security Rights Expression Language Profile </li></ul></ul>
    43. 43. SOAP for Interoperable Message Structure <ul><li>Only SOAP provides an interoperable message container for all of the Web Services standards </li></ul><ul><li>SOAP requires an interoperable message transport protocol such as HTTP to move messages between Service Consumer and Service Provider </li></ul>
    44. 44. Communications Protocol Envelope (HTTP, SMTP,…) SOAP With Attachments MIME Envelope MIME Part SOAP-ENV: Envelope SOAP-ENV: Header wsse: Security wsr:Reliability / wsrm:ReliableMessaging SOAP-ENV: Body Payload(s) IEPD XML Message Non-Domain Specific IEPD Requirements -- Industry Standard Profile Specifications for Subject Authentication, Message Integrity, Confidentiality, etc. -- Reliable Messaging Specifications Domain Specific IEPD Requirements -- Input/Output Message(s) Internet Message Transport Protocols -- (http, https, ftp, ftps, smtp)—Ubiquitous, Available On All Service Consumer Platforms Alternative Message Transport Protocols -- (JMS, IBM MQ Series, TIBCO)—Service Consumer Must Support Alternative Transport Protocol Domain Specific IEPD Requirements -- XML and non-XML Attachments Including Binary Files Payload(s) IEPD Attachments MIME Part(s) Interoperable Message Container—SOAP
    45. 45. What about other SIP’s <ul><li>http + URI + xml = Simple Web Services(REST) </li></ul><ul><li>http + SOAP + xml + wsdl = Simple Web Services </li></ul><ul><li>http + SOAP + WS* SOAP extensions + xml + wsdl = Robust Web Services </li></ul><ul><li>http + SOAP + ebXML extensions + xml = ebXML style Web Services </li></ul><ul><li>SOA (proprietary – SIP) – COM/DCOM, CICS/IMS, Message Oriented Middleware(MSMQ, JMS, IBM MQ-Series, TIBCO) </li></ul><ul><li>Eg. Simple Web Services Amazon.com publishes REST/Web Services and SOAP/Web Services </li></ul>
    46. 46. All Service Interaction Occurs via Messages Service Interface Capabilities Service Consumers Network Service Definition A set of XML specifications and narrative retrieved from the Repository. Specifications define the Message(s), Message Exchange Patterns, Security Requirements, Service Model, Service Interface, SLA,… Service Interaction Messages contain XML and non-XML data conforming to the Service Definition Message Message
    47. 47. Federated Query Service Service Interface Query Response Service Query Response Service Query Response Service Service Interface Federated Query Service Organization A Service Consumer Service Interface Organization B Organization C Service Interface Organization X Message Message Message Message Message
    48. 48. Service Enabling Legacy Systems MAINFRAME APPLICATION Legacy Adapter Validate Client Address Service Service Consumers Message 3270 Validate Client Address Transaction 3270 3270 3270 Network Message
    49. 49. Multi-Channel Delivery of a Service Service Interface Bank Deposit Service Service Consumer Service Consumer ATM Remote Bank Office Banking on the Web LAN Web Browser Application Service Provider Service Consumer Message Message Message
    50. 50. Fusion Center Services Fusion Center Subscriber Service Fusion Center Notification Service Fusion Center Query/Response Service Fusion Center Aggregation Service Information Providers FUSION CENTER Information Consumers Information Providers Information Subscribers Message Message Message Message Message
    51. 51. SOA For Enterprise Application Integration (EAI) j2EE .net Fusion Centers MSMQ IBM MQ Series SQL c# CICS VB TIBCO Mainframe COBOL Packaged Software Business Intelligence Tools Enterprise A Execution Environment ESB / Integration Broker Enterprise Internal Facing Services (EAI) REST, JMS, MQ-SERIES INTEGRATION
    52. 52. SOA for Inter-Enterprise Services VB Mainframe COBOL HTTP, SOAP, WSDL Partner Facing External SOA Services Message Message VB Mainframe COBOL j2EE .net Fusion Centers MSMQ IBM MQ Series SQL ESB c# CICS TIBCO Packaged Software Business Intelligence Tools Enterprise B Execution Environment j2EE .net Fusion Centers MSMQ IBM MQ Series SQL ESB c# CICS TIBCO Packaged Software Business Intelligence Tools Enterprise A Execution Environment
    53. 53. JRA Concept Map Components Summary Service Definition: Identify and Design your Service Service Interaction: Describe your Service Interface(s) Service Delivery: Code, Test, Deploy and Manage your Service
    54. 54. JRA Concept Map Components and Service Definition Requirements Policies & Contracts Agreements Business Process Model Business Requirements Analysis Define Service(s) Required
    55. 55. JRA Concept Map Components and Service Definition Design Defines Non-Domain Specific Service Interaction Requirements (Security,Reliability,Transactions) Defines Domain Specific Functions and Actions the Service Needs to Perform (IEPD) Behavior Model Service Model Information Model Domain Vocabularies (NIEM / GJXDM ) Service Design Defines Domain Specific Information the Service Needs to Provide and Inputs Required to Activate the Service (IEPD)
    56. 56. JRA Concept Map Components and Service Definition Specifications Services Specifications Service Interface(s) Specifications Service Interaction Profiles Message(s) Specifications Implementable Service Specifications Service Interaction Guidelines Domain and Non-Domain Service Specifications Supported by Service Interaction Profile (SIP) Interface Description Requirements Service Interaction Requirements Message Exchange Patterns Message Definition Mechanisms
    57. 57. JRA Concept Map Components Service Definition Summary SOA Service Definition: A set of Implementable XML Specifications and Service Description Artifacts and Narrative(s)
    58. 58. JRA Concept Map Components and Service Discovery Interaction Service Interface Service Model Repository Willingness Awareness Reachability Visibility Service Consumers Network Network Interaction <ul><li>Search list of available services </li></ul><ul><li>Request service definition </li></ul><ul><li>Receive authorized service definition </li></ul>A variety of service repository interfaces might be used, such as UDDI, GUI-Web application search tool, proprietary service-registry interface
    59. 59. JRA Concept Map Components and Service Interaction Service Interface Capabilities Service Consumers Network Service Definition A set of XML specifications and narrative retrieved from the Repository. Specifications define the Message(s), Message Exchange Patterns, Security Requirements, Service Model, Service Interface, SLA,… Service Interaction Messages contain XML and non-XML data conforming to the Service Definition Message Message
    60. 60. JRA Concept Map Components and Service Delivery Intermediaries Interceptors Services Capabilities Execution Context Real World Effects Provisioning Model Transformers Routers Orchestrations Message Validators Service Provider technologies used to implement Domain and Non-Domain Specific Service Specifications Service Interfaces
    61. 61. JRA Concept Map Components and Execution Context Services Capabilities Sample Execution Context(s) Service Provider technologies used to implement Domain and Non-Domain Specific Service Specifications Service Interfaces Service Provider USES TO CODE & TEST PROGRAMS TO IMPLEMENT AND J2EE Websphere .NET Integration Broker Suites ESB Tools C#, C++ Portal Technology ORACLE Application Server Tools SAP
    62. 62. JRA Concept Map Execution Contexts Service Interaction Service Definition S E R V I C E Service Interaction Execution Environment Service Delivery Service Consumers Service Provider Systems I N T E R F A C E S E R V I C E Messages Loose coupling, Business Agility, Re-Use, Technology-Neutral, Application Independent, Middleware Agnostic Messages GJXDM NIEM XML UBL SOAP Service Interaction Profiles REST UML WS-Security Web Services ebXML UDDI WSDL j2EE .net Fusion Centers MSMQ IBM MQ Series SQL ESB c# CICS VB TIBCO Mainframe COBOL Packaged Software Business Intelligence Tools Service Delivery Execution Environment
    63. 63. Questions???
    64. 64. What is a Service? The means by which the needs of a consumer are brought together with the capabilities of a provider. Draft JRA A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. OASIS SOA-RM

    ×