Applications of SOA and Web Services in Grid Computing<br />Thanh H. Pham – Quynh Le<br />19 May 2010<br />
31.900.000<br />2<br />
Today’s Overview <br />3<br />
Objectives<br />SOA – An overview<br />WS & Related Technologies<br />OSGA  & WSRF Overview<br />Applications of<br />SOA ...
Service-oriented Architecture<br />5<br />
A Case Study<br />Image from Dr. Dang Tran Khanh slide<br />6<br />
Key terms[1]<br />An architecture:<br />Formal description of a system<br />Defines system purpose, functions<br />Defines...
Key terms (cont.)<br />A service<br />Is a software component <br />Can be accessed via a network<br />Provides functional...
Key terms (cont.)<br />Service-oriented architecture refers to a style of building reliable distributed systems that deliv...
Services Characteristics<br />May be individual useful, or can be integrated<br />Communicate with clients by exchanging m...
Services Characteristics (cont.)<br />May be completely self-contained, or may depend on other services, resources<br />Ad...
Service interaction<br />12<br />
A Real Life Example<br />13<br />
Loose Coupling<br /><ul><li>This term implies that the interacting  software components minimizetheir in-built knowledge o...
They discover the information they need at the time they need it.</li></ul>14<br />
State and Statelessness<br /><ul><li>Client can choose to go to any service that is capable of fulfilling its need: loose ...
Loose coupling vs. tight coupling
Ex: A calculator service</li></ul>15<br />
Stateless vs. Stateful<br />Ex: a transaction that requires several steps<br />The service retains some information (“stat...
Stateless Service Design<br />Service must hand back state information to client<br />Client must hand the state informati...
A multi-step client/service interaction<br />18<br />
Web Services<br />19<br />
A Case Study<br />20<br />
	Step 1: A customer chooses to pay with a Credit Card. <br />21<br />
Step 2: They enter shipping info on your site<br />22<br />
Step 3: They enter their credit card details<br />23<br />
Step 4: They review their payment info<br />24<br />
Step 5: Their payment is processed. <br />25<br />
Step 6: You get paid. (The fun part.)<br />26<br />
As easy as<br />3<br />  1<br />2<br />Right?<br />27<br />
28<br />What is Web Service?<br />Computer A:<br />Language: Perl<br />OS: Windows 2000<br />XML<br />XML<br />Computer B:...
29<br />W3C:<br />A software system designed to support interoperable machine-to-machine interaction over a network <br />...
Key specifications used by Web services<br />XML: eXtensibleMarkup Language<br />SOAP: Simple Object Access Protocol <br /...
Key specifications used by Web services<br />XML: eXtensibleMarkup Language<br />SOAP: Simple Object Access Protocol <br /...
32<br />XML does not do anything<br />With XML, you invent your own tags<br />XML just plain text<br /><note>    <to>Tove<...
SOAP<br />Protocol for messaging and remote procedure calling between distributed applications<br />SOAP is for exchange i...
SOAP Message Structure<br />34<br />
35<br />A SOAP request<br />POST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; <br />	<?xml ve...
36<br />The SOAP response<br />HTTP/1.1 200 OKContent-Type: application/soap+xml; <br />	<?xml version="1.0"?><soap:Envelo...
WSDL<br />Used to define Web Services and describe how to access them<br />Describes location of the service, the function...
UDDI<br />38<br />
SOA and Web Services: Style vs. Implementation<br />39<br />
SOA Is Not Web Services<br />Service-orientation is an architectural style<br />Web services are an implementation technol...
Demonstration<br />41<br />
Open Grid Service Architecture (OGSA)<br />
Abstract<br />The Open Grid Services Architecture (OGSA), set to become the standard architecture for most grid applicatio...
44<br />Open<br />Standards<br />Open<br />Grid<br />Open<br />Source<br />Open<br />Infrastructure<br />Building an Open ...
45<br />Grids and Open Standards<br />OGSA<br />Web services<br />GGF: OGSI, …<br />(+ OASIS, W3C)<br />Multiple implement...
46<br />OGSA Overview (1/2)<br />OGSA = Open Grid Services Architecture<br /><ul><li>Open: communicated extensibility, ven...
Services: OGSA is based on SOA manifested in WS
Architecture: well-defined set of basic interfaces…
Grid Services = Grid + WS; service semantics</li></ul>aims to standardize the different services that are commonly found i...
48<br />OGSA Evolution<br />informational<br />Autonomy of<br />the Grid<br />OGSA V1.0<br />OGSA<br />Profile<br />Normat...
49<br />What does OGSA define?<br />“A set of core interfaces and behaviours that address key concerns in Grid systems.”<b...
50<br />Web Services (1)<br />A simple but powerful distributed system paradigm, that allows one to:<br />Describe a servi...
Web Services (2)<br />Why are WS ideal for OGSA and for Grid systems?<br />Can easily cope with heterogeneous systems (dif...
Grid Services (1)<br />Despite being the best option for OGSA, WSs still have important disadvantages:<br />Stateless (…)<...
Grid Services (2)<br />Grid services<br />can maintain internal state for the lifetime of the service<br />can be created ...
Grid Services (3)<br />54<br />
55<br />OGSA Model: At a Glance<br />Other services – data services etc<br />OGSA – Grid Enabled Web Services<br />Web ser...
56<br />The OGSA Platform<br />More specialized  &<br />domain-specific<br />services<br />Domain-<br />specific<br />prof...
57<br />OGSI (1)<br />A Grid Service<br />GWSDL<br />Extends ..<br />Web <br />Services <br />Web Service <br />Interface ...
58<br />OGSI (2)<br />Client<br />Introspection:<br /><ul><li> What port types?
 What policy?
 What state?</li></ul>Data<br />access<br />GridService<br />(required)<br />Other standard interfaces:<br />factory,<br /...
59<br />
60<br />
Globus Toolkit 3 (1)<br />The Globus Toolkit is probably the best-known software package for Grid programming<br />However...
Globus Toolkit 3 (2)<br />The Globus Toolkit 3 (GT3) is a complete implementation, in Java, of the OGSI spec<br />Very imp...
GT3 Architecture<br />63<br />Non-GT3 services based on the GT3 architecture<br />Management of large volumes of data (Rep...
OGSA, OGSI, and GT3(1)<br />64<br />
OGSA, OGSI, and GT3 (2)<br />65<br />In standardization process (GGF)<br /><ul><li>VO management
Security
Job management
Data management
Workflow
etc.</li></ul>Standardized (GGF) and implemented (GT3)<br />Standardized (W3C) <br />and implemented (Apache Axis)<br />
OGSA: summing up<br />OGSA: standards-based Grid technology<br />From Web services: standard IDL, discovery, binding indep...
Web Services Resource Framework (WSRF)<br />
68<br />Grid and WS: Convergence?<br />GT1<br />GT2<br />OGSI<br />Started far apart in apps & tech<br />Have been<br />co...
GGF had hoped that Web Services standards and OGSI would converge, but that convergence is not happening.</li></li></ul><l...
70<br />Three Major WS Concerns about OGSI<br />“Dense specification”<br />“Does not work well with existing WS tooling”<b...
WSRF (1)<br />To achieve Web Service & Grid Service convergence, a new standard was announced during GlobusWORLD 2004 (Jan...
WSRF (2)<br />72<br />The definition of WSRF means that Grid and Web communities can move forward on a common base<br />
WSRF (3)<br />73<br /><ul><li>OGSA Services can be defined and implemented asWeb services instead of working w/ a diff “im...
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
WSRF would be part of the WS standard, instead of being a “patch” </li></ul>    over existing one (like OGSI)<br />
WSRF (4)<br />74<br />Standardization<br />Domain-Specific Services<br />Program<br />Execution<br />Data Services<br />Co...
WSRF (5)<br />WS-Resource: Web Service + stateful resource<br />Put state in the resource, not WS, each has a unique key<b...
Example of statefulWeb services<br />76<br />
Example of stateful Web services<br />77<br />Note:There are three resources, and the service interface is instructed to u...
78<br />
79<br />
WSRF specification<br />WSRF is a collection of four different specifications related to the management of WS-Resource<br ...
WSRF specification (2)<br />WSRF is a collection of four different specifications related to the management of WS-Resource...
Related Specifications<br />WS-Notification – This is another collection of specification that, although not part of a WSR...
83<br />Concerns Addressed<br />How WSRF deals with OGSI's problems:<br />* “Dense specification”<br />WSRF is divided in...
Relation from WSRF to ...<br />84<br />OGSA: WSRF mechanisms will enable OGSA<br />OGSI: WSRF restates OGSI concepts in WS...
WSRF and GT4<br />85<br />
WSRF – summing up<br />Why is WSRF important?<br />WSRF completes Grid/Web convergence<br />How does WSRF relate to OGSI?<...
Summary 	<br />“Grid Computing” is undergoing an intense standardization process.<br />OGSA: Still work-in-progress (some ...
88<br />Resources<br />[1] The Physiology of the Grid, Ian Foster, Carl Kesselman, Jeffrey M. Nick,     Steven Tuecke, 200...
Upcoming SlideShare
Loading in …5
×

Applications of SOA and Web Services in Grid Computing

3,491 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,491
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
183
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • thanh.phamhong@niit.edu.vnYahoo ID: thanhphh
  • Thoigian: 30sSlidekhoidau, gioithieu mot so y ve SOA, nhanmanh y SOA duoccaccongtycongnghelonquan tam
  • Thoigian: 30sPhan 1: 15 phutPhan 2: 15 phutDemo 1: 15 phutPhan 3 + Demo: 45 phut
  • Thoigian: 30sWhat will the audience be able to do after this training is complete? Briefly describe each objective how the audiencewill benefit from this presentation.
  • Thoigian: 15phut
  • Explain the example
  • Thoigian: 15phut
  • Thoigian: 15phut
  • Thoigian: 15phut
  • What will the audience be able to do after this training is complete? Briefly describe each objective how the audience will benefit from this presentation.
  • Quypham
  • Separation of interface and implementation:- Interface is defined in an XML language called WSDL (Web Services Description Language). - WSDL is language and platform-neutral, and allows the interface to be defined separately from the particular transport protocol or data encoding used in the actual message passing. e.g. A GNU/Linux client can access a web service in a Windows server using protocol A, while a different client using Solaris might use protocol B.Stateless, but with associated resources
  • Without state, how does client:Determine what happened (success/failure)?Find out how many files completed?Receive updates when interesting events arise?Terminate a request?Few useful services are truly “stateless”, but WS interfaces alone do not provide built-in support for state
  • The Web Service itself is typically StatelesswhileGrids Need Access to Stateful Resources
  • Realizing a Service-Oriented Architecture: How Do I- Create, name, manage, discover services?- Render resources, data, sensors as services?- Negotiate service level agreements?- Express &amp; negotiate policy?- Organize &amp; manage service collections?- Establish identity, negotiate authentication?- Manage VO membership &amp; communication?- Compose services efficiently?- Achieve interoperability?
  • Job Management (MMJFS), Monitoring and Discovery Services (MDS), Reliable File Transfer (RFT)
  • Application
  • Thoigian: 15phut
  • Hội tụ
  • Grid services need to be stateful and dynamicTherefore, WSDL had to be extended (how) to add state &amp; notification
  • Separate service from resourceService is static and statelessResource is dynamic and statefulIn order to keep WS stateless and still capture state information, the solution is to simply keep the WS and state information completely separate.Instead of putting the state in the WS, it will be kept in a separate entity called a resource, which will store all the state information.Each resource will have a unique key Whenever we want a stateful interaction with a WS, we simply have to instruct the WS to use a particular resourcePairing a WS with a resource is called a WS-Resource
  • OGSA would be based directly on WS, instead of working w/ a diff “improved ver” of WSWSRF would be part of the WS standard, instead of being a “patch” over existing one (like OGSI)
  • WSRF explicitly separates the service (which will always be stateless) from the state (which is called resource in WSRF lingo). In a typical interaction, the client will have to specify what resource (i.e. what state information) must be used during that particular interaction.
  • The transition from OGSI to WSRF will be simpleDirect mapping from OGSI features to WSRF
  • Services are typically stateful, but WS standards did not support stateful entitiesWSRF provides standards for management, identification, lifetime, inspection, &amp; manipulation of stateful entitiesGT4 WS Core provides a rich environment for developing stateful servicesGT4 provides a rich set of services based on WSRF &amp; WS-Notification
  • Chuẩnphổbiến, kochínhthức
  • Applications of SOA and Web Services in Grid Computing

    1. 1. Applications of SOA and Web Services in Grid Computing<br />Thanh H. Pham – Quynh Le<br />19 May 2010<br />
    2. 2. 31.900.000<br />2<br />
    3. 3. Today’s Overview <br />3<br />
    4. 4. Objectives<br />SOA – An overview<br />WS & Related Technologies<br />OSGA & WSRF Overview<br />Applications of<br />SOA and WS<br />in Grid Computing<br />4<br />
    5. 5. Service-oriented Architecture<br />5<br />
    6. 6. A Case Study<br />Image from Dr. Dang Tran Khanh slide<br />6<br />
    7. 7. Key terms[1]<br />An architecture:<br />Formal description of a system<br />Defines system purpose, functions<br />Defines system externally visible properties, and interfaces.<br />[1] OGSA Glossary of Terms v1.0: http://www.gridforum.org/documents/GFD.44.pdf <br />7<br />
    8. 8. Key terms (cont.)<br />A service<br />Is a software component <br />Can be accessed via a network<br />Provides functionality to a requester<br />8<br />
    9. 9. Key terms (cont.)<br />Service-oriented architecture refers to a style of building reliable distributed systems that deliver functionality as loose coupling services<br />Technically, then, the term SOA refers to the design of a system, not to its implementation<br />9<br />
    10. 10. Services Characteristics<br />May be individual useful, or can be integrated<br />Communicate with clients by exchanging messages<br />Can participate in a workflow<br />10<br />
    11. 11. Services Characteristics (cont.)<br />May be completely self-contained, or may depend on other services, resources<br />Advertise details such as their capabilities, interfaces, policies, and supported communications protocols<br />How’s about implementation details? Programing language, hosting platform…<br />11<br />
    12. 12. Service interaction<br />12<br />
    13. 13. A Real Life Example<br />13<br />
    14. 14. Loose Coupling<br /><ul><li>This term implies that the interacting software components minimizetheir in-built knowledge of each other
    15. 15. They discover the information they need at the time they need it.</li></ul>14<br />
    16. 16. State and Statelessness<br /><ul><li>Client can choose to go to any service that is capable of fulfilling its need: loose coupling
    17. 17. Loose coupling vs. tight coupling
    18. 18. Ex: A calculator service</li></ul>15<br />
    19. 19. Stateless vs. Stateful<br />Ex: a transaction that requires several steps<br />The service retains some information (“state”) about each step<br />This might result in a delay<br />16<br />
    20. 20. Stateless Service Design<br />Service must hand back state information to client<br />Client must hand the state information to whichever service it selects to process the next step<br />The selected service must be able to accept and handle the state information<br />17<br />
    21. 21. A multi-step client/service interaction<br />18<br />
    22. 22. Web Services<br />19<br />
    23. 23. A Case Study<br />20<br />
    24. 24. Step 1: A customer chooses to pay with a Credit Card. <br />21<br />
    25. 25. Step 2: They enter shipping info on your site<br />22<br />
    26. 26. Step 3: They enter their credit card details<br />23<br />
    27. 27. Step 4: They review their payment info<br />24<br />
    28. 28. Step 5: Their payment is processed. <br />25<br />
    29. 29. Step 6: You get paid. (The fun part.)<br />26<br />
    30. 30. As easy as<br />3<br /> 1<br />2<br />Right?<br />27<br />
    31. 31. 28<br />What is Web Service?<br />Computer A:<br />Language: Perl<br />OS: Windows 2000<br />XML<br />XML<br />Computer B:<br />Language: Java<br />OS: Linux<br />A basic web service<br />Web Service Essential Book:<br /> 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<br />28<br />
    32. 32. 29<br />W3C:<br />A software system designed to support interoperable machine-to-machine interaction over a network <br />W3schools.com:<br />Application components<br />Communicate using open protocols<br />Self-contained and self-describing<br />Can be used by other applications<br />29<br />What is Web Service? (cont.)<br />
    33. 33. Key specifications used by Web services<br />XML: eXtensibleMarkup Language<br />SOAP: Simple Object Access Protocol <br />WSDL : Web Services Description Language<br />UDDI: Universal Description Discovery and Integration<br />30<br />
    34. 34. Key specifications used by Web services<br />XML: eXtensibleMarkup Language<br />SOAP: Simple Object Access Protocol <br />WSDL : Web Services Description Language<br />UDDI: Universal Description Discovery and Integration<br />31<br />
    35. 35. 32<br />XML does not do anything<br />With XML, you invent your own tags<br />XML just plain text<br /><note> <to>Tove</to> <from>Jani</from><heading>Reminder</heading> <body>Don't forget me this weekend!</body></note><br />32<br />About…<br />
    36. 36. SOAP<br />Protocol for messaging and remote procedure calling between distributed applications<br />SOAP is for exchange information between applications<br />SOAP is a format for sending messages<br />33<br />
    37. 37. SOAP Message Structure<br />34<br />
    38. 38. 35<br />A SOAP request<br />POST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; <br /> <?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><br />35<br />
    39. 39. 36<br />The SOAP response<br />HTTP/1.1 200 OKContent-Type: application/soap+xml; <br /> <?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> <br />36<br />
    40. 40. WSDL<br />Used to define Web Services and describe how to access them<br />Describes location of the service, the function calls<br />37<br />
    41. 41. UDDI<br />38<br />
    42. 42. SOA and Web Services: Style vs. Implementation<br />39<br />
    43. 43. SOA Is Not Web Services<br />Service-orientation is an architectural style<br />Web services are an implementation technology <br />The two can be used together, and they frequently are, but they are not mutually dependent.<br />40<br />
    44. 44. Demonstration<br />41<br />
    45. 45. Open Grid Service Architecture (OGSA)<br />
    46. 46. Abstract<br />The Open Grid Services Architecture (OGSA), set to become the standard architecture for most grid applications, depends on Web Services as the underlying middleware. <br />OGSA first spawned the Open Grid Services Infrastructure which, despite improving Web Services in several ways, failed to converge with existing Web Services standards. <br />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.<br />
    47. 47. 44<br />Open<br />Standards<br />Open<br />Grid<br />Open<br />Source<br />Open<br />Infrastructure<br />Building an Open Grid<br />
    48. 48. 45<br />Grids and Open Standards<br />OGSA<br />Web services<br />GGF: OGSI, …<br />(+ OASIS, W3C)<br />Multiple implementations,<br />including Globus Toolkit<br />X.509,<br />LDAP,<br />FTP, …<br />Globus Toolkit<br />Defacto standards<br />GGF: GridFTP, GSI<br />App-specific<br />Services<br />Increased functionality,<br />standardization<br />Custom<br />solutions<br />Time<br />
    49. 49. 46<br />OGSA Overview (1/2)<br />OGSA = Open Grid Services Architecture<br /><ul><li>Open: communicated extensibility, vendor neutrality.
    50. 50. Services: OGSA is based on SOA manifested in WS
    51. 51. Architecture: well-defined set of basic interfaces…
    52. 52. Grid Services = Grid + WS; service semantics</li></ul>aims to standardize the different services that are commonly found in a Grid application<br /><ul><li>Job management, security, VO management, data management, workflow, deployment, etc.</li></li></ul><li>47<br />OGSA Overview (2/2)<br />Addressing the challenges of integrating services across distributed, heterogeneous, dynamic VO formed from the disparate resources<br />OGSA was introduced in “Physiology of the Grid” (I.Foster, C.Kesselman, J.Nick, y S.Tuecke)<br />The actual standardization process is being carried out by the Global Grid Forum (GGF) http://www.ggf.org/<br />
    53. 53. 48<br />OGSA Evolution<br />informational<br />Autonomy of<br />the Grid<br />OGSA V1.0<br />OGSA<br />Profile<br />Normative<br />OGSA Glossary<br />Basic Execution<br />Service<br />Naming<br />JSDL<br />Physiology of<br />the Grid<br />Open Grid<br />Services<br />Infrastructure<br />Web Services<br />Resource<br />Framework<br />Web Services<br />Notification<br />
    54. 54. 49<br />What does OGSA define?<br />“A set of core interfaces and behaviours that address key concerns in Grid systems.”<br />Each particular service can be accessed in the same fashion, regardless of vendor, organization, internal implementation, etc.<br />What underlies this?<br />How are the interfaces defined? <br />How does a client request a particular operation from a service?<br />OGSA relies on (&aims to improve) WS technologies<br />Broader context: Service-Oriented Architectures (SOA)<br />WS & GS<br />
    55. 55. 50<br />Web Services (1)<br />A simple but powerful distributed system paradigm, that allows one to:<br />Describe a service (WSDL)<br />Invoke a service (SOAP)<br />Discover a service (various)<br />What sets it apart?<br />Clean separation between interface (what the service does) and implementation (how it does it)<br />Based on standard interoperable languages (XML)<br />Widespread use and abundant software available<br />We can use web services to build SOAs, improving interoperability and reusability.<br />
    56. 56. Web Services (2)<br />Why are WS ideal for OGSA and for Grid systems?<br />Can easily cope with heterogeneous systems (different programming languages, platforms, etc.)<br />Common interface language (WSDL) allows:<br />Virtualization: from a pool of services (with the same interface) I can access any service in the same fashion regardless of vendor, platform, etc.<br />Dynamic service indexing and discovery.<br />Dynamic access to services<br />51<br />
    57. 57. Grid Services (1)<br />Despite being the best option for OGSA, WSs still have important disadvantages:<br />Stateless (…)<br />Non-transient ('Persistent')<br />No supporting services (notifications, lifecycle management, etc.)<br />OGSA defines the concept of a Grid Service to overcome these limitations:<br />Grid Service = improved Web Service<br />Grid Services are compatible with WS<br />Note that Grids need access to stateful resource<br />52<br />
    58. 58. Grid Services (2)<br />Grid services<br />can maintain internal state for the lifetime of the service<br />can be created and destroyed dynamically (via a Factory)<br />have a globally unique name, the Grid service handle (GSH)<br />each instance has a set of service data elements (a collection of XML elements)<br />OGSA is based on Grid Services<br />Grid Services are specified in a separate spec spawned <br />by OGSA: Open Grid Services Infrastructure (OGSI).<br />All the services in OGSA (Job management, security, <br />etc.) will be based on (and implemented with) Grid Services<br />53<br />
    59. 59. Grid Services (3)<br />54<br />
    60. 60. 55<br />OGSA Model: At a Glance<br />Other services – data services etc<br />OGSA – Grid Enabled Web Services<br />Web services<br />GT3 Security <br />GT3 capabilities – e.g. GRMS, GridFTP, GRAM.. <br />
    61. 61. 56<br />The OGSA Platform<br />More specialized &<br />domain-specific<br />services<br />Domain-<br />specific<br />profiles<br />Other<br />models<br />OGSA<br />Platform<br />OGSA Platform services: registry,<br />authorization, monitoring, data<br />access, etc., etc. <br />Models for resources<br /> & other entities<br />OGSI<br />Environment-<br />specific<br />profiles<br />Host. Env. & Protocol Bindings<br />Transport<br />Hosting Environment<br />Protocol<br />Hosting Environment<br />
    62. 62. 57<br />OGSI (1)<br />A Grid Service<br />GWSDL<br />Extends ..<br />Web <br />Services <br />Web Service <br />Interface (WSDL)<br />SOAP<br />Server<br />Service Implementation<br />
    63. 63. 58<br />OGSI (2)<br />Client<br />Introspection:<br /><ul><li> What port types?
    64. 64. What policy?
    65. 65. What state?</li></ul>Data<br />access<br />GridService<br />(required)<br />Other standard interfaces:<br />factory,<br />notification,<br />collections<br />Grid Service<br />Handle<br />Service<br />data<br />element<br />Service<br />data<br />element<br />Service<br />data<br />element<br />handle<br />resolution<br />Grid Service<br />Reference<br />Implementation<br />Hosting environment/runtime<br />(“C”, J2EE, .NET, …)<br />
    66. 66. 59<br />
    67. 67. 60<br />
    68. 68. Globus Toolkit 3 (1)<br />The Globus Toolkit is probably the best-known software package for Grid programming<br />However, there seems to be an ongoing confusion regarding the relationship between GT3 and OGSA + OGSI...<br />GT3 == OGSA?<br />GT3 == OGSI?<br />Is GT3 a magical toolkit which will allow me to program Grid systems out-of-the-box?<br />61<br />
    69. 69. Globus Toolkit 3 (2)<br />The Globus Toolkit 3 (GT3) is a complete implementation, in Java, of the OGSI spec<br />Very important: GT3 isn't only an OGSI implementation.<br />Includes OGSA-defined services<br />Includes its own non-OGSA services (which have become a de facto standard)<br />Also includes non-WS components (GT2.4)<br />62<br />
    70. 70. GT3 Architecture<br />63<br />Non-GT3 services based on the GT3 architecture<br />Management of large volumes of data (Replica Management)<br />MMJFS, MDS, RFT<br />GSI (Grid Security Infrastructure), SSL, WS-Security, SOAP, ...<br />OGSI: Grid Services, Service Data, <br />Notifications, Transient Services <br />(Factory/Instance), Service Groups<br />
    71. 71. OGSA, OGSI, and GT3(1)<br />64<br />
    72. 72. OGSA, OGSI, and GT3 (2)<br />65<br />In standardization process (GGF)<br /><ul><li>VO management
    73. 73. Security
    74. 74. Job management
    75. 75. Data management
    76. 76. Workflow
    77. 77. etc.</li></ul>Standardized (GGF) and implemented (GT3)<br />Standardized (W3C) <br />and implemented (Apache Axis)<br />
    78. 78. OGSA: summing up<br />OGSA: standards-based Grid technology<br />From Web services: standard IDL, discovery, binding independence, other desirable features<br />From Grid: naming, state, lifetime management, etc., etc.<br />66<br />
    79. 79. Web Services Resource Framework (WSRF)<br />
    80. 80. 68<br />Grid and WS: Convergence?<br />GT1<br />GT2<br />OGSI<br />Started far apart in apps & tech<br />Have been<br />converging <br />?<br />WSDL 2,<br /> WSDM<br />WSDL, <br /> WS-*<br />HTTP<br /><ul><li>Despite being generally accepted as a good change within the Grid community, OGSI has not caught the eye of the Web Service community.
    81. 81. GGF had hoped that Web Services standards and OGSI would converge, but that convergence is not happening.</li></li></ul><li>OGSA Review<br />69<br />Standardization<br />Domain-SpecificServices<br />Program<br />Execution<br />Data Services<br />Core Services<br />Open Grid Services Infrastructure<br />Web Services Messaging, Security, Etc.<br />
    82. 82. 70<br />Three Major WS Concerns about OGSI<br />“Dense specification”<br />“Does not work well with existing WS tooling”<br />Extended WSDL & therefore not compatible with other Web service standards ..<br />Grid services need to be stateful and dynamic<br />Therefore, WSDL had to be extended (how) to add state & notification<br />Too “object oriented”<br />Web Services are not supposed to be object-oriented, despite the fact that most Web Services are implemented using object-oriented languages. This specially refers to the fact that OGSI Services are stateful (Web Services are supposed to be stateless)<br />Grid services extended Web services – means that Grid services are ON THEIR OWN…<br />
    83. 83. WSRF (1)<br />To achieve Web Service & Grid Service convergence, a new standard was announced during GlobusWORLD 2004 (January 2004)<br />This new standard will supersede OGSI<br />WSRF – Web Services Resource Framework<br />OASIS, from 2006<br />71<br />
    84. 84. WSRF (2)<br />72<br />The definition of WSRF means that Grid and Web communities can move forward on a common base<br />
    85. 85. WSRF (3)<br />73<br /><ul><li>OGSA Services can be defined and implemented asWeb services instead of working w/ a diff “improved version” of WS
    86. 86. OSGA can take advantage of other Web services standards
    87. 87. OGSA can be implemented using standard Web services development tools
    88. 88. Grid applications will NOT require special Web services infrastructure
    89. 89. WSRF would be part of the WS standard, instead of being a “patch” </li></ul> over existing one (like OGSI)<br />
    90. 90. WSRF (4)<br />74<br />Standardization<br />Domain-Specific Services<br />Program<br />Execution<br />Data Services<br />Core Services<br />Open Grid Services Infrastructure<br />WS-Resource Framework<br />Web Services Messaging, Security, Etc.<br />
    91. 91. WSRF (5)<br />WS-Resource: Web Service + stateful resource<br />Put state in the resource, not WS, each has a unique key<br />instruct the WS to use a particular resource, if we want a stateful interaction with a WS<br />Pairing a WS with a resource is called a WS-Resource<br />WS-Resource is a construct used to model stateful resources using WS architectural framework<br />Unique (for the Web Service) - Has a distinguishable identity and lifetime<br />Stateful - Maintains a specific state that can be materialized using XML<br />May be accessed through one or more Web Services<br />75<br />
    92. 92. Example of statefulWeb services<br />76<br />
    93. 93. Example of stateful Web services<br />77<br />Note:There are three resources, and the service interface is instructed to use Resource C<br />
    94. 94. 78<br />
    95. 95. 79<br />
    96. 96. WSRF specification<br />WSRF is a collection of four different specifications related to the management of WS-Resource<br />WS-ResourceProperties– Supplies a set of interfaces that will allow us to access, modify, and query resource properties<br />WS-ResourceLifetime: Resources have non-trivial life cycles. In other words, they are not static entity that is created when our server stops. Resources can be created and destroyed at anytime. The WS-ResourceLifetime supplies some basic mechanisms to manage lifecycle of resources.<br />80<br />
    97. 97. WSRF specification (2)<br />WSRF is a collection of four different specifications related to the management of WS-Resource<br />WS-ServiceGroup – This is useful in managing groups of WS or group of WS-Resources and performing operations such as “add new service to group”, “remove this service from group”, and (more importantly), “find a service in the group that meets the condition FOOBAR”, very basic but is the base of more powerful discovery services (such as GT4’s Index Service)<br />WS-BaseFaults– Aims to provide a standard way of representing faults when something goes wrong during WS service invocation<br />81<br />
    98. 98. Related Specifications<br />WS-Notification – This is another collection of specification that, although not part of a WSRF, is closely related to it.<br />WS-Addressing: Provides mechanism for addressing WS. More versatile than URI. Can be used to address WS-Resource pair<br />82<br />
    99. 99. 83<br />Concerns Addressed<br />How WSRF deals with OGSI's problems:<br />* “Dense specification”<br />WSRF is divided in five documents plus a complementary specification (WS-Notification)<br /> * “Doesn’t work well w/ existing WS tooling”<br />  WSRF harmonizes with WS: less aggressive use of XML Schema, use of pure WSDL 1.1 for interface description (instead of GWSDL, a 'patched' version of WSDL fit for OGSI)<br /> * “Too object oriented”<br />WSRF makes an explicit distinction between the “service” and the stateful “resources” acted upon by that service<br />
    100. 100. Relation from WSRF to ...<br />84<br />OGSA: WSRF mechanisms will enable OGSA<br />OGSI: WSRF restates OGSI concepts in WS terms <br />
    101. 101. WSRF and GT4<br />85<br />
    102. 102. WSRF – summing up<br />Why is WSRF important?<br />WSRF completes Grid/Web convergence<br />How does WSRF relate to OGSI?<br />WSRF restates OGSI concepts in WS terms <br />How does WSRF relate to OGSA?<br />WSRF mechanisms will enable OGSA<br />Why is WSRF more likely to succeed? <br />Harmonizes with Web Services<br />Backed by IBM and HP<br />First, full, free implementation: GT4<br />IBM will include support for WSRF in some of its tools.<br />More WSRF details: <br />http://www.globus.org/wsrf<br />86<br />
    103. 103. Summary <br />“Grid Computing” is undergoing an intense standardization process.<br />OGSA: Still work-in-progress (some parts finished)<br />OGSI: Promising start, but didn't quite make it<br />WSRF: Will it achieve true Grid/Web convergence? <br />Until OGSA is truly stable, the Globus Toolkit remains the de facto standard, and one of the most important pieces of software in Grid system development. <br />87<br />
    104. 104. 88<br />Resources<br />[1] The Physiology of the Grid, Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke, 2002<br />[2] Towards a service-oriented Grid, Borja Sotomayor, University of Deusto, 2004<br />[3] SOA, Web Service In Grid Computing, PhạmHùngTiến, ĐặngHoàiĐức, K2008<br />[4] Open Grid Services Architecture, Ian Foster, University of Chicago, 2003<br />[5] WS-Resource Framework: Globus Alliance Perspectives, Ian Foster, University of Chicago, 2003<br />[6] OGSA, WSRF, and the Foundations of Grid, David Snelling, Fujitsu Laboratories of Europe, 2005<br />[7] Global Globus Forum http://www.globus.org<br />[8]IBM: http://www.ibm.com/developerworks/library/ws-resource/<br />
    105. 105. Q & A<br />Lê H.N. Quỳnh<br />lhnquynh@gmail.com<br />PhạmHồngThanh<br />thanhphh@gmail.com<br />89<br />
    106. 106. Thank You!<br />90<br />
    107. 107. 91<br />Appendix<br />
    108. 108. WSRF 101: Stateful Resource<br />A Resource:<br />A specific set of state data expressible as an XML document<br />This is not typically all of the resource’s state!<br />Has a well-defined identity and lifecycle <br />Known to, and acted upon, by one or more Web services.<br />Many Possible Instances<br />Files, Database tables, EJB Entities, XML documents, Compositions of multiple data sources, Virtualized executions of applications, etc.<br />A WS-Resource has:<br />Identity: Can be uniquely identified/referenced<br />Lifetime: Often created & destroyed by clients<br />State: Part of the state can be projected as XML<br />Type: Its Web service interface<br />92<br />
    109. 109. Lifetime<br />Defines:<br />Immediate, synchronous destruction operation<br />Time-based, scheduled destruction operation<br />“Soft-state” or “leased” lifetime management<br />Termination time not required to increase monotonically <br />Resource properties:<br />CurrentTime: Can be used to determine clock skew<br />TerminationTime: Current scheduled termination time<br />Notification of resource termination<br />Why:<br />Define clear means by which resources can be destroyed<br />Allow the Grid to “Garbage Collect” itself automatically<br />93<br />
    110. 110. Notification<br />WS-Notification<br />Brings publish and subscribe messaging to Web services<br />Loosely coupled, asynchronous messaging in WSs<br />WS Notification composes with WSRF and other WSs<br />Brokered notification<br />Support for intermediates, queuing, aggregation, distribution, filtering, ...<br />Topics and Topic Spaces<br />Define a mechanism to advertise topics for subscription.<br />Use of WS-Notification in WS-RF<br />Receive notification changes to the Resource Properties<br />94<br />
    111. 111. WSDL: Web Services Description Language<br />Bind an Interface via a definition to a specific transport (e.g. HTTP) and messaging (e.g. SOAP) protocol<br />The network location where the service is implemented , e.g. http://localhost:8080<br />Define expected messages for a service, and their (input or output parameters)<br />An interface groups together a number of messages (operations)<br />
    112. 112. Web Services Server Applications<br />Container<br />Web service – software that exposes a set of operations<br />SOAP Engine – handle SOAP requests and responses (Apache Axis)<br />Application Server – provides “living space” for applications that must be accessed by different clients (Tomcat)<br />HTTP server- also called a Web server, handles http messages<br /> Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html<br />
    113. 113. Let’s talk about state<br />Plain Web services are stateless<br /> Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html<br />
    114. 114. However, Many GridApplications Require State<br /> Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html<br />
    115. 115. Keep the Web Serviceand the State Separate<br />Instead of putting state in a Web service, we keep it in a resource <br />Each resource has a unique key<br /> Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html<br />
    116. 116. Web Service<br />+ <br />Resource<br />=<br />WS-Resource<br />Address of a WS-resource is called an end-point reference <br />Resources Can Be Anything Stored<br />
    117. 117. “Stateless” vs. “Stateful” Services<br />Without state, how does client:<br />Determine what happened (success/failure)?<br />Find out how many files completed?<br />Receive updates when interesting events arise?<br />Terminate a request?<br />Few useful services are truly “stateless”, but WS interfaces alone do not provide built-in support for state<br />FileTransferService<br />Client<br />move (A to B)<br />move<br />
    118. 118. GT3/GT4 Evolution<br />102<br />
    119. 119. Grid services vs. Web Services<br /><ul><li>Although Grid services are implemented using WS technology, the following are the differences btw them</li></ul>Web service<br /><ul><li>Addresses the issue of discovery and invocation of persistent services
    120. 120. A WS is often presumed available if its corresponding WSDL file is accessible to its client
    121. 121. WS typically outlive all their clients</li></ul>Grid service<br /><ul><li>Addresses the issue of a virtual resource and its state management
    122. 122. A grid is a dynamic environment hence, Grid services can be transient rather than persistent
    123. 123. A Grid service can be dynamically created and destroyed.</li></li></ul><li>104<br />SYSTEMS<br />MANAGEMENT<br />UTILITY<br />COMPUTING<br />GRID<br />COMPUTING<br />Use Cases &<br />Applications<br />Distributed query processing<br />Data Centre<br />ASP<br />Collaboration<br />Multi Media<br />Persistent Archive<br />VO Management<br />OGSA-EMS<br />OGSA Self Mgmt<br />WS-DAI<br />WSDM<br />Discovery<br />Information<br />Naming<br />GGF-UR<br />Data Model<br />Core Services<br />Privacy<br />Others ...<br />Trust<br />Notification<br />Service Groups<br />WS-I BP<br />WSRF-RAP<br />WS-Security<br />SAML/XACML<br />X.509<br />Basic Profile<br />WS-Addressing<br />HTTP(S)/SOAP<br />WSDL<br />WSRF-RL<br />WSRF-RP<br />OGSA Specs Landscape<br />

    ×