On Thu, May 8, 2014 at 10:45 PM, Nuwan Bandara <[email protected]> wrote:

> Hi Kishanthan,
>
> A useful feature indeed, does this mean a tenant can install bundle for
> his own space ?
>

Yes, each tenant will have a separate space (Region) and they can install
bundles on to it. Other tenants will not be aware of this (bundle and
service life-cycle events will be filtered) and cannot access those bundles
(import package requirements will be filtered) .

Also a bundle, with same symbolic name and version, can be installed on
multiple tenant regions. This is handled using the BundleCollsionHook.

>
> Regards,
> /Nuwan
>
>
> On Thu, May 8, 2014 at 5:35 AM, Suresh Attanayaka <[email protected]> wrote:
>
>> HI Kishanthan,
>>
>> This is indeed a very helpful to have, one advantage I would see is we
>> can let the tenants to have deployed their own Authenticators,
>> UserStoreManagers and various other extensions without interfering the
>> system. But how would be expose a Core service such as RealmService
>> or RegistryService ?
>>
>> For example, each tenant will want to access their RealmService to load
>> their configured user-store in their custom Authenticator. How would we
>> make sure the RealmService would return only that tenant's RealmService or
>> it's corresponding user store manager ?
>>
>> Thanks,
>> -Suresh
>>
>>
>> On Thu, May 8, 2014 at 2:45 PM, Kishanthan Thangarajah <
>> [email protected]> wrote:
>>
>>> This is one of the core areas of C5 kernel. In previous carbon versions,
>>> the multi-tenancy aspect was limited to run-time execution only. In there,
>>> we used the Axis2 Configuration & Context model to achieve the
>>> multi-tenancy where each tenant got its own execution space during
>>> run-time. But the OSGi environment was not partitioned for tenants and was
>>> visible to all, where a bundle (the library and its packages) installed by
>>> a tenant was visible to other tenants as well.
>>>
>>> The idea here is to implement Multi-Tenancy at OSGi framework level
>>> also, so that each tenant gets its totally isolated run-time environment.
>>> We are planning to use OSGi "Regions" [1] concept to achieve this with the
>>> usage of OSGi framework hooks. A region is a grouping of bundles in an OSGi
>>> run-time, which is governed by controls when accessing resources (packages,
>>> services) from other regions.
>>>
>>> Each tenant gets its own region and there will be a separate "Kernel"
>>> region where the core bundles/packages/service resides and will be exposed
>>> to tenant regions. We can still limit/decide on what to expose from kernel
>>> region. Each tenant region will be isolated from each other. They will not
>>> see any events (related to bundle, service) or package visibility from
>>> other regions, but only see from it self and kernel. Below image is high
>>> level view of this concept.
>>>
>>> [image: Inline image 1]
>>>
>>> An overview of the framework hooks.
>>>
>>> *RegionResolverHook* - manages the package resolve process for
>>> requirements from bundles in regions.
>>> *RegionBundleFindHook* - manages/filters the BundleContext.getBundle
>>> lookups from region bundles.
>>> *RegionBundleEventHook* - manages/filters the bundle's life-cycle
>>> events for regions.
>>> *RegionBundleCollisionHook* - manages the duplicate bundle resolving in
>>> multiple regions. This will facilitate to have same bundles in different
>>> regions.
>>> *RegionServiceFindHook* and *RegionServiceEventHook* - manages/filters
>>> the service lookup and life-cycle events for regions.
>>>
>>> Thoughts suggestions are welcome.
>>>
>>> Thanks,
>>> Kishanthan.
>>> [1] http://wiki.eclipse.org/Virgo/Concepts#Regions
>>>
>>> --
>>> *Kishanthan Thangarajah*
>>> Senior Software Engineer,
>>> Platform Technologies Team,
>>> WSO2, Inc.
>>> lean.enterprise.middleware
>>>
>>> Mobile - +94773426635
>>> Blog - *http://kishanthan.wordpress.com
>>> <http://kishanthan.wordpress.com>*
>>> Twitter - *http://twitter.com/kishanthan
>>> <http://twitter.com/kishanthan>*
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Suresh Attanayake
>> Senior Software Engineer; WSO2 Inc. http://wso2.com/
>> Blog : http://sureshatt.blogspot.com/
>> Web : http://www.ssoarcade.com/
>> Facebook : https://www.facebook.com/IdentityWorld
>> Twitter : https://twitter.com/sureshatt
>> LinkedIn : http://lk.linkedin.com/in/sureshatt
>> Mobile : +94755012060
>> Mobile : +016166171172
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
>
>
> *Thanks & Regards,*
> * Nuwan Bandara | Senior Technical Lead - Solutions Architecture,  WSO2
> Inc.+1 812.606.7390 <%2B1%20812.606.7390> | +1 650.745.4499 Ext 4210
> <%2B1%20650.745.4499%20Ext%204210> | http://nuwanbando.com
> <http://nuwanbando.com>  * <http://www.nuwanbando.com/>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Kishanthan Thangarajah*
Senior Software Engineer,
Platform Technologies Team,
WSO2, Inc.
lean.enterprise.middleware

Mobile - +94773426635
Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to