Lalaji,

Looks great - Just one comment - Please add a display name to the store 
definition, which can be localized ( i.e. there is a fixed name used internally 
and a display name for the UI which can change ) - 
This will allow for multi-lingual stores names.

Isabelle.
__________________________________________________

Isabelle Mauny
Director, Product Management; WSO2, Inc.;  http://wso2.com/
email: [email protected] - mobile (Spain) : +34 616050684 - mobile (Sri Lanka) 
+94 (0)774777663



On Aug 2, 2013, at 2:30 PM, Lalaji Sureshika <[email protected]> wrote:

> Hi,
> 
> Please find the implementation details,that we are going to do for achieving 
> above mentioned new approach.
> 
> Below configuration will be added to api-manager.xml [default this config 
> section will be commented out],to define the external stores,that we are 
> going to publish from APIPublisher.
> 
> <ExternalAPIStores>
>    <ExternalAPIStore>
>        <Name>Store1</Name>
>        <Type>WSO2</Type>
>        <Endpoint>http://localhost:9763/store</Endpoint>
>        <Username>xxxxx</Username>
>        <Password>xxxxx</Password>
>    </ExternalAPIStore>
> 
>    <ExternalAPIStore>
>      <Name>ProgrammableWeb</Name>
>      <Type>xxx</Type>
>      <Endpoint>xxxxx</Endpoint>
>    </ExternalAPIStore>
> 
>   <ExternalAPIStore>
>      <Name>Store2</Name>
>      <Type>WSO2</Type>
>      <Endpoint>http://localhost:9763/store?tenant=wso2</Endpoint>
>      <Username>xxxxx</Username>
>      <Password>xxxxx</Password>
>   </ExternalAPIStore>
> </ExternalAPIStores>
> 
> In above configuration,based on <type> attribute of each external APIStore,it 
> will be differentiated.Note as the first,we are going to give support for 
> WSO2 APIStores and later it will be extend to support other types of stores 
> [eg:programmableweb] as well
> 
> APIPublisher changes
> 
> In APIPublisher UI, there will be only two visibility options as ;
> 
> 1) Allowed Anonymous Access -Visible to anonymous/every user
> 2) Restricted by Roles -Restrict by users' roles
> 
> And additionally,if the above 'ExternalAPIStores' configuration is 
> uncommented,the option called "Publish to External APIStores" will be showed 
> in UI to share the API across APIStores.These external APIStores could be 
> WSO2 based APIStores [eg: tenant based stores] or other ones.
> 
>  <Screenshot-23.png>
> 
> To publish to external APIStores addition to the embedded APIStore of running 
> Publisher,we'll be using their specific exposed APIs and first we'll be 
> focusing only on publishing APIs to WSO2 APIStores.For that we'll be used the 
> APIPublisher exposed REST API[1].
> 
> 
> APIStore changes
> 
> The current logic of iterating tenant registries to get APIs will be removed 
> and,
> If the APIManager running in MT mode, 
> 1) If try to access /Store as an anonymous user ->the urls for the tenant 
> stores will be showed in APIStore[/store]
> 2) If try to access /Store as a tenant user ->The store will be redirect to 
> tenant store [/store?tenant=?]
> 
> Else if APIM running in super tenant  mode,the permitted APIs will display in 
> APIStore[/store] based on API visibility.
> 
> Feedbacks welcome..
> 
> 
> [1] http://docs.wso2.org/wiki/display/AM140/Publisher+APIs
> 
> Thanks;
> 
> 
> On Tue, Jul 30, 2013 at 12:44 AM, Nuwan Bandara <[email protected]> wrote:
> Hi
> 
> With the new proposal the previous "super tenant store" will be a store of 
> "stores". If we take an example lets assume there are two tenants WSO2 and 
> Foo, the super tenant store will just show URLs of WSO2 store and Foo Store, 
> where users can navigate to. 
> 
> When an anonymous user goes to one of these store, (s)he will only see the 
> public APIs of that tenant. 
> 
> Subsequently the older super store will be replaced by a simple OOTB store, 
> where any tenant can push APIs. its like a public store hosted somewhere, 
> which anybody can push APIs.
> 
> Regards,
> /Nuwan
> 
> 
> On Tue, Jul 30, 2013 at 1:08 PM, Nuwan Dias <[email protected]> wrote:
> On Tue, Jul 30, 2013 at 12:45 PM, Sumedha Rubasinghe <[email protected]> wrote:
> This discussion happened as part of *Enterprise Store* discussion.
> Participants: Nuwan, Azeez, Sanjiva, Srinath, NuwanD, Lalaji, Sanjeewa, 
> Sumedha
> 
> Current Functionality:
> 1. At the point of publishing an API, publisher can select the visibility 
> scope (one of Globally visible, selected tenants, tenant only 
> [private/public]).
> 2. Based on selected scope, APIs will be created with correct set of 
> permission indicators in WSO2 Governance Registry
> 3. @ the point of populating a store, based on the store type APIs will be 
> fetched from tenant registries
> 
> Limitations in this approach:
> 1. Assumption of single registry for all tenants (fetching, publishing 
> criteria fails with tenant partitioning)
> 2. High computational cost for populating global tenant store (also known as 
> super tenant store)
> 3. API publishing is only supported for WSO2 API Store type
> 4. Tight coupling with WSO2 API Store semantics for API publishing & fetching
> 
> New Approach:
> 1. At the point of publishing an API, it can also be published to multiple 
> (external) stores
> 2. These stores will be defined through configuration (run time registration 
> can be considered for future work, limited by lack of standard API for 
> publishing API)
> 
> 3. APIs will published to external stores through their APIs. This has 
> several design considerations:
> - Any API store can be integrated to WSO2 API Publisher through this approach
> - WSO2 API Store will also be treated as an external one
> - Concept of Super Tenant Store will no longer be applicable ***
> - If an API is shared with another tenant store, it will be stored in that 
> tenant's storage (if sharing is removed, relevant removal should follow)
> 
> 4. *** When navigated to http://<IP/Domain>/store (formally known as Super 
> tenant's store), it will show a list of tenant store URLs only
> 
> Right now we do not allow a tenant user (when logged in) to view other tenant 
> stores. You can view other tenant stores if you are a super tenant user or 
> when you are in anonymous mode (not logged in). If this behavior is to remain 
> as it is, what is the purpose of displaying other tenant's store URLs on the 
> /store? 
> 
> 5. This concept should be supported in WSO2 Generic Store as well 
> 
> Feedback welcome.
> 
> Thanks,
> NuwanD. 
> 
> -- 
> /sumedha
> b :  bit.ly/sumedha
> 
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
> 
> 
> 
> 
> -- 
> Nuwan Dias
> 
> Senior Software Engineer - WSO2, Inc. http://wso2.com
> email : [email protected]
> Phone : +94 777 775 729
> 
> 
> 
> -- 
> Thanks & Regards,
> 
> Nuwan Bandara
> Technical Lead; WSO2 Inc. 
> lean . enterprise . middleware |  http://wso2.com 
> blog : http://nuwanbando.com; email: [email protected]; phone: +94 11 763 9629
> 
> 
> 
> 
> -- 
> Lalaji Sureshika
> WSO2, Inc.;  http://wso2.com/
> email: [email protected]; cell: +94 71 608 6811
> blog: http://lalajisureshika.blogspot.com
> 
> 
> _______________________________________________
> 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