How do you become responsive, cost-effective and modern?
Most executives are worried about the technology changes happening today, including business people not just the IT departments. They see all around them a massive movement to technology being used to create better connections with customers and partners and they see their competitors meeting their customers with technical solutions faster. They know that some of their competitors are doing this at much lower cost and much faster than they are and their competitors are using digital information to target customers better, to learn about their customers better and to respond to them better. They know that if they don't do these things in many cases their business may be in trouble.
The problem for the technology side of a business:
1) Lower costs, acquire or develop new technology at the extremely low and efficient costs that are possible today
2) Solve the business problems so you can run the business efficiently
3) Innovate (Digitization) by providing leading edge connectivity to your partners, customers, potential customers, ecosystem in general.
4) Keep their employees happy and productive with tools that are efficient and current
A CIO/Business person can use several approaches to solve these problems.
1) Acquire a prebuilt solution and run it themselves on-premise or in the cloud
2) Acquire a SaaS type solution
3) Build it themselves and run it on-premise or in the cloud
Can't I just outsource all this and save myself the hassle? Make it someone else's problem?
The problem is that frequently off the shelf solutions (type 1 or 2 above) don't meet your needs or don't have the features you feel will give you a competitive advantage. Sometimes the solution has the basic features you want but it isn't integrated with your other IT solutions so it is difficult to use it within your business effectively. Some businesses don't like to be tied to a third party for something so core to their business. They want to be able to put in features and capabilities when they need them to their specification.
More than one company has swallowed the outsourcing idea thinking it could reduce costs by simply using off-the-shelf products. This can lead to serious problems. Read this. You need to consider carefully the issues I brought up above about how do you integrate these outsourced products and continue to innovate and improve your business. There is a growing consensus how these things should be done to give you the choice to use things in a more cookie cutter way.
In most cases you are going to want to "integrate" whatever solution you buy or build. So, integration is still a huge problem.
The API centric Services vision
There is a massive change in technology afoot. How are businesses gaining advantage from this technology change? There is a more consistent answer for this than you may think. It is clearer today how to move forward with IT than in the past in spite of all the change going on.
You can now buy applications "as services" and integrate them easier. Salesforce today makes more revenue from it's API services than the product license and subscription revenue.
There is a long standing desire of software professionals and architects to improve productivity by removing the problem that we all knew was a big part of the cost of software which was the constant rewrite of the same things over and over. It seemed natural that if we built our companies on a service oriented foundation we could reuse the services, however SOA didn't accomplish its important goal in spite of tremendous effort by many companies to follow the dogma. That wasn't the answer.
The first step is to rethink your business in terms of services. What does this mean for a company that is interested in solving its business problems?
This is the service centric connected business paradigm.
The paradigm we are all working with today in what i call Platform 3.0 era is to build "APIs" which are roughly the same idea as services in the SOA framework. The idea of services is more than alive and well, it is exploding with new excitement and success in this new era with the cloud and mobile. As a business person you must be able to think about your business in terms of the atomic elements of services it provides or needs. What are your core competencies is another way of putting it? If you break the specific things you do into services then you can piece together the products and value you offer to the world by combining these services. This is what I call Enterprise refactoring.
Enterprise Refactoring : Ski Resort
Let's say you are a Ski Resort. What services do you have?
A) Customer Services:
1) Sell tickets. There may be many kinds of complications to this service.
2) Providing Customers with Information so they can purchase the tickets
3) Services to help the customer before they use the tickets
4) Helping the customer use the ticket (skiing)
5) Helping the customer while using your service
6) Helping the customer after they have used the service
B) Advertising and Promotion Services
C) Employee Services
D) Company Management Services
E) Partner Services
Each of these services can be broken down into sub-services. In some cases there might be several APIs corresponding to a service. You will be surprised that most of your real world services have a virtual set of equivalents.
What are the advantages of thinking of your business as "a set of services?"
If you break down your company into these ideas of services you will find that you are then able to think more clearly of what value your company provides and then how to provide that value to customers either in a "connected way" with a mobile application, web application, an employee using a mobile or web application, a device, a PaaS site or whatever to provide the best service.
You may be able to see that somebody else can help you provide that service better or even replace the service. You don't have to adapt their entire application but just a portion in the form of a service. There are 20,000 public services available today in the cloud and 80,000 private services. Using these services can rapidly improve any one of your services. You may also discover you can offer your micro-service to others and gain revenues or new avenues to reach customers.
In the above example consider A5 "Helping the customer while using your service." An example of helping customers while using your service might be to provide an API to request help if I'm injured on the slope. If you had such an API you or anybody you expose the API to could build an app that included the ability to get help. Such an API would expect the geolocation of the accident.
If you had such a service then all kinds of things could be automated or notified. Other skiers and employees could be notified of a hazard or the need for help. It could even notify people of a special condition of the injured person. You could use such information from that service to fuel some of your analytics to determine if there is a problem in a specific area of your ski resort or if certain types of days based on traffic, weather other events trigger more accidents. You could have signs on the ski runs identifying things skiers should do to avoid injuries or what to watch for. This could be integrated into an app as well or provided in overhead monitors.
Each point you look at in your enteprise refactoring service directory is a potential point where you can improve your service, connect with customers, partners or help your employees provide better service.
In the above example consider A1. "Selling tickets." If you make it easy to get tickets via a ticketing API and expose this API externally then others can integrate that API so that you have opportunity to be listed everywhere and make it easy wherever you have an electronic ad, partner or whatever to get tickets. Uber or StubHub do this so that others can embed ticketing in their app for your services.
This is the new way
Think of your business as a set of services and connected partners, customers, employees, systems. Don't think of hardware or the physical way you deliver those services initially. The hardware can be in the cloud, on-premise or invisible provided by third parties as just a service. More and more our businesses are virtualized and the physical side is more fungible.
WSO2 is the only open source company with the full range of software to implement Platform 3.0, the Connected Business vision using API centric, the cloud, big data, social, mobile, open source and more to help you deliver your business in whatever way your customers want. A huge advantage to using the WSO2 suite is that it is fully integrated.
If you use open source from 3 vendors then you have to integrate them just like the applications you integrate for your business. Why not save yourself the hassle, risk and time to integrate if you can find products already integrated?