Distributed Object-Oriented Architectures
Sockets, Java RMI and CORBA
- Art: Diplomarbeit
- Autor: Josef Stepisnik
- Abgabedatum: Dezember 2005
- Umfang: 109 Seiten
- Dateigröße: 632,9 KB
- Note: 1,0
- Institution / Hochschule: Technische Universität Wien Österreich
- ISBN (eBook): 978-3-8324-9333-2
- ISBN (CD) :978-3-8324-9333-2 CD
- Sprache: Englisch
- Prämierung:
- Arbeit zitieren: Stepisnik, Josef Dezember 2005: Distributed Object-Oriented Architectures, Hamburg: Diplomica Verlag
- Schlagworte: Verteiltes System, Java Sockets, RMI, CORBA, Computing
In den Warenkorb
58,00 €
Diplomarbeit von Josef Stepisnik
Abstract:
Distributed computing is playing an increasingly important role in many areas of industry, the sciences, in business processes and in the development of new and emerging technologies. It facilitates inter-process communication across heterogeneous networks, hardware platforms and operating systems.
We compare four distributed and object-oriented architectures: Sockets in Java 2, Sockets in Berkeley Unix, Remote Method Invocation in Java - RMI - and the Common Object Request Broker Architecture - CORBA - of the Object Management Group consortium. We provide a survey of each of the distributed architectures including its constituting components. To present the architectures in a practical context, we amend each survey with a corresponding application framework.
We conclude with a comparative study of the Socket APIs in Java 2 and in Berkeley UNIX and the distributed object models of Java RMI and CORBA. Although the distributed object model as defined by CORBA represents an adopted industry standard, Java RMI has features unattainable by CORBA.
The first part of the discussion offers a comprehensive overview of the Socket architecture in Java 2 and Berkeley UNIX and the distributed object model of Java Remote Method Invocation and the Common Object Request Broker Architecture.
The second part concludes the discussion with a comparative study of selected features with emphasis on the Common Object Request Broker Architecture and Java Remote Method Invocation.
Chapter 1 - The TCP/IP Protocol Suite: We provide an introductory overview of the TCP/IP protocol suite and its architecture including layers and protocols. The TCP/IP architecture is based on three concepts: processes, layers and protocols. There is no official protocol model as compared to the OSI proposal. We can however devise a logical structure of the TCP/IP protocol suit based on the associated protocols and their relationships. The chapter concludes with a brief discussion of Internet-related organizations and standards.
Chapter 2 - Sockets in Berkeley Unix: We present the Berkeley UNIX socket architecture in relation to the Internet communication domain and illustrate connection-oriented and connectionless models of communication. The socket architecture forms the basis for the development of distributed applications. A socket represents an endpoint of communication for connectionless or connection-oriented protocols. A socket address data structure constitutes a platform for the communication of host address information between the operating system and the network application. A connection-oriented model of communication uses the Transmission Control Protocol. Transmission of data is in the form of segments. A connectionless model of communication is based on the User Datagram Protocol and the transmission of data is in the form of datagrams.
Chapter 3 - Sockets in Java 2: We describe the Java 2 socket architecture, outline selected socket operations, introduce related packages and classes and conclude with a framework for a connection-oriented and connectionless model of communication. The Java 2 socket architecture was developed by Sun Microsystems, Inc. and is proprietary and language constrained. It is made available in the form of a class library referred to as package java.net and is functionally similar to the sockets API introduced by Berkeley UNIX. The class library provides for hostname resolution and reverse host name resolution. In addition, classes are available for the transmission of data across connection-oriented or connection-less channels of communication.
Chapter 4 - Remote Method Invocation in Java: We present a distributed object model in Java RMI, provide an overview of related interfaces, classes and packages and discuss security related issues. We conclude with the development of a framework for a distributed object application. Remote Method Invocation was developed by Sun Microsystems, Inc. It is a proprietary and language-constrained technology. Invocations of remote and local methods are syntactically identical. They differ only in the types of parameters and return values. Remote objects can be uniquely identified within a Java distributed object model based on their remote object references. Java RMI uses an enhanced model of security in its recent releases. Every RMI client application and object server requires the presents of an RMI security manager and the specification of a security policy file.
Chapter 5 - Common Object Request Broker Architecture: We introduce a distributed object model for the Common Object Request Broker Architecture and outline design concepts including the Interface Definition Language and the Interoperable Naming Service. We conclude with the development of a framework for a distributed object application. CORBA was developed in the form of a set of specifications by members of the Object Management Group consortium and is vendor-independent. It has developed into an industry standard and provides transparency and interoperability across different hardware platforms and operating systems.
Chapter 6 - Comparative Study of Distributed Architectures: We present a comparative study of socket architectures and distributed object models introduced in part one of this document. It provides an overview of the technical capabilities, similarities and areas of application in industry of each of these architectures.
Chapter 7 – Summary: We conclude the document with a brief summary and detailed annotated bibliographic references of papers, technical articles, standards, and specifications.
This document is based on specifications, guidelines, Internet drafts and Internet standards issued by the Object Management Group consortium, Sun Microsystems, Inc. and the Internet Engineering Task Force – IETF.
In particular, the material for the TCP/IP protocol suit was obtained from IETF. Its responsibility includes the dissemination of Internet Drafts, referred to as Ready for Comments – RFCs. The chapters on the Java 2 Socket API and the Java Remote Method Invocation architecture are based on specifications provided by Sun Microsystems, Inc. The Sockets API in Berkeley UNIX is outlined in the corresponding documentation of Release 4.2. The Common Object Request Broker Architecture is documented in great detail in the form of specifications and introductory material issued by the Object Management Group consortium.
Zusammenfassung:
Die Anwendung verteilter Systeme erhält zunehmende Bedeutung in vielen industriellen Bereichen, in den Wissenschaften, in Geschäftsprozessen und in der Entwicklung neuer und entstehender Technologien. Sie ermöglichen eine Interprozesskommunikation über heterogene Netzwerke, Hardware-Plattformen und Betriebssysteme.
Wir vergleichen vier verteilte und objektorientierte Architekturen: Sockets in Java 2 und in Berkeley UNIX, Remote Method Invokation in Java – RMI – und die Common Object Request Broker Architecture – CORBA – des Object Management Group Konsortiums.
Wir erstellen einen detaillierten Überblick zu den einzelnen verteilten Architekturen einschließlich ihrer konstituierenden Komponenten. Um die Architekturen in einem praktischen Kontext darzustellen, erweitern wir jede unserer Betrachtungen um eine dazugehörige illustrierende Applikation. Wir beenden unsere Betrachtungen mit einer vergleichenden Studie über die Socket APIs in Java 2 und Berkeley UNIX und die verteilten Objektmodelle von Java RMI und CORBA.
Obwohl das verteilte Objektmodell von CORBA einen anerkannten Industriestandard repräsentiert, bietet Java RMI dennoch Eigenschaften, welche für CORBA unerreichbar sind.
Table of Contents:
| Abstract | iv | |
| Kurzfassung | v | |
| Introduction | vi | |
| 1. | The TCP/IP Protocol Suite | 1 |
| Overview | 1 | |
| 1.1 | Architecture | 1 |
| Constituent Components | 2 | |
| Protocol Data Unit | 4 | |
| 1.2 | Layers and Protocols | 5 |
| Data Link Layer | 5 | |
| Network Layer | 5 | |
| Transport Layer | 8 | |
| 1.3 | Organizations and Standards | 8 |
| Internet-Related Organizations | 8 | |
| Internet Standards | 9 | |
| 2. | Sockets in Berkeley Unix | 11 |
| Overview | 11 | |
| 2.1 | Architecture | 11 |
| Network Address Data Structure | 11 | |
| Network Address Byte Order and Conversion | 12 | |
| Host Information | 14 | |
| Socket Operations | 14 | |
| Additional Socket Information | 18 | |
| 2.2 | Connection-Orient Model of Communication | 18 |
| Network Logic | 10 | |
| Concurrent Application Framework | 20 | |
| Distribution of Incoming TCP Segments in Concurrent Applications | 21 | |
| 2.3 | Connectionless Model of Communication | 21 |
| Network Logic | 22 | |
| Concurrent Application Framework | 23 | |
| Distribution of Incoming UDP Datagrams in Concurrent Applications | 24 | |
| 3. | Sockets in Java 2 | 25 |
| Overview | 25 | |
| 3.1 | Architecture | 25 |
| Host Information | 26 | |
| Identifying and Accessing Resources on the Internet | 27 | |
| Connection-Oriented Socket Operations | 29 | |
| Connectionless Socket Operations | 31 | |
| 3.2 | Connection-Orient Model of Communication | 33 |
| Network Logic | 33 | |
| Concurrent Application Framework | 33 | |
| Distribution of Incoming TCP Segments in Concurrent Applications | 35 | |
| 3.3 | Connectionless Model of Communication | 35 |
| Network Logic | 36 | |
| Concurrent Application Framework | 36 | |
| Distribution of Incoming UDP Datagrams in Concurrent Applications | 38 | |
| 4. | Java Remote Method Invocation - RMI | 39 |
| Overview | 39 | |
| 4.1 | Distributed Object Model in Java RMI | 39 |
| Design Concepts: Remote Interface, Remote Object and Remote Method Invocation | 40 | |
| Remote Objects and Non-Remote Objects | 40 | |
| 4.2 | Architecture | 41 |
| Overview of Interfaces, Classes and Packages | 41 | |
| Communication with Remote Objects | 43 | |
| Dynamic Class Downloading in Java RMI | 45 | |
| 4.3 | Security Considerations in Java RMI | 45 |
| Security Manager | 45 | |
| Security Policy File | 46 | |
| 4.4 | Application Development Process in Java RMI | 47 |
| Object Server and Client Application | 47 | |
| Security Policy Files and Runtime Options | 49 | |
| 5. | Common Object Request Broker Architecture | 50 |
| Overview | 50 | |
| 5.1 | Distributed Object Model in CORBA | 50 |
| Design Concepts | 51 | |
| Object Management Group | 52 | |
| 5.2 | Interface Definition Language | 52 |
| OMG Interface Definition Language | 52 | |
| IDL to Java Language Mapping | 52 | |
| 5.3 | Interoperable Naming Service | 53 |
| Overview | 53 | |
| Design Objectives | 54 | |
| Common Object Services - Naming Service | 54 | |
| 5.4 | Portable Object Adapter | 55 |
| Architecture | 55 | |
| Overview and Design Objectives | 55 | |
| 5.5 | Application Development Process in CORBA | 56 |
| Server Model and Client Model | 56 | |
| Naming Service | 57 | |
| Interface Definition File | 57 | |
| Object Server and Client Application | 57 | |
| 6. | Comparative Study of Distributed Architectures | 61 |
| Overview | 61 | |
| 6.1 | Sockets in Java 2 and Berkeley UNIX | 61 |
| Two-Tier Model of Communication | 61 | |
| Socket Architectures | 63 | |
| Available Communication Domains | 64 | |
| Transport Layer Protocols | 65 | |
| Scalability of Application Development | 66 | |
| Portability and Interoperability | 68 | |
| Areas of Application | 69 | |
| Application Development Tools and Libraries | 70 | |
| Educational Effort | 70 | |
| 6.2 | Java RMI and CORBA | 70 |
| Distributed Object Model in Java RMI | 70 | |
| Distributed Object Model in CORBA | 72 | |
| Expressiveness of OMG IDL in Relation to Java 2 | 73 | |
| Scalability of Application Development | 79 | |
| Portability and Interoperability | 79 | |
| Areas of Application | 80 | |
| Application Development Tools, Libraries and Policy Files | 81 | |
| Educational Effort | 81 | |
| 6.3 | Conclusions and Comparative Tables | 82 |
| Sockets in Java 2 and Berkeley UNIX | 82 | |
| Java RMI and CORBA | 83 | |
| Expressiveness of OMG IDL in Relation to Java 2 | 84 | |
| 7. | Summary | 85 |
| Annotated Bibliography | 86 | |
| Appendix (Poster) | 91 |
In den Warenkorb
58,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832493332
Arbeit zitieren:
Stepisnik, Josef Dezember 2005: Distributed Object-Oriented Architectures, Hamburg: Diplomica Verlag
Schlagworte:
Verteiltes System, Java Sockets, RMI, CORBA, Computing



