Middleware: CORBA & DCOM 1998 Ronald J. Norman, San Diego State University.

33
Middleware: CORBA & DCOM 1998 Ronald J. Norman, San Diego State University

Transcript of Middleware: CORBA & DCOM 1998 Ronald J. Norman, San Diego State University.

Page 1: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Middleware:CORBA & DCOM

1998 Ronald J. Norman, San Diego State University

Page 2: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics• Distributed Computing• Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 3: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics• Distributed Computing• Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 4: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Distributed Computing*

“Parts of an application run on multiple computers simultaneously.”

Definition:

* aka: Client/Server and Distributed Object Computing/Technology (DOC/DOT)

Page 5: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Distributed Computing Models

DataManagement

DataManagement

BusinessLogic/Rules

BusinessLogic/Rules

PresentationPresentationAp

pli

ca

tio

n A

rch

ite

ctu

reA

pp

lic

ati

on

Arc

hit

ec

ture

FileFileServerServer

PCPC

• “Fat Client” • “Thin Client” and “3-Tier (N-Tier)”

Ap

pli

ca

tio

n A

rch

ite

ctu

reA

pp

lic

ati

on

Arc

hit

ec

ture

PCPC

DataManagement

DataManagement

BusinessLogic/Rules

BusinessLogic/Rules

PresentationPresentation

Server(s)and/ormainframe(s)

Note: Eventhough thefigure depicts3 physical tiers,2 or more willaccomplish thesame result.

= Network with Middleware on both ends

(Methods of distributing the 3-tier Application Architecture across computing platforms)

Page 6: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Distributed Computing

Usability - seamless and transparent to users

Flexibility - processing independence

New Capabilities - the “net”; new business applications

Challenges Complexity - heterogeneous computing platforms

Compatibility - impedance matching

Manageability - distributed processing

Organizational Infrastructure & Cultural readiness

Benefits

Page 7: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing• Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 8: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Middleware• Complexity

• Compatibility

• Manageability

Challenges

“Software that facilitates the interoperability of objects between

heterogeneous computing platforms.”

Definition:

}

Middleware... is the “slash” (/) in Client/Server (DOC) Technology is the “glue” that holds Distributed Computing together “sits” between clientware & serverware is intended to make the network completely transparent is “plumbing” which is not glamorous but very important

Page 9: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Middleware’s Position within the Distributed Computing Architecture

Physical

Data Link

Network

Transport

Session

Presentation

ApplicationO

SI 7

-Lay

er R

efer

ence

Mo

del

Application Program

Object Request Broker (ORB)

TP Monitor (CICS, Tuxedo)

RPC (DCE, Netwise)

Messaging System (MOM)

IPX, IP, DLC

SPX, TCP, LU 6.2

Communication APIs (socket , APPC)

Mid

dlew

are

802.3, 802.5

(CORBA, COM/DCOM, RMI,SOM/DSOM)

TransportService

User Service• Message Queuing• Data Translation• Directory Service• Nameing Service• Security• Recovery• Broadcasting• Session Management

NIC Driver

DistributedServices:• X.500• DNS• LDAP• etc...

MessageRouting:• X.400• SMTP• MAPI• etc...

Communication Building Block Layers

Page 10: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Middleware Classifications

Name Type Communication Modes Examples

RPCs(Remote ProcedureCalls)

MOMs(Message OrientedMiddleware)

ORBs(Object RequestBrokers)

Function-Oriented

Object-Oriented

Event-Oriented

Request/Reply - Synchronous DCE Products

IBM MQSeriesBEA MessageQBEA TuxedoMicrosoft MQ

CORBAPlus* Orbix & NEO*ObjectBroker* VisiBroker*Java’s RMIMicrosoft’s DCOM * = CORBA 2.0 Compliant

DistributedServices

CoreService

X.500, DNS, LDAP

MessageRouting

CoreService

X.400, SMTP, MAPI

TP Monitors Transaction-Oriented

IBM’s CICSMicrosoft’s Transaction ServerBEA Tuxedo

Request/Reply - AsynchronousStore-&-Forward - AsynchronousPublish-&-Subscribe - Asynchronous

Request/Reply - Synchronous(Note: ORBs will be enhanced in thenear future to support asynchronouscommunication modes)

Request/Reply - SynchronousRequest/Reply - AsynchronousPublish-&-Subscribe - Asynchronous

Page 11: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 12: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

OMG’s CORBA OMG is the Object Management Group Consortium organized by a handful

of organizations in 1989; today it has over 800 member organizations

