Garching January, 2007 Configuration Database and Deployment of ACS components Bogdan Jeram, changes by Heiko Sommer European Southern.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Tokyo July, 2005 Deployment of ACS components Bogdan Jeram European Southern Observatory.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Radko Zhelev, IPP BAS Generic Resource Framework for Cloud Systems 1 Generic Resource Framework for Cloud Systems.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
ACS Configuration Database(s)
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Introduction to Active Directory
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
ACS Workshop UCN BACI properties Atacama Large Millimeter Array Alessandro Caproni European Southern Observatory BACI properties.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
What is Software Architecture?
Composite Design Pattern. Motivation – Dynamic Structure.
(ITI310) SESSIONS : Active Directory By Eng. BASSEM ALSAID.
Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
Introduction to Ice Copyright © ZeroC, Inc. Ice Programming with Java 1. Introduction to Ice.
ESO - Garching 23 June – 02 July, 2003 ACS Course Data entities and XML serialization H. Sommer.
AI project components: Facter and Hiera
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Introduction to J2EE Architecture Portions by Kunal Mehta.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
XML Registries Source: Java TM API for XML Registries Specification.
ACS Logging System APIs: C++ Bogdan Jeram European Southern Observatory July 2004NRAO.
ACS Error System APIs: C++ Bogdan Jeram European Southern Observatory July 2005ESO.
ALICE, ATLAS, CMS & LHCb joint workshop on
ATLAS Detector Description Database Vakho Tsulaia University of Pittsburgh 3D workshop, CERN 14-Dec-2004.
ACS Component Simulator J. Ibsen European Southern Observatory Garching – January 2007ESO.
ALMA Common Software Basic Track A walk through ACS functionality.
Running ACS Bogdan Jeram European Southern Observatory July 2005NAOJ.
ESO - Garching 23 June – 02 July, 2003 ACS Course JUnit for Java Unit Testing H. Sommer.
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
Object storage and object interoperability
NAOJ, Tokyo – July 04-08, 2005 ACS Configuration Database Bogdan Jeram European Southern Observatory.
Introduction to Active Directory
ICALEPCS Archamp 08 – 09 October, 2005 ACS Configuration Database G.Chiozzi, B.Jeram European Southern Observatory.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
ALMA Common Software Basic Track Configuration Database.
ALMA Common Software Basic Track Component/Container Model and Lifecycle Management.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop XML « Data by Value » Transport.
COMPOSITE PATTERN NOTES. The Composite pattern l Intent Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
M.-E. Bégin¹, S. Da Ronco², G. Diez-Andino Sancho¹, M. Gentilini³, E. Ronchieri ², and M. Selmi² ¹CERN, Switzerland, ² INFN-Padova, Italy, ³INFN-CNAF,
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Understand Names Resolution
ALMA Common Software Basic Track
Java Servlets By: Tejashri Udavant..
Self Healing and Dynamic Construction Framework:
XML QUESTIONS AND ANSWERS
(ITI310) SESSIONS 6-7-8: Active Directory.
Introduction to J2EE Architecture
What is an Architecture?
Application layer Lecture 7.
ACS ALMA Common software Demo Setup
Design.
Java Object-Relational Layer
Presentation transcript:

Garching January, 2007 Configuration Database and Deployment of ACS components Bogdan Jeram, changes by Heiko Sommer European Southern Observatory

ALMA Project 2Garching, January 2007ALMA Common Software course CDB: the purpose The ACS Configuration Database addresses the problems related to defining, accessing and maintaining the configuration of a system. For each Component on the system, there might be a set of static (or quasi-static) configuration parameters that have to be configured in a persistent store and read when the Component is started up or re-initialized. CharacteristicComponents MUST have configuration information in the CDB

ALMA Project 3Garching, January 2007ALMA Common Software course Configurable deployment This includes the “structure” of the system, i.e. which statically deployed Components are part of the system and their inter-relationships. –looking at the CDB only, you should be able to see how the Components are distributed among the Containers and on what hosts the Containers are running. –For Components connected to HW, this would tell you as well what HW you are using and where it is located. –Changing the CDB you can move Components around and distribute them in a different way in the system. Dynamic components can be partially deployed in the CDB – the missing info gets added at runtime.

ALMA Project 4Garching, January 2007ALMA Common Software course Data organization (directory hierarchy) CDB (root) –MACI (system deployment data) Managers Containers Components (just component deployment data) Channels –alma (component specific data)

ALMA Project 5Garching, January 2007ALMA Common Software course CDB/MACI structure MACI Managers Components Containers myCont1 yourCont Manager myComp yourComp anotherComp CDB alma schemas

ALMA Project 6Garching, January 2007ALMA Common Software course Location of components deployment info (Components.xml) $ACS_CDB CDB/MACI/Components/Components.xml

ALMA Project 7Garching, January 2007ALMA Common Software course MACI/Components/Components.xml List of component instances <_ Name="MOUNT1_01" Code="acscourseMount1Impl" Type="IDL:alma/ACSCOURSE_MOUNT/Mount1:1.0" Container="mountContainer“ /> <_ Name="MOUNT_PY_1" Code="ACSCOURSE_MOUNTImpl.Mount1“ Type="IDL:alma/ACSCOURSE_MOUNT/Mount1:1.0" Container="mountPython“ />

