An Architectural Comparison of Distributed Object Technologies

An Architectural Comparison of Distributed Object Technologies

An Architectural Comparison of Distributed Object Technologies by Jay Ongg ABSTRACT As developers develop larger systems, distributed object technologies came into the foreground to handle complexity. This thesis examines popular architectures of component software which can be scaled to handle large scale distributed systems. These architectures include OLE by Microsoft, CORBA by the Object Management Group, and Java Beans by Sun. Many issues need to be examined, such as what platforms will the system run on and the size of the network the system will run on. The decision of what architecture is suitable for a given complex system is crucial. This thesis provides a comparative analysis to provide a rational basis for selection. Supervisor: Nishikant Sonwalkar Title: Director, Hypermedia Teaching Facility TABLE OF CONTENTS 1. INTRODUCTION AND BACKGROUND............................................................................................................... 5 1.1 COMPONENT SOFTWARE.....................................................................................................................................5 1.2 OBJECTS...................................................................................................................................................................5 1.2.1 Encapsulation ............................................................................................................................................. 5 1.2.2 Polymorphism.............................................................................................................................................. 6 1.2.3 Inheritance................................................................................................................................................... 6 1.3 OUT-OF-PROCESS OBJECTS...................................................................................................................................7 1.3.1 Local Out-of-process Objects.................................................................................................................... 7 1.3.2 Remote Objects ............................................................................................................................................ 7 1.4 DISTRIBUTED OBJECT TECHNOLOGIES.............................................................................................................8 2. CORBA SPECIFICATION........................................................................................................................................ 9 2.1 OVERVIEW...............................................................................................................................................................9 2.2 ARCHITECTURE ...................................................................................................................................................10 2.2.1 Object Request Broker (ORB).................................................................................................................10 2.2.2 IDL ...............................................................................................................................................................10 2.2.3 Object Adapters.........................................................................................................................................11 2.2.4 Interface Repository (IR) .........................................................................................................................11 2.2.5 Implementation Repository.....................................................................................................................12 2.2.6 Dynamic Invocation Interface (DII) ......................................................................................................12 2.2.7 Dynamic Skeleton Interface (DSI) .........................................................................................................12 2.2.8 Internet Interoperability Protocol (IIOP) and the Intergalactic Object Bus................................12 2.3 CORBASERVICES AND THE OBJECT MANAGEMENT ARCHITECTURE (OMA)........................................13 2.4 CORBAFACILITIES AND CORBADOMAINS.....................................................................................................13 3. OLE..............................................................................................................................................................................14 3.1 COMPONENT OBJECT MODEL (COM) AND DISTRIBUTED COM (DCOM)...............................................14 3.1.1 Interfaces and Classes..............................................................................................................................15 3.1.2 IUnknown and its members.....................................................................................................................15 3.1.3 MIDL and RPC ..........................................................................................................................................15 3.1.4 Object Registration...................................................................................................................................16 3.1.5 Local/Remote Transparency...................................................................................................................17 3.1.6 COM Services and Features ...................................................................................................................17 3.1.7 Distributed Component Object Model (DCOM) .................................................................................17 3.2 OLE AUTOMATION.............................................................................................................................................18 3.2.1 Dispinterfaces and IDispatch .................................................................................................................18 3.2.2 Locales........................................................................................................................................................19 3.2.3 Remote Automation ..................................................................................................................................19 3.3 ACTIVEX AND THE INTERNET .........................................................................................................................19 3.3.1 Architecture and Example.......................................................................................................................20 3.3.2 ActiveX controls and the Internet..........................................................................................................20 4. JAVA SOLUTIONS..................................................................................................................................................21 4.1 APPLETS...............................................................................................................................................................21 4.1.1 Untrusted Applets .....................................................................................................................................21 4.1.2 Trusted Applets..........................................................................................................................................21 4.2 JAVA DISTRIBUTED OBJECT MODEL (RMI) ...................................................................................................22 4.2.1 Dynamic Class Loading...........................................................................................................................22 4.2.2 ByteCode Passing.....................................................................................................................................23 4.3 JAVABEANS...........................................................................................................................................................23 4.3.1 JavaBeans Features .................................................................................................................................23 2 4.3.2 Bridging......................................................................................................................................................23 4.3.3 Downloading and Packaging................................................................................................................24 5. SPECIFICATION COMPARISONS......................................................................................................................25 5.1 ARCHITECTURES.................................................................................................................................................25 5.1.1 Standard Objects.......................................................................................................................................25 5.1.2 Dynamically Bindable Objects...............................................................................................................27 5.1.3 Downloadable Objects.............................................................................................................................28 5.2 LANGUAGES AND DEVELOPMENT TOOLS.......................................................................................................29 5.2.1 CORBA Language Support.....................................................................................................................29

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    99 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us