General Inter-ORB Protocol

Last updated

In distributed computing, General Inter-ORB Protocol (GIOP) is the message protocol by which object request brokers (ORBs) communicate in CORBA. Standards associated with the protocol are maintained by the Object Management Group (OMG). The current version of GIOP is 2.0.2. The GIOP architecture provides several concrete protocols, including:

Contents

  1. Internet InterORB Protocol [1] (IIOP) The Internet Inter-Orb Protocol is an implementation of the GIOP for use over the Internet, and provides a mapping between GIOP messages and the TCP/IP layer. [2]
  2. SSL InterORB Protocol (SSLIOP) SSLIOP is IIOP over SSL, providing encryption and authentication.
  3. HyperText InterORB Protocol (HTIOP) HTIOP is IIOP over HTTP, providing transparent proxy bypassing.
  4. Zipped InterORB Protocol (ZIOP) A zipped version of GIOP that reduces the bandwidth usage

Environment Specific Inter-ORB Protocols

As an alternative to GIOP, CORBA includes the concept of an Environment Specific Inter-ORB Protocol (ESIOP). While GIOP is defined to meet general-purpose needs of most CORBA implementations, an ESIOP attempts to address special requirements. For example, an ESIOP might use an alternative protocol encoding to improve efficiency over networks with limited bandwidth or high latency. ESIOPs can also be used to layer CORBA on top of some non-CORBA technology stack, such as Distributed Computing Environment (DCE). [3] [4]

DCE Common Inter-ORB Protocol (DCE-CIOP) is an ESIOP for use in DCE. It maps CORBA to DCE RPC and CDR (Command Data Representation). [3] [5] :48 [4] DCE-CIOP is defined in chapter 16 of the CORBA 2.6.1 standard. [1]

Messages

The General Inter-ORB Protocol (GIOP) is the message protocol used by object request brokers (ORBs) to communicate in CORBA-based distributed computing systems. GIOP 2.0.2 is the current version of this protocol, and it provides a number of concrete protocols such as IIOP, SSLIOP, HTIOP, and ZIOP. IIOP is a mapping of GIOP messages to the TCP/IP layer for use over the Internet, while SSLIOP provides encryption and authentication. HTIOP, on the other hand, enables transparent proxy bypassing by using IIOP over HTTP. Finally, ZIOP is a compressed version of GIOP that minimizes bandwidth usage. In addition to these protocols, CORBA also includes the concept of an Environment Specific Inter-ORB Protocol (ESIOP) to address specific requirements. An ESIOP can use an alternative protocol encoding to improve efficiency over networks with limited bandwidth or high latency, or can be used to layer CORBA on top of non-CORBA technologies such as DCE. DCE Common Inter-ORB Protocol (DCE-CIOP) is an ESIOP that maps CORBA to DCE RPC and CDR. [6]

Further reading

See also

Related Research Articles

The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP). Early versions of this networking model were known as the Department of Defense (DoD) model because the research and development were funded by the United States Department of Defense through DARPA.

In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space, which is written as if it were a normal (local) procedure call, without the programmer explicitly writing the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client–server interaction, typically implemented via a request–response message-passing system. In the object-oriented programming paradigm, RPCs are represented by remote method invocation (RMI). The RPC model implies a level of location transparency, namely that calling procedures are largely the same whether they are local or remote, but usually, they are not identical, so local calls can be distinguished from remote calls. Remote calls are usually orders of magnitude slower and less reliable than local calls, so distinguishing them is important.

<span class="mw-page-title-main">SOAP</span> Messaging protocol for web services

SOAP is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA uses an object-oriented model although the systems that use the CORBA do not have to be object-oriented. CORBA is an example of the distributed object paradigm.

The Java Transaction Service (JTS) is a specification for building a transaction manager that maps onto the Object Management Group (OMG) Object Transaction Service (OTS) used in the Common Object Request Broker Architecture (CORBA) architecture. It uses General Inter-ORB Protocol (IIOP) to propagate the transactions between multiple JTS transaction managers.

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call system. NFS is an open IETF standard defined in a Request for Comments (RFC), allowing anyone to implement the protocol.

In the seven-layer OSI model of computer networking, the session layer is layer 5.

<span class="mw-page-title-main">Meta-Object Facility</span> Standard of Object Management Group

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. MOF may be used for domain-driven software design and object-oriented modelling.

<span class="mw-page-title-main">Inter-process communication</span> How computer operating systems enable data sharing

In computer science, inter-process communication (IPC), also spelled interprocess communication, are the mechanisms provided by an operating system for processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing.

<span class="mw-page-title-main">Interface description language</span> Computer language used to describe a software components interface

An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java.

