Definition of the High Level EMI ES client API

Goals

Definitions

Commonalities

  • All operations on each of the services will be reflected by methods with according parameters
  • Parameters should be kept as simple as possible
  • Parameter lists will be passed as std::vector in C++ and using the ellipsis operator in Java
    • is there such a thing for C++?
    • Should the Java version be aligned to C++. java.util.List would be an appropriate input parameter though
  • Each of the client classes will have a constructor following the same pattern, e.g. constr(EPR, SecurityProperties)

CreateActivityClient

Return type Method name Parameters Comment
ActivityCreationResponse submitActivity ( ActivityDescription... ad ) Submit activities to EMI-ES

ActivityInfoClient

Return type Method name Parameters Comment
List<String> listActivities () Lists all activities that a user has access to. This is a potentially expensive operation as there can be many activities.
    (long limit) see above, but restricting the size of the result set to limit
    (Calendar from, Calendar to) restricting the result set to activities submitted within the given interval; if one of the parameters is set to null, then the corresponding request document's element will not be set; server should interpret this as an open interval (does the spec really say this?)
    (PrimaryActivityStatus.Enum ... status) accepts a collection of statuses; only activities currently in any of these statuses will be returned
    (long limit, Calendar from, Calendar to, PrimaryActivityStatus.Enum ... statuses) combination of the above restrictions

ActivityManagementClient

Return type Method name Parameters Comment
ResponseItem[] cancelActivity (String[] ids) cancel the given activity
| NotifyResponseItem[] | dataPushDone | (String[] ids) | notifies the server that all client side data pushing is finished; returns the list of responses
ActivityInfoItem[] getActivityInfo String[] ids) get information about the given activities
ActivityStatusItem[] getActivityStatus (String[] ids) returns an array of statuses for the given array of activity ids.
ResponseItem[] pauseActivity (String[] ids) pauses the activities identified by their activity ids
ResponseItem[] resumeActivity (String[] ids) resume the activities given by their ids
ResponseItem[] wipeActivity (String[] ids) wipe (remove) the given activities and their intermediate data; only allowed on activities in a final state

ResourceInfoClient

Return type Method name Parameters Comment

DelegationClient

Return type Method name Parameters Comment
GetDelegationInfoResponseDocument getDelegationInfo (String delegationId) Retrive information about the delegation with the given id
InitDelegationResponseDocument initDelegation() () initialize a delegation; this is the default implementation initializing a proxy certificate on the server side and conveying the CSR and server generated delegation id in the response
String issueDelegation (long lifetime) runs through the full cycle of initDelegation(), proxy generation, and putDelegation(); returns the delegationId
PutDelegationResponseDocument putDelegation (String delegationId, Certificate cert) Puts the proxy certificate, generated according the the CSR coming out of the initDelegation() call, into the server

Implementations

-- BjoernHagemeier - 28-Oct-2011

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2012-04-02 - 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