Aida; Accelerator Integrated Data Access

Slides:



Advertisements
Similar presentations
Paul Chu FRIB Controls Group Leader (Acting) Service-Oriented Architecture for High-level Applications.
Advertisements

Database System Concepts and Architecture
Jan Hatje, DESY AMS – Alarm Management System PCaPAC AMS – Alarm Management System and CSS – Control System Studio Update PCaPAC 2008 J.Stefan Institute,
RPC Robert Grimm New York University Remote Procedure Calls.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Accelerator.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
II. Middleware for Distributed Systems
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Communication in Distributed Systems –Part 2
SPEAR PV RDB Database EPICS Collaboration Meeting April 27, SPEAR PV RDB Database Clemens Wermelskirchen.
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Copyright © Stanford Linear Accelerator Center 2002 All rights reserved Accelerator.
Confidential ODBC May 7, Features What is ODBC? Why Create an ODBC Driver for Rochade? How do we Expose Rochade as Relational Transformation.
Data Persistence and Object-Relational Mapping Slides by James Brucker, used with his permission 1.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Common Object Request Broker Architecture (CORBA) CS-328.
History Server & API Christopher Larrieu Jefferson Laboratory.
Integration Broker at Cornell Kevin Leonard CIT/Integration and Delivery May 9, 2002.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
A XML 1 An XML Driven Graphical User Interface and Application Management Toolkit Matthias Clausen (DESY & SLAC) Piotr Bartkiewicz (DESY & FPNT/AGH) Alexei.
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
1 P. Chu 1 Adapting XAL for LCLS EPICS Meeting, Vancouver Adapting XAL for LCLS Paul Chu - SLAC May 1, 2009.
Test Enabled and Training Architecture (TENA) Don McGregor Research Associate MOVES Institute
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Oct HPS Collaboration Meeting Jeremy McCormick (SLAC) HPS Web 2.0 OR Web Apps and Databases (Oh My!) Jeremy McCormick (SLAC)
JDBC. SQL(Structured Query Language) is divided into 1.DDL(Data Definition Language) create db, create table, alter table, drop db or table 2.DML(Data.
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) CA Gateway Update Ralph Lange, BESSY Ken Evans Jr., APS Jeff Hill, LANL.
Orion Contextbroker PROF. DR. SERGIO TAKEO KOFUJI PROF. MS. FÁBIO H. CABRINI PSI – 5120 – TÓPICOS EM COMPUTAÇÃO EM NUVEM
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
ACEDB, CORBA, CITA and GFace Hamish McWilliam BrassicaDB.
CS520 Web Programming Spring – Inversion of Control Chengyu Sun California State University, Los Angeles.
LCLS Commissioning & Operations High Level Software
JavaIOC Overview and Update
Chapter 9: The Client/Server Database Environment
ODBC, OCCI and JDBC overview
What’s new in the SIF3 World?
Data Transport for Online & Offline Processing
WEB SERVICES.
The Client/Server Database Environment
#01 Client/Server Computing
LCLS Commissioning & Operations High Level Software
Inventory of Distributed Computing Concepts and Web services
Data, Databases, and DBMSs
Lecture 1: Multi-tier Architecture Overview
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Inventory of Distributed Computing Concepts
Data Model.
EPICS General Messaging and Error Handling for NLC
Java Database Connectivity
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Developing and testing enterprise Java applications
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Nominal Technologies for Modelling and High Level Applications of LCLS
#01 Client/Server Computing
TANGO from an EPICS perspective
Presentation transcript:

Aida; Accelerator Integrated Data Access Middleware Continued Episode 3; Verdi’s Revenge M. Claussen, R. MacKenzie, R. Sass, H. Shoaee, K. Underwood, G. White Could be pronounced ADA? Now that we have an acronym it might start getting real. May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

