[Previous] [Contents] [Next] [Orbix Home Page] [IONA Technologies]


1.6 Related Products

IONA's product range is continually extending. A brief outline of a number of products is given here. Further information can be found by contacting IONA Technologies.

1.6.1 OrbixTalk and the CORBA Event Service

In the Orbix programming model described in this guide, a client can request an operation to be executed by some application object in a server. Orbix is responsible for locating the object which is the target of the operation request, carrying out the request and returning the reply, if any. Orbix also activates the server in which the target object resides if it is not already prepared to receive invocations. In this model, communication between a client and an object is synchronous and one-to-one; the client is explictly aware of which object it is invoking. The client chooses an object and communicates directly with that object.

The OrbixTalk product presents a different programming model. It provides a reliable multicast messaging system whereby a message can be delivered to a number of recipients who register their interest in a particular type of message. The recipient of a message is an Orbix object contained within an application that is running on the same or a different host from the application that is sending the message. The same message may be received by objects in applications running on several different hosts within a subnet.

The sender of a message is termed a talker, the receiver is termed a listener. Talkers generate messages and listeners receive them. Any particular message stream is uni-directional, from one or more talkers to one or more listeners. The communication between the talker who sends the message and the listener who receives the message is decoupled because the sender has no way of finding out who are the recipients of its messages.

OrbixTalk MessageStore extends the OrbixTalk product by adding persistence. Using OrbixTalk MessageStore, a talkers's messages are stored on disk so that new listeners may request playback of messages of interest that had arrived prior to the launch of the listener or that arrived while the listener was temporarily unavailable.

OrbixTalk also supports the CORBA Event Service, one of the CORBAservices specified by OMG to extend the core CORBA standard. The Event Service is CORBA's specification of how applications that require decoupled communication semantics may be built. In the terminology of the Event Service, the sender of a mesage is a supplier and the receiver is a consumer. The Event Service defines two models of communication between suppliers and consumers: in the push model, suppliers supply events to consumers; in the pull model, consumers request events from suppliers. IONA's implementation of the Event Service extends the CORBA standard by offering multicast of messages and a MessageStore to provide persistence and playback of events.

1.6.2 OrbixNames

OrbixNames is IONA's implementation of another simple but useful CORBAservice, the Naming Service. The Naming Service specifies how to bind (associate) a name with an object and allow that object to be found subsequently by resolving the name within the Naming Service.

Most applications will find it easier to use OrbixNames than the Orbix _bind() function call in order to locate the objects they need to use. An advantage of OrbixNames is that the name associated with an object is independent of any properties of the object it refers to; in particular, a name is independent of an object's interface, server or host name. This is not the case with _bind() which provides a more primitive mechanism for obtaining an object reference.

1.6.3 OrbixWeb

The Java programming language is an object-oriented, architecture independent language which supports dynamic downloading of application components in a distributed system. As such, Java provides an ideal environment for the development of applications for the internet or large enterprise-wide intranets. Java overcomes many of the technical challenges posed by the diversity of underlying hardware and software technologies in these systems.

OrbixWeb introduces full Orbix functionality to the Java environment, with a complete mapping from CORBA IDL to Java. This allows Java programmers to exploit the advantages of CORBA standard connectivity to objects distributed across networks.

This integration extends the flexibility of Java, allowing Java applications to easily communicate with CORBA objects located on remote hosts, across heterogeneous platforms, and implemented in a wide range of programming languages.



[Previous] [Contents] [Next] [Orbix Home Page] [IONA Technologies]