High Level Plan

  • Identify the major bindings for APIs
    • C++
    • Java
    • Python can come afterwards, being done through SWIG on top of C APIs.

  • Identify a group of developers among gLite and ARC to develop client libraries in C
  • ARC and gLite will work toward a harmonization activity of their APIs.

  • In particular, this could be an even distribution of the work:
    • ARC can provide the language wrappers logic they already have
    • gLite can provide JDL classad parsing
    • ARC will provide RSL parsing
    • gLite and ARC will implement the interface
  • UNICORE developers will write java APIs alone, providing full native support to
EMI-JSDL on one side, and legacy support for Unicore JSON.

Starting from the APIs, we will have the opportunity to investigate and solve all the problems during the implementation of the EMI-ES so as to come up with a unified client by...

The following diagram shows the intended stack. Implementations of the SAGA specification are available for the target programming languages. The goal is to provide one adaptor per programming language implemented as an adaptor of one of the corresponding SAGA implementations.

The colors of the diagram are by project phase and availability. The light blue components are planned for the first phase, as the darker colored components will be based on them.

2011-06-01_Components.png

Detailed Plan

Below, you can find details about the planned activities. The tasks and their dependencies are contained in the Gantt chart.

cli_harmonization_gantt_y2.png

C++ Library

  • Developers
    • ??
  • XML Bindings
  • Low-level client classes
  • Higher level abstractions of client classes
  • Handling of different job description languages

Java Library

Python Library

  • Developers
    • ??
  • Will come after <<sec-c-lib,C Library>>
  • Less important in the first phase
  • Handling of different job description languages

Command Line Client (CLI)

  • Choose platform for implementation
    • Depends on either <<sec-java-lib>> or <<sec-c-lib>>

SAGA

EGI requested SGA support reasoning that their user communities demand it.

We do not have to develop a full SAGA implementation, but rather implement adaptors for EMI-ES. Templates for that should be available for any of the existing SAGA implementations. Existing SAGA implementations will be listed in the respective programming language sections below.

Java implementation

C++ implementation

-- MarcoCecchi - 10-May-2011

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng 2011-06-01_Components.png r1 manage 8.4 K 2011-06-06 - 14:21 BjornHagemeierExCern Client Stack
PNGpng cli_harmonization_gantt_y2.png r1 manage 339.6 K 2011-06-15 - 15:05 BjornHagemeierExCern Gantt chart of y2 plans about compute client harmonization
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2011-06-15 - BjornHagemeierExCern
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EMI All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback