MICE Configuration DB Janusz Martyniak, Imperial College London MICE CM39 Software Paralell.

Slides:



Advertisements
Similar presentations
Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
Advertisements

Three types of remote process invocation
MIT Lincoln Laboratory A Service-Oriented Approach to Application Development Robert Darneille & Gary Schorer WPI MQP Presentations ICS Group 10 October.
JAAS AuthN Tokens in uPortal and Beyond or The JAAS Singer.
Lecture plan Information retrieval (from week 11)
Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request.
 Copyright Wipro Technologies JSP Ver 1.0 Page 1 Talent Transformation Java Server Pages.
13/05/2004Janusz Martyniak Imperial College London 1 Using Ganga to Submit BaBar Jobs Development Status.
Grid and CDB Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Batch Production and Monte Carlo + CDB work status Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
1 An Introduction to Web Services. 2 Outline What is a Web service Background Standards –XML & XML Namespaces, XML Schema,WSDL, SOAP Tools & APIs –DOM/SAX,JAX-RPC/JAX-M.
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Peoplesoft: Building and Consuming Web Services
Welcome Presented by Thierry KIKI & David SCHNEIDER.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
A tool to enable CMS Distributed Analysis
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
SOFTWARE & COMPUTING Durga Rajaram MICE PROJECT BOARD Nov 24, 2014.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
S. Veseli - SAM Project Status SAMGrid Developments – Part I Siniša Veseli CD/D0CA.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Real Time Monitor of Grid Job Executions Janusz Martyniak Imperial College London.
ALMA Integrated Computing Team Coordination & Planning Meeting #1 Santiago, April 2013 Relational APDM & Relational ASDM models effort done in online.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Status of the LHCb MC production system Andrei Tsaregorodtsev, CPPM, Marseille DataGRID France workshop, Marseille, 24 September 2002.
Course Schedule Report Web Service Carolyn Cracraft Lisa de Larios-Heiman.
Configuration Database Antony Wilson MICE CM February 2011 RAL 1.
Giuseppe Codispoti INFN - Bologna Egee User ForumMarch 2th BOSS: the CMS interface for job summission, monitoring and bookkeeping W. Bacchi, P.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
© Geodise Project, University of Southampton, Geodise Middleware & Optimisation Graeme Pound, Hakki Eres, Gang Xue & Matthew Fairman Summer 2003.
XMLconfig XML scheme for configuration data V.Černý Technical improvements thanks to suggestions by Aleksey Khudyakov No changes concerning configuration.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
GridPP Dirac Service The 4 th Dirac User Workshop May 2014 CERN Janusz Martyniak, Imperial College London.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Lattice QCD Data Grid Middleware: Meta Data Catalog (MDC) -- CCS ( tsukuba) proposal -- M. Sato, for ILDG Middleware WG ILDG Workshop, May 2004.
SSS Build and Configuration Management Update February 24, 2003 Narayan Desai
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
3D Testing and Monitoring Lee Lueking LCG 3D Meeting Sept. 15, 2005.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
DDM Central Catalogs and Central Database Pedro Salgado.
The GridPP DIRAC project DIRAC for non-LHC communities.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Database Replication and Monitoring
MCproduction on the grid
Data Management and Database Framework for the MICE experiment
Open Source distributed document DB for an enterprise
Bulk production of Monte Carlo
BOSS: the CMS interface for job summission, monitoring and bookkeeping
BOSS: the CMS interface for job summission, monitoring and bookkeeping
Data Management and Database Framework for the MICE Experiment
Configuration Database
BOSS: the CMS interface for job summission, monitoring and bookkeeping
Ucsmsdk v UCS Python SDK.
Production Manager Tools (New Architecture)
Eurostat Unit B3 – IT and standards for data and metadata exchange
Presentation transcript:

MICE Configuration DB Janusz Martyniak, Imperial College London MICE CM39 Software Paralell

Cooling Channel Client API The server code exists (jax-ws on Tomcat) Easy to create client bindings in java, Python (preferred), but also in C or C++ Cooling Channel software itself is written in C, so it was most natural to provide the CDB client API in this language Use gSoap toolkit to generate C client-side bindings 26/06/2014Janusz Martyniak, MICE CM392

Cooling Channel setX() Workflow To be performed on a supermouse enabled DB (MLCR) User creates a csv file with data to be submitted. A single API function is called (takes a file handle as an argument) csv is converted to an XML document XML doc is validated against a XML schema gSoap client request in made 26/06/2014Janusz Martyniak, MICE CM393

setCoolingchannelForTag(..) 26/06/2014Janusz Martyniak, MICE CM394 setCoolingchannelForTag csv XML Validator CC gSOAP client WS Client API (XML) XMLSchema XML doc or

getCoolingchannelForTag(endp, tag) Call a gSOAP client passing an endpoint and a tag Get an XML document as a response Build a coolingchannel C struct and return it to a user User can walk through the struct and retrieve magnet and coil data. 26/06/2014Janusz Martyniak, MICE CM395

Coolingchannel(s) struct(s) /* * Cooling channel structure. Maintains both direct and sequential access to magnets */ struct coolingchannel { char *validfromtime; char *validuntiltime; CC_NS1_hashtable_t *magnets; /* magnets for this coolingchannel */ cc_magnet_t *magnet; /* first magnet for this coolingchannel */ struct coolingchannel *next; /* next coolingchannel */ }; typedef struct coolingchannel coolingchannel_t; /* * Coolingchannels (plural!). Maintains sequential access to * cooling channels. */ struct coolingchannels { coolingchannel_t *cc; /* first coolingchannel */ }; typedef struct coolingchannels coolingchannels_t; 26/06/2014Janusz Martyniak, MICE CM396

Magnets /* * Cooling channel magnet structure. Maintains direct access to coils via * a hashtable and a sequential access via a linked list */ struct cc_magnet { char *name; char *mode; pol_t polarity; CC_NS1_hashtable_t *coils; /* coils for this magnet */ cc_coil_t *coil; /* first coil for this magnet */ struct cc_magnet *next; // next magnet, or NULL if the last one (for seq. access) }; typedef struct cc_magnet cc_magnet_t; 26/06/2014Janusz Martyniak, MICE CM397

Coils /* * Cooling channel coil. Contains a hash table of attributes. */ struct cc_coil { char *name; /* coil name */ CC_NS1_hashtable_t *attr; /* attribute hash table */ struct cc_coil *next; /* next coil (for seq. access) */ }; typedef struct cc_coil cc_coil_t; 26/06/2014Janusz Martyniak, MICE CM398

usage Looping over structs is easy, i.e. for magnets: if (coolingchannel != NULL) { printf(" Coolingchannel: valid from:%s, valid until: %s\n”, coolingchannel->validfromtime, coolingchannel->validuntiltime); for (magnet = coolingchannel->magnet; magnet != NULL; magnet = magnet->next) { ….. } 26/06/2014Janusz Martyniak, MICE CM399

Software status get/setCoolingchannelForTag ready on launchpad Other operations ready on XML level, have to plug-in an XML validation step for set functions. Unit tests exist (Cunit) Should be ready for tests in 1-2 weeks 26/06/2014Janusz Martyniak, MICE CM3910

Batch Iteration Number API Create a new table to store a relation between a batch iteration number used by the Grid reconstruction system and MAUS. This will allow to reprocess the data to allow for any changes not related to the MAUS version itself. The batch reconstruction number will determine the datacards which used by MAUS. The datacards will be stored in the DB. See: 26/06/2014Janusz Martyniak, MICE CM3911

Batch Iteration Number API Relevant table created in the DB (locally) WS server side implemented (java) WS client API written in Python Tested locally Further development postponed – priority given to the Coolingchannel C API Not tested with MAUS 26/06/2014Janusz Martyniak, MICE CM3912