Grid services vs. Web services Dana Petcu, Georgiana Macariu, Marc Francu, Alexandru Carstea IeAT, Romania Content Grid ws. Web services Similarities What is different? Overview of the SCIEnce activities at Timisoara Similarities Special forms of distributed computing Both typically deal with wide-area distributed computing A Grid service is basically a Web service with some additions E.g. to make it able to store state information persistently rather than transiently at the server beyond the lifetime of a single request Differences Grid services have different goals from pure Web services: WS: conceived to share information, (eg: http://www.webservicesx.net/globalweather.asmx GS: conceived to share computing power and resources like disk storage databases and software applications (eg: EGEE) “Grid service = Grid computing + Web services” Every Grid service “is a” Web services, but not every Web service “is a” Grid service Web service A software system built to support communication between two processing elements that are interconnected through a network The most important requirement: interoperability Interaction client-service provider is carried out using XML based messages Messages are exchanged using an underlying protocol such as HTTP or SMTP. A web service offers an interface described by a document that can be processed by a machine in automatic fashion Use SOAP standard or REST standard REST standard imposes that a request must specify all the information needed by the server to service the request (no stateful information should be kept at server level) For SOAP standard the interface is defined using WSDL WS stack (W3C Web Services Architecture Document) Grid services extends Web services by: stateful services, service instantiation, named service instances and a two-level naming scheme, a base set of service capabilities, including discovery facilities, lifetime management Statefulness An instance of a service is stateless if it cannot remember prior events. An instance of service is stateful if it can remember about prior actions (-> vars. within service to maintain vals between accesses) A WS is usually stateless, A GS is stateful A WS can be stateful using ad hoc methods Grid services are bringing uniformity and consistency in this topic Statefulness State in the Web service is generally regarded as a bad thing! Stateless Web services storing state information? By separating the Web service from the state information! State keep it in a separate entity called resource Each resource has a unique key Statefull interaction with a Web service: instruct the Web service to use a particular resource. Web Service + Resource = WS-Resource Web services - stateless vs. stateful : bank service analogy (from www.neresc.ac.uk/events/presentations-talks/WebGridServices.pdf) Instantiation WS: no different discrete units of state (instances) named in a consistent manner GS: namable state GS specification defines: Factories and Lifetime management services A factory implements an operation that creates a new service instance and returns its handle and its initial termination time. Instantiation Named service instances WS: named by URIs GS: named at a first level by a Grid Service Handle (GSH) - an URI, an abstract name that refers only an instance (no information like the location, implementation, or status of the service) A GSH is resolved at a second level into a Grid Service Reference (GSR) From: www.cs.indiana.edu/~ysimmhan/l/talks/simmhan-b534-2004.pdf GSH = http://extreme/services/foo/my-service GSR (URL) = http://ooty:8080/foo-service My Grid Service 4 Invoke method on service GSH = http://extreme/services/handle-resolver GSR (URL) = http://rainier:10101/handle-resolver Service Group Registry Handle Resolver Get GSR for registry GSH http://extreme/services/serviceregistry. Returns http://rainier:20202/handleresolver GSH = http://extreme/services/service-registry GSR (URL) = http://rainier:20202/service-registry 1 SDE: <entry> <locator> <handle>http://extreme/servic es/foo/my-service</handle> </locator> <content> <foo>myContent</foo> </content> </entry> 2 Get all Entries about services. 3 Select your service and get GSR for GSH http://extreme/services/foo/myservice. Returns http://ooty:8080/foo-service. Client Returns Metadata Content and the GSH (http://extreme/services/foo/myservice) Handle Resolver URL = http://rainier:10101/handle-resolver Your Service Handle = http://extreme/services/foo/my-service OR locate from Registry GSH = http://extreme/services/service-registry Service discovery WS: UDDI registry, allow introspection and discovery of static information such as service interfaces and associated policy GS: need support for transient service instances that are created or destroyed dynamically! GT4 uses an own index service which locate service based upon user criteria service discovery is based on Service Data Elements (SDEs) = a structured collection of information associated with a Grid service that allows a user to choose a service that satisfies its needs, e.g. functionality speed, cost. Lifecycle related to the issues of resource reclamation associated with services in the event of WS: cycle controlled by the Web Server failures (eg. loss of network connectivity) or lack of interest by any relevant clients (eg. service no longer ref. by any active process) dynamically allocated when a request arrives deallocated when that request/session ends GS: set a time (in SDE) when a service will self-destruct unless kept alive by subsequent increases in its termination time service instance need not to be explicitly destroyed Transient vs. non-transient service A transient service instance is one that can be created and destroyed (eg. for specific clients) An non-transient (persistent) instance of a service outlives its client WS: usually non-transient GS: can be stateful transient: an instance assigned to each client and only that client can access stored information; information retained between accesses and pertains to the client; instance usually destroyed when its purpose has been fulfilled stateful non-transient: several clients share one instance of the service, Stored information is available to all clients. Current standards GT4 and WSRF.NET currently implements Web Services Resource Framework (WSRF) that specifies stateful WS that extends WSs WSRF: a collection of specifications WS-ResourceProperties WS-ResourceLifetime WS-ServiceGroup WS-BaseFaults [WS-Notification] [WS-Addressing] References M.C. Brown, Build grid applications based on SOA. Concepts behind SOA and how to move grid applications to SOA model, DeveloperWorks -- IBM's resource for developers, 2005, www-128.ibm.com/developerworks/grid/library/gr-soa/ A. Grimshaw, Grid services extend Web services, SOAWebServices Journal 506, 2003, webservices.sys-con.com/read/39829.htm. D.Petcu, Between Web and Grid-based Mathematical Service, Procs. ICCGI, IEEE Computer Society Press, 2006, science.ieat.ro/science/research/publications/ K. Champion, Stateless and stateful WS in the Grid community, 2004, searchwebservices.techtarget.com/expert/KnowledgebaseAnswer/ P. Shread, Web Services a Good Start For Grid, But Not Enough, Grid Computing Planet, 2003, www.gridcomputingplanet.com/news/article.php/3281_1571191 B. Sotomayor, Globus Toolkit 4 Programmer's Tutorial, gdp.globus.org/gt4-tutorial H. Stockinger, Grid Computing: A Critical Discussion on Business Applicability, IEEE Distributed Systs Online,vol.7,no.6,2006, dsonline.computer.org/portal/site/dsonline WSRF, http://docs.oasis-open.org/wsrf/ SCIEnce activities at Timisoara http://science.ieat.ro JRA1 Access to Grid and Web services Service discovery Facilitate the creation on Grid symbolic services … Activities A tool for accessing services from a CAS Novelty: Overviews papers: Automatic creation of Grid/Web clients Generic for any CAS Identify state of the art Research: propose some improvements for CAS related to Grids API In the next talk… Now only some test interface API Exercise: http://194.102.62.36/portal Exercise portal: Web services Select Web service Select method Get arguments Get results Accessing a Grid service Exercise portal-selecting a Grid service Exercise portal-selecting a method Exercise portal-specify the arguments Exercise portal: getting the result Papers (http://science.ieat.ro/science/research/publications/) D. Petcu, D. Tepeneu, M.Paprzycki, T.Ida, Symbolic Computations on Grids, chapter 6 in "Engineering the Grid: status and perspective", eds. Beniamino di Martino, Jack Dongarra, Adolfy Hoisie, Laurence Yang, and Hans Zima, American Scientific Publishers, 2006, pp. 91-107 D. Petcu, Improving Computer Algebra Systems by Using Grid Services, in 1st Austrian Grid Symposium, J. Volkert, T. Fahringer, D. Kranzlmuller, W. Schreiner (eds.), Austrian Computer Society, Band 210, 2006, 102-110 D.Petcu, C.Bonchis, C.Izbasa, Symbolic Computations based on Grid Services, Int. Journal of Computers, Communications and Control (RO), Vol. 1, no. 1, 2006, 44-50 D.Petcu, Between Web and Grid-based Mathematical Services, ICCGI, 1-3 August 2006, IEEE Computer Society Press, eds. P. Dini, C. Popoviciu, C. Dini, Gunter Van de Velde, E. Borcoci D.Petcu, Mathematics on the net: state of the art and challenges, 8th French-Romanian Colloquim on Applied Mathematics, Chambery, France, August 28-31, 2006, invited talk