Hi Devs,

At the moment we have a confusion in the application deployment process:
- We use two different application definitions for creating applications
and retrieving them (Application|Application Runtime)
- Created application definitions are not persisted
- As a result it is difficult for the UI/CLI to execute the application
deployment process
- We use the term "application deployments" in the application deployment
API method

Due to above issues I think it would be better if we could refine this
process as follows:

*1. Create Application:*
POST @application https://localhost:9443/api/applications

*2. List Applications*
GET https://localhost:9443/api/applications

*3. Get Application:*
GET https://localhost:9443/api/applications/{applicationId}

*4. Remove Application:*
DELETE https://localhost:9443/api/applications/{applicationId}

*5. Deploy Application:*
POST @deploymentPolicy
https://localhost:9443/api/applications/{applicationId}/deploy

*6. Get Application Runtime:*
GET https://localhost:9443/api/applications/{applicationId}/runtime

*7. Un-deploy Application:*
DELETE https://localhost:9443/api/applications/{applicationId}/runtime

This includes following modifications:
- Persist application definition in registry in step 1.
- Return persisted application(s) in step 2 and step 3.
- Add a new property to the application to track its status
(created|deployed)
- Introduce new API methods to get application runtime and un-deploy.

Thanks


-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Reply via email to