Download presentation
Presentation is loading. Please wait.
Published byChrystal Wiggins Modified over 6 years ago
1
EMI Service Registry (EMIR) JRA1, Infrastructure
10/14/11 EMI Service Registry (EMIR) JRA1, Infrastructure Shiraz Memon (FZJ), Ivan Marton (NIIF), Gabor Szigeti (NIIF)
2
Outline Motivation Goals EMIR Highlights Architecture
10/14/11 Outline Motivation Goals EMIR Highlights Architecture Information Model REST API Security EMI Integration Scenario Performance Analysis Implementation Remarks Status report Oct 14, 2011 EMI Registry 2
3
Motivation No common Index Service
10/14/11 Motivation No common Index Service Site/Top level BDII ARC ISIS UNICORE Registry No common “service” to store the service information Various Service record formats Service publish and discovery interfaces Oct 14, 2011 EMI Registry 3
4
Goals Common Index Service to Publish and Discover the Services
10/14/11 Goals Common Index Service to Publish and Discover the Services Unified Information Model Support for federations (Natural to existing Infrastructures) Inter-Federation Lookups Multi-Federation service discovery Common Security Model Scalable and Performance DCI lookup Multi DCI lookups Oct 14, 2011 EMI Registry 4 4
5
Unified Index Service: EMI Service Registry (EMIR)
10/14/11 Unified Index Service: EMI Service Registry (EMIR) Discover all the EMI Services (ARC, gLite, UNICORE, dCache) Hierarchies and Federations Common Access Point to Service Discovery (even at each hierarchical level) REST-ful Interface to Publish and Discover the Services Service Information: GLUE 2.0 Based Service Entity Bulding hier. Registries Informa. model Oct 14, 2011 EMI Registry 5 5
6
10/14/11 System Architecture Oct 14, 2011 EMI Registry 6
7
10/14/11 Oct 14, 2011 EMI Registry 7 7
8
Service Information Model
10/14/11 Service Information Model Oct 14, 2011 EMI Registry 8
9
GLUE 2.0: Information Model
10/14/11 GLUE 2.0: Information Model Service General Information Meta-data (Last-update, Publisher/Owner, Lifetime) Endpoint Access Information Location Physical Location Geo-Coordinates Contact Additional Attributes (can be added on the fly) TTL for every Service Entry Oct 14, 2011 EMI Registry 9
10
JSON Rendering Developed within EMI
10/14/11 JSON Rendering Developed within EMI Used for Publishing and Discovering the Services [ { "Service_Name": “EMI Execution Service", "Service_CreationTime": {"$date": " T11:47:24Z"}, "Service_Type": “eu.emi.es", "Service_Capability": [“activity submission", “activity creation"], "Service_QualityLevel": "production", "Service_Endpoint_URL": " "Service_Endpoint_Technology": “SOAP over HTTP", "Service_Endpoint_InterfaceName": “ActivityManagement", "Service_Endpoint_InterfaceVersion": ["1.0“ ], "Service_Endpoint_WSDL": " ?wsdl", "Service_Endpoint_HealthState": "ok", "Service_Endpoint_HealthStateInfo": “it is OK, I can see it", "Service_Endpoint_ServingState": "production", "Service_Endpoint_StartTime": {"$date": " T11:47:24Z"}, "Service_Endpoint_DowntimeAnnounce": {"$date": " T11:47:24Z"}, "Service_Endpoint_DowntimeStart": {"$date": " T11:47:24Z"}, "Service_Endpoint_DowntimeEnd": {"$date": " T11:47:24Z"}, "Service_Endpoint_QualityLevel": "production", "Service_ExpireOn": {"$date": " T11:47:24Z"}, "Service_UpdateOn": {"$date": " T11:47:24Z"}, "Service_OwnerDN": “CN=Shiraz Memon,O=FZJ,OU=JSC” } ] Oct 14, 2011 EMI Registry 10 10
11
Querying the XML documents (1/2)
10/14/11 Querying the XML documents (1/2) < ! Document Start > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:QueryResult count="1" xmlns:ns2=" xmlns=" <Service BaseType="Entity" CreationTime=" T13:47: :00" Validity="12313"> <Name>ComputingService</Name> <Extensions/> <Type>job-management</Type> <QualityLevel>production</QualityLevel> <Location> <Address>A Street 1</Address> <Country>Germany</Country> <PostCode>53119</PostCode> <Latitude>53.3</Latitude> <Longitude>4.0</Longitude> </Location> <Contact> <Detail> <Type>sysadmin</Type> </Contact> <Type>developer</Type> Add alternative word Oct 14, 2011 EMI Registry 11 11
12
Querying the XML documents (2/2)
10/14/11 Querying the XML documents (2/2) <Endpoint BaseType="Entity" CreationTime=" T13:47: :00"> <Name>ComputingService</Name> <URL> <Capability>Activity Management</Capability> <Capability>Activity Submission</Capability> <Technology>technology</Technology> <InterfaceName></InterfaceName> <InterfaceVersion>1.0</InterfaceVersion> <HealthState>ok</HealthState> <HealthStateInfo>Its OK</HealthStateInfo> <ServingState>production</ServingState> <StartTime> T13:47: :00</StartTime> <DowntimeAnnounce> T13:47: :00</DowntimeAnnounce> <DowntimeStart> T13:47: :00</DowntimeStart> <DowntimeEnd> T13:47: :00</DowntimeEnd> </Endpoint> </Service> </ns2:QueryResult> < ! Document End > Oct 14, 2011 EMI Registry 12
13
Database Technology MongoDB: NOSQL database
10/14/11 Database Technology MongoDB: NOSQL database Supports Native JSON format Dynamic Indexing Replication Horizontal scalability with sharding (Similar to Google’s BigTable) Available for most of the major OSs Change title to mongodb Oct 14, 2011 EMI Registry 13 13
14
REST-ful API: Publishing & Querying
10/14/11 REST-ful API: Publishing & Querying Oct 14, 2011 EMI Registry 14
15
Service Registration /serviceadmin Register
10/14/11 Service Registration /serviceadmin Register -> HTTP POST - /serviceadmin - Body: JSON <- OK Read -> HTTP GET – /serviceadmin?Service_Endpoint_URL=service_url <- JSON document Update (full replace) -> HTTP PUT - /serviceadmin Delete -> HTTP DELETE - /serviceadmin?Service_Endpoint_URL=service_url Oct 14, 2011 EMI Registry 15
16
Service Querying Showing all the services
10/14/11 Service Querying Showing all the services /services /query -> HTTP GET <- OK, JSON Returns the 100 services, skipping the first 20 /query?limit=100&skip=20 Returns 100 services skipping the first 20 records with specific name /query?limit=100&skip=20&ServiceName=ComputingService Returns 100 services skipping the first 20 records, filtered by “name”, as GLUE 2.0 XML document /query.xml?limit=100&skip=20&ServiceName=ComputingService <- OK, XML Add enumeration Oct 14, 2011 EMI Registry 16 16
17
Interacting with EMIR Register/Update Query
10/14/11 Interacting with EMIR Register/Update curl -v -H "Content-Type: application/json" -X POST (PUT) / Query curl -v -X GET curl -v -X GET Delete curl -v -X DELETE _URL=1 Header Method Data Registry URL Oct 14, 2011 EMI Registry 17 17
18
10/14/11 Federations Oct 14, 2011 EMI Registry 18
19
Hierarchical Structure
10/14/11 Hierarchical Structure <<Global>> GSR Country Publish <<Parent>> DSR State Publish <<Child>> DSR HPC Center Events are propagated to the top level registries Handling Failures Domain publish Liveness at the GSR ∞ Level of Hierarchy S Oct 14, 2011 EMI Registry 19 19
20
Failure 1: Parent Goes Offline
10/14/11 EMIR Hierarchy Static Construction Events (changes in the registry) are sent directly to the Parent as they occur Failure 1: Parent Goes Offline Caching the occurred events in between Send as soon as the Parent comes online Failure 2: Child found a Parent (got newly added) Send whole local information to the parent in Chunks Events are propagated to the top level registries Handling Failures Oct 14, 2011 EMI Registry 20 20
21
Global Registries Replicated Registries
10/14/11 Global Registries Replicated Registries Data Synchronization at Global level Why? Global Service Discovery Failover Robustness Scalability Load Balancing Offers query interface Where to find GSRs? Publicly known list <<Global>> GSR <<Global>> GSR <<Global>> GSR <<Global>> GSR Oct 14, 2011 EMI Registry 21
22
10/14/11 Security Oct 14, 2011 EMI Registry 22
23
ARGUS based access control Attribute Source: VOMS-SAML
10/14/11 Goals ARGUS based access control Attribute Source: VOMS-SAML EMI Common Authentication Library (CAL) Oct 14, 2011 EMI Registry 23
24
Currently Supported Access Control
10/14/11 Currently Supported SSL/TLS based authentication – requires valid X.509 credentials Attribute Source: User Map File Defines “Users” with associated “roles” (Service Provider, Service Consumer/User, Administrator) Access Control Access Control Policies e.g. allows a user with “serviceowner” role can register and manage/control his registrations defined in a XML file containing raw XACML policies Oct 14, 2011 EMI Registry 24 24
25
10/14/11 Performance Analysis Oct 14, 2011 EMI Registry 25
26
Single Registry Instance without Security 1 GB JVM Memory 4 Cores
10/14/11 System Environment Single Registry Instance without Security 1 GB JVM Memory 4 Cores ~3 GB for MongoDB Oct 14, 2011 EMI Registry 26 26
27
Performance Analysis: Single Threaded Response Time (Without Security)
10/14/11 Performance Analysis: Single Threaded Response Time (Without Security) Oct 14, 2011 EMI Registry 27 27
28
Performance Analysis: Multithreaded Response Time
10/14/11 Performance Analysis: Multithreaded Response Time Oct 14, 2011 EMI Registry 28 28
29
Implementation Remarks
10/14/11 Implementation Remarks JAVA 6 Maven 2 JAX-RS (Java Standard for REST-ful WS) Jetty 7 Web Server MongoDB Oct 14, 2011 EMI Registry 29 29
30
Status Report Implementation Documentation DSR:
10/14/11 Status Report Implementation DSR: Provided: Most of the basic features already implemented Missing: Argus and/or VOMS-SAML support GSR: P2P synchronization/replication will be available by EMI 2 Clients: ARC, UNICORE (under development) Documentation Technical Document has been revised to reflect the implementation Comparative Survey Document is progressing Development Plan on EMI TWiki Packaging EPEL distribution, will be available by EMI 2 Source and Binary Tarball ETICS Integration Oct 14, 2011 EMI Registry 30 30
31
Service Registrants from Service providers SAGA-SD API
10/14/11 Further Extensions Service Registrants from Service providers SAGA-SD API GUI to administer and browse registry(s) Triggers, etc… Oct 14, 2011 EMI Registry 31 31
32
Twiki: https://twiki.cern.ch/twiki/bin/view/EMI/ EMIRegistry
10/14/11 Links Twiki: EMIRegistry Source Code on GitHub (public repo.): Oct 14, 2011 EMI Registry 32 32
33
10/14/11 Questions ??? Oct 14, 2011 EMI Registry 33
34
10/14/11 Thanks! Oct 14, 2011 EMI Registry 34
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.