Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University."— Presentation transcript:

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

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

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

4 Distributed Computing* “Parts of an application run on multiple computers simultaneously.” Definition: * aka: Client/Server and Distributed Object Computing/Technology (DOC/DOT)

5 Distributed Computing Models Data Management Data Management Business Logic/Rules Business Logic/Rules Presentation Application Architecture FileServer PC “Fat Client” “Thin Client” and “3-Tier (N-Tier)” Application Architecture PC Data Management Data Management Business Logic/Rules Business Logic/Rules Presentation 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 (Methods of distributing the 3-tier Application Architecture across computing platforms)

6 Distributed Computing u Usability - seamless and transparent to users u Flexibility - processing independence u New Capabilities - the “net”; new business applications Challenges u Complexity - heterogeneous computing platforms u Compatibility - impedance matching u Manageability - distributed processing u Organizational Infrastructure & Cultural readiness Benefits

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

8 Middleware Complexity Compatibility Manageability Challenges “Software that facilitates the interoperability of objects between heterogeneous computing platforms.” Definition: } Middleware... u is the “slash” (/) in Client/Server (DOC) Technology u is the “glue” that holds Distributed Computing together u “sits” between clientware & serverware u is intended to make the network completely transparent u is “plumbing” which is not glamorous but very important

9 Middleware’s Position within the Distributed Computing Architecture Physical Data Link Network Transport Session Presentation Application OSI 7-Layer Reference Model 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) Middleware 802.3, 802.5 (CORBA, COM/DCOM, RMI, SOM/DSOM) Transport Service User Service Message Queuing Data Translation Directory Service Nameing Service Security Recovery Broadcasting Session Management NIC Driver Distributed Services: X.500 DNS LDAP etc... Message Routing: X.400 SMTP MAPI etc... Communication Building Block Layers

10 Middleware Classifications Name Type Communication Modes Examples RPCs (Remote Procedure Calls) MOMs (Message Oriented Middleware) ORBs ( Object Request Brokers) Function- Oriented Object- Oriented Event- Oriented Request/Reply - Synchronous DCE Products IBM MQSeries BEA MessageQ BEA Tuxedo Microsoft MQ CORBAPlus* Orbix & NEO* ObjectBroker* VisiBroker* Java’s RMI Microsoft’s DCOM * = CORBA 2.0 Compliant Distributed Services Core Service X.500, DNS, LDAP Message Routing Core Service X.400, SMTP, MAPI TP Monitors Transaction- Oriented IBM’s CICS Microsoft’s Transaction Server BEA Tuxedo Request/Reply - Asynchronous Store-&-Forward - Asynchronous Publish-&-Subscribe - Asynchronous Request/Reply - Synchronous (Note: ORBs will be enhanced in the near future to support asynchronous communication modes) Request/Reply - Synchronous Request/Reply - Asynchronous Publish-&-Subscribe - Asynchronous

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

12 OMG’s CORBA u OMG is the Object Management Group Consortium organized by a handful of organizations in 1989; today it has over 800 member organizations including Microsoft u CORBA (Common Object Request Broker Architecture) is the OMG’s most visible Product u CORBA is a Reference Architecture Specification for object interoperability between heterogeneous computing platforms u CORBA Version 2.0 adopted in December 1994 u Software vendors create CORBA implementations based on the reference specification and have these implementations certified by the OMG as being CORBA-Compliant

13 The Common Object Request Broker (CORBA) 2.0 Architecture Client Object Implementation ORB Core Dynamic Invocation Interface IDL Stubs ORB Interface Static IDL Skeleton Dynamic Skeleton Interface Basic Object Adapter GIOP/IIOP Implementation Repository Interface Repository 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

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

