Pres Corba


Transcript of Pres Corba

Page 1: Pres Corba

8/6/2019 Pres Corba 1/39


Page 2: Pres Corba

8/6/2019 Pres Corba 2/39


IntroductionCORBA (Common Object RequestBroker Architecture) is a standard thatenables an object written in one

programming language, running on oneplatform to interact with objects acrossthe network that are written in other programming languages and running onother platforms.

For example, a client object written inC++ and running under Windows cancommunicate with an object on a remotemachine written in Java running under 


Page 3: Pres Corba

8/6/2019 Pres Corba 3/39


OMGThe CORBA specification was developedby the Object Management Group(OMG).

The OMG is an international, not-for-profit group consisting of approximately800 companies and organizationsdefining standards for distributed objectcomputing

CORBA is only one of the specificationsthey develop. They are also behind other key object oriented standards such asUML (Unified Modeling Language).

Page 4: Pres Corba

8/6/2019 Pres Corba 4/39


HistoryThe OMG was established in 1988 andthe initial CORBA specification came outin 1992. Over the past 10 years

significant revisions have taken place.

Version 2.0, which defined a commonprotocol for specifying howimplementations from different vendorscan communicate, was released in the


The current version of CORBA is 3.0,which introduced the CORBAComponent Model.

Page 5: Pres Corba

8/6/2019 Pres Corba 5/39


TodayToday, CORBA serves as middleware for a variety of large enterprise levelapplications.

One of the most important and mostfrequent uses is for servers that musthandle a large number of clients, at highhit rates, with high reliability.

The current users of CORBA are diverse- including The Weather Channel,GNOME, US Army, CNN, and CharlesSchwab.

Page 6: Pres Corba

8/6/2019 Pres Corba 6/39

Page 7: Pres Corba

8/6/2019 Pres Corba 7/39


CORBA Integrations An implementation of CORBA has beenintegrated into Netscape browsers.

CORBA has been built into Netscape

ONE (Open Network Environment) -Netscape¶s application environmentbased on open internet standards.

The Enterprise Edition of IBM¶s

WebSphere (a software platform to helpbuild and deploy high performance websites) integrates CORBA (as well asEnterprise Java Beans) to build highlytransactional, high-volume e-business


Page 8: Pres Corba

8/6/2019 Pres Corba 8/39

Page 9: Pres Corba

8/6/2019 Pres Corba 9/39

CORBACORBA  Architectur e

Page 10: Pres Corba

8/6/2019 Pres Corba 10/39

Thr ee-tier CORBA  Architectur e

Page 11: Pres Corba

8/6/2019 Pres Corba 11/39


The Primary Elements IDL

Interface Definition Language

Client / Server CORBA Objects  Abstract objects based upon a concrete



Object Request Brokers GIOP / IIOP

General and Internet Inter-Object


Page 12: Pres Corba

8/6/2019 Pres Corba 12/39


Interface Definition Language Defines public interface for any

CORBA server.

C++ like syntax

Client and Server implemented

based on compilation of the same

IDL (usually)

OMG has defined mappings for: C, C++, Java, COBOL, Smalltalk, ADA, Lisp,

Python, and IDLscript

Page 13: Pres Corba

8/6/2019 Pres Corba 13/39


Highlighted IDL Featur es

Pass by reference and by value

In, out, and inout parameters


Throwing of exceptions

The Any Type


Enables Peer-to-Peer Object

Communication.  Also supports:

structs, unions, enumerations, all c++scalars, arrays, sequences, octets,strings, constants, and typedefs.

Page 14: Pres Corba

8/6/2019 Pres Corba 14/39

Steps to Write a CORBA Object

in Java

Page 15: Pres Corba

8/6/2019 Pres Corba 15/39

Client / Server CORBA Objects



Implementation Object

(³CORBA´ enabled)

Member Object

Local Server 


Local Server 



Page 16: Pres Corba

8/6/2019 Pres Corba 16/39


Client / Server CORBA ObjectsCont.

 Abstract Do not have their own implementation. The

elements of a CORBA object (interface,implementation, and location) are heldrendered via other elements.

Implemented via a Servant  A servant is a block of code (usually an

instance of a class) which implements thepublic interface of the CORBA object.Depending on the server policies, there mayor may not be multiple instances of the

servant and it may or may not be multi-threaded.

Configured in code or at server startup Unlike COM+ and EJB the policies for a

CORBA object which control things such as

Security, threading, and persistence are notconsole configurable

Page 17: Pres Corba

8/6/2019 Pres Corba 17/39


Object Request Brokers

(Or bs) Responsible for all communication

Locating objects

Implementation specific

Known IOR(Inter-Object Reference) Naming and Trading Services( DSN-like)

Transferring invocations and returnvalues

Notifying other ORBs of hosted Objects

Must be able to communicate IDLinvocations via IIOP

If an ORB is OMG compliant, then it isinteroperable with all other OMGcompliant ORBs

Page 18: Pres Corba

8/6/2019 Pres Corba 18/39


 Additional ORB Services

Interface Repository

 A Database of all of the IDL for compiled

objects running on the ORB Implementation Repository

 A Database containing policy information

and the implementation details for the

CORBA objects running on the ORB

Load Balancing

Fail-over support


Page 19: Pres Corba

8/6/2019 Pres Corba 19/39

Page 20: Pres Corba

8/6/2019 Pres Corba 20/39



Lower Level than COM+/.NET/EJB

Configuration in Code

Steeper Learning Curve than other 


Page 21: Pres Corba

8/6/2019 Pres Corba 21/39


Object Management

 Architectur e(OMA) Center of all the activity

