January 25, 2016 First experiences with CORBA Niko Neufeld.

Slides:



Advertisements
Similar presentations
The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Advertisements

ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
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.
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
Distributed Systems Architectures
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 Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
II. Middleware for Distributed Systems
Practical Issues of RPCCS-4513, D-Term Remote Procedure Call Practical Issues CS-4513 Distributed Computing Systems (Slides include materials from.
Introduction to CORBA Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie Mellon.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
CORBA Programming Using ACE/TAO
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.
Common Object Request Broker Architecture (CORBA) CS-328.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
CORBA Celsina Bignoli Enterprise Computing Corporation have similar computing environments: –mixed set of HW platforms –a mixed set.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
CORBA & ASTM E —A NOVEL APPROACH TO DISTRIBUTED INSTRUMENT CONTROL Torsten Staab January 22-26, 2000 Palm Springs, CA Poster Handout.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
CORBA Distributed Technology CASE STUDY Juan C. Navarro.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Abhishek Bachchan Vishal Patangia
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
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.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Distributed Data Servers and Web Interface in the Climate Data Portal Willa H. Zhu Joint Institute for the Study of Ocean and Atmosphere University of.
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.
Netprog: More Corba1 CORBA Continued. Netprog: More Corba2 CORBA Terminology ORB - Object Request Broker IR – Implementation Repository IDL – Interface.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Common Object Request Broker Architecture (CORBA)
Common object request broker
CORBA Alegria Baquero.
Interface Definition Language
The OMG Approach CORBA, CCM, OMA, and MDA.
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Inventory of Distributed Computing Concepts
Component--based development
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Copyright 1999 B.Ramamurthy
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

January 25, 2016 First experiences with CORBA Niko Neufeld

January 25, 2016Niko Neufeld The task  Prepare a ring display for the RICH reconstruction/simulation  Want to use JAVA 2D toolkit

January 25, 2016Niko Neufeld Possible strategies  Dump data to file (from C++, read with Java) clumsy(!), ugly(!!), synchronization(!!!)  Link together Java and C++ difficult, huge executable, always same client  Use a TCP socket elegant, client - server, standard (C) only primitive data types (basically bytes), must provide your own protocol  CORBA standardized, Java and C++ fully supported free implementations available

January 25, 2016Niko Neufeld CORBA / OMG  OMG (Object Management Group) comprises all major vendors except Microsoft defines and develops the standard the standard and most OMG document are available for public download  Microsoft has a similar approach COM/OLE  Interoperability is under way

January 25, 2016Niko Neufeld CORBA intro  CORBA stands for Common Object Request Broker Architecture  It is a standard for object/component cooperation  A component is usually a (collection of) object(s) which performs a well defined task e.g. display a histogram. It is (ideally): standalone, “plug and play”able across networks and platforms  It defines “services” for objects: naming, persistency, transactions etc.  It is language/platform independent

January 25, 2016Niko Neufeld CORBA - ORB  All requests from objects to objects are handled by the Object Request Broker (ORB)

January 25, 2016Niko Neufeld Interface Definition Language (IDL)  IDL describes the interfaces which objects show to the ORB  It contains: modules = namespaces in C++ interfaces = abstract base classes in C++ operations = methods data types = standardized types basic:compatible to double, int, long, etc. constructed: struct, sequence, string, any, union, enum  These are mapped to the respective language types by the precompilers (idl, jidl)

January 25, 2016Niko Neufeld IDL (trivial example) i nterface Y2K { const short y2k=2000 ; attribute short currentyear ; exception Y2Kbug {string yeah; }; void print(in short year) raises (Y2Kbug); }; idl y2k.idl produces y2k_skel.cpp and y2k.cpp and the header files Not shown here (lengthy - but no need to look into them) y2k_skel is used for the implementation of the server part and y2k.h for a possible client.

January 25, 2016Niko Neufeld Generated IDL file //## Module: Photon //## Subsystem: Rich::Detector //## Source file: C:\Program Files\Rational\Rational Rose 98 Evaluation Edition\Rich\Detector\Photon.idl #ifndef Photon_idl #define Photon_idl #include "Rich\Detector\Pixel.idl" interface Photon : Trajectory { //##begin Photon.initialDeclarations preserve=yes //##end Photon.initialDeclarations // Attributes attribute double energy; attribute double thetaCherenkov; // Operations void absorbed(); void scattered(in const HepPoint3D &position, in const HepPoint3D &direction); }; #endif

January 25, 2016Niko Neufeld Working with CORBA

January 25, 2016Niko Neufeld How to use it  Server must be running somewhere  It produces a unique(!) Object reference for the object whose service it offers  This reference can e.g. be stored as a string and passed to a possible client  The client initializes the ORB, obtains the object reference and gets a reference to the object and can then call its methods  And it really works!

January 25, 2016Niko Neufeld What did I use?  JAVA 1.2 on Linux fully compliant SUN certified port of 1.2  ORBacus for C++ and Java commercial software free for non-commercial use full CORBA IDL support, IDL to C++/Java mapping  Linux (dual P2) gcc/egcs, java

January 25, 2016Niko Neufeld Some final remarks  I started out looking for a simple solution for C++ and Java interoperability  CORBA works very nicely, it is a very high level way of communication  I did not check performance issues  One gets distribution, client-server, multi language (almost) for free  There seem to be a lot more interesting possibilities