Harsha, If we take a vanilla API manager distribution and deploy an API there can we call it an API product?
On Aug 24, 2016 9:27 AM, "Harsha Kumara" <hars...@wso2.com> wrote: > > > On Tue, Aug 23, 2016 at 3:07 PM, Sanjeewa Malalgoda <sanje...@wso2.com> > wrote: > >> Hi All >> >> Intention of this mail is to discuss about API product concept and try to >> evaluate how we can apply this for API Manager. As of now we can bundle >> APIs together into application at API store and use them. But in this >> feature we are mainly focus on API publisher side aspect of it(how >> publishers can bundle set of APIs and present it to application creator). >> Please find the details below and share your thoughts about them. >> >> >> *Requirement* >> >> As an API provider(creator or publisher), you need to create an API >> product. The API product is the mechanism through which your APIs are >> bundled and published so that developers can consume them. An API product >> is a collection of APIs combined with a predefined policy set presented to >> developers as a bundle(in a way they can subscribe to product and use it). >> >> *Proposed Solution* >> >> The API product can also include some information specific to your >> business/product for monitoring or analytics. You can create different >> products to provide features for different use cases. So instead of just >> giving developers a list of APIs, you can bundle specific resources >> together to create a product that solves a specific user need. As example >> we can consider following use case. >> >> Example: >> Let say we have user information API, credit service API, leasing API. >> And let say we need to have 2 mobile applications for credit and leasing. >> Then we can create 2 API products named credit API product and leasing API >> product(both will share user information API). API products are also a good >> way to control access to a specific bundle of APIs. For example, you can >> bundle APIs that can only be accessed by internal developers, or bundle >> APIs that can only be accessed by paying customers. Please see following >> diagram to understand this scenario. >> >> >> >> >> >> >> >> >> *Implementation Details.**From Publisher's side.* >> From publisher side we need to let users to create API products like we >> do for APIs. To do that we may need to provide user interface similar to >> API create. In this API product creation process we collect following >> information from product creator. >> >> - Product Name and product specific meta-data. >> - List of APIs belong to that product and their tiers used for >> product. >> - Visibility and subscription availability. >> - Tiers and access control related information. >> - Life-cycle management for API product. >> >> *From store side.* >> List products same way we list APIs and then let users to subscribe for >> API Products. Once we go to subscription users should be able to see apis >> and api products belong to application. Also when we go to specific API >> product then we should be able to see all APIs belong to that API and >> selectively go through them. We will not be able to have single swagger >> file or wadl for complete API product as it shares multiple APIs. >> >> *Gateway Side.* >> For the throttling we need to do some improvements to throttle API >> product level requests. While doing throttling we need to consider number >> of requests allocated for API product as well and then consider that for >> throttling. >> > I think we need to introduce new throttling scheme for API products when > someone going to subscribe to a API product. In default scenario, we show > what are the available subscription tiers for API when user going to > subscribe to a API. But for a API product, it will contains multiple APIs. > Hence we need to have a way to define allowed throttling tiers for API > product. Which will be show when user going to subscribe to API product. > But I think, we also need to think, what are the available subscription > level throttling tiers defined by underline APIs. > > *Key Manager side.* >> While validating subscription we can check API level subscription and API >> product level subscription both. >> >> Please share your thoughts on this. >> >> Thanks, >> sanjeewa. >> >> -- >> >> *Sanjeewa Malalgoda* >> WSO2 Inc. >> Mobile : +94713068779 >> >> <http://sanjeewamalalgoda.blogspot.com/>blog >> :http://sanjeewamalalgoda.blogspot.com/ >> <http://sanjeewamalalgoda.blogspot.com/> >> >> >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Harsha Kumara > Software Engineer, WSO2 Inc. > Mobile: +94775505618 > Blog:harshcreationz.blogspot.com > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture