|
|
# Introduction
|
|
|
Cameo is a lightweight middleware providing services to write **distributed** applications running on **any** platform and language. Cameo focuses on the applications which are the main components of the Cameo middleware.
|
|
|
CAMEO is a lightweight middleware providing services to write **distributed** applications running on **any** platform and language. Cameo focuses on the applications which are the main components of the Cameo middleware.
|
|
|
|
|
|
Cameo provides two main services:
|
|
|
- Starting, stopping, synchronizing your apps wherever they run: Cameo is a **remote application manager**.
|
|
|
CAMEO provides two main services:
|
|
|
- Starting, stopping, synchronizing your apps wherever they run: CAMEO is a **remote application manager**.
|
|
|
- Making your apps communicate: **High-level communication patterns** are provided.
|
|
|
|
|
|
The Cameo middleware is made up of:
|
|
|
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.
|
|
|
|
|
|
Cameo is very flexible and many different use cases are possible.
|
|
|
There is no constraint on the applications that can be managed by Cameo:
|
|
|
**graphical** or black box applications are supported. With Cameo, it becomes very easy to **integrate** any external component including proprietary software.
|
|
|
CAMEO is very flexible and many different use cases are possible.
|
|
|
There is no constraint on the applications that can be managed by CAMEO:
|
|
|
**graphical** or black box applications are supported. With CAMEO, it becomes very easy to **integrate** any external component including proprietary software.
|
|
|
|
|
|
# Typical use case
|
|
|
|
... | ... | @@ -20,10 +20,10 @@ 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 running on the computers *B* and *C*. The applications *App1* and *App2* are installed on *B* and *C* and registered into the respective Cameo servers.
|
|
|
Three computers *A*, *B*, *C* are used. A CAMEO server is running 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:
|
|
|
- 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*.
|
|
|
- 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*.
|
|
|
- Use the console to stop the execution of *App1*.
|
|
|
- *App1* is stopping and stops *App2*.
|
... | ... | |