> 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

Reply via email to