Hi Everyone,
We are working on the Training Project -[Cloud] Tenant deletion code/script for cloud - https://redmine.wso2.com/issues/3121. Listed below the workflow of the tenant deletion process in the App Cloud as we identified. 1. Undeploy Jenkins web app from application server 2. Delete Git repository (use gitblit api to delete repo in Git) 3. Unsubscribe Stratos using Stratos Rest Services 4. Check database created by RSSAdmin and delete them 5. Perform TenantMgtAdminService deleteTenant operation - i. Delete Billing data ii. Delete Tenant Registration Data (Ex. REG_CLUSTER_LOCK, REG_LOG) iii. Delete Tenant User management data (Ex. UM_USER_PERMISSION, UM_USER) iv. Remove Tenant information from cache v. Delete UM_TENANT table As per the analysis there are two solutions we have identified to implement this , such as BPEL and Carbon Component. We thought of going for a *carbon component* implementation rather than using a* BPEL* due to following reasons. 1. Plugging a Carbon Component will give more extensibility to implement Tenant Deletion operation in future Cloud base products 2. If we used a BPEL we will have to reconstruct at each time when we meet a new requirement (ex: esb cloud integration). Proposed Solution 1. Create an abstraction for delete operation public interface TenantDeletion{ public void onDeletion(); } 2. Implement TenantDeletion for each operations public class JenkinsAppUndeployer implements TenantDeletion{ public void onDeletion(){ //Implementation of the JenkinsApp undeploy process } } 3. Use a configuration file to maintain the execution order which help to dynamically add new requirement <ExecutionOrder> <class name=”org.wso2.cloud.tenant.JenkinsAppUndeployer”></class> <class name=”org.wso2.cloud.tenant.GitRepoRemover”></class> <class name=”org.wso2.cloud.tenant.XXXXXX”></class> </ExecutionOrder> We are looking for a feedback on this to move forward with selected design. -- Mahesh Chinthaka Software Engineer , WSO2. Phone : (+94) 71 63 63 083 Email : mahe...@wso2.com
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture