CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

39
CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

Page 1: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

CORBA

Team 12

Jean LefeverBrian PodolnyTeresa ChangRuss Weitz

Page 2: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

2

Introduction

CORBA (Common Object Request Broker Architecture) is a standard that enables an object written in one programming language, running on one platform to interact with objects across the network that are written in other programming languages and running on other platforms.

For example, a client object written in C++ and running under Windows can communicate with an object on a remote machine written in Java running under UNIX.

Page 3: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

3

OMG The CORBA specification was developed

by the Object Management Group (OMG).

The OMG is an international, not-for-profit group consisting of approximately 800 companies and organizations defining standards for distributed object computing

CORBA is only one of the specifications they develop. They are also behind other key object oriented standards such as UML (Unified Modeling Language).

Page 4: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

4

History The OMG was established in 1988 and

the initial CORBA specification came out in 1992. Over the past 10 years significant revisions have taken place.

Version 2.0, which defined a common protocol for specifying how implementations from different vendors can communicate, was released in the mid-nineties.

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

Page 5: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

5

Today

Today, CORBA serves as middleware for a variety of large enterprise level applications.

One of the most important and most frequent uses is for servers that must handle a large number of clients, at high hit rates, with high reliability.

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

Page 6: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

6

Specification vs. Implementation

CORBA, as defined by the OMG, is a standard or specification and not a particular piece of software.

CORBA 3.0 is actually a suite of 10 standards, each defining aspects of a CORBA implementation.

Several implementations of the CORBA standard exist. Among the most widely used are IBM’s SOM (a.k.a. SOMobjects) and DSOM architectures. There are also free implementations available for general use.

Page 7: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

7

CORBA IntegrationsAn implementation of CORBA has been integrated into Netscape browsers.

CORBA has been built into Netscape ONE (Open Network Environment) - Netscape’s application environment based on open internet standards.

The Enterprise Edition of IBM’s WebSphere (a software platform to help build and deploy high performance web sites) integrates CORBA (as well as Enterprise Java Beans) to build highly transactional, high-volume e-business applications

Page 8: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

Standard Call and Return

ClientApp. / Applet

IDLStub

ORB

Servant(Server)

Skeleton

ORBIIOP

POA

Client Call

Return Value

Page 9: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

CORBACORBA Architecture

Page 10: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

Three-tier CORBA Architecture

Page 11: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

11

The Primary Elements

IDL Interface Definition Language

Client / Server CORBA Objects Abstract objects based upon a concrete

implementation ORBs

Object Request Brokers GIOP / IIOP

General and Internet Inter-Object Protocols

Page 12: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

12

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: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

13

Highlighted IDL Features Pass by reference and by value In, out, and inout parameters Inheritance Throwing of exceptions The Any Type Callbacks

Enables Peer-to-Peer Object Communication.

Also supports: structs, unions, enumerations, all c++

scalars, arrays, sequences, octets, strings, constants, and typedefs.

Page 14: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

Steps to Write a CORBA Object in Java

Page 15: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

Client / Server CORBA ObjectsCORBA OBJECT

(abstract)

Implementation Object(“CORBA” enabled)

Member ObjectLocal Server

Object

Local ServerObject

Implementation

Page 16: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

16

Client / Server CORBA Objects Cont.

Abstract Do not have their own implementation. The

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

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

a class) which implements the public interface of the CORBA object. Depending on the server policies, there may or 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 not console configurable

Page 17: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

17

Object Request Brokers (Orbs)

Responsible for all communication Locating objects

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

Transferring invocations and return values Notifying other ORBs of hosted Objects

Must be able to communicate IDL invocations via IIOP

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

Page 18: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

18

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 Security

Page 19: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

19

Application in Software Projects

Rapid development of API’s Inter-language and operating

system operability Legacy system wrappers IIOP faster than HTTP Simplifies development of

distributed applications

Page 20: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

20

Drawbacks

Lower Level than COM+/.NET/EJB Configuration in Code Steeper Learning Curve than other

solutions.

Page 21: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

21

Object Management Architecture(OMA)

Center of all the activity undertaken by OMG

OMA specifies a range of architectural entities surrounding the core ORB, which is CORBA proper

Detailed specifications for each component and interface category is populated in OMA reference Model

Page 22: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

OMA Reference Model

Page 23: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

23

CORBA Services

CORBA Services provides basic functionality, similar to the services that system library calls do in UNIX. Functions includes creating objects, controlling access to objects, keeping track of relocated objects and to consistently maintain relationship between objects.

Page 24: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

24

Horizontal CORBA Facilities

Horizontal CORBA Facilities sit between the CORBA services and Application objects. These components providing support across an enterprise and across business. Four facilities: the Printing Facilities, the Secure Time Facilities, the Internationalization Facilities, and Mobile Agent Facilities.

Page 25: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

25

Domain(Vertical) CORBA Facilities

Domain CORBA Facilities are the most exciting work at OMG. Define a standard interfaces for standard objects shared by companies within a specific vertical market(e.g. healthcare, manufacturing, finance). Now nine industries have their own OMG task force.

Page 26: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

26

Application Objects

Topmost part of the OMA hierarchy. Provide access to application objects

that can invoke methods on remote objects 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: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

27

Three Benefits of using OMA

1. Coding is quicker, so application can be deployed sooner

2. Applications designed around discrete services have better architecture

3. Many OMA implementations have enterprise characteristics built in: they’re robust, and they scale

Page 28: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

28

CORBA vs. DCOM

DCOM supports an object-oriented model, but differs substantially from classical OO models. DCOM object provides services through one or more distinct interfaces.

DCOM is lack of polymorphism, instead, it constructs application from binary components.

Page 29: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

29

CORBA vs. DCOM

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

CORBA can be deployed far more widely than DCOM and runs in most current OS environment, while DCOM is running almost exclusively in the Windows environment.

Page 30: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

30

CORBA vs. JAVA/RMI

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 with the implementation of these objects.

Page 31: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

31

CORBA vs. JAVA/RMI

JAVA/RMI systems fall short of seamless integration because of their interoperability requirements with other languages. JAVA/RMI system assumes the homogeneous environment of the JVM, which can only take advantage of Java Object Model.

Coexistence between CORBA and Java

Page 32: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

32

The Future of CORBA

Much easier for developers to build and run client/server applications written in different languages using the IDL interface

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 website

Page 33: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

33

Compute-Domain Enhancements

in traditional business Remote access to all network

systems for employees. product descriptions pricing stock order placement customer credit data

Business works smarter, not harder

Page 34: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

34

Business-Domain Enhancementsfor e-business

Builds on compute-domain work add web functionality to existing internal

network uses CORBA’s IDL to integrate new

processes 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: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

35

Companies Using CORBA Today

AT&T Late 1990’s developed 20 to 40 systems using

CORBA for both internal and external access Are certain development time for future projects

will be greatly reduced by building reusable frameworks with the OMG

The Weather Channel Used CORBA and Linux System is reliable, low maintenance, offers data

logging Cut software development time from months to

weeks

Page 36: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

36

Companies Using CORBA Today

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: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

37

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

application service as well as integration with third-party applications possibly by year’s end

Nokia Telecommunications Combining use of Orbix and CORBA to continue

enhancing products and manage value added services based on a common architecture.

Page 38: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

38

NOKIA

“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: CORBA Team 12 Jean Lefever Brian Podolny Teresa Chang Russ Weitz.

39

References

www.oma.org www.corba.org developer.java.sun.com/developer/

onlineTraining/corba