The Un-classic not-so-thin client with a JVM & XML In the Last Episode… The Un-classic not-so-thin client with a JVM & XML CDEV CORBA compliant ORB Channel Access CORBA compliant ORB Non-IOC Application Cloud CDEV CORBA compliant ORB Channel Access CDEV CORBA compliant ORB Channel Access IOC Applications May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut The Current Episode Support get/set/monitor any data from/to any source We’re looking at several Corba Telecom services to support monitors and message logging. Notify Service build on Event service. Can subscribe, filter etc. Not a CA replacement but may allow us to do CA-like monitors. Has a nice GUI that allows you to look at all “Channels” and filters and see what’s happening. May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut Supporting Ideas Name and schema mapping Data location discovered at runtime. CORBA middleware & services Server resilience (auto reconfigure on server down) API and OPI Language and OS independent Collections, Aliases, Range Names Have supporting databases that does hierarchical and networked-like name resolution. Aorba doesn’t have failover built in yet but there’s a spec and a committee. If we wait long enough it may do most everything. Object Programming I/F. Corba is OO so try to support both. Static (system) and dynamic named collections are important. Pick out pieces of arrays e.g. SECT27:WIRE:[201-901].TWISS.MEAS.X..PSI May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

Name and Schema Mapping Gere’s a sample logical record and data it can access. You discover this using the name service which will be hierarchical, collections, regular expressions and a partridge in a pear tree. Each name.attribute{.attribute}0+ maps to a database query May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut Salient Features Given a name.attribute, AIDA finds the source and appropriate query Uses its own name services Data Location and Query persist/cached (not rediscovered) C++ & Java Bindings Can code as API or OPI As API can have Aida servers that can be used as in a procedural program. May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut Simple OO Example Class QUAD { private AIDA d; QUAD( string name ) { d = new AIDA(name); } float get( string attribute ) { return d.get(‘’B_desired’’); } float[2][6] getTwiss() { org.omg.CORBA.Any t= d.getAny(‘’Model.Twiss’’); ... QUAD fred(‘’quad:pr04144’’); float bfieldwanted = fred.get(‘’B_desired’’); float twiss[2][6] = fred.getTwiss(); First example is QUAD magnet. The program wants to get both the desired B field of the quad, and its Curant Snyder, or “Twiss” parameters. So first it instantiates a QUAD with its name. The constructor of the QUAD instantiates an AIDA object telling it the name. The AIDA object constructor [d = new AIDA(name) ] does all of the processing to work out which server and service (if we use services) is responsible for the named QUAD. It does as much processing as it can with the information given. Then when an attribute of the quad is wanted the application level QUAD class get() uses the AIDA get() to get the “B_desired” attribute. In this example the attribute the application wants is hard coded, but AIDA supports attribute discovery as one of its basic goals. This example is just for simplicity. The second get shows how we use the CORBA Any system to get an arbitrary type. In this case a 2 dimensional array is requested – the twiss parameters from the example name mapping 2 slides ago). May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut Where We’re At Have a complete set of requirements. Accessed EPICS & old SLC data via Corba. Java Corba -> JDBC -> Oracle C++ Corba -> ODBC -> Oracle Sample Name & attribute databases with query mapping to get data Have a Java Orb on VMS Testing Notify Service for Monitors Ready to implement something real We’re prototyped all the basic paths. Have a bit more exploring to do and then Aida vs. CDEV Arbitrary hierarchical / networked namespace including aliases, collections etc. Namespace and mapping in Oracle. VMS Java Orb made me a Java believer Interfaces all defined in IDL What’s next? May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut

EPICS Collaboration Meeting - Paul Scherrer Institut Cosmic CUD MANAGE CUD DISPLAYS IOC SLC DB Alpha SCP CUD DISPLAY Aida Fighting Mad CUD disease!! Control System Migration Challenge Continuously Updating Displays Current system is a hodgepodge of Old and a Kludged EPICS interface Used heavily in the Control Room OLDs CUDS are hand coded Need to display data from anywhere in the system Uses most of the basic pieces; Monitors, get/put multi database access. CUD DISPLAY Oracle CUD Configuration May 8-10 2001 EPICS Collaboration Meeting - Paul Scherrer Institut