1.04k likes | 1.25k Views
Applications of SOA and Web Services in Grid Computing. Thanh H. Pham – Quynh Le. 19 May 2010. 31.900.000. Today’s Overview. Objectives. SOA – An overview WS & Related Technologies OSGA & WSRF Overview Applications of SOA and WS in Grid Computing. Service-oriented Architecture.
E N D
Applications of SOA and Web Services in Grid Computing Thanh H. Pham – Quynh Le 19 May 2010
Objectives • SOA – An overview • WS & Related Technologies • OSGA & WSRF Overview • Applications of SOA and WS in Grid Computing
A Case Study Image from Dr. Dang Tran Khanh slide
Key terms[1] • An architecture: • Formal description of a system • Defines system purpose, functions • Defines system externally visible properties, and interfaces. [1] OGSA Glossary of Terms v1.0: http://www.gridforum.org/documents/GFD.44.pdf
Key terms (cont.) • A service • Is a software component • Can be accessed via a network • Provides functionality to a requester
Key terms (cont.) • Service-oriented architecture refers to a style of building reliable distributed systems that deliver functionality as loose coupling services • Technically, then, the term SOA refers to the design of a system, not to its implementation
Services Characteristics • May be individual useful, or can be integrated • Communicate with clients by exchanging messages • Can participate in a workflow
Services Characteristics (cont.) • May be completely self-contained, or may depend on other services, resources • Advertise details such as their capabilities, interfaces, policies, and supported communications protocols • How’s about implementation details? Programing language, hosting platform…
Loose Coupling • This term implies that the interacting software components minimizetheir in-built knowledge of each other • They discover the information they need at the time they need it.
State and Statelessness • Client can choose to go to any service that is capable of fulfilling its need: loose coupling • Loose coupling vs. tight coupling • Ex: A calculator service
Stateless vs. Stateful • Ex: a transaction that requires several steps • The service retains some information (“state”) about each step • This might result in a delay
Stateless Service Design • Service must hand back state information to client • Client must hand the state information to whichever service it selects to process the next step • The selected service must be able to accept and handle the state information
As easy as Right? 1 2 3
What is Web Service? Web Service Essential Book: A web service is any service that is available over the Internet, uses a standardized XML messaging system, and is not tied to any one operating system or programming language Computer A: Language: Perl OS: Windows 2000 XML XML Computer B: Language: Java OS: Linux A basic web service 28
What is Web Service? (cont.) W3C: A software system designed to support interoperable machine-to-machine interaction over a network W3schools.com: Application components Communicate using open protocols Self-contained and self-describing Can be used by other applications 29
Key specifications used by Web services • XML: eXtensibleMarkup Language • SOAP: Simple Object Access Protocol • WSDL : Web Services Description Language • UDDI: Universal Description Discovery and Integration
Key specifications used by Web services • XML: eXtensibleMarkup Language • SOAP: Simple Object Access Protocol • WSDL : Web Services Description Language • UDDI: Universal Description Discovery and Integration
About… XML does not do anything With XML, you invent your own tags XML just plain text <note> <to>Tove</to> <from>Jani</from><heading>Reminder</heading> <body>Don't forget me this weekend!</body></note> 32
SOAP • Protocol for messaging and remote procedure calling between distributed applications • SOAP is for exchange information between applications • SOAP is a format for sending messages
A SOAP request POST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; <?xml version="1.0"?><soap:Envelope><soap:Bodyxmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice></soap:Body></soap:Envelope> 35
The SOAP response HTTP/1.1 200 OKContent-Type: application/soap+xml; <?xml version="1.0"?><soap:Envelope><soap:Bodyxmlns:m="http://www.example.org/stock"> <m:GetStockPriceResponse><m:Price>34.5</m:Price> </m:GetStockPriceResponse></soap:Body></soap:Envelope> 36
WSDL • Used to define Web Services and describe how to access them • Describes location of the service, the function calls
SOA Is Not Web Services • Service-orientation is an architectural style • Web services are an implementation technology • The two can be used together, and they frequently are, but they are not mutually dependent.
Abstract • The Open Grid Services Architecture (OGSA), set to become the standard architecture for most grid applications, depends on Web Services as the underlying middleware. • OGSA first spawned the Open Grid Services Infrastructure which, despite improving Web Services in several ways, failed to converge with existing Web Services standards. • The Web Services Resource Framework (WSRF), introduced last January, improves on OGSI and will eventually replace it. The presentation will cover the evolution and current state of OGSA, OGSI, WSRF, and the next version of the Globus Toolkit (GT4), which will be the first implementation of the WSRF specification.
Open Standards Open Grid Open Source Open Infrastructure Building an Open Grid
OGSA Web services GGF: OGSI, … (+ OASIS, W3C) Multiple implementations, including Globus Toolkit X.509, LDAP, FTP, … Globus Toolkit Defacto standards GGF: GridFTP, GSI Grids and Open Standards App-specific Services Increased functionality, standardization Custom solutions Time
OGSA Overview (1/2) • OGSA = Open Grid Services Architecture • Open: communicated extensibility, vendor neutrality. • Services: OGSA is based on SOA manifested in WS • Architecture: well-defined set of basic interfaces… • Grid Services = Grid + WS; service semantics • aims to standardize the different services that are commonly found in a Grid application • Job management, security, VO management, data management, workflow, deployment, etc.
OGSA Overview (2/2) • Addressing the challenges of integrating services across distributed, heterogeneous, dynamic VO formed from the disparate resources • OGSA was introduced in “Physiology of the Grid” (I.Foster, C.Kesselman, J.Nick, y S.Tuecke) • The actual standardization process is being carried out by the Global Grid Forum (GGF) http://www.ggf.org/
informational Autonomy of the Grid OGSA V1.0 OGSA Profile Normative OGSA Glossary Basic Execution Service Naming JSDL Physiology of the Grid Open Grid Services Infrastructure Web Services Resource Framework Web Services Notification OGSA Evolution
What does OGSA define? • “A set of core interfaces and behaviours that address key concerns in Grid systems.” • Each particular service can be accessed in the same fashion, regardless of vendor, organization, internal implementation, etc. • What underlies this? • How are the interfaces defined? • How does a client request a particular operation from a service? • OGSA relies on (&aims to improve) WS technologies • Broader context: Service-Oriented Architectures (SOA) • WS & GS
Web Services (1) • A simple but powerful distributed system paradigm, that allows one to: • Describe a service (WSDL) • Invoke a service (SOAP) • Discover a service (various) • What sets it apart? • Clean separation between interface (what the service does) and implementation (how it does it) • Based on standard interoperable languages (XML) • Widespread use and abundant software available • We can use web services to build SOAs, improving interoperability and reusability.