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
