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


1.5 Technology Integration

Orbix is the centre of a growing number of technology integrations in which the features of some other technology are made more accessible through the use of Orbix, or the features of Orbix are complemented by combining them with other technologies. A brief outline of a number of these is presented in this section and more information can be found by contacting IONA Technologies (for example, by email to info@iona.com).

1.5.1 Orbix Desktop for Windows

The Orbix Desktop for Windows product allows Orbix objects to be made available to OLE-based desktop applications and allows OLE objects to be made available to Orbix applications. Orbix objects can be accessed from any Windows code or package that is capable of making OLE Automation calls. The IDL definition of the interface to some Orbix object can be automatically translated into an OLE Automation interface that can be called by any OLE code. Likewise, the COM definition of an OLE object can be automatically translated into an IDL interface.

The translation also produces the Orbix and Windows code required to accept these Orbix and OLE calls and transmit them using Orbix to the target objects, across host, operating system, and programming language boundaries.

The most popular OLE Automation programming languages are Visual Basic (which is used in many Microsoft tools such as Excel and Access) and PowerBuilder.

1.5.2 Orbix+Isis

The Isis toolkit allows programmers to write and communicate with a process group. A process group is a number of processes that cooperate in carrying out the requests sent by clients. Such cooperation can ensure that a client's request can continue as long as one of the members (that is, one of the processes) of the process group is running; if more than one member is running they can cooperate to share the load between them.

Orbix+Isis is a combination of the two products that supports object groups. Each object has an IDL interface and can be communicated with in the same manner as a normal Orbix object with the same interface. The implementation of an object follows the normal Orbix rules: a C++ class is written to implement each of the functions that correspond to the IDL operations and attributes of the interface.

When a client communicates with the object group, the message is sent to each one of the current members. The Orbix+Isis layer ensures that calls made by numerous clients are handled by the members of the object group in a compatible order. Programming options are available to ensure fail-safe execution of the group and to share the load between the members.

In addition, an alternative way of using Orbix+Isis can be used to write de-coupled clients and servers. Clients can post events (by making IDL operation calls) that are stored by Orbix+Isis and are then forwarded to a set of objects in servers that are interested in such events.

1.5.3 Orbix Database Adapter

Many applications need to make (a subset of) their Orbix objects persistent. Orbix provides its Loader mechanism (see Chapter 19, "Loaders") so that Orbix objects can be stored and then loaded when they are next required. This storing and loading can involve the writing and reading of normal files or full database management systems (DBMS).

IONA has developed an Orbix Database Adapter Framework which allows adapters to be built for particular DBMSs to automate writing and reading of objects to and from a DBMS. This framework allows tight integration to be achieved between Orbix and a database management system. The database adapter uses the facilities of Orbix and the DBMS and makes a programming interface available to applications that use the adapter. Using an adapter, an application's database objects are transformed to persistent CORBA objects.

Transaction boundaries can be automated by the adapter, or they can be controlled by the server calling functions on the adapter. These functions can be exported (using IDL as usual) to clients.

Currently, adapters are provided for the Versant and ObjectStore database management systems.



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