Communication - Distribution links
- CORBA is not a software
implementation, but a specification. Several Open Source
implementations exist; GNOME uses ORBit; another one
(more extended, but with
larger memory requirements and slower execution) is TAO.
The CORBA component model is being added to TAO in the CIAO project
(Component-Integrated ACE ORB).
Alternatives to CORBA are: XPCOM (being used in
the Mozilla-project), and Ice
(Internet Communications Engine). The latter is the basis of
XCF (XML-enabled Communication Framework) of the realtime
visual tracking project Vampire.
- XML-RPC is a spec and a
set of implementations that allow software running on disparate
operating systems, running in different environments to make
procedure calls over the Internet. It's remote procedure calling
using HTTP as the transport and XML as the encoding. XML-RPC is
designed to be as simple as possible, while allowing complex data
structures to be transmitted, processed and returned.
- SOAP
(Simple Object Access Protocol) is a protocol specification for
invoking methods on servers, services, components and objects. SOAP
codifies the existing practice of using XML and HTTP as a method
invocation mechanism. There exist “bridge” software
between SOAP and CORBA.
- Tango/
Taco.
"TANGO is an object oriented control system based on CORBA [...].
In TANGO all the control points are implemented as methods or
attributes of CORBA objects (servants). Control actions are
executed by invoking methods on objects. Objects are created and
served by device servers. Device servers can be written in C++ or
Java".
"The basic idea behind TACO is to treat every control element as an
object on which commands can execute. The objects are called
devices and they are available network wide."
The Taco/Tango
project is an interesting reference point: it provides a sub-set of
the agents needed in Orocos, because it knows only with
"devices," i.e., controllable machines, that expect motion
commands and return status information.
- Differentiated
Services, "an architecture for providing different types or
levels of service for network traffic."
- NetCDF Markup
Language: XML description for sending scientific data over a
network.
- CEBAF Online Data
Acquisition (CODA) and MIDAS, two data acquisition
packages.
- ObjectWeb: “The
ObjectWeb Group is aiming at the creation of an OpenSource
Community around middleware software for telecommunications and the
creation of a free middleware software database. Its software basis
is the creation of a distributed platform which would serve as an
experimental infrastructure for new services experimentation and
for advanced distributed applications for the academic community as
well as an industrial distributed object platform for the
telecommunication industry.”
- libsigc++ "is the
most complete library of its kind with the ablity to connect an
abstract callback to a class method, function, or function object.
It contains adaptor classes for connection of dissimilar callbacks
and has an ease of use unmatched by other C++ callback
libraries."
This approach of using signals and
slots for communication between objects is complementary to the
broker architecture such as CORBA: it doesn't scale well to large
and distributed systems, but it is simple, generic and
efficient.
|