> Hi all, > > This is regarding the initial design on possible approaches to proceed > with upgrading APIM 2.6.0(to be released) to 3.0.0. The migration process > has been already decided to implement through an export/import approach as > a database migration approach won't be realistic as for older versions. So > the simple generic approach is that each artifact specially APIs and > Applications would be exported from 2.6.0 environment and then will be > imported in to 3.0.0 environment. > > Below I have listed the possible two approaches for both these two steps > (importing & exporting) followed by their pros and cons. > > Exporting : > > Approach 1 : Change currently existing Api Import/export web app and CLI > tool in 2.6 > > > > - > > Can use API Import/export Web app and CLI tool and modify > - > > (REST APIs for export api/applications is currently provided via > this WEB app. CLI tool uses this web app) > - > > Required changes: > - > > For app export: Consumer key, Consumer Secret, Token exporting > should be supported in CLI tool > - > > Will have to change admin REST api implementation for above task > and for exporting other artifacts mentioned at the end. > - > > Modify CLI tool to support exporting in bulk. > > > > - > > Pros > - > > Will not have to develop/maintain a Web app and CLI tool from the > scratch > - > > Cons > - > > API export flow will change as modifications will be required > - > > Have to manage and consider also about normal export feature when > doing changes for migration-exporting. > - > > Migration story cannot be done in single step. Exporting and > importing will be 2 step process. > > > > Approach 2 : Develop a separate tool without using API Import/export Web > app or CLI tool. > > > - > > Create a WEB App introducing new REST APIs required and develop > separate CLI tool. > > > > - > > Pros > - > > Migration story can be done in single step. (Exporting and > importing can be done in single command.) > - > > API/Application import-export tool won’t have any effect or change. > - > > Don’t have to manage 2 separate use cases in single tool. > - > > Cons > - > > Will have to develop/maintain a Web app and/or CLI tool from the > scratch > > > > Importing : > > > - > > Has to create separate REST APIs for importing 2.6-exported > APIs/Applications/other artifacts as 3.0.0 expecting archives in 3.0 > specific format. > > > Approach 1 > > - > > Change/improve API Import/export CLI tool in 3.0 to support importing > 2.6-exported API/application archives. > > Approach 2 > > - > > Develop separate CLI tool from the scratch which will be used for > exporting from 2.6 also > > > > Other artifacts required to be exported/imported (other than > APIs/Applications) > > > - > > Throttling Policies > - > > Custom API Lifecycles > - > > Workflows > - > > User Role Permissions > - > > Custom sequences (at least for reference -> has to decide regarding > this) > > > > My perception is that proceeding with Approach 2 under both exporting and > importing would be better considering the pros and cons of each. > > Highly appreciate your thoughts on this. > > Regards, > > Samitha > > > -- > *Samitha Chathuranga* > *Senior Software Engineer*, *WSO2 Inc.* > lean.enterprise.middleware > Mobile: +94715123761 > > [image: http://wso2.com/signature] <http://wso2.com/signature> >
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture