Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Global Justice Information Sharing Initiative: Service-Oriented ...


Published on

  • Be the first to comment

  • Be the first to like this

Global Justice Information Sharing Initiative: Service-Oriented ...

  1. 1. Global Justice Information Sharing Initiative: Service-Oriented Architecture Subcommittee Brand Niemann and Susan Turnbull Emerging Technology Subcommittee November 10, 2003 Williamsburg, Virginia
  2. 2. Overview <ul><li>1. Origin of Service-Oriented Architecture </li></ul><ul><li>2. Web Services </li></ul><ul><li>3. The 4+1 View Model of Software Architecture Applied to Web Services </li></ul><ul><li>4. Implementing the FEA/NASCIO with SOA </li></ul><ul><li>5. Selected Resources </li></ul>
  3. 3. 1. Origin of Service-Oriented Architecture <ul><li>IBM has created a model to depict Web services interactions which is referred to as a “service-oriented architecture” comprising relationships among three entities (see next slide): </li></ul><ul><ul><li>A Web service provider; </li></ul></ul><ul><ul><li>A Web service requestor; and a </li></ul></ul><ul><ul><li>A Web service broker. </li></ul></ul><ul><li>Note: IBM’s service-oriented architecture is a generic model describing service collaboration, not specific to Web services. </li></ul><ul><ul><li>See </li></ul></ul>
  4. 4. 1. Origin of Service-Oriented Architecture Service provider Service broker Service requestor Find Bind Publish Service-oriented architecture representation (Courtesy of IBM Corporation)
  5. 5. 2. Web Services <ul><li>A Service-Oriented Architecture (SOA) means that the architecture is described and organized to support Web Service’s dynamic, automated description, publication, discovery, and use. </li></ul><ul><ul><li>The SOA organizes Web Services into three basic roles: </li></ul></ul><ul><ul><ul><li>The service provider (publish) </li></ul></ul></ul><ul><ul><ul><li>The service requestor find) </li></ul></ul></ul><ul><ul><ul><li>The service registry (bind) </li></ul></ul></ul><ul><ul><li>The SOA is also responsible for describing how Web Services can be combined into larger services. </li></ul></ul>
  6. 6. 2. Web Services <ul><li>The SOA has four key functional components: </li></ul><ul><ul><li>Service Implementation: </li></ul></ul><ul><ul><ul><li>Build from scratch, provide a wrapper, or create a new service interface for an existing Web Service. </li></ul></ul></ul><ul><ul><li>Publication: </li></ul></ul><ul><ul><ul><li>Author the WSDL document, publish the WSDL on a Web Server, and publish the existence of your WSDL in a Web Services registry using a standard specification (UDDI). </li></ul></ul></ul><ul><ul><li>Discovery: </li></ul></ul><ul><ul><ul><li>Search the registry, get the URL, and download the WSDL file. </li></ul></ul></ul><ul><ul><li>Invocation: </li></ul></ul><ul><ul><ul><li>Author a client (SOAP) using the WSDL and make the request (SOAP message) and get the response (SOAP message). </li></ul></ul></ul>
  7. 7. 2. Web Services <ul><li>1. Client queries registry to locate service. </li></ul><ul><li>2. Registry refers client to WSDL document. </li></ul><ul><li>3. Client accesses WSDL document. </li></ul><ul><li>4. WSDL provides data to interact with Web service. </li></ul><ul><li>5. Client sends SOAP-message request. </li></ul><ul><li>6. Web service returns SOAP-message response. </li></ul>WSDL Document UDDI Registry Web Service Client 1 2 3 4 5 6
  8. 8. 2. Web Services <ul><li>Acronyms: </li></ul><ul><ul><li>UDDI </li></ul></ul><ul><ul><li>WSDL </li></ul></ul><ul><ul><li>SOAP </li></ul></ul><ul><ul><li>HTTP, SMTP, FTP </li></ul></ul><ul><ul><li>Programming (DOM, SAX) </li></ul></ul><ul><ul><li>Schema (DTD, XSD) </li></ul></ul><ul><ul><li>XML </li></ul></ul><ul><li>Practical Examples: </li></ul><ul><ul><li>Phone Book </li></ul></ul><ul><ul><li>Contract </li></ul></ul><ul><ul><li>Envelope </li></ul></ul><ul><ul><li>Mailperson </li></ul></ul><ul><ul><li>Speech </li></ul></ul><ul><ul><li>Vocabulary </li></ul></ul><ul><ul><li>Alphabet </li></ul></ul>
  9. 9. 2. Web Services <ul><li>Stages of Web services Development and Deployment: </li></ul><ul><ul><li>Creation – Design, development, documentation, testing, and distribution. </li></ul></ul><ul><ul><li>Publication – Web service hosting and maintenance. </li></ul></ul><ul><ul><li>Promotion – Directory services, value-added services and accreditation. </li></ul></ul>
  10. 10. 2. Web Services Web Services Network: Security Reliability QoS Billing Service providers Service requestors Web services networks act as intermediaries in Web services interactions.
  11. 11. 3. The 4+1 View Model of Software Architecture Applied to Web Services <ul><li>Software architects need to understand the paradigm shift of Web Services and communicate it to their teams as well as their management. </li></ul><ul><li>The 4+1 View Model of Software Architecture popularized by Philippe Kruchten of Rational Software: </li></ul><ul><ul><li>The architect has clear vision seeing the elephant from all four views, not the four separate views of the four blind men. The architect has a comprehensive picture of the elephant. </li></ul></ul><ul><ul><li>Each of the four main views takes the perspective of key stakeholders in the development process. The fifth view overlaps the other views and plays a special role. </li></ul></ul>
  12. 12. 3. The 4+1 View Model of Software Architecture Applied to Web Services <ul><li>The 4+1 View Model of Software Architecture: </li></ul><ul><ul><li>The Implementation Architectural View – The Web Services Technology Stack. </li></ul></ul><ul><ul><li>The Logical Architectural View – Composition of Web Services. </li></ul></ul><ul><ul><li>The Deployment Architectural View – From Application Servers to Peer-to-Peer. </li></ul></ul><ul><ul><li>The Process Architectural View – Life in the Runtime. </li></ul></ul><ul><ul><li>Use-Case View – Users That Know What They Want a Web Services Architecture to Do (not the case at this time). </li></ul></ul>
  13. 13. 3. The 4+1 View Model of Software Architecture Applied to Web Services Use-Case View Logical (design) View Process View Implementation (Development or Component) View Deployment (Physical) View End User Functional Requirements SOA Architects JIT Integration of Web Services Programmers Software Management System Engineering Platforms
  14. 14. 4. Implementing the FEA/NASCIO with SOA <ul><li>Three Basic Architectures: </li></ul><ul><ul><li>Federal Enterprise Architecture: </li></ul></ul><ul><ul><ul><li>A Set of Reference Models Backed by Law and Administrative Rule. </li></ul></ul></ul><ul><ul><ul><ul><li>“ Not a roadmap, but a guide to getting there”. (Gartner) </li></ul></ul></ul></ul><ul><ul><li>National Association of State CIO’s Architecture Toolkit: </li></ul></ul><ul><ul><ul><li>Business Architecture (TBD), IT Domains (10), and Temporal Context (Emerging, Current, Twilight, and Sunset). </li></ul></ul></ul><ul><ul><li>Other: </li></ul></ul><ul><ul><ul><li>Gartner EA: </li></ul></ul></ul><ul><ul><ul><ul><li>Business Relationships Grid: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Styles, Patterns, and Bricks Versus Seven Domains (Data, Application, Integration, Point of Access, Security, Systems Management, and Infrastructure). </li></ul></ul></ul></ul></ul>
  15. 15. 4. Implementing the FEA/NASCIO with SOA <ul><li>eGov requires multiple interfaces for the: </li></ul><ul><ul><li>Citizen, portfolio manager, developer, etc. </li></ul></ul><ul><li>To the Government Enterprise Architecture Framework (GEAF): </li></ul><ul><ul><li>Federal Enterprise Architecture plus the National Association of State CIOs Architecture Toolkit, etc. </li></ul></ul><ul><li>Which consists of multiple Reference Models (RM): </li></ul><ul><ul><li>Performance, Business, Services, Technical, Data, Security, etc. </li></ul></ul><ul><li>Which provide multiple views for implementing an SOA- Component-based Architecture (SOA-CBA): </li></ul><ul><ul><li>Requiring multiple registries/repositories (see slide 18) to cover the matrix framework of at least eight life-cycle stages and five basic types of components (see slide 16-17). </li></ul></ul>
  16. 16. 4. Implementing the FEA/NASCIO with SOA <ul><li>Life Cycle Stages(1): </li></ul><ul><ul><li>Identification </li></ul></ul><ul><ul><li>Subscription </li></ul></ul><ul><ul><li>Stewardship </li></ul></ul><ul><ul><li>Graduation </li></ul></ul><ul><ul><li>Budgeting </li></ul></ul><ul><ul><li>Acquisition </li></ul></ul><ul><ul><li>Maintenance </li></ul></ul><ul><ul><li>Retirement /Replacement </li></ul></ul><ul><li>Basic Component Types (2): </li></ul><ul><ul><li>Federated </li></ul></ul><ul><ul><li>Business System </li></ul></ul><ul><ul><li>Business </li></ul></ul><ul><ul><li>Distributed </li></ul></ul><ul><ul><li>Language Class </li></ul></ul>1. Managing the IT Innovation Life-Cycle: Proposed Stages/Schemas, Draft, May 27, 2003, with minor edit on July 2, 2003 at 2. FEA Service Components Reference Model, (see next slide)
  17. 17. 4. Implementing the FEA/NASCIO with SOA No A class in an object-oriented programming language to build distributed components. This is NOT considered an SCRM component. Language Class Yes The lowest level of component granularity. It is a software element that can be called at run-time with a clear interface and a clear separation between interface and implementation. It is autonomously deployable. Distributed Component Yes Represents the implementation of an autonomous business concept or business process. It consists of all the technology elements (i.e., software, hardware, data) necessary to express, implement, and deploy a given business concept as an autonomous, reusable element of a large information system. It is a unifying concept across the development lifecycle and the distribution tiers. Business Component Yes A set of cooperating business components assembled together to deliver a solution to a business problem. Business Component System Yes A set of cooperating system-level components federated to resolve the business need of multiple end users often belonging to different organizations. Federated Component SCRM REFERENCE MODEL FOCUS? DEFINITION GRANULARITY
  18. 18. 4. Implementing the FEA/NASCIO with SOA GSA-Emerging Components Open Source for eGov Reference Architecture Flashline/Noblestar – Emerging Components Components (Reusable Asset Specification-OMG) Department of Labor and DevIS – Emerging Components WorkForce Connections –Shareable Content Object Reference Model Governance SC, etc. XML Web Services WG GEAF XML.Gov Registry Team XML Web Services WG BAH’s “Web Services and Registries” EPA, Global, Business Gateway, etc. XML Web Services WG Software AG’s Tamino Native XML Server DISA, US PTMO, Business Gateway, etc. XML Web Services WG CollabNet’s Source Cast Business Gateway, IC MWG, etc. XML Web Services WG BlueOxide’s XML Collaborator Destination (s) Origin Name
  19. 19. 4. Implementing the FEA/NASCIO with SOA <ul><li>FEA Reference Models, October 7, 2003: </li></ul><ul><li>Performance: </li></ul><ul><ul><li>Metrics & Indicators: </li></ul></ul><ul><ul><ul><li>Measures. </li></ul></ul></ul><ul><li>Business (and Lines of Business): </li></ul><ul><ul><li>Context & Conditions: </li></ul></ul><ul><ul><ul><li>Workflow. </li></ul></ul></ul><ul><li>Service Component: </li></ul><ul><ul><li>Directory, Repository, & Registry. </li></ul></ul><ul><ul><ul><li>Applications. </li></ul></ul></ul><ul><li>Technical: </li></ul><ul><ul><li>Standards and Specifications: </li></ul></ul><ul><ul><ul><li>Interoperability. </li></ul></ul></ul><ul><li>Data: </li></ul><ul><ul><li>Subjects & Schema: </li></ul></ul><ul><ul><ul><li>Information Exchange. </li></ul></ul></ul><ul><li>Security & Privacy: </li></ul><ul><ul><li>TBD. </li></ul></ul><ul><li>Service Oriented Architecture (1): </li></ul><ul><li>Business Process Architects </li></ul><ul><li>Business Process Architects </li></ul><ul><li>Web Services Architects </li></ul><ul><li>Web Services Architects </li></ul><ul><li>Web Services Architects </li></ul><ul><li>Web Services Architects </li></ul><ul><li>An iterative process between the two groups of architects . </li></ul>
  20. 20. 5. Selected Resources <ul><li>Service-oriented architectures may be the next distributed-computing paradigm. But what are they, anyway? By Alyson Behr </li></ul><ul><ul><li> </li></ul></ul><ul><li>Selected Items from IBM Developerworks: </li></ul><ul><ul><li>Start Here to learn about Web services </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>The Web Services Conceptual Architecture explains the technical ideas behind Web services and how it functions </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>The Tao of e-business services </li></ul></ul><ul><ul><ul><li>The concept of Web services is the beginning of a new service-oriented architecture in building better software applications. The change from an object-oriented system to a service-oriented one is an evolutionary idea that sublimated from the global Internet and Web system. </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul>
  21. 21. 5. Selected Resources <ul><li>Selected Items from IBM Developerworks (continued): </li></ul><ul><ul><li>Using service-oriented architecture and component-based development to build Web service applications </li></ul></ul><ul><ul><ul><li>This paper provides a deeper understanding of service-oriented architectures, relating services to software components and describing how component-based development practices provide a foundation for implementing a service-oriented architecture. </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><ul><li>Best practices for Web services: Part 7 </li></ul></ul><ul><ul><ul><li>Web services Infrastructure </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><ul><li>Demo: Emerging Technologies Toolkit </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>Tutorial: Introduction to Web services and the WSDK V5.1 </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul>
  22. 22. 5. Selected Resources <ul><li>HP Federal Services Web Services Best Practices Workshop (see outline in next slide). </li></ul><ul><ul><li>The first in a series of special one-day vendor technical workshops on Web Services as part of Phase 2 of the XML Web Services for E-Gov Pilots, at the White House Conference Center, September 24, 2003: </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>To be made available on DVD soon! </li></ul></ul><ul><ul><ul><ul><li>Video (about 6 hours) and free software and white papers. </li></ul></ul></ul></ul>
  23. 23. 5. Selected Resources <ul><li>9:30 AM Web Services Case Studies : </li></ul><ul><ul><li>Two cases studies that provide insight into key best practices that have been gained in using web services technologies to successfully create a client-business portal and solve a major application integration issue. </li></ul></ul><ul><li>10:45 AM Best Practices for Web Services Development : </li></ul><ul><ul><li>Web services interoperability issues as they relate to the use of WSDL and XML schemas. Review of the application of existing design patterns to web services architectures and key development and testing practices that can be leveraged to ease your web services development process. </li></ul></ul><ul><li>1:15 PM A Look at Web Services Emerging Standards : </li></ul><ul><ul><li>Even as many of the initial web services standards such as SOAP and WSDL are stabilizing and becoming commonly supported within the industry, a number of new standards are beginning to emerge. This presentation will focus specifically on two key areas: Web Services Security and Web Services Orchestration and a comparison of BPEL4WS and WSCI and some practical guidelines for adopting these standards today in your development. </li></ul></ul><ul><li>3:00 PM The Importance of Web Services Management : </li></ul><ul><ul><li>Application manageability and the importance of web services management are covered including a walk through some of the important requirements, such as monitoring and metering SOAP messages. Key requirements for managing the lifecycle, robustness, and security of a web service are also reviewed. It will address specific guiding principles for adding manageability to a web services application. The presentation will conclude with a look at strategies for supporting web services management moving forward. </li></ul></ul>
  24. 24. 5. Selected Resources <ul><li>Programming .NET Components Seminar (&quot;A component is a .NET class.&quot;). See O'Reilly Book: Programming .Net Components - Design and Build Maintainable Systems Using Component-Oriented Programming. Part of the Emerging Technology Subcommittees' Emerging Components and Semantic XML Web Services Community of Practice Activities. To be schedule in January 2004. </li></ul><ul><ul><li>Agenda: </li></ul></ul><ul><ul><ul><li>1. Component-oriented programming: </li></ul></ul></ul><ul><ul><ul><ul><li>What, why, how of components </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Component-oriented vs. object-oriented </li></ul></ul></ul></ul><ul><ul><ul><li>2. Core principles of component-oriented development: </li></ul></ul></ul><ul><ul><ul><ul><li>Definition </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Using .NET </li></ul></ul></ul></ul><ul><ul><ul><li>3. Component-oriented development process </li></ul></ul></ul><ul><ul><ul><li>4. .NET future trends: </li></ul></ul></ul><ul><ul><ul><ul><li>Return of the rich clients </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Speculated timelines </li></ul></ul></ul></ul><ul><ul><ul><ul><li>ClickOnce (Brian Noyes) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Indigo (Heinrich Gantenbein) </li></ul></ul></ul></ul><ul><ul><ul><li>5. Q&A panel </li></ul></ul></ul>See, Announcements, October 24, 2003, for slides.