Friday, November 8, 2013

Experience What is New in Mulit Tenanted WSO2 App Factory

App Factory is a multi-tenanted Enterprise platform that enables multiple project teams to collaboratively create, run and manage enterprise applications.

This is a one stop shop, which helps you to manage your agile application development, testing and releasing process by providing all the necessary tools and options. This includes
 - Continous Build system (Jenkins build farm)
 - Source control system (Git repo)
 - User management system (LDAP)
 - Issue tracking system (WSO2 Issue Tracker)
 - Application hosting environment (WSO2 AS)
 - API management environment (WSO2 API Manager)
 - Databases and datasource management environment (MySQL)

The inceptional design of AF (App Factory) was such that, an application was considered as a tenant. There was no organization concept attached in the old AF story.

But now the story has been matched with the real organizational behavior in an industry. In the current implementation, we have considered this organizational concept into picture. Now, an ORGANIZATION IS A TENANT.

You can register an Organization in App Factory and you will be getting a tenant space for your organization. In their you can have multiple applications belonging to your organization. (Earlier you are getting a tenant space each time you create an application. Now tenant space is given at the creation of organization)

Few architectural changes in essence

New Architecture
Old Architecture
Cartridge subscription happens at
Tenant creation
Application creation
Jenkins allocation
  • For each tenant, jenkins_home and maven_home is set.
  • Jenkins.war is copied to all tenants
  • Jenkins.war has a context.xml that contains tenant specific domain info
  • Jenkins_home and maven_home is shared among applications
  • Single Jenkins.war for all the apps
Git repo creation
No space is created at tenant creation. At application creation, a repo is created with the tenant name appended to the repo url as $git_basedir/
At application creation. Created repo is $git_basedir/app1.git
Issue tracker
Any user in an organization can see all the issues of all apps in that organization.
App level isolation on the issues.
User Management
  • Roles (Dev, QA, DevOps, AppOwner) are for the organization level. Not for the application level
  • Multiple app owners per app
  • Developers can’t create apps
  • Roles for the users are in application level
  • Single app owner per app
  • Developers can create apps

We have put up all these latest changes into a preview hosting, so you can get a glimpse of it.
To experience all these latest changes visit and register your tenant now and start playing around with it.

Hope you will enjoy your new AF experience.

No comments:

Post a Comment