CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

Similar documents
Distributed Objects. Object-Oriented Application Development

CORBA (Common Object Request Broker Architecture)

CORBA. CORBA Background. (Common Object Request Broker Architecture)

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

1.264 Lecture 16. Legacy Middleware

UNIT 4 CORBA 4/2/2013 Middleware 59

Distributed Technologies - overview & GIPSY Communication Procedure

Appendix A - Glossary(of OO software term s)

RIKA: Component Architectures

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

The Common Object Request Broker Architecture (CORBA)

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

System types. Distributed systems

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Systems Middleware

CORBA COMMON OBJECT REQUEST BROKER ARCHITECTURE OVERVIEW OF CORBA, OMG'S OBJECT TECHNOLOGY FOR DISTRIBUTED APPLICATIONS CORBA

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Today: Distributed Objects. Distributed Objects

Software Components and Distributed Systems

Guile-GNOME: CORBA. version , updated 12 June Andy Wingo (wingo at pobox.com) Martin Baulig (baulig at suse.de)

ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Session plan. sessionx. Desarrollo de Aplicaciones en Red. What s Corba? RPC vs. Corba. Middleware. Middleware task

Distributed Middleware. Distributed Objects

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Web Services: A Bridge between CORBA and DCOM

Integrating Fragmented Objects into a CORBA Environment

Mohsin Qasim Syed Abbas Ali

DCOM CORBA EJB DCOM CORBA CORBA EJB DCOM EJB

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Class Inheritance and OLE Integration (Formerly the Common Object Model)

Lecture 06: Distributed Object

COMPONENT BASED TECHNOLOGY (IT-1401)

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI

Advanced Lectures on knowledge Engineering

Distributed Computing Overview

A Strategic Comparison of Component Standards

Distributed Object-based Systems CORBA

Chapter 3 Introduction to Distributed Objects

Object Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

Today: More Case Studies DCOM

OrbixCOMet Desktop Programmer s Guide and Reference

Java Programming With CORBA (OMG) By Keith Duddy, Andreas Vogel

Distributed Computing

Enterprise Application Integration. Generated Adaptive Frameworks. with. by Rüdiger Schilling smdelta

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client

CPE731 Middleware for Distributed Systems

1 PROGRAMMING LANGUAGE INTEROPERABILITY IN DISTRIBUTED COMPUTING ENVIRONMENTS

Component models. Page 1

ANSAwise - Introduction to CORBA and DCE

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

Distributed Simulation Modeling: A Comparison Of HLA, CORBA, and RMI

Distributed Systems Principles and Paradigms

Distributed Objects. Chapter Distributing Objects Overview

Object-Oriented Middleware for Distributed Systems

P-NET Management with Java based Components

Application Servers in E-Commerce Applications

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Towards a Web-centric Legacy System Migration Framework

Lecture 16. What is COM? Principles of COM. COM Design Principles. Example (UML Diagram) Microsoft IDL (MIDL) COM/DCOM February 23, 2005

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Constraint-based Generation of Connectors

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)

ANSAwise - CORBA Interoperability

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Department of Computer Science & Engineering. M.Tech(CSE)-I Year-II Semester WEB SERVICES AND SERVICE ORIENTED ARCHITECHTURE (B1513) Mr.K.

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

ANSAweb: A Web of Distributed Objects

CS551 Object Oriented Middleware (II) Outline. Who is the OMG?

Unit Wise Questions. Unit-1 Concepts

Distributed Object Bridges and Java-based Object Mediator

Lecture 5: Object Interaction: RMI and RPC

Electronic Payment Systems (1) E-cash

Protecting the Hosted Application Server

Object oriented distributed architectures

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

Today: Distributed Middleware. Middleware

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Module 1 - Distributed System Architectures & Models

DCOM (Distributed Component Object Model) What is DCOM?

Distributed Debugging API for ORBs and Services. Request for Proposal, test/ Dale Parson, Distinguished Member of Technical Staff

Introduction to Web Services & SOA

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Chapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration

Implementation of GDMO to IDL Translator and CORBA/CMIP Gateway for TMN/CORBA Integration

Performance comparison of DCOM, CORBA and Web service

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Implementing Remote Procedure Calls*

What about Object-Oriented Languages?

Issues in selecting appropriate middleware

Transcription:

CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University

CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard standard distributed object model. A key feature of CORBA is IDL, a language- neutral Interface Definition Language. Each language that supports CORBA has its own IDL mapping. For example, as its name implies, Java IDL supports the mapping for Java. CORBA and the IDL mappings are the work of an industry consortium known as the OMG, or Object Management Group.

CORBA Architecture Any relationship between distributed objects has two sides: the client and the server. The server provides a remote interface, and the client calls a remote interface. These relationships are common to most distributed object standards, including CORBA.

CORBA Architecture From the beginning, the goal behind CORBA was to enable open interconnection of a wide variety of languages, implementations, and platforms. Thus OMG never settled on binary standards: everything is carefully standardized to allow for many different implementations and to allow individual vendors of CORBA-compliant products to add value.

CORBA Architecture Interface Definition Language (IDL) source Application Programs IDL Complier Server Programs Dynamic Invocation Interface IDL Stubs ORB Interface IDL Skeletons Dynamic Skeleton Interface Object Adapter Object Request Broker (ORB)

CORBA Architecture

Example: Hello World A one-method distributed object is shared between a CORBA client and server to implement the "Hello World" application.

Example: Hello World The definition in IDL of the example module HelloApp { interface Hello { string sayhello(); // Add this line. }; }; The tool idltojava reads OMG IDL files and creates the required Java files. idltojava Hello.idl

COM COM stands for Common Object Model. It is a standard proposed by Microsoft for the construction and integration of software components. COM is a binary standard. It specifies nothing about how particular programming languages may be bound to it. One fundamental entity in COM is an interface.

COM Interface On binary level, an interface is represented as a pointer to an interface node. The only specified part of an interface node is another pointer held in the first field of the interface node. The second pointer is defined to point to a table of procedure variables (function pointers). As these tables are derived from the tables used to implement virtual functions (methods) in languages such as C++, they are also called vtables.

COM Component A COM component is free to contain implementations for any number of interfaces. The entire implementation can be a single class, but it does not have to be.

COM COM does not support any form of implementation inheritance, although COM+ does. COM supports two forms of object composition to enable object reuse: containment aggregation.

Containment Containment is a simple object composition technique, i.e., one object holds an exclusive reference to another. The former, also called the outer object, thus conceptually contains the latter, the inner object. If requests to the outer object need to be handled by the inner object, the outer object forwards the request to the inner object.

Aggregation If deep containment hierarchies occur, or if the forwarded methods themselves are repatively cheap operations, then containment can become a performance problem. For this reason, COM defines its second reuse form: aggregation. Instead of forwarding requests, an inner object s interface reference could be handed out directly to another outer object s client. Calls on this interface would then go directly to the inner object, saving the cost of forwarding.

DCOM DCOM stands for Distributed COM. It transparently expands the concepts and services of COM to client-server systems. DCOM builds on the client-side proxy objects and the server-side side stub objects already present in COM, where they are used only to support inter-process communication.

OLE OLE stands for Object Linking and Embedding. It is a set of standards that enable objects complying with COM or DLL to be integrated into various application programs.