1 / 33

Middleware:

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.

joben
Download Presentation

Middleware:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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* Definition: “Parts of an application run on multiple computers simultaneously.” * aka: Client/Server and Distributed Object Computing/Technology (DOC/DOT)

  5. “Fat Client” • “Thin Client” and “3-Tier (N-Tier)” File Server Data Management Data Management Business Logic/Rules Business Logic/Rules Application Architecture Application Architecture Presentation Presentation PC PC Distributed 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

  6. 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 Challenges Distributed Computing 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. } Challenges • Complexity • Compatibility • Manageability 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 Definition: “Software that facilitates the interoperability of objects between heterogeneous computing platforms.” Middleware...

  9. Middleware’s 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

  10. Middleware Classifications Name Type Communication Modes Examples Core Service Distributed Services X.500, DNS, LDAP Core Service Message Routing X.400, SMTP, MAPI IBM’s CICS Microsoft’s 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* Java’s RMI Microsoft’s 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

  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 • 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

  13. in args operation() Object Implementation Client out args + return value Implementation Repository Interface Repository Static IDL Skeleton Dynamic Skeleton Interface Basic Object Adapter ORB Interface Dynamic Invocation Interface IDL Stubs ORB Core GIOP/IIOP The 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)

  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 • 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

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

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

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

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

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

  21. 3 of 3 CORBA and DCOM Comparison Characteristics 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 Inprise’s Delphi (Pascal) and JBuilder

  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 • 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

  24. CORBA Object Automation Client Bridge COM Client CORBA Object Bridge Automation Object CORBA Client Bridge CORBA Client COM Object Bridge CORBA and COM Integration Strategies OMG’s Interworking Specification (Part A) has Four Mappings: Client Machine Server Machine IIOP IIOP IIOP 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 • Visual Edge’ Software’s Object Bridge product

  26. CORBA and DCOM Integration Strategies Visual Edge Software’s 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

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

  28. 1 of 3 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++

  29. 2 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)

  30. 3 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

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

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

  33. End of the Presentation Thank you!

More Related