Why Deploy an Enterprise App Store and how WSO2 Enterprise Store can work for you

  • By Nuwan Bandara
  • 23 Jan, 2014
Archived Content
This article is provided for historical perspective only, and may not reflect current conditions. Please refer to relevant product page for more up-to-date product information and resources.

What is the challenge?

Every small business unit in a large corporation creates some form of digital asset, which sometimes tends to overlap. There are multiple disconnected SBUs that create the same API. Generally, usage monitoring and governance are not in place, which tends to be a problem. There are also many stakeholders who are involved in the asset life cycle, and people should be informed of each lifecycle. Moreover, monetization options need to be addressed as well and the business also needs to think about how to generate return on investment (ROI) from their assets.

Why an enterprise app store?

In Gartner’s words, an enterprise app store can increase ROI of the app portfolio. They predict that by 2017, 25% of enterprises will have an enterprise app store. This concept was not prevalent five years ago, but became increasingly popular with the debut of Apple’s and Google’s app stores. We all know what an app store is and what it does; it essentially gives a person the ability to discover.

WSO2 Enterprise Store

The question we had at WSO2 was ‘Why should we stop at the apps level? We went one step further and envisioned a store that could offer anything; a store for APIs, sites, books, consumer electronics, etc. At present, WSO2 Enterprise Store by default (out-of-the-box) ships gadgets, websites, and eBooks. These assets are just examples.

We have made the store flexible so that any asset type can be added. It can range from APIs and documents to video clips and soundtracks. Any defined asset can be put into the store and a UI, life cycle, and subscription process can be defined for it. WSO2 Enterprise Store’s ability to extend its base functionality is its key advantage, e.g. the Apple App Store allows users to install apps to their devices, but that’s the only thing they can do with it. WSO2 Enterprise AStore, however, can be customized for more than one asset type. One asset can be downloadable, another can be bookmarked, and another can be paid for or subscribed to.

Key features of WSO2 Enterprise Store

The WSO2 Enterprise Store was released in October 2013 and already has multiple in-house customers. The store can be seen as the center of a connected business. Connected business revolves around governance, APIs, integration, mobile, cloud, and big data, among others. If these aspects are put into perspective, it can be seen that each one of these elements creates some sort of an asset. Therefore, discovery needs to be enabled for each asset type, creating a requirement for a store. The main purpose of the enterprise store is that everything needs to be published to the store in order to enable this discovery. It is the application that connects all aspects of a business.

The storefront

The enterprise store is backed by a powerful search engine where the indexing is done behind the scenes. There is a search panel powered by Solar where the user can perform search operations based on the attributes of an asset (author, version, tagline, etc.).

Categorization and tagging are also included in this interface. The assets can be categorized into ‘Recently Added’, ‘Most Used’, etc. and there is a dedicated asset page, which can be customized according to the user’s asset type, e.g. an API could be subscribed to, or an OAuth key for that API can be generated; these actions can be done on the asset page. The first look of the WSO2 social platform (refer to Figure 1) has been included in the WSO Enterprise Store.

Figure 1

When the user comments on something, the comments can actually be rated and the comments with the best ratings will be bubbled up. This is a basic element of social interaction. We plan to integrate this with our App Factory and subsequently our API Managers. There will also be threaded commenting. This is just a glimpse of what is yet to come, so on top of this, and based on UI configurations, it can be made into a very interactive forum-like atmosphere.

The back office

The back office comprises the composition component and all assets created here. Assets can be added, edited, and versioned and their life cycle can also be managed and governed. The back office further allows statistics to be monitored. All the back-end development and operations are handled in the back office.

An important aspect of the back office is its lifecycle management and governance system.

Figure 2

Figure 2 illustrates the lifecycle of a particular type of asset. SCXML (State Chart XML), which is a standard, is used to define the state of the asset. When the user registers a new asset type to the enterprise store they can define the SCXML associated with the asset type. The store is capable of reading this SCXML and generating the diagram shown in Figure 2. Thereafter, this is put into the back office. All the nodes can be clicked on and the asset can be ‘promoted’ according to the user’s requirements. The history of an asset is also documented, e.g. its promotion, publishing, acceptance, etc. Everything is recorded and can be governed.

Extending the store with a new asset type

This is one of the main use cases of the enterprise store. To create a new resource extension type, we use RXT, which is inherited from WSO2 Governance Registry. This can be written in RXT and dropped into the enterprise store where you can extend the behavior of the store and add new assets. Relevant Jaggery pages can also be added in order to portray something different from the existing assets. The system is very flexible and everything is documented.

In-house customers

The Service Store as seen in Figure 3 is proof of the concept. This will be shipped with WSO2 Governance Registry in 2014.

Figure 3

The other in-house customer shown in Figure 4 is the Mobile App Store. This is powered by WSO2 Enterprise Store and it has been customized to include mobile asset types.

Figure 4

The API Manager Store and Publisher will also be eventually migrated to WSO2 Enterprise Store as a future integration within the WSO2 platform. Moreover, plans are underway to build a store for connectors and to host it online, and WSO2 App Factory will be integrated to ensure all business created through WSO2 App Factory is published on to WSO2 Enterprise Store.

WSO2 Enterprise Store uses many technologies such as JaggeryJs, Caramel and Handlebars. It is completely written in JavaScript and is modular to the core so that any parts of it can be overridden and personalized behavior can be integrated.


Given that various parties are involved in generating different asset types in an enterprise, there is a requirement for discovery. Different parties are involved such as the developers, the review board, managers and production team when creating these assets. It also has to go through quality assurance to ensure that it meets the required standards. Every asset type has a life cycle and it is developed, put into QA, developed further, and then moved to production. WSO2 Enterprise Store enables discovery of all assets of a business, which in turn will ensure these assets eventually create and generate ROI.