ALMA Project 8Garching, January 2007ALMA Common Software course Alternatives to a single large Components.xml file Several such files (same structure each) can be included in the master file Components.xml using an XML include mechanism as in Hierarchical components as directory tree: –1 directory level denotes an abstract component nesting level –the leaf directories must contain one XML config file of the same name each –higher directories can contain an XML config file of the same name. If not, that directory provides a purely logical grouping, e.g. by subsystem. –The XML element in such an XML file is and describes a single component Hierarchical components defined in a single file, using For the various choices, ACS provides the XML schemas with which the config files must comply, i.e., Components.xsd, Component.xsd, HierarchicalComponent.xsd See “FAQHierarchicalComponentsAndCDBStructure” on the ACS wikiFAQHierarchicalComponentsAndCDBStructure

ALMA Project 9Garching, January 2007ALMA Common Software course Structure of Components deployment data (Components.xsd)

ALMA Project 10Garching, January 2007ALMA Common Software course Manager instance example (Manager.xml) <Manager xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns="urn:schemas-cosylab-com:Manager:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:xsi=" CommandLine="" Timeout="50000" HeartbeatTimeout="2000" CacheSize="10" MinCachePriority="0" MaxCachePriority="31" CentralizedLogger="Log">

ALMA Project 11Garching, January 2007ALMA Common Software course Structure of Manager data (Manager.xsd) <xs:schema targetNamespace="urn:schemas-cosylab-com:Manager:1.0" xmlns:xs=" xmlns="urn:schemas-cosylab-com:Manager:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" elementFormDefault="qualified“ attributeFormDefault="unqualified">

ALMA Project 12Garching, January 2007ALMA Common Software course Manager instance file location $ACS_CDB CDB/MACI/Managers/Manager/Manager.xml

ALMA Project 13Garching, January 2007ALMA Common Software course Container Instance (XML file) <Container xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns="urn:schemas-cosylab-com:Container:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:xsi=" CommandLine="" Timeout="20000" UseIFR="1" ManagerRetry="10" ManagerReference="" CacheSize="0" MinCachePriority="0" MaxCachePriority="31" CentralizedLogger="Log">

ALMA Project 14Garching, January 2007ALMA Common Software course Structure of Container data (Container.xsd)

ALMA Project 15Garching, January 2007ALMA Common Software course Container instance file location $ACS_CDB CDB/MACI/Containers/ /.xml Example: CDB/MACI/Containers/myContainer/myCo ntainer.xml

ALMA Project 16Garching, January 2007ALMA Common Software course Loading Steps Manager Container (C++) “bilboContainer” Container (java) “frodoContainer” Client Y X Components.xml Manager.xml bilboContainer.xml frodoContainer.xml Manager.xml

ALMA Project 17Garching, January 2007ALMA Common Software course CDB Data Retrieval XML data mapped to Data Access Objects (DAOs) parent directory File1.xml child directory1 File2.xml child directory2 File3.xml File4.xml FILES NODES CDB Data Access Layer (DAL) Server DAO “File1”, “File2”, “File3”, “File4” get “parent” DAO “File2” get “parent/child1” Client (Container or Component)

ALMA Project 18Garching, January 2007ALMA Common Software course DAL Server DAL server implements DAL IDL: interface DAL { string get_DAO( in string curl ) raises (RecordDoesNotExist,XMLerror); DAOget_DAO_Servant( in string curl ) raises (RecordDoesNotExist,XMLerror); oneway void shutdown(); //data change handling long add_change_listener( in DALChangeListener listener ); void listen_for_changes( in string curl, in long listenerID ); void remove_change_listener( in long listenerID ); // listing stringlist_nodes( in string name ); }; XML string for local processing Remote object for data field retrieval

ALMA Project 19Garching, January 2007ALMA Common Software course DAO IDL interface DAO { longget_long( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); doubleget_double( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); stringget_string( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); stringget_field_data( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); stringSeq get_string_seq( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); longSeq get_long_seq( in string propertyName ) raises (WrongDataType, FieldDoesNotExist); doubleSeq get_double_seq( in string propertyName) raises (WrongDataType, FieldDoesNotExist); };

ALMA Project 20Garching, January 2007ALMA Common Software course Component retrieves data from C++ MyComponent::MyComponent( ACE_CString _name, maci::ContainerServices* pCS) { try { CDB::DAL_ptr dal_p = pCS->getCDB(); CDB::DAO_ptr dao_p = dal_p->get_DAO_Servant(curl); description = dao_p->get_string( "description" ); m_units = dao_p->get_string( "units" ); m_min_step = dao_p->get_double( "minStep" ); } catch(... ) { ReportError( m_name, "Unable to read configuration!" ); return false; }

ALMA Project 21Garching, January 2007ALMA Common Software course DAL navigation interface Retrieve the list of all children of the given node to allow navigation of the CDB hierarchical structure: interface DAL { string list_nodes( in string name ); }; This allows an application to discover the CDB structure. Is essential to build a CDB generic browser

ALMA Project 22Garching, January 2007ALMA Common Software course Default CDB jDAL (Java implementation of CDB) started as part of acsStartORBSRVC $ACS_CDB points to CDB entry point Default file location: $ACSDATA/config/defaultCDB Test configuration data: test/CDB

ALMA Project 23Garching, January 2007ALMA Common Software course CDB Browser