Title: Service Oriented Architecture Web and Grid Services
1Service Oriented ArchitectureWeb and Grid
Services
2What is Service-Oriented Architecture?
- Service-Oriented Architecture (SOA) is an
architectural style. Applications built using an
SOA style deliver functionality as services that
can be used or reused when building applications
or integrating within the enterprise or trading
partners.
3SOA
- Uses open standards to integrate software assets
as services - Standardizes interactions of services
- Services become building blocks that form
business flows - Services can be reused by other applications
4What is a Service?
- A service is a reusable component that can be
used as a building block to form larger, more
complex business-application functionality. - A service may be as simple as get me some person
data, or as complex as process a disbursement.
5What is a Service?
- A service provides a discrete business function
that operates on data. Its job is to ensure that
the business functionality is applied
consistently, returns predictable results, and
operates within the quality of service required. - From a theory point of view, it really doesnt
matter how a service is implemented for service
requester.
6Characteristics of a Service
- Supports open standards for integration
Although proprietary integration mechanisms may
be offered by the SOA infrastructure, SOAs
should be based on open standards. Open
standards ensure the broadest integration
compatibility opportunities.
7Characteristics of a Service
- Loose coupling The consumer of the service is
required to provide only the stated data on the
interface definition, and to expect only the
specified results on the interface definition.
The service is capable of handling all processing
(including exception processing).
8Characteristics of a Service
- Location agnostic Users of the service do not
need to worry about the implementation details
for accessing the service. The SOA
infrastructure will provide standardized access
mechanisms with service-level agreements.
9Characteristics of a Service
- Stateless The service does not maintain state
between invocations. It takes the parameters
provided, performs the defined function, and
returns the expected result. If a transaction is
involved, the transaction is committed and the
data is saved to the database.
10Legacy Business Process
11Architectural Choke Point
- Extremely complex
- Very tightly coupled
- Difficult to find clean integration points
- Lack of standards makes it difficult to integrate
- Rigid architecture makes even small changes
complex and costly
12SOA Business Process
13Web Services
- Best way to realize Service Oriented Architecture
14W3C Definition
- A Web service is a software system identified by
a URI, whose public interfaces and bindings are
defined and described using XML. Its definition
can be discovered by other software systems.
These systems may then interact with the Web
service in a manner prescribed by its definition,
using XML based messages conveyed by Internet
protocols.
15Defacto standards
16(No Transcript)
17Web Services Design Principles
Web-based Protocols Web-services based on
HTTP protocols can traverse firewalls, can work
in a heterogeneous environment
Interoperability SOAP defines a common standard
that allows different systems to interoperate
XML-based (XML schema) machine-readable
documents Modularity Service Components are
useful in themselves, reusable, composable
Availability Services are available to systems
that wish to use them Services must be exposed
outside of the particular system they are
available in Machine-readable description
used to identify the interface, the location and
access information Implementation-independence
Service interface available independent of the
ultimate implementation Published Searchable
service repositories of service descriptions
18(No Transcript)
19SOAP
- A wrapper protocol
- Written in XML
- Independent of the wrapped data
- Independent of the transport protocol
- Efficient (according to the W3C)
- A uni-directional message exchange paradigm
20Packaging Soap
HTTP Post
SOAP Envelope
SOAP Head
SOAP Body
21SOAP Message Format
- lt?xml version1.0?gt
- ltsoapEnvelope ...gt
- ltsoapHeader ...gt
- ...
- lt/soapHeadergt
- ltsoapBodygt
- ltAdd xmlnshttp//gecici.org/gt
- ltn1gt12lt/n1gt
- ltn2gt10lt/n2gt
- lt/Addgt
- lt/soapBodygt
- lt/soapEnvelopegt
22Example of a SOAP Request
POST /StockQuote HTTP/1.1 Host
www.stockquoteserver.com Content-Type text/xml
charset"utf-8" Content-Length nnnn SOAPAction
"Some-URI ltSOAP-ENVEnvelope xmlnsSOAP-ENV"htt
p//schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV encodingStyle "http//schemas.xmlsoap.
org/soap/encoding/"gt ltSOAP-ENVBodygt
ltmGetLastTradePrice xmlnsm"Some-URI"gt
ltsymbolgtDISlt/symbolgt lt/mGetLastTradePric
egt lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
23Example of a SOAP Response
HTTP/1.1 200 OK Content-Type text/xml
charset"utf-8" Content-Length
nnnn ltSOAP-ENVEnvelope xmlnsSOAP-ENV
"http//schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV encodingStyle "http//schemas.xmlsoap.o
rg/soap/encoding/"/gt ltSOAP-ENVBodygt
ltmGetLastTradePriceResponse xmlnsm"Some-URI"gt
ltPricegt34.5lt/Pricegt
lt/mGetLastTradePriceResponsegt
lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
24Example of a SOAP Error
HTTP/1.1 500 Internal Server Error Content-Type
text/xml charset"utf-8" Content-Length
nnnn ltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//
schemas.xmlsoap.org/soap/envelope/"gt
ltSOAP-ENVBodygt ltSOAP-ENVFaultgt
ltfaultcodegt SOAP-ENV MustUnderstand
lt/faultcodegt ltfaultstringgtSOAP Must
Understand Error lt/faultstringgt
lt/SOAP-ENVFaultgt lt/SOAP-ENVBodygt lt/SOAP-ENVE
nvelopegt
25WSDL Web Services Description Language
- Definitions
- - WSDL is an XML-based language used to
- define Web Services and describe how to
- access them.
- - WSLD is an XML format for describing
- network services as a set of endpoints
- operating on messages containing either
- document-oriented or procedure-oriented
- information.
26WSDL Structure
- A WSDL document is an XML document
lt?xml version"1.0" encoding"UTF-8"?gtltdefinition
sgt lttypesgt lt! define the types here using
XML Schema ? lt/typesgt ltmessagegt lt! XML
messages the web service uses are defined here ?
lt/messagegt ltportTypegt lt! define the input
and output parameters here -? lt/portTypegt
ltbindinggt lt! define the network protocol here
? lt/bindinggt ltservicegt lt! location of the
service ? lt/servicegtlt/definitionsgt
27Web Service Description (WSDL)
Abstract Description
Concrete Description
28Big Picture
29Types Section
- The type element defines the data types that are
used by the web service. - ltxsdcomplexType name"PERSON"gt ltxsdsequencegt
ltxsdelement name"firstName
type"xsdstring"/gt ltxsdelement
name"lastName" type"xsdstring"/gt ltxsdelement
name"ageInYears" type"xsdint"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
30Messages Section
- A message element defines parameters
- The name of an output message element ends in
"Response" by convention - ltmessage name"Simple.foo"gt ltpart name"arg"
type"xsdint"/gt lt/messagegt ltmessage
name"Simple.fooResponse"gt ltpart name"result"
type"xsdint"/gt lt/messagegt
31PortTypes Section
- Defines a web service, the operations that can be
performed, and the messages that are involved. - ltportType name"SimplePortType"gt ltoperation
name"foo" parameterOrder"arg" gt ltinput
message"wsdlnsSimple.foo"/gt
ltoutputmessage"wsdlnsSimple.fooResponse"/gt
lt/operationgt lt/portTypegt
32An Example
- ltmessage name"Simple.foo"gt ltpart
name"arg" type"xsdint"/gt lt/messagegt ltmessage
name"Simple.fooResponse"gt ltpart
name"result" type"xsdint"/gt lt/messagegt - ltportType name"SimplePortType"gt
ltoperation name"foo" parameterOrder"arg" gt
ltinput message"wsdlnsSimple.foo"/gt
ltoutput message"wsdlnsSimple.fooResponse"/gt
lt/operationgt lt/portTypegt - The above describes what kind of C/C function
call? - int foo(int arg)
33The Port Element
- Each ltportgt element associates a location with a
ltbindinggt in a one-to-one fashion - ltport name"fooSamplePort inding"fooSampleBindin
g"gt ltsoapaddress location"http//carlos808
0/fooService/foo.asp"/gt lt/portgt
34Services Section
- A collection of related endpoints, where an
endpoint is defined as a combination of a binding
and an address - ltservice name"FOOSAMPLEService"gt ltport
name"SimplePort binding"wsdlnsSimpleBinding"gt
ltsoapaddress location"http//carlos8080/
FooSample/ FooSample.asp"/gt lt/portgt
lt/servicegt
35Namespaces
- The purpose of namespaces is to avoid naming
conflicts. - Imagine two complimentary web services, named A
and B, each with an element named foo. - Each instance of foo can be referenced as Afoo
and Bfoo - Example "xmlnsxsd" defines a shorthand (xsd)
for the namespace - See http//www.w3.org/2001/XMLSchema.
36What is UDDI?
- A project to speed interoperability and adoption
for web services - Standards-based specifications for service
description and discovery - Shared operation of a business registry on the
web - Partnership among industry and business leaders
- Universal Description, Discovery, and Integration
37What Problems Do We Solve?
38UDDI v1 Implementation
39How UDDI v1 Works
1.
SW companies, standards bodies, and programmers
populate the registry with descriptions of
different types of services
UDDI Business Registry
Segrvice Type Reistrations
40Registry Data
WhitePages
- Businesses register public informationabout
themselves - Standards bodies, Programmers, Businesses
register information about their Service Types
YellowPages
GreenPages
Service Type Registrations
41Web Services WS-
- Web Services have a correspondingly collections
of specifications that represent critical
features of the distributed operating systems for
Grids of Simple Services - Some 60 active WS- specifications for areas such
as - a. Core Infrastructure Specifications
- b. Service Discovery
- c. Security
- d. Messaging
- e. Notification
- f. Workflow and Coordination
- g. Characteristics
- h. Metadata and State
- i. User Interfaces
42A List of Web Services I
- a) Core Service Architecture
- XSD XML Schema (W3C Recommendation) V1.0 February
1998, V1.1 February 2004 - WSDL 1.1 Web Services Description Language
Version 1.1, (W3C note) March 2001 - WSDL 2.0 Web Services Description Language
Version 2.0, (W3C under development) March 2004 - SOAP 1.1 (W3C Note) V1.1 Note May 2000
- SOAP 1.2 (W3C Recommendation) June 24 2003
- b) Service Discovery
- UDDI (Broadly Supported OASIS Standard) V3 August
2003 - WS-Discovery Web services Dynamic Discovery
(Microsoft, BEA, Intel ) February 2004 - WS-IL Web Services Inspection Language, (IBM,
Microsoft) November 2001
43A List of Web Services II
- c) Security
- SAML Security Assertion Markup Language (OASIS)
V1.1 May 2004 - XACML eXtensible Access Control Markup Language
(OASIS) V1.0 February 2003 - WS-Security 2004 Web Services Security SOAP
Message Security (OASIS) Standard March 2004 - WS-SecurityPolicy Web Services Security Policy
(IBM, Microsoft, RSA, Verisign) Draft December
2002 - WS-Trust Web Services Trust Language (BEA, IBM,
Microsoft, RSA, Verisign ) May 2004 - WS-SecureConversation Web Services Secure
Conversation Language (BEA, IBM, Microsoft, RSA,
Verisign ) May 2004 - WS-Federation Web Services Federation Language
(BEA, IBM, Microsoft, RSA, Verisign) July 2003
44A List of Web Services III
- d) Messaging
- WS-Addressing Web Services Addressing (BEA, IBM,
Microsoft) March 2004 - WS-MessageDelivery Web Services Message Delivery
(W3C Submission by Oracle, Sun ..) April 2004 - WS-Routing and Referral SOAP Routing Protocol
(Microsoft) October 2001 - WS-RM Web Services Reliable Messaging (BEA, IBM,
Microsoft, Tibco) v0.992 March 2004 - WS-Reliability Web Services Reliable Messaging
(OASIS Web Services Reliable Messaging TC) March
2004 - SOAP MOTM SOAP Message Transmission Optimization
Mechanism (W3C) June 2004 - e) Notification
- WS-Eventing Web Services Eventing (BEA,
Microsoft, TIBCO) January 2004 - WS-Notification Framework for Web Services
Notification with WS-Topics, WS-BaseNotification,
and WS-BrokeredNotification (OASIS) OASIS Web
Services Notification TC Set up March 2004 - JMS Java Message Service V1.1 March 2002
45A List of Web Services IV
- f) Coordination and Workflow, Transactions and
Contextualization - WS-CAF Web Services Composite Application
Framework including WS-CTX, WS-CF and WS-TXM
below (OASIS Web Services Composite Application
Framework TC) July 2003 - WS-CTX Web Services Context (OASIS Web Services
Composite Application Framework TC) V1.0 July
2003 - WS-CF Web Services Coordination Framework (OASIS
Web Services Composite Application Framework TC)
V1.0 July 2003 - WS-TXM Web Services Transaction Management (OASIS
Web Services Composite Application Framework TC)
V1.0 July 2003 - WS-Coordination Web Services Coordination (BEA,
IBM, Microsoft) September 2003 - WS-AtomicTransaction Web Services Atomic
Transaction (BEA, IBM, Microsoft) September 2003 - WS-BusinessActivity Web Services Business
Activity Framework (BEA, IBM, Microsoft) January
2004 - BTP Business Transaction Protocol (OASIS) May
2002 with V1.0.9.1 May 2004 - BPEL Business Process Execution Language for Web
Services (OASIS) V1.1 May 2003 - WS-Choreography (W3C) V1.0 Working Draft April
2004 - WSCI (W3C) Web Service Choreography Interface
V1.0 (W3C Note from BEA, Intalio, SAP, Sun,
Yahoo) - WSCL Web Services Conversation Language (W3C
Note) HP March 2002
46A List of Web Services V
- h) Metadata and State
- RDF Resource Description Framework (W3C) Set of
recommendations expanded from original February
1999 standard - DAMLOIL combining DAML (Darpa Agent Markup
Language) and OIL (Ontology Inference Layer)
(W3C) Note December 2001 - OWL Web Ontology Language (W3C) Recommendation
February 2004 - WS-DistributedManagement Web Services Distributed
Management Framework with MUWS and MOWS below
(OASIS) - WSDM-MUWS Web Services Distributed Management
Management Using Web Services (OASIS) V0.5
Committee Draft April 2004 - WSDM-MOWS Web Services Distributed Management
Management of Web Services (OASIS) V0.5 Committee
Draft April 2004 - WS-MetadataExchange Web Services Metadata
Exchange (BEA,IBM, Microsoft, SAP) March 2004 - WS-RF Web Services Resource Framework including
WS-ResourceProperties, WS-ResourceLifetime,
WS-RenewableReferences, WS-ServiceGroup, and
WS-BaseFaults (OASIS) Oasis TC set up April 2004
and V1.1 Framework March 2004 - ASAP Asynchronous Service Access Protocol (OASIS)
with V1.0 working draft G June 2004 - WS-GAF Web Service Grid Application Framework
(Arjuna, Newcastle University) August 2003
47A List of Web Services VI
- g) General Service Characteristics
- WS-Policy Web Services Policy Framework (BEA,
IBM, Microsoft, SAP) May 2003 - WS-PolicyAssertions Web Services Policy
Assertions Language (BEA, IBM, Microsoft, SAP)
May 2003 - WS-Agreement Web Services Agreement Specification
(GGF under development) May 2004 - i) User Interfaces
- WSRP Web Services for Remote Portlets (OASIS)
OASIS Standard August 2003 - JSR168 JSR-000168 Portlet Specification for Java
binding (Java Community Process) October 2003
48A List of Web Services VII
- j) Recent Updates
- WS-Eventing important update of this notification
specification with IBM, Sun and others joining
Microsoft et al. as authors - WS-Enumeration supporting the splitting of a
single entity (file or stream) into multiple
messages - WS-Transfer supporting the creation, update (by
get or put) or deletion of a resource - WS-Management competes with WS-DM to provide a
Web Service to manage resources - WS-PolicyAttachment describes how to associate
policies with UDDI and Endpoints and how to
integrate with WSDL - WS-DAI is a Web Service of the OGSA-DAI Grid
linkage with databases - WS-CIM is a Web Service rendering from DMTF
(Distributed Management Task Force) of the
industry standard CIM (Common Information Model)
of metadata for computer devices - The WS- implicitly define an architecture
49Grid Services
- Abstract
- In both e-business and e-science, we often need
to integrate services across distributed,
heterogeneous, dynamic "virtual organizations
formed from the disparate resources within a
single enterprise and/or via external resource
sharing relationships. This integration can be
technically challenging due to the need to
achieve various qualities of service in
heterogeneous environments.
50Why the Grid?(1) Revolution in Science
- Pre-Internet
- Theorize /or experiment, aloneor in small
teams publish paper - Post-Internet
- Construct and mine large databases of
observational or simulation data - Develop simulations analyses
- Access specialized devices remotely
- Exchange information within distributed
multidisciplinary teams
51Why the Grid?(2) Revolution in Business
- Pre-Internet
- Central data processing facility
- Post-Internet
- Enterprise computing is highly distributed,
heterogeneous, inter-enterprise (B2B) - Business processes increasingly computing-
data-rich - Outsourcing becomes feasible gt service
providers of various sorts
52New OpportunitiesDemand New Technology
- Resource sharing coordinated problem solving
in dynamic, multi-institutional virtual
organizations
When the network is as fast as the computer's
internal links, the machine disintegrates across
the net into a set of special purpose appliances
(George Gilder)
53Grid Communities Technologies
- Yesterday
- Small, static communities, primarily in science
- Focus on sharing of computing resources
- Globus Toolkit as technology base
- Today
- Larger communities in science early industry
- Focused on sharing of data and computing
- Open Grid Services Architecture emerging
- Tomorrow
- Large, dynamic, diverse communities that share a
wide variety of services, resources, data - New issues Trust, distributed RM, knowledge
54Grid Computing Benefits
- Exploit Underutilized resources
- CPU Scavenging, Hotspot leveling
- Resource Balancing
- Virtualize resources across an enterprise
- Data Grids, Compute Grids
- Enable collaboration for virtual organizations
55NSF TeraGrid
- NCSA, SDSC, Argonne, Caltech
- Unprecedented capability
- 13.6 trillion flop/s
- 600 terabytes of data
- 40 gigabits per second
- Accessible to thousandsof scientists working
onadvanced research - www.teragrid.org
56(No Transcript)
57Data Grids for High Energy Physics
- Enable international community of 1000s to access
analyze petabytes of data - Harness computing storage worldwide
- Virtual data conceptsmanage programs, data,
workflow - Distributed system management
58NEESgrid Earthquake Engineering Collaboratory
U.Nevada Reno
www.neesgrid.org
59Industrial Perspective on GridsA Wide Range of
Applications
Unique by Industry with Common Characteristics
Grid Services Market Opportunity 2005
Sources IDC, 2000 and Bear Stearns- Internet 3.0
- 5/01 Analysis by SAI
60Open Grid Services Architecture
- Service-oriented architecture
- Key to virtualization, discovery, composition,
local-remote transparency - Leverage industry standards
- Internet, Web services
- Distributed service management
- A component model for Web services
- A framework for the definition of composable,
interoperable services
The Physiology of the Grid An Open Grid
Services Architecture for Distributed Systems
Integration, Foster, Kesselman, Nick, Tuecke,
2002
61Grid and Web Services Standards
Grid
GT1
GT2
OGSI
WS-I Compliant Technology Stack
Have been converging
WSRF
BPEL
WS-
WSDL, SOAP
XML
HTTP
Web
Convergence of Core Technology Standards allows
Common base for Business and Technology Services
62Open Grid Services Architecture
63(No Transcript)
64(No Transcript)