6. A Case Study Image from Dr. Dang Tran Khanh slide 6
7. 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 7
8. Key terms (cont.) A service Is a software component Can be accessed via a network Provides functionality to a requester 8
9. 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 9
10. Services Characteristics May be individual useful, or can be integrated Communicate with clients by exchanging messages Can participate in a workflow 10
11. 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… 11
19. 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 16
20. 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 17
31. 28 What is Web Service? Computer A: Language: Perl OS: Windows 2000 XML XML Computer B: Language: Java OS: Linux A basic 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 28
32. 29 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 What is Web Service? (cont.)
33. 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 30
34. 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 31
35. 32 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 About…
36. 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 33
42. SOA and Web Services: Style vs. Implementation 39
43. 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. 40
46. 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.
47. 44 Open Standards Open Grid Open Source Open Infrastructure Building an Open Grid
48. 45 Grids and Open Standards OGSA Web services GGF: OGSI, … (+ OASIS, W3C) Multiple implementations, including Globus Toolkit X.509, LDAP, FTP, … Globus Toolkit Defacto standards GGF: GridFTP, GSI App-specific Services Increased functionality, standardization Custom solutions Time
53. 48 OGSA Evolution 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
54. 49 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
55. 50 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.
56. Web Services (2) Why are WS ideal for OGSA and for Grid systems? Can easily cope with heterogeneous systems (different programming languages, platforms, etc.) Common interface language (WSDL) allows: Virtualization: from a pool of services (with the same interface) I can access any service in the same fashion regardless of vendor, platform, etc. Dynamic service indexing and discovery. Dynamic access to services 51
57. Grid Services (1) Despite being the best option for OGSA, WSs still have important disadvantages: Stateless (…) Non-transient ('Persistent') No supporting services (notifications, lifecycle management, etc.) OGSA defines the concept of a Grid Service to overcome these limitations: Grid Service = improved Web Service Grid Services are compatible with WS Note that Grids need access to stateful resource 52
58. Grid Services (2) Grid services can maintain internal state for the lifetime of the service can be created and destroyed dynamically (via a Factory) have a globally unique name, the Grid service handle (GSH) each instance has a set of service data elements (a collection of XML elements) OGSA is based on Grid Services Grid Services are specified in a separate spec spawned by OGSA: Open Grid Services Infrastructure (OGSI). All the services in OGSA (Job management, security, etc.) will be based on (and implemented with) Grid Services 53
60. 55 OGSA Model: At a Glance Other services – data services etc OGSA – Grid Enabled Web Services Web services GT3 Security GT3 capabilities – e.g. GRMS, GridFTP, GRAM..
61. 56 The OGSA Platform More specialized & domain-specific services Domain- specific profiles Other models OGSA Platform OGSA Platform services: registry, authorization, monitoring, data access, etc., etc. Models for resources & other entities OGSI Environment- specific profiles Host. Env. & Protocol Bindings Transport Hosting Environment Protocol Hosting Environment
62. 57 OGSI (1) A Grid Service GWSDL Extends .. Web Services Web Service Interface (WSDL) SOAP Server Service Implementation
65. What state?Data access GridService (required) Other standard interfaces: factory, notification, collections Grid Service Handle Service data element Service data element Service data element handle resolution Grid Service Reference Implementation Hosting environment/runtime (“C”, J2EE, .NET, …)
68. Globus Toolkit 3 (1) The Globus Toolkit is probably the best-known software package for Grid programming However, there seems to be an ongoing confusion regarding the relationship between GT3 and OGSA + OGSI... GT3 == OGSA? GT3 == OGSI? Is GT3 a magical toolkit which will allow me to program Grid systems out-of-the-box? 61
69. Globus Toolkit 3 (2) The Globus Toolkit 3 (GT3) is a complete implementation, in Java, of the OGSI spec Very important: GT3 isn't only an OGSI implementation. Includes OGSA-defined services Includes its own non-OGSA services (which have become a de facto standard) Also includes non-WS components (GT2.4) 62
70. GT3 Architecture 63 Non-GT3 services based on the GT3 architecture Management of large volumes of data (Replica Management) MMJFS, MDS, RFT GSI (Grid Security Infrastructure), SSL, WS-Security, SOAP, ... OGSI: Grid Services, Service Data, Notifications, Transient Services (Factory/Instance), Service Groups
78. OGSA: summing up OGSA: standards-based Grid technology From Web services: standard IDL, discovery, binding independence, other desirable features From Grid: naming, state, lifetime management, etc., etc. 66
82. 70 Three Major WS Concerns about OGSI “Dense specification” “Does not work well with existing WS tooling” Extended WSDL & therefore not compatible with other Web service standards .. Grid services need to be stateful and dynamic Therefore, WSDL had to be extended (how) to add state & notification Too “object oriented” 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) Grid services extended Web services – means that Grid services are ON THEIR OWN…
83. WSRF (1) To achieve Web Service & Grid Service convergence, a new standard was announced during GlobusWORLD 2004 (January 2004) This new standard will supersede OGSI WSRF – Web Services Resource Framework OASIS, from 2006 71
84. WSRF (2) 72 The definition of WSRF means that Grid and Web communities can move forward on a common base
85.
86. OSGA can take advantage of other Web services standards
87. OGSA can be implemented using standard Web services development tools
89. WSRF would be part of the WS standard, instead of being a “patch” over existing one (like OGSI)
90. WSRF (4) 74 Standardization Domain-Specific Services Program Execution Data Services Core Services Open Grid Services Infrastructure WS-Resource Framework Web Services Messaging, Security, Etc.
91. WSRF (5) WS-Resource: Web Service + stateful resource Put state in the resource, not WS, each has a unique key instruct the WS to use a particular resource, if we want a stateful interaction with a WS Pairing a WS with a resource is called a WS-Resource WS-Resource is a construct used to model stateful resources using WS architectural framework Unique (for the Web Service) - Has a distinguishable identity and lifetime Stateful - Maintains a specific state that can be materialized using XML May be accessed through one or more Web Services 75
96. WSRF specification WSRF is a collection of four different specifications related to the management of WS-Resource WS-ResourceProperties– Supplies a set of interfaces that will allow us to access, modify, and query resource properties 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. 80
97. WSRF specification (2) WSRF is a collection of four different specifications related to the management of WS-Resource 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) WS-BaseFaults– Aims to provide a standard way of representing faults when something goes wrong during WS service invocation 81
98. Related Specifications WS-Notification – This is another collection of specification that, although not part of a WSRF, is closely related to it. WS-Addressing: Provides mechanism for addressing WS. More versatile than URI. Can be used to address WS-Resource pair 82
99. 83 Concerns Addressed How WSRF deals with OGSI's problems: * “Dense specification” WSRF is divided in five documents plus a complementary specification (WS-Notification) * “Doesn’t work well w/ existing WS tooling” 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) * “Too object oriented” WSRF makes an explicit distinction between the “service” and the stateful “resources” acted upon by that service
100. Relation from WSRF to ... 84 OGSA: WSRF mechanisms will enable OGSA OGSI: WSRF restates OGSI concepts in WS terms
102. WSRF – summing up Why is WSRF important? WSRF completes Grid/Web convergence How does WSRF relate to OGSI? WSRF restates OGSI concepts in WS terms How does WSRF relate to OGSA? WSRF mechanisms will enable OGSA Why is WSRF more likely to succeed? Harmonizes with Web Services Backed by IBM and HP First, full, free implementation: GT4 IBM will include support for WSRF in some of its tools. More WSRF details: http://www.globus.org/wsrf 86
103. Summary “Grid Computing” is undergoing an intense standardization process. OGSA: Still work-in-progress (some parts finished) OGSI: Promising start, but didn't quite make it WSRF: Will it achieve true Grid/Web convergence? 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. 87
104. 88 Resources [1] The Physiology of the Grid, Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke, 2002 [2] Towards a service-oriented Grid, Borja Sotomayor, University of Deusto, 2004 [3] SOA, Web Service In Grid Computing, PhạmHùngTiến, ĐặngHoàiĐức, K2008 [4] Open Grid Services Architecture, Ian Foster, University of Chicago, 2003 [5] WS-Resource Framework: Globus Alliance Perspectives, Ian Foster, University of Chicago, 2003 [6] OGSA, WSRF, and the Foundations of Grid, David Snelling, Fujitsu Laboratories of Europe, 2005 [7] Global Globus Forum http://www.globus.org [8]IBM: http://www.ibm.com/developerworks/library/ws-resource/
105. Q & A Lê H.N. Quỳnh lhnquynh@gmail.com PhạmHồngThanh thanhphh@gmail.com 89
108. WSRF 101: Stateful Resource A Resource: A specific set of state data expressible as an XML document This is not typically all of the resource’s state! Has a well-defined identity and lifecycle Known to, and acted upon, by one or more Web services. Many Possible Instances Files, Database tables, EJB Entities, XML documents, Compositions of multiple data sources, Virtualized executions of applications, etc. A WS-Resource has: Identity: Can be uniquely identified/referenced Lifetime: Often created & destroyed by clients State: Part of the state can be projected as XML Type: Its Web service interface 92
109. Lifetime Defines: Immediate, synchronous destruction operation Time-based, scheduled destruction operation “Soft-state” or “leased” lifetime management Termination time not required to increase monotonically Resource properties: CurrentTime: Can be used to determine clock skew TerminationTime: Current scheduled termination time Notification of resource termination Why: Define clear means by which resources can be destroyed Allow the Grid to “Garbage Collect” itself automatically 93
110. Notification WS-Notification Brings publish and subscribe messaging to Web services Loosely coupled, asynchronous messaging in WSs WS Notification composes with WSRF and other WSs Brokered notification Support for intermediates, queuing, aggregation, distribution, filtering, ... Topics and Topic Spaces Define a mechanism to advertise topics for subscription. Use of WS-Notification in WS-RF Receive notification changes to the Resource Properties 94
111. WSDL: Web Services Description Language Bind an Interface via a definition to a specific transport (e.g. HTTP) and messaging (e.g. SOAP) protocol The network location where the service is implemented , e.g. http://localhost:8080 Define expected messages for a service, and their (input or output parameters) An interface groups together a number of messages (operations)
112. Web Services Server Applications Container Web service – software that exposes a set of operations SOAP Engine – handle SOAP requests and responses (Apache Axis) Application Server – provides “living space” for applications that must be accessed by different clients (Tomcat) HTTP server- also called a Web server, handles http messages Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
113. Let’s talk about state Plain Web services are stateless Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
114. However, Many GridApplications Require State Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
115. Keep the Web Serviceand the State Separate Instead of putting state in a Web service, we keep it in a resource Each resource has a unique key Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
116. Web Service + Resource = WS-Resource Address of a WS-resource is called an end-point reference Resources Can Be Anything Stored
117. “Stateless” vs. “Stateful” Services 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 FileTransferService Client move (A to B) move
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 & negotiate policy?- Organize & manage service collections?- Establish identity, negotiate authentication?- Manage VO membership & 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 & 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, & manipulation of stateful entitiesGT4 WS Core provides a rich environment for developing stateful servicesGT4 provides a rich set of services based on WSRF & WS-Notification