+1 Jochen, this is more cleaner and it is addressing governance aspect of
the labels.

On Tue, Jun 20, 2017 at 1:22 AM, Jochen Traunecker <
[email protected]> wrote:

> Hi,
>
> what about changing the meta-model a little bit and introduce another
> indirection : LABELSCOPE.  LABELS can be assigned to 1...n LABELSCOPES.
>
> With this model, these use cases could get realised without confusing
> Publishers and avoiding redundancy in LABEL-Names (which should get
> avoided):
>
> Use case : A Store and dedicated Gateway(s) for "Public APIs" - so
> everyone is free to sign up and subscribe
> Use case: A B2B-Store with dedicated B2B-Gateways for "Business Customers"
> with invitation only
> Use case: Internal API-Store and deployment to SECURE_ZONE_1
> Use case: internal API-Store and deployment to SECURE_ZONE_2
>
> Publisher UI could filter labels based on LABELSCOPE and just render the
> ones needed for "Deployment to Gateway" selection UI element and "Visible
> in Store" selection UI component. Still the Label e.g. "PUBLIC" could be
> visible / assignable in both UI elements.
>
> With the options to define labels for Stores and Gateways there will be
> demand to govern and protect users from configuration mistakes. By that it
> would be just consequent to be able to specify, which label combinations
> are valid :-) I did not model this requirement.
>
> Furthermore there will be demand to define, which user/role is allowed, to
> assign specific labels. Only "public_publishers" are allowed to assign
> "public" label to APIs ...
>
> Ultimately, Labels could get used for "Publisher UIs". There are use
> cases, to expose a dedicated "Publisher UI" for internal APIs only, or a
> "Publisher UI" for some specific Business Unit X and so on. Such dedicated
> Publishers could limit / restrict the set of Labels assignable to APIs.
>
>
> LABEL
> ==============
> LABEL_ID | NAME
> ==============
> 1                | B2B
> 2                | PUBLIC
> 3                | INTERNAL
> 4                | SECURE_ZONE_1
> 5                | SECURE_ZONE_2
>
> LABEL_API
> ===============
> API_ID | LABEL_ID
> ===============
>
> LABELSCOPE
> ================
> LSCOPE_ID | NAME
> ================
> 1                   | GATEWAY
> 2                   | STORE
>
>
> LABELSCOPE_LABEL
> ====================
> LABEL_ID | LSCOPE_ID
> ====================
> 1               | 1
> 1               | 2
> 2               | 1
> 2               | 2
> 3               | 2
> 4               | 1
> 5               | 1
>
>
> Thanks,
> Jochen
>
> 2017-06-19 21:43 GMT+02:00 Sajith Kariyawasam <[email protected]>:
>
>> Hi Praminda,
>>
>> On Mon, Jun 19, 2017 at 11:05 PM, Lakmal Warusawithana <[email protected]>
>> wrote:
>>
>>> There are some use-cases for have multiple stores. yes it is store
>>> profile  (store REST API+ Store SPA + and Impel)
>>>
>>> On Mon, Jun 19, 2017 at 10:25 PM, Bhathiya Jayasekara <[email protected]
>>> > wrote:
>>>
>>>> Hi Praminda,
>>>>
>>>> When we say a "store node", does that mean an APIM Core node, or a node
>>>> with some kind of a profile with only store services?
>>>>
>>>> Thanks,
>>>> Bhathiya
>>>>
>>>> On Mon, Jun 19, 2017 at 10:08 PM, Praminda Jayawardana <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> We've planned to introduce store labeling feature for API Manager
>>>>> 3.0.0. With this feature different business units inside an organizations
>>>>> will be able to publish their APIs in separate API Stores.
>>>>>
>>>>> Ex:
>>>>> Separate API Stores for Infra and Sales APIs.
>>>>>
>>>>> Current plan is to utilize the same design as gateway label
>>>>> implementation with small set of changes. Therefore a Publisher of an API
>>>>> can select the Store label(s) he/she needs to publish the API and a Store
>>>>> node should be started with this specific label.
>>>>> We are hoping to add following changes to current label implementation.
>>>>>
>>>>> 1. Add new column for label type:
>>>>> *AM_LABELS*
>>>>> We can utilize the same label table used for storing gateway labels by
>>>>> introducing a new TYPE column to existing AM_LABELS table
>>>>>
>>>>> =================*=========*
>>>>> LABEL_ID |  NAME   |  *TYPE_ID*
>>>>> =================*=========*
>>>>>                  |               |
>>>>>
>>>>> 2. Add Label type table:
>>>>> *AM_LABEL_TYPE*
>>>>> Table used to store label types. Currently only gateway and store
>>>>> labels
>>>>>
>>>>> =====================
>>>>> TYPE_ID |  TYPE_NAME
>>>>> =====================
>>>>> 1              |  GATEWAY
>>>>> 2              |  STORE
>>>>>
>>>>>
>> What is the benefit of this AM_LABEL_TYPE table? Can't we just store the
>> Type Name values (GATEWAY, STORE. etc.. ) in the Type column of AM_LABELS?
>>
>>
>>> 3. Add API-Label mapping table:
>>>>> *AM_API_STORE_LABEL_MAPPING*
>>>>> New table is introduced to keep the mapping between an API and Labels
>>>>>
>>>>> ================
>>>>> API_ID |  LABEL_ID
>>>>> ================
>>>>>             |
>>>>>
>>>>> Please let us know what do you think of the approach we have suggested.
>>>>>
>>>>> Thanks,
>>>>> Praminda
>>>>>
>>>>> --
>>>>>
>>>>> *Praminda Jayawardana*
>>>>> Software Engineer
>>>>> WSO2 Inc.; http://wso2.com
>>>>> Mobile : +94 (0) 716 590918 <+94%2071%20659%200918>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Bhathiya Jayasekara*
>>>> *Associate Technical Lead,*
>>>> *WSO2 inc., http://wso2.com <http://wso2.com>*
>>>>
>>>> *Phone: +94715478185 <+94%2071%20547%208185>*
>>>> *LinkedIn: http://www.linkedin.com/in/bhathiyaj
>>>> <http://www.linkedin.com/in/bhathiyaj>*
>>>> *Twitter: https://twitter.com/bhathiyax <https://twitter.com/bhathiyax>*
>>>> *Blog: http://movingaheadblog.blogspot.com
>>>> <http://movingaheadblog.blogspot.com/>*
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Lakmal Warusawithana
>>> Director - Cloud Architecture; WSO2 Inc.
>>> Mobile : +94714289692 <+94%2071%20428%209692>
>>> Blogs : https://medium.com/@lakwarus/
>>>             http://lakmalsview.blogspot.com/
>>>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Sajith Kariyawasam
>> *Associate Tech Lead*
>> *WSO2 Inc.; http://wso2.com <http://wso2.com/>*
>> *Committer and PMC member, Apache Stratos *
>> *AMIE (SL)*
>> *Mobile: 0772269575 <07722%2069575>*
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Gruss / regards
>
> Jochen Traunecker
> mailto: [email protected]
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lakmal Warusawithana
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blogs : https://medium.com/@lakwarus/
            http://lakmalsview.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to