FJPPL Lyon, 13 March 2012 Sylvain Reynaud, Lionel Schwarz Status of FJPPL Lyon, 13 March 2012 Sylvain Reynaud, Lionel Schwarz
Plan Overview of JSAGA Adaptors Standardization of Python bindings New adaptors New contributors Standardization of Python bindings Perspectives JSAGA
Overview of JSAGA a Java implementation of the SAGA specification focuses on uniform usage of middleware…. (beyond what they natively support) ease of extension………………. efficiency and scalability………. control of the API behavior........ (contexts bound to remote systems) operating-system independency (tested on ) Under LGPL license (thanks to the design of adaptor interfaces) JSAGA
Layered software architecture interface Layered software architecture implementation Used by end users web portals, GUI, CLI… Used by application developers a single uniform interface object oriented, high-level Implemented by adaptors each "way" to implement a given feature has 1 interface service oriented, low-level Implemented by middleware each technology has its own interfaces user applications SAGA Java binding core engine JSAGA adaptors interfaces JSAGA adaptors JSAGA middleware APIs JSAGA
Supported technologies Grid techno. Others Execution gatekeeper gLite-WMS wsgram BES ARC Genesis II Unicore6 Cream SSH local Batch SSH Grid techno. Others Data Logical Physical LFC SRB iRODS Local catalog gsiFTP SRM iRODS HTTP HTTPS SFTP SRB file ftp zip Unicore6 Grid techno. Others Security in progress done InMemCred Globus G. Legacy G. RFC820 MyProxy VOMS JKS SSH Login / pwd X509 .netrc Secret Svc
New contributors for JSAGA From CHAIN Diego Scardaci OurGrid (Brazil and Latin America) a Desktop Grid Meng You Grid Operating System for CNGRID (China) ? GARUDA (India) consortium JSAGA
The SAGA specification SAGA : the specification a Simple API for using Grid middleware execution management job submission, monitoring... data management transfer, list files, search… service discovery … in user Applications implementations (or wrappers) exist for C++, Java and Python …in a uniform way S A use middlewares in a uniform way (independent of middlewares) G use functionalities in a uniform way (consistent "look-and-feel") A use language bindings in a similar way (language-independent specification) …but not yet uniform between Python implementations JSAGA
SAGA Python bindings application application application JySAGA (Java) application (Python) application (Python) JySAGA legacy python binding JPySAGA SAGA (Python) SAGA interfaces (Python) (C++) SAGA interfaces (Java) SAGA-CPP JSAGA Java SAGA JSAGA
SAGA Python binding application application TO BE DONE JPySAGA JySAGA (Java) application (Python) SAGA interfaces (Python) TO BE DONE JPySAGA JySAGA legacy python binding (C++) SAGA interfaces (Java) SAGA-CPP JSAGA Java SAGA JSAGA
Standardization of Python binding Based on PySAGA Designed by Vrije University Implemented by JySAGA (Vrije University) JPySAGA (CC-IN2P3) OGF doc in progress HTML (generated from commented python code) PDF By Julien Devemy (CC-IN2P3) Mark Santcroos (CCT-LSU) JSAGA
Perspectives Next adaptors Engine improvement Implement API extensions Grid Engine DRMAA-based CLI-based, with SSH … Engine improvement adaptors isolation ease integration of contributions Implement API extensions Service Discovery API with plug-ins for technologies BDII with plug-ins for schemas GLUE CIM Resource API with plug-ins for pilot-jobs DIRAC with plug-ins for clouds OpenNebula openstack JSAGA
Questions ? JSAGA