This is a story of 2 successful technologies which presages what I believe is a new important innovation.
It started with Apple
It all started about 15 years ago Apple introduced the iPhone…. It seems like this anyway. The date was actually in 2007, a mere 6 years ago + a few months. Since then the world changed so dramatically it is almost impossible to imagine a world before that and to realize that it was a mere 6 years ago that life was so different.
There are many things I could reference that have changed but I am focusing on one particularly relatively invisible change that is incredibly significant. By introducing the App Store apple created a central place people could go and find cool functionality they could use on these new devices.
We have always done this,i.e. offer add-ons, but Apple through the App Store made it possible for us to see comments of others who had used the app, ratings, pictures of the apps in operation. They gave us (like Amazon did) a way to evaluate and choose to use the app. They gave us (like Amazon) information that we trusted because it came from other people like us. It gave us transparency which made us able to purchase.
There were many factors contributing to the app stores success. The low price of the apps and the fact apple enabled third parties to build apps created a massive community of people willing to spend an inordinate amount of time building these apps on the off-chance they might become rich. There was even a social reference to this in Big Bang Theory just 4 years later in 2011.
The App store was so popular also because the app store made it easy to track our applications, update them and delete them. This in one fell swoop solved a problem in the enterprise that we had struggled with for many years which was the proliferation and management of applications on desktops.
Even though desktops are much more powerful than a cell phone and had more storage, apps had not taken off with nearly the rapidity or the incredible capitalistic rush to profits that was seen with the App store – because there was no App Store. Do you see what I mean? There were 600,000 apps in Mobile apps store in a few years and people had a hundred apps on their phones when they had maybe a half dozen apps on their desktop. This was transformative.
The full significance of this has not been appreciated. There was a synergistic element to the success of this that is the heart of how Apple succeeded in the past. They built the App store but also the phone to house them, made everything cheap and easy to manage, kept the quality high so people didn’t have bad experiences and the market exploded. Does Tesla look like a company doing the same thing in the car space? I think so. See my Tesla article for more info.
When mobile apps became popular they needed APIs to work. Almost all apps had to phone home (an API) and the way they did this was simple because many developers were not Enterprise Architects they preferred simple. (Not a denigration of Enterprise Architects or mobile developers… It’s just the facts, mam.) So, they used http (REST) to talk to simple servers they were able to build to store data and access other information and services.
The growth of APIs was fueled also by the demand on social sites for data and to leverage information in the cloud. What has emerged over the last 6 years is also an even MORE powerful trend to APIs in enterprises. Salesforce and Netflix, Stubhub, Twitter, Facebook, Google and others found they could make BILLIONS from APIs. Not$0.99 like apps but the revenues were enormous and so companies all over the world and entrepreneurs (similar to the wave of mobile app building) started building APIs.
Since the emergence of this megatrend to APIs the movement to REST has solidified and rationale has been provided in numerous ways for the simple way to talk to services rather than the more complex way services were defined in the past. That has also led to more proliferation of services (or APIs) The number of APIs (published) is far less than mobile apps but the movement is facilitated by the social community which builds around the API.
Companies have created API stores where if you want to use an API you go to the store in question and “subscribe” to the API along a usage tier which charges you according to your QOS. The subscription allows the API provider to track usage and billing by application. It is part of the security of the App but the App almost always has to provide credentials similar to any user of any service.
An API is simply another term for “service.” More specifically it refers to the description of the service. The service behind the description is simply the service. There are now tens of thousands of APIs and growing faster every year. Every company I am talking to is building APIs for external consumption of their services by mobile apps or by other companies for integration into enterprise applications.
This is driving a sea change in Enterprise Architecture as companies now look to refactor their enterprises along API lines. Realizing the value of services has companies realizing they can build their own products out of services inside the company. This is leading to a spinoff megatrend with businesses doing what I call:
Enterprise refactoring is a second phase of SOA or replaces SOA depending on your point of view. Service oriented architecture tried to get Enterprises to build software as services that could be reused to build other services or applications in the enterprise. The idea of reuse was a powerful motivation for SOA. However, since the description of services in SOA was usually a technical description of the parameters and the place to find the service rather than on the “transparency” around the service (i.e. pictures, references from other users of the service, ease of use tips) few people ever reused services in the SOA era compared to what was imagined.
I’ve now shown you 2 examples of megatrends that have been creating massive disruption in our world.
In personal life and business we are seeing massive consequences from Apples initial introduction of this device and the app store. We are seeing operating systems now becoming more like the store experience for desktops. Ubuntu, Mac Mavericks and Microsoft have already incorporated this store concept in their operating systems for desktops. The growth of tablet devices and mobile devices along with the proliferation of mobile interfaces will lead to the complete domination of the store concept for managing applications. Similarly for APIs we are seeing the store is a center for community and to help get developer interest and experience companies are rapidly trying to build out the social aspects of their stores for APIs.
This tidal wave of change and productivity has not hit enterprises in terms of how they operate internally because the enterprise has to take things sequentially: 1. Build APIs 2. Develop a community for these APIs inside and outside the company 3. Refactor existing enterprise applications into services and mobile applications 4. Become successful with new services and mobile apps 5. Deal with the consequences of this success Most companies are somewhere between steps 1 and 4 and have not had the problem yet that they now have a large number of APIs, mobile applications or applications in general that they would like to manage better (i.e. step 5 above). So, most companies are focused so much on doing steps 1-4 they aren’t thinking what comes AFTER I build all these applications and APIs and I need to manage all this new technology.
What is an Enterprise Store?
Well, the obvious thing is that a combined Enterprise App, API and Mobile store that allows you to see all of a companies Applications, APIs and mobile Apps in one place. There are several reasons to believe consolidation of Enterprise APIs and Mobile apps as well as Enterprise Apps in one store is transformative:
1. Easier for End User: Apps, APIs and mobile Apps are all related. Someone may want an app, a mobile app and an API for your service. Making them go to 3 different places and use 3 different means to leverage these is stupid and hard.
2. Security: For Enterprise IT having all Enterprise Assets in one store means that it is easier to manage what users and roles can see what APIs and Apps. You can imagine that certain people in your company can see certain sensitive APIs and Apps, some people can see more inside the company. Some partners can see certain APIs and Apps and get certain service level agreements and customers or outside developers and parties may get a different view. This gives IT control over the availability of these Enterprise Assets and to whom in a better more transparent way.
3. Manageability: These things are related. An App depends on the APIs and the mobile Apps may depend on Apps and APIs. If you have one down it affects the others. If the performance is a problem in one API it may affect lots of different things. Having a single place to see the relationship between entities and their SLAs and respective performance, usage makes managing all these things easier. It also means if you change an entity X you can find the subscribers to that thing (whether a mobile app, API or enterprise App) and notify them of outages, changes in APIs, changes in service or more. This like the mobile app store makes it easier to manage large numbers of APIs, Apps and Mobile Apps both for the consumer and the Enterprise having to manage those entities.
4. Intelligence: A single store provides a single place you can go to find information about usage of an enterprise entity, to collect bigdata so that you can see how your APIs, your Apps and your Mobile Apps are being used by whom. Relating the usage of those things to each other allowing you to estimate growth easier and how you may need to increase service or change service for poorly performing or underused services. It enables you to understand how different apps are affecting what APIs and what other enterprise assets and possibly improve service more rapidly.
5. Lower Cost: By centralizing management, administration and simplifying subscription, communication and being able to see how to share resources better.
6: Foster adoption: A store for these enterprise assets that is social and allows people to see transparently others comments, tips, best practices and plans for the future in one easy place will create the holistic experience that drives adoption and reuse.
7: Innovation: By providing a place for people to see all the enterprise assets they can see how they can improve them, they see how they can communicate their ideas for improvement. They may see that they can benefit by improving something, by suggesting something, by doing something.
You may be able to see like me that eventually enterprises will want to do this. As they get their heads above water and realize they’ve built services, built mobile apps, redesigned their enterprise applications they will want to manage all of this better. An integrated combined Enterprise Store that allows you to start down this path is available today. WSO2 Enterprise Store is the only combined enterprise store on the market. However, if I’m right within the next few years we will see enterprises taking this idea and we will see more enterprise stores.