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