including Microsoft

CORBA (Common Object Request Broker Architecture) is the OMG’s most

visible Product

CORBA is a Reference Architecture Specification for object interoperability

between heterogeneous computing platforms

CORBA Version 2.0 adopted in December 1994

Software vendors create CORBA implementations based on the reference

specification and have these implementations certified by the OMG as being

CORBA-Compliant

Page 13: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

The Common Object Request Broker (CORBA) 2.0 Architecture

Client Object Implementation

ORB Core

DynamicInvocationInterface

IDLStubs

ORBInterface

Static IDLSkeleton

DynamicSkeletonInterface

BasicObject

Adapter

GIOP/IIOP

ImplementationRepository

InterfaceRepository

operation()

in args

out args + return value

GIOP = General Inter-Orb Protocol IIOP = Internet Inter-Orb Protocol (TCP/IP)

Current IDL mappings include: C/C++, Smalltalk, Ada, COBOL & Java

Page 14: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware

CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 15: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Microsoft’s DCOM

DCOM (Distributed Component Object Model) is Microsoft’s “answer” to

distributed computing

COM (Component Object Model) is Microsoft’s framework for creating and

using software components [on a single computer]

COM is Microsoft’s binary interoperability standard

DCOM is based on OSF’s DCE RPC specification

“DCOM is just COM with a longer wire.” - Charlie Kindel, Microsoft

OSF = Open Software Foundation DCE = Distributed Computing Environ. RPC = Remote Procedure Call

Page 16: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Microsoft’s DCOM COM/DCOM History:

1990 - DDE and OLE 1.0 (cut & paste) 1993 - OLE Automation (OLE2) & COM1 (compound

documents) 1996 - Automation (COM2) & DCOM; ActiveX becomes the

marketing name for Automation/COM/DCOM components Sept. 1997 - COM+ (COM3) announced

Ships w/Windows NT 4.0 Available for Windows95 and ships with Windows98 Available now on a few heterogeneous OS platforms

DDE = Dynamic Data Exchange OLE = originally: Object-Linking-and-Embedding

Page 17: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

The COM/DCOM Architecture*

ClientClient ComponentComponent

In the same In the same process process Fast, direct Fast, direct

function callsfunction calls

ClientClient ComponentComponentCOMCOM

Client ProcessClient Process Server ProcessServer Process On the same On the same machinemachine Fast, secure IPCFast, secure IPC

Across machinesAcross machines Secure, reliable Secure, reliable

and flexibleand flexibleDCE-RPC based DCE-RPC based DCOMDCOM protocol protocol

COMCOMDCERPC

ClientClient

Server MachineServer MachineClient MachineClient Machine

COMCOM ComponentComponent

* Adapted from “ActiveX and the Web”, presented by Charlie Kindel, Architect & Chief Technical Advisor, Microsoft, 1997

“DCOM is just COM with a longer wire.” - Charlie Kindel

Page 18: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware

CORBA Overview

DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 19: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM Comparison Characteristics1 of 3

Vendor Support

CORBA is a “consortium-approved” specification, but not an actual reference implementation

DCOM is a Microsoft (and now the independent ActiveX Consortium) specification AND a reference implementation

Characterized as a shopping mall having several major “anchors,” such as Sun, IBM, HP, Digital, NCR, etc. and hundreds of ISV “boutiques,” such as Versant, IONA, Expersoft, etc.

Characterized as a shopping mall having one major “anchor” - Microsoft - and thousands of ISV “boutiques” and is viewed as the current “product of choice” on the desktop

Implementations are based on a written specification standard which is subject to interpretation and could lead to incompatible interpretations of the standard. Validation tests must be performed before OMG certification

Implementations are based on source code provided by either Microsoft or the Open Group. Validation tests must be performed before certification

CORBA DCOM

Page 20: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM Comparison Characteristics2 of 3

Platform Support

Viewed as the object-oriented middleware of choice for enterprises needing to develop/support distributed applications across heterogeneous platforms

Leading contender for Windows 95, 98 and NT environments. Implementations across non-Windows platforms are occurring

Was designed from the beginning to be truly object-oriented and distributed. Its roots are in the network and TCP/IP

Has its origins in the single-user desktop and builds heavily upon the Windows programming model. It could also be said that its roots are derived from compound document technology

CORBA DCOM

Page 21: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM Comparison Characteristics3 of 3

Deployment Characteristics

An ORB needs to be deployed on each server and each client