An application layer is an abstraction layer that specifies the shared communication protocols and interface methods used by hosts in a communications network. An application layer abstraction is specified in both the Internet Protocol Suite (TCP/IP) and the OSI model. Although both models use the same term for their respective highest-level layer, the detailed definitions and purposes are different.

In distributed computing, an object request broker (ORB) is a concept of a middleware, which allows program calls to be made from one computer to another via a computer network, providing location transparency through remote procedure calls. ORBs promote interoperability of distributed object systems, enabling such systems to be built by piecing together objects from different vendors, while different parts communicate with each other via the ORB. Common Object Request Broker Architecture standardizes the way ORB may be implemented.

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.

In distributed computing, CSIv2 is a protocol implementing security features for inter-ORB communication. It intends, in part, to address limitations of SSLIOP.

The Resource Reservation Protocol (RSVP) is a transport layer protocol designed to reserve resources across a network using the integrated services model. RSVP operates over an IPv4 or IPv6 and provides receiver-initiated setup of resource reservations for multicast or unicast data flows. It does not transport application data but is similar to a control protocol, like Internet Control Message Protocol (ICMP) or Internet Group Management Protocol (IGMP). RSVP is described in RFC 2205.

Modbus or MODBUS is a client/server data communications protocol in the application layer of the OSI model. It was originally published by Modicon in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol for communication between industrial electronic devices in a wide range of buses and network.

Digital storage media command and control (DSM-CC) is a toolkit for developing control channels associated with MPEG-1 and MPEG-2 streams. It is defined in part 6 of the MPEG-2 standard and uses a client/server model connected via an underlying network.

The Data Distribution Service (DDS) for real-time systems is an Object Management Group (OMG) machine-to-machine standard that aims to enable dependable, high-performance, interoperable, real-time, scalable data exchanges using a publish–subscribe pattern.

Inter-Language Unification or ILU is a method for computer systems to exchange data, bridging differences in the way systems represent the various kinds of data. Even if two systems run on the same computer, or on identical computer hardware, many differences arise from the use of different computer languages to build the systems.

RMI-IIOP denotes the Java Remote Method Invocation (RMI) interface over the Internet Inter-Orb Protocol (IIOP), which delivers Common Object Request Broker Architecture (CORBA) distributed computing capabilities to the Java platform. It was initially based on two specifications: the Java Language Mapping to OMG IDL, and CORBA/IIOP 2.3.1.

References

  1. 1 2 "The DCE ESIOP". The Common Object Request Broker: Architecture and Specification: Revision 2.6.1 (PDF). OMG. May 2002. p. 557. Retrieved 2016-05-11. This chapter specifies an Environment-Specific Inter-ORB Protocol (ESIOP) for the OSF DCE environment, the DCE Common Inter-ORB Protocol (DCE-CIOP).
  2. "IIOP: OMG's Internet Inter-ORB Protocol: A Brief Description". Archived from the original on 2014-06-28. Retrieved 2014-08-19.
  3. 1 2 Linda Rising (23 July 2001). Design Patterns in Communications Software. Cambridge University Press. p. 445. ISBN   978-0-521-79040-6. In addition to the standard GIOP and IIOP protocols, the CORBA specification allows ORB implementors to define Environment Specific Inter-ORB Protocols (ESIOP)s... Only one ESIOP protocol is defined in the CORBA 2.x family of specifications: the DCE Common Inter-ORB Protocol (DCE-CIOP). The OMG is attempting to standardize other protocols for such domains, such as wireless and mobile systems, which have unique performance characteristics and optimization points.
  4. 1 2 Zahir Tari; Omran Bukhres (7 April 2004). Fundamentals of Distributed Object Systems: The CORBA Perspective. John Wiley & Sons. p. 178. ISBN   978-0-471-46411-2. ESIOP (Environment Specific Inter-ORB Protocol) is a concrete GIOP protocol which is used to communicate in a particular environment. An ESIOP is optimized for a specific environment and may be chosen over TCP/IP... An example of ESIOP is DCE-CIOP (DCE-Common Inter-ORB Protocol) which makes use of a subset of DCE-RPC facilities and parts of GIOP specification.
  5. Kim, Dong Jin; Namgoong, Han; Lew, Young-Chul (5 December 1997). Danthine, Andre; Diot, Christophe (eds.). A bridge for heterogeneous communication between CORBA and DCE. From Multimedia Services to Network Services: 4th International COST 237 Workshop, Lisboa, Portugal, December 15-19, 1997. Proceedings. Springer. pp. 45–58. ISBN   978-3-540-63935-0. The other approach is using Environment Specific Inter-ORB Protocol(ESIOP), the DCE Common Inter-ORB Protocol(DCE-CIOP). DCE-CIOP messages represent OMG IDL types by using the Common Data Representation(CDR) transfer syntax.
  6. "About the Common Object Request Broker Architecture Specification Version 3.4". www.omg.org. Retrieved 2023-04-13.