CORBA and COM TIP Two practical techniques for object composition

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

©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.
1 Distributed Systems Distributed Objects & Remote Invocation CORBA Dr. Sunny Jeong. Mr. Colin Zhang With Thanks.
CORBA - Common Object Request Broker Architecture.
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.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Communication in Distributed Systems –Part 2
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
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.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
COM/DCOM Implementation Basics of: Object creation and access Object Reuse Interface referencing.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
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.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
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.
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.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
CSE119 Component Based Technology. UNIT – IV Java and CORBA Interface Definition Language Object Request Broker System Object Model Portable Object Adapter.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA & Design Pattern Csc8350 Advanced Software Engineering Georgia State University Dr. Xiaolin Hu.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
CORBA Barış COŞKUN Çağatay DİKİCİ. INTRODUCTION Computer networks are heterogenous In 1989 OMG(Object Management Group) was formed to address the problems.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
CORBA & Design Pattern Csc8350 Advanced Software Engineering Georgia State University Dr. Xiaolin Hu.
Jim Fawcett CSE775 - Distributed Objects Spring 2014
The Object-Oriented Thought Process Chapter 13
CSE791 - Distributed Objects, Spring 2002
CSE775 - Distributed Objects, Spring 2006
Common Object Request Broker Architecture (CORBA)
Distributed Computing
Out-of-Process Components
CORBA Within the OS & Its Implementation
Programming Models for Distributed Application
The OMG Approach CORBA, CCM, OMA, and MDA.
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Component--based development
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Quality Assurance for Component-Based Software Development
Out-of-Process Components
Introduction to SOA and Web Services
Copyright 1999 B.Ramamurthy
Distributed Systems Architectures
Presentation transcript:

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 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

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 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.