Building Grid applications using Web Services (The Web Services Grid Application Framework) CERN – 4 March 2004. Savas Parastatidis Principal Research Associate School of Computing Science University of Newcastle upon Tyne [email protected] http://savas.parastatidis.name. Outline. - PowerPoint PPT Presentation
WS-Resource Framework An Initial ImpressionCERN – 4 March
2004
[email protected]
http://savas.parastatidis.name
www.neresc.ac.uk
Outline
WS-GAF
WS-RF
“What is the Grid?”
“Neo, the Grid is everything you would like it to be”
IBM: on-demand computing
HP: utility computing
Microsoft: seamless computing
Globus: Distributed computing revisited
Different agendas by different companies
They all want to sell infrastructure and products
We believe in building applications in this global
environment
www.neresc.ac.uk
Create virtual organisations
Provide a new computing experience
Enable e-Science, new commercial applications
What are the goals of the Grid?
What is that we want to achieve?
Where do we want to go?
www.neresc.ac.uk
Cross- and intra-organisation integration
Everyone is talking about Web Services
What are they? What do they offer?
Are they different from other distributed computing
technologies
First time so many companies agree.
What do web services and the Grid mean to researchers? Application
of distributed computing ideas/research at large scale. New set of
problems.
www.neresc.ac.uk
Built around the concepts of service and message
A service is the logical manifestation of some physical resources
(like databases, programs, devices, humans, etc.) and/or some
application logic that is exposed to the network
and
A service adheres to a contract
Describes the format of the messages exchanged
Defines the message exchange patterns in which a service is
prepared to participate
www.neresc.ac.uk
Boundaries are explicit
Services are autonomous
Services share schema and contract, not class
Service compatibility is determined based on policy
Source: “A Guide to Developing and Running Connected Systems with
Indigo”
http://msdn.microsoft.com/Longhorn/understanding/mag/default.aspx?pull=/msdnmag/issues/04/01/Indigo/default.aspx
Large grained, loosely coupled
www.neresc.ac.uk
www.neresc.ac.uk
Services are like islands
Fragile, brittle applications
State remains internal to the service (encapsulation)
Applications are built through message exchange patterns and
well-defined message formats
How do we build applications?
Loosely coupled applications are built through stateless
interactions
Great examples the web, email
Using the principles of service-orientation we aspire to build
functionality-richer applications while retaining
scalability.
Focus on machine-to-machine interactions
Two types of state
State
Interaction state = we model conversations, we model exchange of
messages within a particular scope
www.neresc.ac.uk
www.neresc.ac.uk
www.neresc.ac.uk
We believed that OGSI unnecessarily introduced a new mandatory
infrastructure layer on top of Web services
which was object-oriented in nature
Our goals
Analyse Grid requirements
Propose an alternative solution based on current WS specifications
and practices
Start a technical discussion within GGF
Emphasize the importance of OGSA and its high-level services
Build solutions using WS-I and WS-Security
Introduction to the motivation behind our work
www.neresc.ac.uk
Lifetime information
URN: Uniform Resource Names
At the OGSA level
These requirements were identified after analysing the OGSI
specification
WS-GAF discusses the ways in which these requirements could be met
using existing technologies
www.neresc.ac.uk
Identity
Resources are usually hidden
There are cases where resources need to be identifiable outside an
organisation’s boundaries
Grid Resource Identifier (GRI) (like an LSID)
Everlasting, unique resource identifier (Uniform Resource Name,
URN)
Can be stored in a database or printed in a journal
Decoupling of identity from interface
The resource is identified separately from the interface that can
provide access to it
www.neresc.ac.uk
Functionality equivalent to Service Data Elements
Everything implemented using existing technologies and
tooling
Not Grid-technology specific (it’s just an XML Schema
document)
Just a document
and back again
Issues with meeting the “interoperability requirements” but
everyone ignored them
We published our views in August 2003
A response was announced by Ian Foster but was never
delivered
We presented WS-GAF in GGF9 (October 2003)
End of October 2003 IBM announces to the WSDL working group that
they are changing their position on “state”
WS-RF is partially released in January 2004
It’s pitched as the “convergence point” between Web Services and
the Grid
www.neresc.ac.uk
HP are interested in WS-RF for their single-systems management
products
Oracle are not keen
Debate in UK on best route forward
And while the discussions on how to change the underlying
infrastructure (again!) are starting, we have decided to build Grid
applications with what we have now
But first…
WS-Resource Properties, WS-Notification, WS-Resource Lifetime
WS-Renewable References, WS-Service Groups, WS-Base Faults
www.neresc.ac.uk
A clear separation between the terms “service” and “resource”
Services are not dynamically created; they are deployed
Services provide operations on multiple resources (one-to-many; no
implicit one-to-one association between the two)
Factorisation on the functionality into separate specs (not all the
way yet though)
A document-based approach to resource properties
Notification as a separate, higher-level service
WSA-friendly specs (no more GWSDL)
Respect to existing tooling; use it without modifications
Still issues with the conceptual model (scalability, loose
coupling, is there an actual need for it… use cases?)
www.neresc.ac.uk
Resource identity part of the infrastructure
Stateful interactions only with resources
Applications built through resource sharing rather than message
interactions
www.neresc.ac.uk
The conceptual model
Talking to service instances that have an 1-1 association with a
resource
Talking to resources
Uses existing contextualisation and addressing specs
Uses URN for resource identification
Low entry and maintenance costs for new Grid services
W3C Web Services Architecture conformant
No changes in the semantics/characteristics
Synergy with existing WS specifications and practices
Avoid effort involved in influencing WS community
Avoid risk associated with not being able to influence WS
community
Moves the focus from the low-level “networking” to the more
important OGSA platform
OGSA should be the focus for Grid standards
www.neresc.ac.uk
No divergence from WS technologies and tools (e.g., WSDL)
Do not need anything other than existing industry and open-source
provided WS tools and platforms (e.g., ASP.NET, Axis, etc.)
Education materials
Industry investment
Explicit identification of resources
Distributed system technology independence where possible
www.neresc.ac.uk
Summary
We believe that WS-GAF meets the requirements for building Grid
applications while using today’s WS specifications and
practices
We believe that WS-GAF has a range of benefits
We are interested in building on existing WS specifications and
utilise middleware that is made available by companies or the open
source community (e.g., .NET, Axis, IBM WSDK, Java JAXB,
etc.)
What’s next?
WS-GAF Application
We need to build large-scale Grid applications using Web Services
in order to find out what is actually required
Aims
Demonstrate the applicability of the WS-GAF approach in building
Grid applications
Learn from the challenges of constructing a truly global,
distributed, scalable, loosely-coupled application
Working on a “typical”, global-scale Grid application with
international partners
We encourage everyone’s involvement
www.neresc.ac.uk
Utilise computational resources
- Mention Peter Kunszt’s work on the SkyServer
www.neresc.ac.uk
http://www.neresc.ac.uk/ws-gaf
[email protected]
Join by sending a message to
[email protected] including the
following line in the body
join ws-gaf YourFirstName YourLastName
GRI to data resource
Asdf as asd fasd asd sad sa dsad sad fhsadf jasldkj fa;lskdj
f;lsajd f;lakdsj f;laksjd flksadf sa df asdf asldk hasdlk
hfaslkdj hfkjdsa hfasjd flksajd hflkjsad hflkjsad hfkjsa hf
saasdlk jfsadkj ldsa fkdsa fkajds hfjdsa flksajd hfjdsa
hfkjdsaAsdf as asd fasd asd sad sa dsad sad fhsadf jasldkj
fa;ls
kdj f;lsajd f;lakdsj f;laksjd flksadf sa df asdf asldk hasdlk
hfaslkdj hfkjdsa hfasjd flksajd hflkjsad hflkjsad hfkjsa hf
saasdlk jfsadkj ldsa fkdsa fkajds hfjdsa
flksajd hfjdsa hfkjdsaAsdf as asd fasd asd sad sa dsad sad
fhsadf jasldkj fa;lskdj f;lsajd f;lakdsj f;laksjd flksadf sa
df
asdf asldk hasdlk hfaslkdj hfkjdsa hfasjd
flksajd hflkjsad hflkjsad hfkjsa hf saasdlk jfsadkj ldsa
fkdsa
fkajds hfjdsa flksajd hfjdsa hfkjdsaAsdf as asd fasd asd sad
sa dsad sad fhsadf jasldkj fa;lskdj f;lsajd f;lakdsj f;laksjd
flksadf sa df asdf asldk hasdlk hfaslkdj hfkjdsa hfasjd
flksajd
hflkjsad hflkjsad hfkjsa hf saasdlk jfsadkj ldsa fkdsa fkajds
hfjdsa flksajd hfjdsa hfkjdsa
that do not relate to a specific object
SOAP message
and understands filestore IDs, the
specific ID in the SOAP envelope
is probably not valid here
we are not allowed to use the
identifier with another service