DDMSvcCC

Developers

Marco

Description

DDMSvcCC is a server that can be used to resolge ATLAS Globally Unique file IDs (GUID) to DataSet names or Logical File Names (LFN). It has been developed to be used by ELSSI. The service is currently installed on uct2-dss at MWT2.

API

This server
http://uct2-dss.uchicago.edu:8989/ddmsvc/ccserver
provides a JSON-RPC (http://json-rpc.org/) interface to query the DQ2 cental catalog.

echo

Test function. Echoes the input. Basically to ping the service.
  • in
    • msg - string
  • out
    • msg - string

getDSListfromGUIDs

For each file GUID in the input it returns the list of DataSets containing that file. Order is preserved.
  • in
    • guidlist - array of strings - List of file GUIDs
  • out
    • retlist - array of array of strings - List of lists of DataSet names

getDSfromGUIDs

For each file GUID in the input it returns one DataSet containing that file. Order is preserved.
  • in
    • guidlist - array of strings - List of file GUIDs
  • out
    • retlist - array of strings - List of DataSet names

getUniqueDSfromGUIDs

It returns a list of unique DataSet Names. Each file GUID in the input is included in at least one of the DataSets in the output. Order is not preserved. len(retlist) <= len(guidlist)
  • in
    • guidlist - array of strings - List of file GUIDs
  • out
    • retlist - array of strings - List of DataSet names

getLFNfromGUID

For each file GUID in the input it returns one LFN of that file. Order is preserved. Note that in the ATLAS model the GUID is a unique identifier for a file. LFNs are symbolic names, aliases.
  • in
    • guidlist - array of strings - List of file GUIDs
  • out
    • retlist - array of strings - List of LFNs

Examples

Here is an example of how to use ddmsvc. This example uses a JSON-RPC client for Python:
>>> from jsonrpc import ServiceProxy
>>> s = ServiceProxy("http://uct2-dss.uchicago.edu/ddmsvc/ccserver")
>>> s.getDSListfromGUIDs(['CE21D831-9177-DD11-B9B6-0016177CA79A'])
{'id': 'jsonrpc', 'result': [['user08.NurcanOzturk.FDR2c.0052280Jet.D3PD_shadow', 'user08.KojiTerashi.LightPerfDPDv1_Pt200_Eta5.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26_shadow', 'fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26', 'user08.HongMa.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26.DPD_v14_2_20-V3_shadow', 'user.ZhijunLiang.DibosonAnalysis.000007.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26_shadow']], 'error': None}
[['user08.NurcanOzturk.FDR2c.0052280Jet.D3PD_shadow', 'user08.KojiTerashi.LightPerfDPDv1_Pt200_Eta5.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26_shadow', 'fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26', 'user08.HongMa.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26.DPD_v14_2_20-V3_shadow', 'user.ZhijunLiang.DibosonAnalysis.000007.fdr08_run2.0052280.physics_Jet.merge.AOD.o3_f47_m26_shadow']]
>>> 

Status

The server is little more than a prototype. It needs several improvements:
  • performance (basic function optimization, pooling, caching)
  • security (user authentication, ModGSI in Apache)
  • hardening on the server (start/stop scripts, ...)

Plan

Future plans include:
  • improvement of the service
  • possible extension of the API
  • addition of a local catalog service
  • installation on the ELSSI server at CERN

-- MarcoMambelli - 24 Feb 2009
Topic revision: r2 - 28 Feb 2009, MarcoMambelli
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback