Title: Global Justice Information Sharing Initiative: ServiceOriented Architecture Subcommittee
1Global Justice Information Sharing
InitiativeService-Oriented Architecture
Subcommittee
- Brand Niemann and Susan Turnbull
- Emerging Technology Subcommittee
- November 10, 2003
- Williamsburg, Virginia
2Overview
- 1. Origin of Service-Oriented Architecture
- 2. Web Services
- 3. The 41 View Model of Software Architecture
Applied to Web Services - 4. Implementing the FEA/NASCIO with SOA
- 5. Selected Resources
31. Origin of Service-Oriented Architecture
- 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) - A Web service provider
- A Web service requestor and a
- A Web service broker.
- Note IBMs service-oriented architecture is a
generic model describing service collaboration,
not specific to Web services. - See http//www-106.ibm.com/developerworks/webservi
ces/
41. Origin of Service-Oriented Architecture
Service provider
Bind
Publish
Service requestor
Service broker
Find
Service-oriented architecture representation
(Courtesy of IBM Corporation)
52. Web Services
- A Service-Oriented Architecture (SOA) means that
the architecture is described and organized to
support Web Services dynamic, automated
description, publication, discovery, and use. - The SOA organizes Web Services into three basic
roles - The service provider (publish)
- The service requestor find)
- The service registry (bind)
- The SOA is also responsible for describing how
Web Services can be combined into larger services.
62. Web Services
- The SOA has four key functional components
- Service Implementation
- Build from scratch, provide a wrapper, or create
a new service interface for an existing Web
Service. - Publication
- 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). - Discovery
- Search the registry, get the URL, and download
the WSDL file. - Invocation
- Author a client (SOAP) using the WSDL and make
the request (SOAP message) and get the response
(SOAP message).
72. Web Services
- 1. Client queries registry to locate service.
- 2. Registry refers client to WSDL document.
- 3. Client accesses WSDL document.
- 4. WSDL provides data to interact with Web
service. - 5. Client sends SOAP-message request.
- 6. Web service returns SOAP-message response.
WSDL Document
UDDI Registry
2
3
1
4
5
Client
Web Service
6
82. Web Services
- Acronyms
- UDDI
- WSDL
- SOAP
- HTTP, SMTP, FTP
- Programming (DOM, SAX)
- Schema (DTD, XSD)
- XML
- Practical Examples
- Phone Book
- Contract
- Envelope
- Mailperson
- Speech
- Vocabulary
- Alphabet
92. Web Services
- Stages of Web services Development and
Deployment - Creation Design, development, documentation,
testing, and distribution. - Publication Web service hosting and
maintenance. - Promotion Directory services, value-added
services and accreditation.
102. Web Services
Service requestors
Service providers
Web Services Network Security Reliability QoS Bil
ling
Web services networks act as intermediaries in
Web services interactions.
113. The 41 View Model of Software Architecture
Applied to Web Services
- Software architects need to understand the
paradigm shift of Web Services and communicate it
to their teams as well as their management. - The 41 View Model of Software Architecture
popularized by Philippe Kruchten of Rational
Software - 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. - 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.
123. The 41 View Model of Software Architecture
Applied to Web Services
- The 41 View Model of Software Architecture
- The Implementation Architectural View The Web
Services Technology Stack. - The Logical Architectural View Composition of
Web Services. - The Deployment Architectural View From
Application Servers to Peer-to-Peer. - The Process Architectural View Life in the
Runtime. - Use-Case View Users That Know What They Want a
Web Services Architecture to Do (not the case at
this time).
133. The 41 View Model of Software Architecture
Applied to Web Services
Programmers Software Management
End User Functional Requirements
Implementation (Development or Component) View
Logical (design) View
Use-Case View
Process View
Deployment (Physical) View
System Engineering Platforms
SOA Architects JIT Integration of Web Services
144. Implementing the FEA/NASCIO with SOA
- Three Basic Architectures
- Federal Enterprise Architecture
- A Set of Reference Models Backed by Law and
Administrative Rule. - Not a roadmap, but a guide to getting there.
(Gartner) - National Association of State CIOs Architecture
Toolkit - Business Architecture (TBD), IT Domains (10), and
Temporal Context (Emerging, Current, Twilight,
and Sunset). - Other
- Gartner EA
- Business Relationships Grid
- Styles, Patterns, and Bricks Versus Seven Domains
(Data, Application, Integration, Point of Access,
Security, Systems Management, and Infrastructure).
154. Implementing the FEA/NASCIO with SOA
- eGov requires multiple interfaces for the
- Citizen, portfolio manager, developer, etc.
- To the Government Enterprise Architecture
Framework (GEAF) - Federal Enterprise Architecture plus the National
Association of State CIOs Architecture Toolkit,
etc. - Which consists of multiple Reference Models (RM)
- Performance, Business, Services, Technical, Data,
Security, etc. - Which provide multiple views for implementing an
SOA- Component-based Architecture (SOA-CBA) - 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).
164. Implementing the FEA/NASCIO with SOA
- Life Cycle Stages(1)
- Identification
- Subscription
- Stewardship
- Graduation
- Budgeting
- Acquisition
- Maintenance
- Retirement /Replacement
- Basic Component Types (2)
- Federated
- Business System
- Business
- Distributed
- Language Class
1. Managing the IT Innovation Life-Cycle
Proposed Stages/Schemas, Draft, May 27, 2003,
with minor edit on July 2, 2003 at
http//xml.gov/draft/etLifeCycle.htm 2. FEA
Service Components Reference Model,
http//www.feapmo.gov (see next slide)
174. Implementing the FEA/NASCIO with SOA
184. Implementing the FEA/NASCIO with SOA
194. Implementing the FEA/NASCIO with SOA
- FEA Reference Models, October 7, 2003
- Performance
- Metrics Indicators
- Measures.
- Business (and Lines of Business)
- Context Conditions
- Workflow.
- Service Component
- Directory, Repository, Registry.
- Applications.
- Technical
- Standards and Specifications
- Interoperability.
- Data
- Subjects Schema
- Information Exchange.
- Service Oriented Architecture (1)
- Business Process Architects
- Business Process Architects
- Web Services Architects
- Web Services Architects
- Web Services Architects
- Web Services Architects
- An iterative process between the two groups of
architects.
205. Selected Resources
- Service-oriented architectures may be the next
distributed-computing paradigm. But what are
they, anyway? By Alyson Behr - http//www.sdtimes.com/news/089/special1.htm
- Selected Items from IBM Developerworks
- Start Here to learn about Web services
- http//www-106.ibm.com/developerworks/webservices/
library/ws-starthere.html - The Web Services Conceptual Architecture explains
the technical ideas behind Web services and how
it functions - http//www-3.ibm.com/software/solutions/webservice
s/pdf/WSCA.pdf - The Tao of e-business services
- 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. - http//www-106.ibm.com/developerworks/webservices/
library/ws-tao/
215. Selected Resources
- Selected Items from IBM Developerworks
(continued) - Using service-oriented architecture and
component-based development to build Web service
applications - 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. - http//www-140.ibm.com/content/03July/2000/2169/21
69.pdf - Best practices for Web services Part 7
- Web services Infrastructure
- http//www-106.ibm.com/developerworks/webservices/
library/ws-best7/ - Demo Emerging Technologies Toolkit
- http//www-106.ibm.com/developerworks/webservices/
demos/ettk/ - Tutorial Introduction to Web services and the
WSDK V5.1 - http//www-106.ibm.com/developerworks/edu/ws-dw-ws
-intwsdk51-i.html
225. Selected Resources
- HP Federal Services Web Services Best Practices
Workshop (see outline in next slide). - 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 - http//www.hp.com/large/events/2003/xml/
- http//www.hp.com/large/events/2003/xml/presentati
ons.html - To be made available on DVD soon!
- Video (about 6 hours) and free software and white
papers.
235. Selected Resources
- 930 AM Web Services Case Studies
- 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. - 1045 AM Best Practices for Web Services
Development - 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. - 115 PM A Look at Web Services Emerging
Standards - 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. - 300 PM The Importance of Web Services
Management - 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.
245. Selected Resources
- Programming .NET Components Seminar ("A component
is a .NET class."). 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. - Agenda
- 1. Component-oriented programming
- What, why, how of components
- Component-oriented vs. object-oriented
- 2. Core principles of component-oriented
development - Definition
- Using .NET
- 3. Component-oriented development process
- 4. .NET future trends
- Return of the rich clients
- Speculated timelines
- ClickOnce (Brian Noyes)
- Indigo (Heinrich Gantenbein)
- 5. QA panel
See http//web-services.gov, Announcements,
October 24, 2003, for slides.