|
|
# Introduction
|
|
|
Cameo - Concurrent Application Management with Effective Objects - is a lightweight middleware providing services to write **distributed** applications running on **any** platform and language.
|
|
|
Cameo is a lightweight middleware providing services to write **distributed** applications running on **any** platform and language.
|
|
|
|
|
|
Cameo allows to **control** remote applications and make them interact. It is made up of:
|
|
|
Cameo provides two main services:
|
|
|
- Starting, stopping, synchronizing your apps: Cameo is a remote application manager.
|
|
|
- Making your apps communicate: High-level communication patterns are provided.
|
|
|
|
|
|
The Cameo middleware is made up of:
|
|
|
- A **server** application configurable and running on any host.
|
|
|
- A **console** application running on any host.
|
|
|
- Different **APIs** for C++, Java, Python languages.
|
... | ... | @@ -14,14 +18,17 @@ Following diagram shows a typical use case: |
|
|
|
|
|
![Typical use case](images/Typical-use-case.png)
|
|
|
|
|
|
Three computers *A*, *B*, *C* are used. A Cameo server is installed on the computers *B* and *C*. The applications *App1* and *App2* are installed on *B* and *C* and registered into the Cameo servers.
|
|
|
Three computers *A*, *B*, *C* are used. A Cameo server is installed on the computers *B* and *C*. The applications *App1* and *App2* are installed on *B* and *C* and registered into the respective Cameo servers.
|
|
|
Sequence of actions:
|
|
|
- The user uses the console to start the execution of *App1* by contacting the Cameo server on *B*.
|
|
|
- Execute a console to start the execution of *App1* by contacting the Cameo server on *B*.
|
|
|
- The application *App1* is starting and starts the execution of *App2* by contacting the Cameo server on *C*.
|
|
|
- Once *App2* has started, *App1* is sending requests to *App2* that is responding to *App1*.
|
|
|
- The user uses the console to stop the execution of *App1*.
|
|
|
- Use the console to stop the execution of *App1*.
|
|
|
- The application is stopping and stops *App2*.
|
|
|
|
|
|
Notice that the interaction between *App1* and *App2* is made using the API.
|
|
|
This example shows the interactions possible between the applications: start, stop, synchronize, communicate.
|
|
|
|
|
|
# Documentation
|
|
|
|
|
|
* [Implementation](implementation)
|
... | ... | |