Title: Middleware:
1Middleware
- 1998 Ronald J. Norman, San Diego State University
2Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
3Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
4Distributed Computing
Definition
Parts of an application run on multiple
computers simultaneously.
aka Client/Server and Distributed Object
Computing/Technology (DOC/DOT)
5Distributed Computing Models
(Methods of distributing the 3-tier Application
Architecture across computing platforms)
Server(s) and/or mainframe(s)
Note Even though the figure depicts 3 physical
tiers, 2 or more will accomplish the same result.
Network with Middleware on both ends
6Distributed Computing
Benefits
- Usability - seamless and transparent to users
- Flexibility - processing independence
- New Capabilities - the net new business
applications
- Complexity - heterogeneous computing platforms
- Compatibility - impedance matching
- Manageability - distributed processing
- Organizational Infrastructure Cultural readiness
7Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
8Middleware
Definition
Software that facilitates the interoperability
of objects between heterogeneous computing
platforms.
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
9Middlewares Position within the Distributed
Computing Architecture
Communication Building Block Layers
Application
Application Program
User Service
Presentation
Object Request Broker (ORB)
Message Queuing
(CORBA, COM/DCOM, RMI,
Data Translation
Distributed
Message
SOM/DSOM)
Directory Service
Services
Routing
Nameing Service
X.500
X.400
Middleware
Messaging System (MOM)
Security
DNS
SMTP
Recovery
LDAP
MAPI
RPC (DCE, Netwise)
Broadcasting
etc...
etc...
Session Management
TP Monitor (CICS, Tuxedo)
OSI 7-Layer Reference Model
Session
Communication APIs (socket , APPC)
Transport
SPX, TCP, LU 6.2
Network
IPX, IP, DLC
Transport
Service
Data Link
NIC Driver
Physical
802.3, 802.5
10Middleware Classifications
Name Type Communication
Modes Examples
Core Service
Distributed Services
X.500, DNS, LDAP
Core Service
Message Routing
X.400, SMTP, MAPI
IBMs CICS Microsofts Transaction Server BEA
Tuxedo
Request/Reply - Synchronous Request/Reply -
Asynchronous Publish--Subscribe - Asynchronous
Transaction- Oriented
TP Monitors
RPCs (Remote Procedure Calls)
Function- Oriented
DCE Products
Request/Reply - Synchronous
MOMs (Message Oriented Middleware)
IBM MQSeries BEA MessageQ BEA Tuxedo Microsoft MQ
Event- Oriented
Request/Reply - Asynchronous Store--Forward -
Asynchronous Publish--Subscribe - Asynchronous
CORBAPlus Orbix NEO ObjectBroker
VisiBroker Javas RMI Microsofts DCOM
CORBA 2.0 Compliant
ORBs (Object Request Brokers)
Request/Reply - Synchronous (Note ORBs will be
enhanced in the near future to support
asynchronous communication modes)
Object- Oriented
11Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
12OMGs 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 OMGs 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
13The Common Object Request Broker (CORBA) 2.0
Architecture
Current IDL mappings include C/C, Smalltalk,
Ada, COBOL Java
GIOP General Inter-Orb Protocol IIOP
Internet Inter-Orb Protocol (TCP/IP)
14Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
15Microsofts DCOM
- DCOM (Distributed Component Object Model) is
Microsofts answer to distributed computing - COM (Component Object Model) is Microsofts
framework for creating and using software
components on a single computer - COM is Microsofts binary interoperability
standard - DCOM is based on OSFs 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
16Microsofts 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
17The COM/DCOM Architecture
DCOM is just COM with a longer wire. - Charlie
Kindel
Adapted from ActiveX and the Web, presented
by Charlie Kindel, Architect Chief Technical
Advisor, Microsoft, 1997
18Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
19CORBA and DCOM Comparison Characteristics
1 of 3
Vendor Support
CORBA
DCOM
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 source code provided
by either Microsoft or the Open Group. Validation
tests must be performed before certification
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
20CORBA and DCOM Comparison Characteristics
2 of 3
Platform Support
DCOM
CORBA
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
21CORBA and DCOM Comparison Characteristics
3 of 3
Deployment Characteristics
CORBA
DCOM
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
Inprises Delphi (Pascal) and JBuilder
22Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
23CORBA 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 OMGs Interworking
Specification - Part A - COM/CORBA Part B -
DCOM/CORBA is being developed at this time - Visual Edge Softwares Object Bridge product
24CORBA and COM Integration Strategies
OMGs Interworking Specification (Part A) has
Four Mappings
Client Machine
Server Machine
IIOP
IIOP
IIOP
IIOP
25CORBA 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 OMGs Interworking
Specification - Part A - COM/CORBA Part B -
DCOM/CORBA is being developed at this time - Visual Edge Softwares Object Bridge product
26CORBA and DCOM Integration Strategies
Visual Edge Softwares Object Bridge
- 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
27Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
28What about Java?
1 of 3
- Created by Sun Microsystems (James Gosling et
al.) - Suns 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
29What about Java?
2 of 3
- Platform independent due to its bytecode
compilation and Java Virtual Machine runtime
(anybody remember UCSDs p-System from the
1970s?) - Becoming an excellent mobile objects language
via its applets and servlets and its own Java OS
useful for PDAs and other personal appliances - JVMs supported by most popular web browsers
- Microsofts Internet Explorer JVM treats Java
applets as an ActiveX (COM) component - Netscape includes Visigenics VisiBroker/Java
CORBA ORB via IIOP (Internet Inter-ORB Protocol)
30What about Java ?
3 of 3
- Remote Method Invocation (RMI) is Javas 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
31Presentation Topics
- Distributed Computing
- Middleware
- CORBA Overview
- DCOM Overview
- CORBA DCOM Comparison
- CORBA DCOM Integration
- Java - Where does it fit in?
- Summary
32Summary
- 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
33End of the Presentation
Thank you!