1.15k likes | 1.34k Views
OGSA INFRASTRUCTURE EVALUATION. Specification & Applications. Giuliano Rorato INFN – Laboratori Nazionali di Legnaro. Why OGSA. Our interest in OGSA (Open Grid Services Architecture) technology is about a possible application in the online software of CMS. In particular for RCMS.
E N D
OGSA INFRASTRUCTURE EVALUATION Specification & Applications Giuliano Rorato INFN – Laboratori Nazionali di Legnaro
Why OGSA • Our interest in OGSA (Open Grid Services Architecture) technology is about a possible application in the online software of CMS. In particular for RCMS. • OGSA: defines mechanisms for managing distribuited entities. • RCMS: distribuited services system for the run control of CMS. OGSA framework RCMS Services Giuliano Rorato - INFN - LNL 19/11/2002
Open Grid Services Architecture • OGSA: Grid system architecture based on an integration of GRID and Web Services concepts and technologies. • Initial proposed technical specification: Globus project and IBM • Put forward at the Globus Grid Forum: for discussion, refinement, and eventual standardization • 2002-2003: Globus Toolkit OGSA-compliant Globus Toolkit 3.0 • Now there is the Preview Release 5 • www.globus.org/ogsa/releases/TechPreview/ Giuliano Rorato - INFN - LNL 19/11/2002
Web Services vs Grid Services • WEB SERVICE: interface that describes a collection of operations that are network accessible through standardized XML messaging • WSDL (Web Services Description Language): language XML-based that describe the web service (accessible operations and location) • GRID SERVICE: web service that conforms to a set of conventions (interfaces and behaviors) that define how a client interacts with a Grid Service Giuliano Rorato - INFN - LNL 19/11/2002
OGSA - Definition • The Open Grid Services Architecture (OGSA) defines mechanisms for creating, managing, and exchange information among entities called Grid Services • Grid Service instance: (persistent or transient) service that conforms to a set of conventions (expressed as WSDL interfaces, extensions, and behaviors) for such purposes as lifetime management, discovery of characteristics, notification, and so forth, described from a WSDL PortType • PortType: a WSDL element that describes a collection of message signatures (operation elements) that define the abstract interface of the Web Service • Grid Service instances are made accessible to client applications through the use of a GSH and a GSR • GSH (Grid Service Handle): URI (uniform resource idetifier) that identifies in univocal way a instance, directs to a GSR • GSR (Grid Service Reference): WSDL document that contains informations about the location of the instance Giuliano Rorato - INFN - LNL 19/11/2002
GSH e GSR GSH1 GSR1 URI www.pc2.it/gsr1 WSDL Document 1 Grid Service Instance 1 Client GSH2 GSR2 URI www.pc3.it/gsr2 WSDL Document 2 Grid Service Instance 2 Giuliano Rorato - INFN - LNL 19/11/2002
Grid Service PortTypes (1) • A Grid Service can implement following PortType: • GridService: encapsulates the root behavior of the component model • HandleResolver: mapping form a GSH to a GSR • NotificationSource: allows clients to subscribe to notification messages • NotificationSubscription: defines the relationship between a single NotificationSource and NotificationSink pair • NotificationSink: defines a single operation for delivering a notification message to the service instance that implements the operation • Factory: standard operation for creation of Grid Service instances • Registration: allows clients to register and unregister registry contents Giuliano Rorato - INFN - LNL 19/11/2002
Grid Service PortTypes (2) …other interfaces… (opzional) Grid Service (required) Service data access Explicit destruction Soft-state lifetime • Standard: • Notification • Authorization • Service creation • Service registry • Manageability • Concurrency • + application-specific interfaces Implementation Hosting environment/runtime (“C”, J2EE, .NET, …) Giuliano Rorato - INFN - LNL 19/11/2002
WSDL Extensions • OGSA architecture introduced WSDL extensions to allow Grid Service implementation • New WSDL elements: • serviceData: represents properties of the service’s state that may be externally queried • serviceDataDescription: formal description of serviceData elements • Convention on portType name: naming conventions and immutability of portType names • Grid Service Reference • Grid Service Handle Giuliano Rorato - INFN - LNL 19/11/2002
ServiceData Concept (1) • Service data: to support discovery, introspection, and monitoring of Grid Service instanceò it refers to descriptive information about Grid Service instance, including • Meta-Data: information about the service instance • State Data: runtime properties of the service instance • Each Grid Service instance has an associated set of SDEs (each one is represented in XML by a serviceData element) Giuliano Rorato - INFN - LNL 19/11/2002
ServiceData Concept (2) • serviceData elements samples: Instance’s data which value can change at runtime Giuliano Rorato - INFN - LNL 19/11/2002
ServiceData Concept (3) • Each Grid Service instance is associated with a set of SDEs. This set is modelled as a serviceDataSet: serviceData cpuSpeed with relative description: type, value serviceData configuration with relative description Giuliano Rorato - INFN - LNL 19/11/2002
Grid Service = Interfaces + Service Data Counter value cpuLoad Giuliano Rorato - INFN - LNL 19/11/2002
Example of Grid Service : DB Service • A DBaccess Grid Service has at least two portType • GridService • DBaccess • Each has any serviceData • GridService: base informations, lifetime informations,… • DBaccess: kind of database, query languages supported, current load,… Giuliano Rorato - INFN - LNL 19/11/2002
Example of Grid Service : DB Service • The UK e-Science Institute collaborate in the OGSA Project, and it implemented a Grid Data Service, a Grid Service with portType to work with many database (relational, XML-DB, …) • http://umbriel.dcs.gla.ac.uk/NeSC/general/ Grid Service XML-DB portType Relational-DB portType … Grid Data Service Giuliano Rorato - INFN - LNL 19/11/2002
GridService portType: operations • FindServiceData: query the service data • RequestTerminationAfter: request that the termination time of this service be changed • RequestTerminationBefore: request that the termination time of the service be changed • Destroy: explicity request destruction of this service FindServiceData(lifetime) Client Giuliano Rorato - INFN - LNL 19/11/2002
Factory portType • It is used by a client to create an instance of a Grid Service • It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances • The used operation is: CreateService Grid Service Counter Factory User Application Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Factory portType • It is used by a client to create an instance of a Grid Service • It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances • The used operation is: CreateService Grid Service Counter Factory CreateService User Application Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Factory portType • It is used by a client to create an instance of a Grid Service • It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances • The used operation is: CreateService Grid Service Counter Factory CreateService User Application Counter Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration • A registry is a Grid Service that maintains a collection of GSH, with policies associated with that collection. Clients may query the registry to discover what services are available • The registration portType allows clients to register and unregister registry content • The registry makes available a WS-Inspection document (defined with the Web Services Inspection Language – WSIL) to aid in discovery of the services in that registry Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType User Application Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType RegisterService(locator 1) User Application Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType RegisterService(locator 1) User Application GSH 1 Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType User Application GSH 1 Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType UnregisterService(GSH 1) User Application GSH 1 Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Registration Grid Service Registry portType User Application Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Transients Database Services Giuliano Rorato - INFN - LNL 19/11/2002
Notification • The purpose of the notification is to deliver interesting messages from a notification source to a notification sink • Notification source: sender of the notification messages • Notification sink: Grid Service instance that receives notification messages from any number of sources • Notification message: XML element sent from a notification source to a notification sink • Subscription expression: XML element that describes what messages should be sent from the notification source to the notification sink Giuliano Rorato - INFN - LNL 19/11/2002
Notification portTypes • NotificationSource portType • Subscribe • NotificationSubscription portType: used from Clients to manage the subscription (lifetime and others properties) • NotificationSink portType • deliverNotification Giuliano Rorato - INFN - LNL 19/11/2002
USE CASE OF NOTIFICATION Grid Service Notification portType User Application X=0 Service Provider serviceData Giuliano Rorato - INFN - LNL 19/11/2002
USE CASE OF NOTIFICATION Grid Service Notification portType User Application Subscribe(x=1, sink, exp time) X=0 Service Provider serviceData Giuliano Rorato - INFN - LNL 19/11/2002
USE CASE OF NOTIFICATION Grid Service Notification portType User Application X=0 Service Provider serviceData Giuliano Rorato - INFN - LNL 19/11/2002
USE CASE OF NOTIFICATION Grid Service Notification portType User Application X=1 Service Provider serviceData Giuliano Rorato - INFN - LNL 19/11/2002
USE CASE OF NOTIFICATION Grid Service Notification portType User Application DeliverNotification(x=1) X=1 Service Provider serviceData Giuliano Rorato - INFN - LNL 19/11/2002
HandleResolver portType • A Handle Resolver is a Grid Service instance that implements the HandleResolver portType • FindByHandle: returns a serviceLocator, which contains one or more GSR (Grid Service Reference) for a GSH (Grid Service Handle) Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Community Registry Database Service DB 1 Compute Service Provider User Application Database Factory Database Service “I want to create a personal database containing data on e.coli metabolism” DB n Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Community Registry “Find me a data mining service, and somewhere to store data” Database Service DB 1 Compute Service Provider User Application Database Factory Database Service DB n Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Community Registry Database Service GSHs for Mining and Database factories DB 1 Compute Service Provider User Application Database Factory Database Service DB n Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry DB 1 “Create a data mining service with initial lifetime 10” Compute Service Provider User Application Database Factory Database Service “Create a database with initial lifetime 1000” DB n Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry DB 1 “Create a data mining service with initial lifetime 10” Miner Compute Service Provider User Application Database Factory Database Service “Create a database with initial lifetime 1000” DB n Database Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry Query DB 1 Miner Keepalive Compute Service Provider Query User Application Database Factory Database Service Keepalive DB n Database Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry DB 1 Miner Keepalive Compute Service Provider Results User Application Database Factory Database Service Keepalive DB n Results Database Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry DB 1 Miner Compute Service Provider User Application Database Factory Database Service Keepalive DB n Database Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Example: Data Mining for Bioinformatics Mining Factory Database Service Community Registry DB 1 Compute Service Provider User Application Database Factory Database Service Keepalive DB n Database Storage Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Code Preview • Grid Service Container Frameworks: • Java • .NET • “C” • In this moment there are many java hosting environment: • Servlet: OGSA container is put into a standard Java Servlet Engine • EJB: OGSA container is put into a EJB Application Server Giuliano Rorato - INFN - LNL 19/11/2002
Java Container Framework • OGSA Core endorsed Java Specifications: • Apache Axis (Web Services Container) • JAXP (XML Parsing) • JAX-RPC • J2EE • EJB • JMS • JNLP (Java Network Launch Protocol, used for the mobile Java code) • Documentation: still poor and with not much examples Giuliano Rorato - INFN - LNL 19/11/2002
Counter Example Grid Service Counter Factory Counter Client “I want to create a Counter Grid Service” Compute Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Counter Example Grid Service Counter Factory CreateService Counter Client Compute Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Counter Example Grid Service Counter Factory CreateService Counter Client Counter X=0 Compute Service Provider Giuliano Rorato - INFN - LNL 19/11/2002
Counter Example Grid Service Counter Factory Counter Client Subscribe(X) Counter X=0 Compute Service Provider Giuliano Rorato - INFN - LNL 19/11/2002