Distributed Object Platform (DOP) written entirely in Java.

Jonathan is a Distributed Object Platform (DOP) written entirely in Java. Jonathan was developed originally in the context of the European project ReTINA, whose aim was to define an architecture for telecommunications distributed environments. 

Telecommunications applications such as multimedia services have stringent requirements in terms of scalability, adaptability and realtime. Jonathan's response to this is through its "openness" in the sense that contrary to standard DOPs (and in particular, most CORBA ORBs), the abstractions that make up its internal machinery are accessible by an application programmer and may be specialized to meet specific requirements.

Jonathan is organised around a very small kernel (namely Kilim) that essentially lets the infrastructure components communicate. Currently, these components consist of a number of independently developed protocols, marshallers, stub factories, etc.

Different personalities can be built using these components. A personality is a set of normalized Application Programming Interfaces: Java RMI is a personality, CORBA is another, COM still another... Jonathan provides two personnalities:

  • David is a CORBA ORB implementation. David lacks a number of CORBA features (POA, interface repository, Dynamic Any,...) and provides only a naive naming service implementation. However, our ambition is to fill these gaps and to provide a reference CORBA implementation.
  • Jeremie provides an RMI-like programming style.
Web site
FunctionalityMiddleware framework / Component / Tool
License(s)GNU Lesser General Public License v2.1 only
VCS repository(ies)
Discussion channels