Middleware: CORBA & DCOM 1998 Ronald J. Norman, San Diego State University.
-
Upload
damon-james -
Category
Documents
-
view
217 -
download
0
Transcript of Middleware: CORBA & DCOM 1998 Ronald J. Norman, San Diego State University.
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
Presentation Topics• Distributed Computing• Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
Distributed Computing*
“Parts of an application run on multiple computers simultaneously.”
Definition:
* aka: Client/Server and Distributed Object Computing/Technology (DOC/DOT)
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)
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
Presentation Topics Distributed Computing• Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
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
Presentation Topics Distributed Computing
Middleware• CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
Presentation Topics Distributed Computing
Middleware
CORBA Overview• DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
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
Presentation Topics Distributed Computing
Middleware
CORBA Overview
DCOM Overview• CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
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
Presentation Topics Distributed Computing
Middleware
CORBA Overview
DCOM Overview
CORBA & DCOM Comparison• CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
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
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
Presentation Topics Distributed Computing
Middleware
CORBA Overview
DCOM Overview
CORBA & DCOM Comparison
CORBA & DCOM Integration• Java - Where does it fit in?• Summary
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
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
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
Presentation Topics Distributed Computing
Middleware
CORBA Overview
DCOM Overview
CORBA & DCOM Comparison
CORBA & DCOM Integration
Java - Where does it fit in?• Summary
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
End of the Presentation
Thank you!