ogsi evolution: ws-resource framework and ws-notification carl kesselman globus alliance @ usc/isi...
TRANSCRIPT
OGSI Evolution:WS-Resource Framework
and WS-Notification
Carl Kesselman
Globus Alliance @ USC/ISI
2WS-Resource Framework www.globus.org/wsrf
Context
OGSA/I introduced two years ago (GGF4)◊ Grid over Web services
Convergence of requirements from:◊ Grid computing◊ Systems Management◊ Business computing
OGSI concernsthreatened ubiquity
Solution: Evolve OGSI toprovide key middleware forscientific & commercial needs
GridComputing
SystemsManagement
BusinessComputing
WebServices
3WS-Resource Framework www.globus.org/wsrf
Web Servicesand Stateful Resources
“State” appears in almost all applications◊ Data in a purchase order◊ Current usage agreement for resources ◊ Metrics associated with work load on a server
There are many possible ways Web services might model, access and manage state◊ OGSI v1.0 defined one approach◊ WS-Resource Framework proposes an evolution of
that approach◊ Ad-hoc approaches can be used per-application
4WS-Resource Framework www.globus.org/wsrf
Building large-scale systems by composition of many heterogeneous components demands that we extract and standardize common patterns
◊ Approach to resource identification◊ Resource lifetime management interfaces◊ Resource inspection and monitoring interfaces◊ Base fault representation◊ Service and resource groups◊ Notification◊ And many more…
Standardization encourages tooling & code re-use◊ Support to build services more quickly & reliably
Why Standardize An Approach?
5WS-Resource Framework www.globus.org/wsrf
OGSI Overview Naming and bindings (basis for virtualization)
◊ Every service instance has a unique name, from which can discover supported bindings
Lifecycle (basis for fault resilient state management)◊ Service instances created by factories◊ Destroyed explicitly or via soft state
Information model (basis for monitoring & discovery)◊ Service data (attributes) associated with GS instances◊ Operations for querying and setting this info◊ Asynchronous notification of changes to service date
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
6WS-Resource Framework www.globus.org/wsrf
Grid
Web
However, despite enthusiasm for OGSI, adoption within Web community turned out to be problematic
Started far apart in apps & tech
OGSI
GT2
GT1
HTTPWSDL,
WS-*
WSDL 2,
WSDM
Have beenconverging ?
Convergence ofGrid and Web Services
7WS-Resource Framework www.globus.org/wsrf
Concerns
Too much stuff in one specification
Does not work well with existing Web services tooling
Too object oriented
8WS-Resource Framework www.globus.org/wsrf
Convergence ofGrid and Web Services
Grid
Web
The definition of WSRF means that Grid and Web communities can move forward on a common base
WSRF
Started far apart in apps & tech
OGSI
GT2
GT1
HTTPWSDL,
WS-*
WSDL 2,
WSDM
Have beenconverging
9WS-Resource Framework www.globus.org/wsrf
A family of Web services specification proposals ◊ WS-Resource Framework (WSRF): Introduces a design
pattern to specify how to use Web services to access “stateful” components
◊ WS-Notification: Introduces message-based publish-subscribe to Web services
WS-
Serv
ice
Gro
up
WS-RenewableReferences
WS-
Not
ifica
tion
Modeling Stateful
Resources with Web Services
WS-B
ase Faults
WS-ResourceProperties W
S-Resource
Lifetime
IntroducedJanuary 20
To be released
DocumentsAnnounced at GlobusWorld
10WS-Resource Framework www.globus.org/wsrf
Document Authors
WSRF: CA, Fujitsu, HP, Globus, IBM◊ Strong participation from systems management
companies WS-Notification: CA, Fujitsu, HP, Globus, IBM +
Akamai, Sonic, SAP, Tibco◊ Strong participation from messaging companies
Author notes:◊ IBM: Both Web service & OGSI authors◊ HP: WSMF authors
11WS-Resource Framework www.globus.org/wsrf
Concerns AddressedBy WSRF and WS-Notification
Too much stuff in one specification WSRF partitions OGSI v1.0 functionality into a
family of composable specifications Does not work well with existing Web services
tooling WSRF tones down the usage of XML Schema
Too object oriented WSRF makes an explicit distinction between
the “service” and the stateful “resources” acted upon by that service
12WS-Resource Framework www.globus.org/wsrf
What is a WS-Resource?
Web service: Operation execution component made available at an endpoint address◊ Implementation often stateless, but accesses state
WS-Resource: Web service + associated resource◊ Equivalently: A resource with an associated WS
A WS-Resource has:◊ Identity: Can be uniquely identified/referenced◊ Lifetime: Often created & destroyed by clients◊ State: Can be projected as an XML document
WS-Resource type = Web service interface WS-Resources are not just for physical devices
◊ Jobs, subscriptions, logical data sets, etc.
13WS-Resource Framework www.globus.org/wsrf
Inte
rface
WebService
WSDLRun-time environment
Web Services Model
14WS-Resource Framework www.globus.org/wsrf
Inte
rface
WebService
message
message
Invoking a Web Service
address
Endpoint Reference
Run-time environment
Web Services Model
15WS-Resource Framework www.globus.org/wsrf
context
Inte
rface
WebService
messageid
message
Using a Web service to access a resource
id
address
resource
Run-time environment
Endpoint Reference
WS-Resource Framework Model
AddressResource id
16WS-Resource Framework www.globus.org/wsrf
context
Inte
rface
WebService
messageid
message
Using a Web service to access a resource
id
address
resource
resource
Endpoint ReferenceEndpoint Reference
WS-Resource Framework Model
Run-time environment
17WS-Resource Framework www.globus.org/wsrf
Any Web service capable of bringing aWS-Resource into existence◊ Typically by creating a resource, associating
it with a service, and assigning the pair an identifier (e.g. Endpoint Reference)
A pattern, not a particular operation◊ Request message customized for particular
type of resource(s) to be created◊ Response message of a factory operation
usually includes an EPR that refers to the new WS-Resource
◊ May create one or many WS-Resources
WS-Resource Factory
18WS-Resource Framework www.globus.org/wsrf
Inte
rface
WebService
message
message
Creating / Locating a WS-Resource
address
Endpoint Reference
resource
Endpoint Reference
Web Service either locates or creates a
WS-Resource
address
id
WS-Resource Framework Model
Run-time environment
19WS-Resource Framework www.globus.org/wsrf
Service Composition
Transports
Messaging
Description
Quality ofExperience(QoX)
HTTP/HTTPS SMTP RMI / IIOP
XSD WSDL
SOAPXML WS-Addressing WS-RenewableReferences
WS-MetadataExchangeWS-Policy
WS-ServiceGroup
WS-Resource Properties
JMS
WS-Security
WS-ReliableMessaging WS-Transaction
WS-ResourceLifetime
WS-BaseFaults
WS-Notification BPEL4WS
How these proposals relate to other Web services standards
20WS-Resource Framework www.globus.org/wsrf
Open Grid Services Architecture
Define a service-oriented architecture …◊ the key to effective virtualization
… to address vital “Grid” requirements◊ AKA utility, on-demand, system
management, collaborative computing … building on Web services standards
◊ extending those standards where needed
21WS-Resource Framework www.globus.org/wsrf
•OGSA Services can be defined and implemented asWeb services
•OSGA can take advantage of other Web services standards
•OGSA can be implemented using standard Web services development tools
•Grid applications will NOT require special Web services infrastructure
Network
OGSA Enabled
Storage
OGSA Enabled
Servers
OGSA Enabled
Messaging
OGSA Enabled
Directory
OGSA EnabledFile
Systems
OGSA Enabled
Database
OGSA EnabledWorkflo
w
OGSA Enabled
Security
OGSA Enabled
Web Services
WS-Resource Framework & WS-Notification are an evolution of OGSI
OGSI – Open Grid Services Infrastructure
How these proposals relate to OGSA
Web Services
OGSA Architected Services
Applications
WS-
Serv
ice
Gro
up
WS-RenewableReferences
WS-
Not
ifica
tion
Modeling Stateful
Resources with Web Services
WS-B
ase Faults
WS-ResourceProperties W
S-Resource
Lifetime
22WS-Resource Framework www.globus.org/wsrf
From OGSI to WSRF:Refactoring and Evolution
OGSI WSRF
Grid Service Reference WS-Addressing Endpoint Reference
Grid Service Handle WS-Addressing Endpoint Reference
HandleResolver portType WS-RenewableReferences
Service data defn & access WS-ResourceProperties
GridService lifetime mgmt WS-ResourceLifetime
Notification portTypes WS-Notification
Factory portType Treated as a pattern
ServiceGroup portTypes WS-ServiceGroup
Base fault type WS-BaseFaults
23WS-Resource Framework www.globus.org/wsrf
OGSI Overview Naming and bindings (basis for virtualization)
◊ Every service instance has a unique name, from which can discover supported bindings
Lifecycle (basis for fault resilient state management)◊ Service instances created by factories◊ Destroyed explicitly or via soft state
Information model (basis for monitoring & discovery)◊ Service data (attributes) associated with GS instances◊ Operations for querying and setting this info◊ Asynchronous notification of changes to service date
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
24WS-Resource Framework www.globus.org/wsrf
WSRF & WS-N Overview Naming and bindings (basis for virtualization)
◊ Every service instance has a unique name, from which can discover supported bindings
Lifecycle (basis for fault resilient state management)◊ Service instances created by factories◊ Destroyed explicitly or via soft state
Information model (basis for monitoring & discovery)◊ Service data (attributes) associated with GS instances◊ Operations for querying and setting this info◊ Asynchronous notification of changes to service date
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
25WS-Resource Framework www.globus.org/wsrf
WSRF & WS-N Overview Naming and bindings (basis for virtualization)
◊ Every resource can be uniquely referenced, and has one or more associated services for interacting with it
Lifecycle (basis for fault resilient state management)◊ Service instances created by factories◊ Destroyed explicitly or via soft state
Information model (basis for monitoring & discovery)◊ Service data (attributes) associated with GS instances◊ Operations for querying and setting this info◊ Asynchronous notification of changes to service date
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
26WS-Resource Framework www.globus.org/wsrf
WSRF & WS-N Overview Naming and bindings (basis for virtualization)
◊ Every resource can be uniquely referenced, and has one or more associated services for interacting with it
Lifecycle (basis for fault resilient state management)◊ Resources created by services following factory pattern◊ Resources destroyed immediately or scheduled
Information model (basis for monitoring & discovery)◊ Service data (attributes) associated with GS instances◊ Operations for querying and setting this info◊ Asynchronous notification of changes to service date
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
27WS-Resource Framework www.globus.org/wsrf
WSRF & WS-N Overview Naming and bindings (basis for virtualization)
◊ Every resource can be uniquely referenced, and has one or more associated services for interacting with it
Lifecycle (basis for fault resilient state management)◊ Resources created by services following factory pattern◊ Resources destroyed immediately or scheduled
Information model (basis for monitoring & discovery)◊ Resource properties associated with resources◊ Operations for querying and setting this info◊ Asynchronous notification of changes to properties
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
28WS-Resource Framework www.globus.org/wsrf
WSRF & WS-N Overview Naming and bindings (basis for virtualization)
◊ Every resource can be uniquely referenced, and has one or more associated services for interacting with it
Lifecycle (basis for fault resilient state management)◊ Resources created by services following factory pattern◊ Resources destroyed immediately or scheduled
Information model (basis for monitoring & discovery)◊ Resource properties associated with resources◊ Operations for querying and setting this info◊ Asynchronous notification of changes to properties
Service Groups (basis for registries & collective svcs)◊ Group membership rules & membership management
Base Fault type
29WS-Resource Framework www.globus.org/wsrf
WS-Resource Framework Capabilities
Clarifies how stateful resources are addressed Specifies how to use XML to describe and access a
resource’s properties Defines how a resource is created and messages to
destroy resources Provides a message subscription and notification
mechanism for Web services Defines how to organize groups of resources and
services Adds a fault tolerance capability to WS-Addressing Defines a standard, extensible format for Web services
error messages
In publicly released specifications
30WS-Resource Framework www.globus.org/wsrf
Specifies the representation of the address of a Web service deployed at a given network endpoint
EndpointReference (EPR) is an XML serialization of a network-wide pointer to a Web service
EPRs can be used to pass around service references An EPR contains:
◊ Service address (wsa:Address)◊ Reference properties (wsa: ReferenceProperties): can be used
to define a resource associated with service address◊ Metadata associated with the Web service such as service
description information ◊ Policy information related to the use of the service
WS-Addressing
31WS-Resource Framework www.globus.org/wsrf
IBM
WS-ResourceProperties◊ Resource state and metadata “Projected” as
an XML document◊ Query and Set operations
WS-ResourceLifetime◊ Synchronous or scheduled
(“soft-state”) destruction◊ Provides for cleanup of resource instances
resource
<ProcessorProperties><ProcID>5A34C1DE03</ProcID><ProcArchitecture>Power6.2</ProcArchitecture><ProcSpeedMIPS>400</ProcSpeed><ProcCacheMB>256<ProcCache><ProcRunning>1</ProcRunning>
</ProcessorProperties>
WS-Resource Framework Model
32WS-Resource Framework www.globus.org/wsrf
Subscriber indicates interest in a particular “Topic” by issuing a “subscribe” request
Broker (intermediary) permits decoupling Publisher and Subscriber
“Subscriptions” are WS-Resources◊ Various subscriptions are possible
Publisher need NOT be a Web Service
Notification may be “triggered” by:◊ WS Resource Property value changes◊ Other “situations”
Broker examines current subscriptions
Brokers may ◊ “Transform” or “interpret” topics◊ Federate to provide scalability
Broker
Subscriber
Publisher
subscribe
subscribe
S S S
notify
notify
notify
notify
WS-Notification
33WS-Resource Framework www.globus.org/wsrf
Network
RRR
A
ServiceLevel
Scenario: Resource management & scheduling
Storage
RRRIBM
IBM
Computers
RRR
Notification
GridScheduler
WS-Resource used to “model” physical
processor resources
WS-Resource Properties “project” processor status (like utilization)
Local processor manageris “front-ended” with A Web service interface
Other kinds of resources are also“modeled” as WS-Resources
JJ
J
WS-Notification can be used to “inform” the
scheduler when processor utilization
changes
Grid “Jobs” and “tasks” are also modeled using
WS-Resources and Resource Properties
Grid Scheduleris a
Web Service
Service Level Agreement
is modeled as a WS-Resource
(WS-Agreement)
Lifetime of SLA Resource tied to the duration
of the agreement
Bringing it All Together
34WS-Resource Framework www.globus.org/wsrf
Globus Toolkit® andWS-Resource Framework
3.2
Improved robustness, scalability, performance,
usability
3.2March
4.0 Q2
4.0Q3
4.2Q1 ‘05
4.2 Q4
Numerous new WSRF-based services
4.2
4.0
WSRF; some new functionality; further usability, performance enhancements
2004 2005
Note: We are not waiting for finalizationof WSRF specs
35WS-Resource Framework www.globus.org/wsrf
Globus Toolkit != WSRF/OGSI WSRF/OGSI impl is just one small part of GT
◊ GT = Services for execution mgt, data mgt, monitoring, and discovery
E.g. GRAM, GridFTP, RFT, RLS, OGSA-DAI, etc.
GT services are largely unaffected by WSRF◊ Changing thin middle layer of some services◊ Interfaces and semantics largely unchanged◊ But not interoperable due to protocol changes◊ GT3 work in GRAM & RFT will transition easily
Pre-WS components continue to be supported◊ GridFTP, RLS
36WS-Resource Framework www.globus.org/wsrf
Stabilize the services around WSRF◊ Usability, performance, reliability, scalability,
documentation, internationalization◊ Leverage Apache even more
Axis, WS-Security, WS-Addressing, …
Bring to fruition new functionality in pipeline ◊ Data access & integration (OGSA-DAI)◊ Enhanced GridFTP◊ Community scheduling framework◊ Monitoring & discovery capabilities
GT2GT3 bump >> GT3GT4 bump
Globus Priorities for 2004
37WS-Resource Framework www.globus.org/wsrf
Summary
WSRF is straight-forward evolution of OGSI OASIS WSRF TC continues the standards
process started by GGF OGSI WG◊ Addresses concerns raised with OGSI◊ Reflects its broader applicability
GT4 will start migration of Globus infrastructure to WSRF◊ Impact at low level, not high level services