ESO - Garching 08 – 09 March, 2004 1st ALMA Common Software Workshop XML « Data by Value » Transport.

Slides:



Advertisements
Similar presentations
ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
9.5 Software Architecture
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team.
XML Parsing Using Java APIs AIP Independence project Fall 2010.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
ACS Configuration Database(s)
SaxStore: a n aspect oriented persistence library for Java based on SAX events Riccardo Solmi University of Bologna May 2001.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Oct. 9, 2003CS WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003.
MC365 XML Parsers. Today We Will Cover: An overview of the Java API’s used for XML processing Creating an XML document in Java Parsing an XML document.
29-Jun-15 JAXB Java Architecture for XML Binding.
JAXB Java Architecture for XML Bindings. What is JAXB? JAXB defines the behavior of a standard set of tools and interfaces that automatically generate.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Persistent Identifiers Service WATER FOR A HEALTHY COUNTRY FLAGSHIP SISS Workshop v2.3 Pavel Golodoniuc | Computer scientist 7 May 2013.
Networking Nasrullah. Input stream Most clients will use input streams that read data from the file system (FileInputStream), the network (getInputStream()/getInputStream()),
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Avro Apache Course: Distributed class Student ID: AM Name: Azzaya Galbazar
NETMOD Architecture Phil Shafer IETF 72.
The Metadata System1. 2 Introduction Metadata is data that describes data. Traditionally, metadata has been found in language- specific files (e.g. C/C++
Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
ESO - Garching 23 June – 02 July, 2003 ACS Course Data entities and XML serialization H. Sommer.
The ALMA Common Software: a developer friendly CORBA-based framework G.Chiozzi d, B.Jeram a, H.Sommer a, A.Caproni e, M.Pesko bc, M.Sekoranja b, K.Zagar.
Java Virtual Machine Java Virtual Machine A Java Virtual Machine (JVM) is a set of computer software programs and data structures that use.
DCS Overview MCS/DCS Technical Interchange Meeting August, 2000.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
ACS Error System Using it in JAVA Sohaila Lucero NRAO.
Introduction to MDA (Model Driven Architecture) CYT.
第十四章 J2EE 入门 Introduction What is J2EE ?
XML Parsers Overview  Types of parsers  Using XML parsers  SAX  DOM  DOM versus SAX  Products  Conclusion.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
UDM An Infrastructure for Implementing Domain-Specific Modeling Languages Endre Magyari, Arpad Bakay, Andras Lang, Tamas Paka, Attila Vizhanyo, Aditya.
EARTH SCIENCE MARKUP LANGUAGE Why do you need it? How can it help you? INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
Developer workshop on I/O and persistence evolution LAL,Orsay, Feb 2012 Marcin Nowak (PAS BNL) Extended T/P Converters.
ALMA Integrated Computing Team Coordination & Planning Meeting #1 Santiago, April 2013 Relational APDM & Relational ASDM models effort done in online.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
TUTORIAL Dolphy A. Fernandes Computer Science & Engg. IIT Bombay.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Garching January, 2007 Configuration Database and Deployment of ACS components Bogdan Jeram, changes by Heiko Sommer European Southern.
ACS Error System APIs: C++ Bogdan Jeram European Southern Observatory July 2005ESO.
By: PHANIDEEP NARRA. OVERVIEW Definition Motivation.NET and J2EE Architectures Interoperability Problems Interoperability Technologies Conclusion and.
ACS Component Simulator J. Ibsen European Southern Observatory Garching – January 2007ESO.
©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.
Technical Overview The Fastest Way to Create Architecture!
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
CIS/SUSL1 Fundamentals of DBMS S.V. Priyan Head/Department of Computing & Information Systems.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
1 Introduction JAXP. Objectives  XML Parser  Parsing and Parsers  JAXP interfaces  Workshops 2.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
Open Planets Foundation Hackathon Database Archiving Event Implementation of SIARD at the Danish National Archives.
Lorenz: Visitor Beans: An Aspect-Oriented Pattern Aspect-oriented pattern: describes a solution to a tangling problem in a particular context.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Java Web Services Orca Knowledge Center – Web Service key concepts.
.NET Omid Darroudi.
Java Distributed Computing
Java Beans Sagun Dhakhwa.
XML Problems and Solutions
Design Yaodong Bi.
Presentation transcript:

ESO - Garching 08 – 09 March, st ALMA Common Software Workshop XML « Data by Value » Transport

ALMA Project 2Garching, March 20041st ALMA Common Software Workshop XML Data by Value Overview Subsystem2 Application obj.getFoo() Subsystem1 obj.getFoo() transport by value local object remote object fine-grained remote calls degrade performance; more runtime coupling among computers

ALMA Project 3Garching, March 20041st ALMA Common Software Workshop XML Data by Value Eligible Data Reasonably small chunks of nested object data, e.g. “User”, “ObservingProject”, “CorrelatorConfig” Simple parameters as IDL data types, not XML Bulk data (from correlator, pipelines) transported in binary format, not considered here. Lists of value objects don’t need to be defined as new value object types; use CORBA sequences of existing value objects instead.

ALMA Project 4Garching, March 20041st ALMA Common Software Workshop Why XML? Well-accepted open standard XML can also be used for persistence (Database or file system) without writing much extra code XML also for non-CORBA-Transport ( , …) XML Schema offers constraint declaration and thus enables automatic validation We can always deal with XML “by hand”. –important for early use of ALMA software when some data producers are not yet available. –test code can easily inject XML data

ALMA Project 5Garching, March 20041st ALMA Common Software Workshop Developers describe their data model in XML schemas XML Schema truncated example

ALMA Project 6Garching, March 20041st ALMA Common Software Workshop Binding Classes Concept A binding class object represents an XML node in memory; we would thus have a SchedBlock class. Binding class source code is generated from the XML schemas as part of the software build process Classes contain code for de-/serialization from and to XML Type-safe get()/set() methods ensure that data conflicts be noticed at compile time. Huge advantage over generic handling of XML data (as done by DOM or SAX). Classes contain validation code to enforce schema constraints

ALMA Project 7Garching, March 20041st ALMA Common Software Workshop Binding Classes Example package alma.entity.xmlbinding.schedblock; public class SchedBlock extends alma.entity.xmlbinding.obsproject.ObsUnitT implements java.io.Serializable { // just a few of the generated methods public void addObsTarget(TargetT vObsTarget) {…} public java.util.Enumeration enumerateObsTarget() {…} public alma.entity.xmlbinding.obsproject.ImagingProcedureT getSchedBlockImaging() {…} }

ALMA Project 8Garching, March 20041st ALMA Common Software Workshop Invisible XML Serialization type-safe data access container Comp container Comp Flat-XML API seen from outside: XML-string Transparent-XML API implemented by component: SchedBlock binding class, type- safe data access De-/Serialization layer (dynamic) XML

ALMA Project 9Garching, March 20041st ALMA Common Software Workshop Invisible XML Serialization Standard and XML-binding-aware Interfaces