undertaken by OMG

OMA specifies a range of architectural entities surroundingthe core ORB, which is CORBAproper 

Detailed specifications for eachcomponent and interface categoryis populated in OMA referenceModel

Page 22: Pres Corba

8/6/2019 Pres Corba 22/39

OMA Ref er ence Model

Page 23: Pres Corba

8/6/2019 Pres Corba 23/39


CORBA Services

CORBA Services provides basic

functionality, similar to the services

that system library calls do inUNIX. Functions includes creating

objects, controlling access to

objects, keeping track of relocated

objects and to consistentlymaintain relationship between


Page 24: Pres Corba

8/6/2019 Pres Corba 24/39


Horizontal CORBA 

Facilities Horizontal CORBA Facilities sit

between the CORBA services and

 Application objects.T

hesecomponents providing supportacross an enterprise and acrossbusiness. Four facilities: thePrinting Facilities, the Secure Time

Facilities, the InternationalizationFacilities, and Mobile AgentFacilities.

Page 25: Pres Corba

8/6/2019 Pres Corba 25/39


Domain(Vertical) CORBA 

Facilities Domain CORBA Facilities are the

most exciting work at OMG. Define

a standard interfaces for standardobjects shared by companies

within a specific vertical

market(e.g. healthcare,

manufacturing, finance). Now nineindustries have their own OMG

task force.

Page 26: Pres Corba

8/6/2019 Pres Corba 26/39


 Application Objects

Topmost part of the OMA hierarchy.

Provide access to application objects

that can invoke methods on remoteobjects through ORB. Application is built

from a large number of basic object

classes, new classes can be generated

or specified provided by CORBA

services. Standardization is not required.

Page 27: Pres Corba

8/6/2019 Pres Corba 27/39


Thr ee Benefits of using 

OMA1. Coding is quicker, so application

can be deployed sooner 

2.  Applications designed arounddiscrete services have better 


3. Many OMA implementations have

enterprise characteristics built in:

they¶re robust, and they scale

Page 28: Pres Corba

8/6/2019 Pres Corba 28/39



DCOM supports an object-

oriented model, but differs

substantially from classical OOmodels. DCOM object provides

services through one or more

distinct interfaces.

DCOM is lack of polymorphism,instead, it constructs application

from binary components.

Page 29: Pres Corba

8/6/2019 Pres Corba 29/39



The major difference is CORBA is an

open specification. DCOM has the

potential to evolve at a faster rate than

CORBA because the politics will be


CORBA can be deployed far more widely

than DCOM and runs in most current OS

environment, while DCOM is runningalmost exclusively in the Windows


Page 30: Pres Corba

8/6/2019 Pres Corba 30/39



Some overlap between these two,

both provide a viable means of 

building distributed applications. CORBA is concerned with

interfaces between objects and

applications modeled as objects,

Java is primarily concerned withthe implementation of these


Page 31: Pres Corba

8/6/2019 Pres Corba 31/39



JAVA/RMI systems fall short of seamless integration because of 

their interoperability requirementswith other languages. JAVA/RMIsystem assumes thehomogeneous environment of theJVM, which can only take

advantage of Java Object Model. Coexistence between CORBA and


Page 32: Pres Corba

8/6/2019 Pres Corba 32/39


The Futur e of CORBA

Much easier for developers to build and

run client/server applications written in

different languages using the IDL


Compute-domain benefits

Functionality the same as if written to

sockets or some other RPC device

Business-domain benefits

 Allows rapid development of full service


Page 33: Pres Corba

8/6/2019 Pres Corba 33/39



in traditional business Remote access to all network

systems for employees.

product descriptions pricing


order placement

customer credit data

Business works smarter, notharder 

Page 34: Pres Corba

8/6/2019 Pres Corba 34/39


Business-DomainEnhancementsfor e-business

Builds on compute-domain work

add web functionality to existing internal

network uses CORBA¶s IDL to integrate new


Development and maintenance of customer centered e-commerce site is

still manageable for IT department. Gives business time to sell product, not

fix problems

Page 35: Pres Corba

8/6/2019 Pres Corba 35/39


Companies Using CORBA Today  AT&T

Late 1990¶s developed 20 to 40 systemsusing CORBA for both internal andexternal access

 Are certain development time for futureprojects will be greatly reduced bybuilding reusable frameworks with theOMG

The Weather Channel Used CORBA and Linux

System is reliable, low maintenance,offers data logging

Cut software development time frommonths to weeks

Page 36: Pres Corba

8/6/2019 Pres Corba 36/39


Companies Using CORBA 


Raytheon Company

Needed to update its complex real-time

distributed system

Built new system using C++ and CORBA

Ready to build next generation system

Page 37: Pres Corba

8/6/2019 Pres Corba 37/39


Companies with Plans to

Develop Using CORBA Chase Manhattan Bank

Plans to develop wholesale banking service

Will use CORBA and Java-based middleware

Further plans to introduce Java-basedmortgage application service as well asintegration with third-party applicationspossibly by year¶s end

Nokia Telecommunications Combining use of Orbix and CORBA to

continue enhancing products and managevalue added services based on a commonarchitecture.

Page 38: Pres Corba

8/6/2019 Pres Corba 38/39



³Nokia¶s decision [to use CORBA]

highlights the continuing adoption of 

CORBA and is recognition of the fast,

effective, scaleable and open approach

to the development of powerful,

intelligent, mission-critical network

services that CORBA offers.´

Colin Newman, VP Marketing at IONA

(Developers of the Orbix ORB)

Page 39: Pres Corba

8/6/2019 Pres Corba 39/39


Ref er ences