The Charter Informational Section --------------------- Area: Applications [Standards] Name of group: Simple API for Grid Applications Acronym: SAGA-WG Type of group: Working Group (WG) Chairs: TBD Secretaries: TBD Email list: saga-wg@ggf.org Web page: http://forge.ggf.org/projects/saga-wg/ Charter: ------- Focus/Purpose: ------------- Many application developers wish to make use of the exciting possibilities opened up by the advent of the Grid. Application developers, however, have their own agendas to pursue and often cannot spare the time or resources to fully investigate the vast wealth of Grid technologies and APIs which currently exist. They would rather be presented with a simple API close to the programming paradigms and interfaces they are used to. For example, the process of copying of a remote file may involve interaction with a replica location service, a data transport service, a resource management service, and a security service. It may involve communication via LDAP/LDIF, GRAM, HTTP, and GSI, as protocols or protocol extensions. A Fortran application programmer, however, wants to see a call very much like: call fileCopy (source, destination) Although this example is simplified, it illustrates the motivation for our work. The APIs specified by this WG will deliver a similar level of abstraction for a range of basic operations which need to be grid aware. The precise set of operations is to be decided by the WG based upon application requirements and use cases; examples of such operations may be file access, job submission, monitoring or steering. The group will lower the barrier for application developers to make use of the grid by providing a small, consistent API for the operations of interest, the Simple API for Grid Applications (SAGA). Scope: ----- The initial SAGA-RG collected a number of application use cases which are published in the GGF Document n umber GFD-???. The work of this group will be based on this use cases, which will define the scope and target application areas for the API. Simplicity and conciseness will be the governing design principles. The specification of services and the protocols to interact with them is out of the scope of the WG. Rather, the API seeks to hide the detail of any service infrastructures that may or may not exist to implement the functionality that the application developer needs. The WG will, however, actively liase with all grid-middleware groups within the GGF to ensure compatability. The WG will continue to identify projects outside GGF with similar API-focus and goals, and will seek their input in the development of the API and its implementation. The WG will provide detailed examples and cook-book. Exit Strategy: -------------- The group will finish its work after the publication of the API Specification as GGF standard recommendation, accompanied by documents for API language bindings. Goals: ------ The SAGA-WG is the logical evolution of the SAGA-RG, which produced the informational document ("SAGA Use-Case Document"). The main goal of the WG is the creation of an API specification as a GGF standard recommendation. On the road to that specification, SAGA-WG will build upon the SAGA-RG documents and produce the following: * Informational Document: "Requirements document" - define exact scope of API - define target user groups for API - define programming languages to be supported - define organisation of API documents (e.g. one per subsystem or language, or one complete document) * Informational Document: "SAGA compatability with GGF middleware" This document will survey the compatability of SAGA reference implementations with underlying models of grid-middleware including, but not confined to OGSA. * Recommendation Document: "SAGA-API Specification" The SAGA API specification. Milestones: ----------- GGF16: - Presentation of "Requirements document" - SAGA API Specification pre-v1.0 GGF17: - Submission of SAGA API Specification v1.0 - Submit Informational Document "SAGA Compatability with GGF middleware" - Implementation details review. GGF19: - Present Draft Language Bindings (C++/Java/Fortran)