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

Reply via email to