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