Hi!

I'm really excited about this feature - it will be of great benefit to our
customers.

I have no improvements to suggest on your implementation plan.

One point you might want to work into your tests is to ensure the swagger
definitions remain consistent after an import/export.  Of particular
concern is the swagger YAML definitions available through the publisher.
It shouldn't be too hard to code into a test. :)

Thanks,
Colin

Thanks,
Colin Roy-Ehri
Software Engineer
*WSO2, Inc. : wso2.com <http://wso2.com/>*
*Mobile*          : 812-219-6517

On Wed, Apr 22, 2015 at 7:15 AM, Thilini Cooray <[email protected]> wrote:

> Hi all,
>
> We are in the process of introducing API Export and Import feature for
> WSO2 API Manager.
>
> This feature can be used in scenarios such as moving APIs from staging to
> production environment.
>
> *API Export*
>
>    - This operation mainly sends an archive which consists of all the
>    required resources for a API to be recreated in another API Manager
>    instance.
>    - We have identified following folder structure to be included in the
>    archive
>
> ​
>
> ​
> *API Import*
>
>    - Import feature accepts an API archive with the above mentioned
>    structure and create a new API under current provider.
>
> *Feature Implementation*
>
>    - Generating archive (in API export) and extracting archive (in API
>    import) can either be done in server or client side
>    - Currently we are planning to develop a RESTful API for export and
>    import functionality where archive generation for requested APIs and all
>    the related functionality are taken place in the server side.
>    - Decision for server side implementation was mainly made due to high
>    number of network calls and high possibility of network failures that can
>    happen in client side.
>    - The RESTful service is halfway done. currently it can export and
>    import meta information only.
>       - *Export API* method calls  
> org.wso2.carbon.apimgt.api.APIProvider.getAPI(APIIdentifier)
>       and transforms received API object to a json file.
>       - *Import API* method receives json file via RESTful call and
>       converts the json to an API object. This object is then sent to
>       org.wso2.carbon.apimgt.api.APIProvider.addAPI(api) method and a new
>       API will get created.
>    - Several concerns can arise with this implementation approach
>       1. API object can have environment specific details which are not
>       compatible with the  importing environment
>       2. There are some customisable attributes such as tiers (Ex : tiers
>       in exporting environment may not be available in importing side) which 
> may
>       not be available on the importing environment
>    - Therefore we would like to know whether there is a better approach
>    for implementing this.
>
> Suggestions and ideas for implementing this export import API feature is
> highly welcome.
>
> Thank you.
>
>
> --
> Best Regards,
>
> *Thilini Cooray*
> Software Engineer
> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194>
> E-mail : [email protected]
>
> WSO2 Inc. www.wso2.com
> lean.enterprise.middleware
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to