Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter.

Slides:



Advertisements
Similar presentations
Siebel Web Services Siebel Web Services March, From
Advertisements

Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
31242/32549 Advanced Internet Programming Advanced Java Programming
ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.
General introduction to Web services and an implementation example
High-Performance Predictive XML Parsing with gSOAP Robert van Engelen Florida State University.
II. Middleware for Distributed Systems
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
CORBA - Common Object Request Broker Architecture.
NRAO/ESO videocon, Feb.12, 2004 ACS ALMA Common software G.Chiozzi and the ACS team.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CORBA Framework Eelements 1 CORBA Framework Elements  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Distributed Service Architectures Yitao Duan 03/19/2002.
Introduction to Remote Method Invocation (RMI)
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
Apache Axis: A Set of Java Tools for SOAP Web Services.
II. Middleware for Distributed Systems
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Common Object Request Broker Architecture CORBA. RMI is a simplified version of CORBA that does fairly well CORBA is all-singing and all-dancing Multiple.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
ESO - Garching 23 June – 02 July, 2003 ACS Course Data entities and XML serialization H. Sommer.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
CORBA Celsina Bignoli Enterprise Computing Corporation have similar computing environments: –mixed set of HW platforms –a mixed set.
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.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Information Management NTU Interprocess Communication and Middleware.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
ACS Error System APIs: C++ Bogdan Jeram European Southern Observatory July 2005ESO.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Spring Remoting Simplifying.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
Java Web Services CSCI 4300 Diagrams from the Sun Java Web Services Tutorial,
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop XML « Data by Value » Transport.
CCA Distributed Framework Interoperability. Goals Assume you have two (or more) framework instances. –Assume it contains a network of component instances.
Topic 5: CORBA RMI Dr. Ayman Srour
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Web Services-JAX-RPC JAX-RPC enables a Web Service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model.
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts and Web services
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Inventory of Distributed Computing Concepts
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Building a CORBA Server
WebServices Using JAX-RPC
Introduction to Web Services
Distributed System using Web Services
Distributed System using Web Services
Presentation transcript:

Container-component model and XML in ALMA ACS Heiko Sommer (ESO), Gianluca Chiozzi (ESO), Klemen Zagar (Cosylab) and Markus Völter

2SPIE 22 June 2004Container-component model and XML in ALMA ACS CORBA ORBs, Stubs, Skeletons naming service Overview CORBA… appli- cation appli- cation appli- cation appli- cation config log- service

3SPIE 22 June 2004Container-component model and XML in ALMA ACS CORBA ORB Manager, CDB Overview …tamed by ACS… container comp container comp

4SPIE 22 June 2004Container-component model and XML in ALMA ACS CORBA ORB Manager, CDB Overview XML exchange like in web services… container comp XML comp container comp

5SPIE 22 June 2004Container-component model and XML in ALMA ACS CORBA ORB Manager, CDB Overview … but with type-safe data access container comp XML comp container comp

6SPIE 22 June 2004Container-component model and XML in ALMA ACS Container / CORBA container comp functional component interface generated from CORBA IDL: Operations with IDL data types as parameters. component POA (tie) comp impl container main() ORB sealant dynamic impl lifecycle IF CORBA IIOP container POA

7SPIE 22 June 2004Container-component model and XML in ALMA ACS What’s missing in CORBA? CORBA architecture favors relatively tight coupling –data embedded in remotely accessible objects –only fine-grained data transported by value CORBA IDL has only limited support for by-value transport of hierarchical data (nested structs, valuetypes) Serialization format is not suitable for persistence

8SPIE 22 June 2004Container-component model and XML in ALMA ACS How about Web Services? Web Services aim at looser coupling of system components than CORBA Hierarchical data can be sent in message parameters, coded as XML XML (WSDL) for data type and interface definition XML representation of data reusable for persistence

9SPIE 22 June 2004Container-component model and XML in ALMA ACS Web Services go too far… †Loss of static type checking †Made for business-to-business communication (“middleware for middlewares”), not within one project that can afford complete builds †client side coding is proprietary to the WS framework †text-based protocol is too inefficient for many kinds of data exchange in our domain

10SPIE 22 June 2004Container-component model and XML in ALMA ACS XML strings over CORBA “The Middle Way” keep CORBA as the underlying middleware use XML data as string arguments of CORBA IDL-defined operations data definition in XML schema coexistence with CORBA binary types comp XML operation1(in string SchedBlock sb) operation2(out float[] largeBinaryData) No type safety yet! XML schema IDL def

11SPIE 22 June 2004Container-component model and XML in ALMA ACS Textual XML not type-safe! comp

12SPIE 22 June 2004Container-component model and XML in ALMA ACS Type-safe XML Representation †generic representation of XML data (string, DOM) always prohibits static type checking restore type-safety by using generated classes that match the particular XML data (as defined in the XML schema) : XML Binding Classes

13SPIE 22 June 2004Container-component model and XML in ALMA ACS XML Binding Classes Type-safe XML Representation Binding Class Generator (Castor) XML schema <xsd:element name=“SchedBlock”> + Nested Child elements (Java) Binding Classes buildtime runtime 1..n 0..1 XML serializeparse string typed Java objects string

14SPIE 22 June 2004Container-component model and XML in ALMA ACS

15SPIE 22 June 2004Container-component model and XML in ALMA ACS Type-safe XML exchange Conceptual View transparent-XML interface: XML data appears as a tree of native- language binding classes mapper instantiates binding classes from XML strings and back between collocated components, binding objects can be sent directly container comp XML mapper flat-XML interface seen from outside XML data transported as a string over CORBA container comp mapper

16SPIE 22 June 2004Container-component model and XML in ALMA ACS <xsd:element name=“SchedBlock”> <xsd:element name="schedBlockImaging“ type="prj:ImagingProcedureT“ maxOccurs="unbounded" /> buildtime runtime Complex data type defined as XML schema typedef XmlString SchedBlock; interface MyComp { void myOperation( SchedBlock sb) } Operation defined in IDL ref 1..n 0..1 interface MyComp { void myOperation( bind.SchedBlock sb) } Generated Java Interface Server component comp implements SchedBlock Binding Class Instances Client component comp

17SPIE 22 June 2004Container-component model and XML in ALMA ACS Build Process ACS IDL compiler Makefile mapping info: “SchedBlock -> alma.bind.SchedBlock” alma.data.ObsProject getObsProject CORBA IDL compiler typedefxmlstring ObsProject; … getObsProject() IDL IF XmlEntityStruct getObsProject together in one JAR file ACS IDL compiler Makefile mapping info: alma.bind.SchedBlock getThatSB() CORBA IDL compiler typedef XmlString SchedBlock; … getThatSB() IDL IF flat-XML “MyInterface” XmlString getThatSB() together in one JAR file transparent-XML “MyInterfaceJ”

18SPIE 22 June 2004Container-component model and XML in ALMA ACS Design View showing CORBA flat-XML functional IF (CORBA) skeleton (tie) (CORBA) stub (CORBA) skeleton impl (ACS, dynamic XML mapper) impl transparent- XML IF (ACS) server component delegates impl client proxy (ACS, dynamic XML mapper) delegates client component calls CORBA remoting impl. impl delegates server container client container impl XML

19SPIE 22 June 2004Container-component model and XML in ALMA ACS Summary Enable components (different languages) to exchange hierarchical data in a type-safe manner Container/component model hides the gory details from the components Fully CORBA compliant (not just for ACS components as clients)