COM is included as part of Windows 95/98 and NT and soon many other operating systems. DCOM is available for Windows 95, included with Windows98 and NT 4.0

Different ORB implementations that adhere to the standard can achieve, at the most, source level compatibility, but not interchangeability of binary components

A single implementation is accomplished by a defined binary interoperability specification for how to access its interfaces using pointers and remote proxies; DCOM language bindings available for Visual C++, Visual J++, Visual Basic and Inprise’s Delphi (Pascal) and JBuilder

CORBA DCOM

Page 22: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware

CORBA Overview

DCOM Overview

CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 23: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM Integration True or False? - “The desktop belongs to Microsoft.”

True or False? - “The world will never be all NT.”

True or False? - “We will have to live with both.”

Potential CORBA and DCOM Integration Strategies:

Home-Grown - not recommended

OMG-Compliant via commercial middleware products that conform

to the OMG’s “Interworking Specification - Part A - COM/CORBA”;

Part B - DCOM/CORBA is being developed at this time

Visual Edge Software’s Object Bridge product

Page 24: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and COM Integration Strategies

Bridge

Bridge

Bridge

Bridge

AutomationClient

COMClient

CORBAClient

CORBAClient

CORBAObject

CORBAObject

AutomationObject

COMObject

OMG’s Interworking Specification (Part A) has Four Mappings:

Client Machine Server Machine

IIOP

IIOP

IIOP

IIOP

Page 25: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM IntegrationTrue or False? - “The desktop belongs to Microsoft.”

True or False? - “The world will never be all NT.”

True or False? - “We will have to live with both.”

Potential CORBA and DCOM Integration Strategies:

Home-Grown - not recommended

OMG-Compliant via commercial middleware products that conform to

the OMG’s “Interworking Specification - Part A - COM/CORBA”;

Part B - DCOM/CORBA is being developed at this time

Visual Edge’ Software’s Object Bridge product

Page 26: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

CORBA and DCOM Integration Strategies

+ Transparent - Proprietary even though the

+ Vendor neutral mappings are OMG compliant

+ Provides many-to- - Limited products (one?)

many bi-directional - Cost

communication - Complexity

+ Does not require - Limited exception handling

ActiveX developers to

learn CORBA and

vice versa

+ Licensed by ORB vendors

Visual Edge Software’s Object Bridge

Page 27: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware

CORBA Overview

DCOM Overview

CORBA & DCOM Comparison

CORBA & DCOM Integration• Java - Where does it fit in?• Summary

Page 28: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

What about Java? Created by Sun Microsystems (James Gosling et al.)

Sun’s JavaSoft division is now responsible for it

About 3-1/2 years old now

Another “blue-collar” language

“Best of” C++, Objective C, Modula-3, Lisp, and Mesa

Object-oriented from the ground up (unlike C++)

Syntactically approximates C++

1 of

3

Page 29: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

What about Java? Platform independent due to its bytecode compilation and Java Virtual

Machine runtime (anybody remember UCSD’s p-System from the

1970’s?)

Becoming an excellent “mobile objects” language via its applets and

servlets and its own Java OS [useful for PDA’s and other personal

appliances]

JVM’s supported by most popular web browsers

Microsoft’s Internet Explorer JVM treats Java applets as an ActiveX

(COM) component

Netscape includes Visigenic’s VisiBroker/Java CORBA ORB via IIOP

(Internet Inter-ORB Protocol)

2 of

3

Page 30: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

What about Java ? Remote Method Invocation (RMI) is Java’s native communication

for distributed computing (ORB-like)

SunSoft (not JavaSoft) division of Sun developed Java Object

Environment (Joe) to integrate Java with its CORBA-compliant

NEO ORB

JavaSoft will include Java IDL in the core Java platform

JavaSoft will add RMI support for CORBA IIOP

JavaSoft will work with OMG to extend CORBA IIOP functionality

to support popular RMI features

3 of

3

Page 31: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Presentation Topics Distributed Computing

Middleware

CORBA Overview

DCOM Overview

CORBA & DCOM Comparison

CORBA & DCOM Integration

Java - Where does it fit in?• Summary

Page 32: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

Summary Neither CORBA nor DCOM by itself will cover all aspects of

distributed computing requirements

Many other issues must be considered (ie., MOMs, RPCs and/or

TPs)

Project requirements and system configurations will need to be

evaluated to determine the appropriate object technology to apply

Management commitment to develop and/or recruit personnel

having expertise in object technology within the MIS/IT

organization

Page 33: Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University.

End of the Presentation

Thank you!