Hi Kishanthan, A useful feature indeed, does this mean a tenant can install bundle for his own space ?
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 | +1 650.745.4499 Ext 4210 | http://nuwanbando.com <http://nuwanbando.com> * <http://www.nuwanbando.com/>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
