Communication - Distribution links

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Differentiated Services, "an architecture for providing different types or levels of service for network traffic."
  6. NetCDF Markup Language: XML description for sending scientific data over a network.
  7. CEBAF Online Data Acquisition (CODA) and MIDAS, two data acquisition packages.
  8. 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.”
  9. 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.