|
|
# Cameo
|
|
|
The first goal of Cameo is to provide services for starting, stopping, synchronizing distributed applications. Cameo is an application-oriented middleware. The lifecycle of remote applications can be entirely managed either by the Cameo console or in an application by using the client API in C++, Java or Python.
|
|
|
|
|
|
Once applications are managed by Cameo, some communication patterns between them can be used: requester/responder, publisher/subscriber, return value at the end of the execution of the application. These patterns are high-level and provide some more synchronization.
|
|
|
|
|
|
An application started by Cameo can terminate with an exception but the remote caller will be notified with an error, so that he will be able to take the decision to restart or not the application.
|
|
|
|
|
|
# Implementation
|
|
|
Cameo was designed taking into account the disadvantages of CORBA. Unlike CORBA which shares data references through a naming service, Cameo shares application instances. This is a real different approach. Thus the applications have the responsibility to organize the sharing of their data with provided Cameo patterns for communication or not.
|
|
|
|
... | ... | |