15 Microsoft’s DCOM u DCOM (Distributed Component Object Model) is Microsoft’s “answer” to distributed computing u COM (Component Object Model) is Microsoft’s framework for creating and using software components [on a single computer] u COM is Microsoft’s binary interoperability standard u DCOM is based on OSF’s DCE RPC specification u “DCOM is just COM with a longer wire.” - Charlie Kindel, Microsoft OSF = Open Software Foundation DCE = Distributed Computing Environ. RPC = Remote Procedure Call

16 Microsoft’s DCOM u COM/DCOM History: v 1990 - DDE and OLE 1.0 (cut & paste) v 1993 - OLE Automation (OLE2) & COM1 (compound documents) v 1996 - Automation (COM2) & DCOM; ActiveX becomes the marketing name for Automation/COM/DCOM components v Sept. 1997 - COM+ (COM3) announced u Ships w/Windows NT 4.0 u Available for Windows95 and ships with Windows98 u Available now on a few heterogeneous OS platforms DDE = Dynamic Data Exchange OLE = originally: Object-Linking-and-Embedding

17 The COM/DCOM Architecture* Client Component  In the same process  Fast, direct function calls Client Component COM Client Process Server Process  On the same machine  Fast, secure IPC  Across machines  Secure, reliable and flexible DCE-RPC based DCOM protocol COM DCE RPC Client Server Machine Client Machine COM Component * 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

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

19 CORBA and DCOM Comparison Characteristics 1 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

20 CORBA and DCOM Comparison Characteristics 2 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

21 CORBA and DCOM Comparison Characteristics 3 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

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

23 CORBA and DCOM Integration u True or False? - “The desktop belongs to Microsoft.” u True or False? - “The world will never be all NT.” u True or False? - “We will have to live with both.” u Potential CORBA and DCOM Integration Strategies: v Home-Grown - not recommended v 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 v Visual Edge Software’s Object Bridge product

24 CORBA and COM Integration Strategies Bridge Automation Client COM Client CORBA Client CORBA Client CORBA Object CORBA Object Automation Object COM Object OMG’s Interworking Specification (Part A) has Four Mappings: Client Machine Server Machine IIOP

25 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 v Visual Edge’ Software’s Object Bridge product

26 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

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

28 What about Java? u Created by Sun Microsystems (James Gosling et al.) u Sun’s JavaSoft division is now responsible for it u About 3-1/2 years old now u Another “blue-collar” language u “Best of” C++, Objective C, Modula-3, Lisp, and Mesa u Object-oriented from the ground up (unlike C++) u Syntactically approximates C++ 1 of 3

29 What about Java? u Platform independent due to its bytecode compilation and Java Virtual Machine runtime (anybody remember UCSD’s p-System from the 1970’s?) u Becoming an excellent “mobile objects” language via its applets and servlets and its own Java OS [useful for PDA’s and other personal appliances] u JVM’s supported by most popular web browsers u Microsoft’s Internet Explorer JVM treats Java applets as an ActiveX (COM) component u Netscape includes Visigenic’s VisiBroker/Java CORBA ORB via IIOP (Internet Inter-ORB Protocol) 2 of 3

30 What about Java ? u Remote Method Invocation (RMI) is Java’s native communication for distributed computing (ORB-like) u SunSoft (not JavaSoft) division of Sun developed Java Object Environment (Joe) to integrate Java with its CORBA-compliant NEO ORB u JavaSoft will include Java IDL in the core Java platform u JavaSoft will add RMI support for CORBA IIOP u JavaSoft will work with OMG to extend CORBA IIOP functionality to support popular RMI features 3 of 3

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

32 u Neither CORBA nor DCOM by itself will cover all aspects of distributed computing requirements u Many other issues must be considered (ie., MOMs, RPCs and/or TPs) u Project requirements and system configurations will need to be evaluated to determine the appropriate object technology to apply u Management commitment to develop and/or recruit personnel having expertise in object technology within the MIS/IT organization

33 End of the Presentation Thank you!


Download ppt "Middleware: CORBA & DCOM  1998 Ronald J. Norman, San Diego State University."

Similar presentations


Ads by Google