340 likes | 465 Views
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
E N D
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
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.
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 Invoke method on service 4 GSH = http://extreme/services/service-registry GSR (URL) = http://rainier:20202/service-registry GSH = http://extreme/services/handle-resolver GSR (URL) = http://rainier:10101/handle-resolver Service Group Registry Handle Resolver SDE: <entry> <locator> <handle>http://extreme/services/foo/my-service</handle> </locator> <content> <foo>myContent</foo> </content> </entry> Get GSR for registry GSH http://extreme/services/service-registry. Returns http://rainier:20202/handle-resolver 1 2 3 Get all Entries about services. Returns Metadata Content and the GSH (http://extreme/services/foo/my-service) Select your service and get GSR for GSH http://extreme/services/foo/my-service. Returns http://ooty:8080/foo-service. Client 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 • failures (eg. loss of network connectivity) • or lack of interest by any relevant clients (eg. service no longer ref. by any active process) • WS: cycle controlled by the Web Server • 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: • Automatic creation of Grid/Web clients • Generic for any CAS • Overviews papers: • 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
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