API Management: The Missing Link for SOA Success

[This post first appeared on my blog at http://sanjiva.weerawarana.org/2012/08/api-management-missing-link-for-soa.html.]

Nearly 2 years ago I tweeted:

Well, unfortunately, I had it a bit wrong.

APIs and service do have a very direct and 1-1 relationship: an API is the interface of a service. However, what is different is that one’s about the implementation and is focused on the provider, and the other is about using the functionality and is focused on the consumer. The service of course is what matters to the provider and API is what matters to the consumer.

So its clearly more than just a new name.

Services: If you build it will they come?

One of the most common anti-patterns of SOA is the one service – one client pattern. That’s when the developer who wrote the service also wrote its only client. In that case there’s no sharing, no common data, no common authentication and no reuse of any kind. The number one reason for SOA (improving productivity by reusing functionality as services) is gone. Its simply client-server at the cost of having to use interoperable formats like XML, JSON, XML Schema, WSDL and SOAP.

There are two primary reasons for this pattern being so prevalent: first is due to a management failure whereby everyone is required to create services for whatever they do because that’s the new “blessed way”. There’s no architectural vision driving proper factoring. Instead its each person or at least each team for themselves. The resulting services are only really usable for that one scenario – so no wonder no one else uses them!

Writing services that can service many users requires careful design and thinking and willingness to invest in the common good. That’s against human intuition and something that will happen only if its properly guided and incentivized. The cost of writing common services must be paid by someone and will not happen by itself.

That’s in effect the second reason why this anti-pattern exists: the infrastructure in place for SOA does not support or encourage reuse. Even if you had a service that is reusable how do you find out how well it works? How do you know how many people are using it? Do you know what time of day they use it most? Do you know which operations of your service get hit the hardest? Next, how do others even find out you wrote a service and it may do what they need?

SOA Governance (for which WSO2 has an excellent product: WSO2 Governance Registry) is not focused on encouraging service reuse but rather on governing the creation and management of services. The SOA world has lacked a solution for making it easy to help people discover available services and to manage and monitor their consumption.

API Management

What’s an API? Its the interface to a service. Simple. In other words, if you don’t have any services, you have no APIs to expose and manage.

API Management is about managing the entire lifecycle of APIs. This involves someone who publishes the interface of a service into a store of some kind. Next it involves developers who browse the store to find APIs they care about and get access to them (typically by acquiring an access token of some sort) and then the developers using those keys to program accesses to the service via its interface.

Why is this important? In my opinion, API Management is to SOA what Amazon EC2 is to Virtualization. Of course virtualization has been around for a long time, but EC2 changed the game by making it trivially simple for someone to get a VM. It brought self service, serendipitous consumption, and elasticity to virtualization. Similarly, API Management brings self service & serendipitous consumption by allowing developers to discover, try and use services without requiring any type of “management approval”. It allows consumers to not have to worry about scaling – they just indicate the desired SLA (typically in the form of a subscription plan) and its up to the provider to make it work right.

API Management & SOA are married at the hip

If you have an SOA strategy in your organization but don’t have an API Management plan then you are doomed to failure. Notice that I didn’t even talk about externally exposing APIs- even internal service consumption should be managed through an API Management system so that everyone has clear visibility into who’s using what service and how much is used when. Its patently obvious why external exposition of services requires API Management.

Chris Haddad, WSO2’s VP of Technology Evangelism, recently wrote a superb whitepaper that discusses and explain the connection between SOA and API Management. Check out Promoting service reuse within your enterprise and maximizing SOA success and I can guarantee you will leave enlightened.

In May this year, a blog on highscalability.com talked about how “Startups Are Creating A New System Of The World For IT”. In that the author talked about open source as the foundation of this new system and SOA as the load bearing walls of the new IT landscape. I will take it to the next level and say that API Management is the roof of the new IT house.

WSO2 API Manager

We recently introduced an API Management product: WSO2 API Manager. This product comes with an application for API Providers to create and manage APIs, a store application for API Developers to discover and consume APIs and a gateway to route API traffic through. Of course all parts of the product can be scaled horizontally to deal with massive loads. The WSO2 API Manager can be deployed either for internal consumption, external consumption or both. As with any other WSO2 product, this too is 100% open source. After you read Chris’ whitepaper download this product and sit it next to your SOA infrastructure (whether its from us or not) and see what happens!

Sanjiva Weerawarana, WSO2 co-founder and CEO
Sanjiva’s blog: http://sanjiva.weerawarana.org

“Celebrating 7” with Pictures

I joined WSO2 in the same year it was founded, way back in 2005. Here’s my top 7 of what makes WSO2 cool – in pictures from the last 7 years.

1. Hard working people

2. Getting well deserved recognition

3. Growing from strength to strength

4. Equal opportunities

5. Beyond the office walls and computer screens

6. Not forgetting the less fortunate

7. Fun above all else

Feel free to post a blog and tweet #mywso2top7 with your top 7 of what WSO2 means to you.

"Celebrating 7" As Seen By Interns

From the veterans of WSO2 to the newbies…this week we have a top 7 list from our current group of interns at the Colombo office for our ongoing campaign of celebrating 7 years of WSO2. Every year WSO2 trains many interns from the local universities who eventually end up most often working for us too once they graduate.

1. Flat Structure

It is flat as it can ever be. A simple example – at WSO2Con 2011(Where we participated as students) Sanjiva came to the conference room in the middle of a speech. For a seat he had to go through the hall. Instead he sat on the ground while 100s of other employees were sitting in chairs nearby. Then instead of giving a chair to their CEO, one employee took a photo of him to upload to twitter. Nothing else is required to explain how flat the structure is. And truly that is one of the reasons why we choose WSO2 for our internship.

2. Open Culture

Things are pretty cool at WSO2. We can speak and ask help from anyone and they are always ready to help. That is a great advantage for us as we get the chance to talk and work with tycoons of the tech world. Its just amazing.

3. Motivational Working Environment

We can see, that everyone is engaged in their assigned tasks very eagerly. They are driven by their own control and power. Administration operates in such a way (no micro management) that employees truly get the feeling that this is our company.This gives an environment for passionate workers to give their maximum and creative output towards the company.

4. Guidance in the Learning Environment

Mentors are always helpful and willing to guide us on the correct path. So we have a great learning environment as interns.

5. The Way Employees Are Treated

When a company concentrates too much on the end outcome it has to force its employees and get the work done. At WSO2 however we see that employees are highly appreciated and this results in awesome outcomes.

6. Smiling Faces

All the employees here are friendly and we are always greeted with friendly smiles making WSO2 a pleasant place to work.

7. Fun

Having fun while working rather than just working. Occasional laughter is pretty often at WSO2 and Table Tennis, Carom boards and Foosball table will never have a break at lunch and tea times.

– WSO2 Inters 2012: Tishan, Ishara, Pulasthi, Denuwanthi, Thilini, Andun, Harsha, Sameera, Sammera, Sachini, Hasintha, Lasindu, Malinga, Nipuni, Chaamini, Prabath, Isuru, Sajini, Kanarupan, Rajith, Ishan, Buddhima, Hareesan, Sagara, Tharindu

Feel free to post a blog and tweet #mywso2top7 with your top 7 of what WSO2 means to you.

“Celebrating 7” Continues with CTO, Paul

On our ongoing campaign of celebrating 7 years of WSO2, we have CTO, Paul Fremantle’s top 7 of what makes WSO2 great.

1. Our openness

We started open and seven years later we are more open than when we started! Since we started we moved our architecture mailing list out into the public, we do all our development discussion and bug tracking, builds and more in the open. It makes it much easier to collaborate. Of course we still have private bug trackers and email for managing customer information.

2. Our culture

Play hard and work hard. Each year we publish around 50 product releases and many service releases, together with marketing, PR, support and everything else a product takes, and yet we still find time to organize inter-house basketball matches, athletic meets, and even a car rally around Colombo.

3. Our products


4. Our people

We have so many talented people and its simply a pleasure to work with so many bright, dedicated and insightful developers, account managers, marketers, and designers.

5. Our customers

Inspire us to do harder, deeper, more impressive technical solutions every day, and make it a challenge and somewhere where I never get bored.

6. Our vision

We continue to have a vision, that builds off our very first aims, to create a company that makes it easier and more effective to build distributed applications (in the cloud – yeah that is new in the last 7 years!) using a leaner open platform.

7. Our global nature

We really try to operate as a single company worldwide, and we have done since we started with one person in Asia, one in Europe and one in the US. Now we have people in Spain, Canada, Florida as well as Palo Alto and Colombo.

8. Our complete inability to stick to the “rules” and be constrained by the existing marketplace!

Feel free to post a blog and tweet #mywso2top7 with your top 7 of what WSO2 means to you.

Celebrating 7 with Jonathan Marsh

7 years ago this month WSO2 was founded on the belief that there was a better way to do middleware. Today WSO2 has not only reinvented the technology but also support models, business relationships and corporate culture.

As a tribute to the past 7 years of continuous  excellence we will feature the top 7 lists of what it means to be part of this unique company.

We start off with Jonathan’s top 7 and will publish more in the coming weeks.

1. Truly global

From day one where the founder’s “virtual garage” was on three continents, to serving customers around the world, to hiring the best folks wherever they reside, WSO2 shows what it means to operate in today’s global environment.

2. Talent pool

WSO2’s status as one of the premier “creative” organizations in Colombo attracts the cream of the hottest talent for its development team, and retains them with a meritocratic, Silicon Valley-style entrepreneurial culture.

3. Focus on employee first, job second

We know that it’s often more important to have the right attitude, ambition, and raw talent than a credential that matches a static job description.  WSO2 team members regularly adapt and grow in ways that build an exciting career – and redouble their value to WSO2!

4. Pure balls

Taking on the likes of Oracle and IBM in terms of a superior technical vision is no small feat.  Yet that’s what WSO2 was founded to do.  In many ways we’ve already surpassed them, for instance with modularity and cloud nativity, but we also make strides every day to surpass them in customer satisfaction, reliability and responsiveness, fit-for-purpose, and one day in market share ;-).

5. Work globally, help locally

WSO2 consciously strives not just to succeed financially, but never forgets what that success is for: it translates into fulfilling employment, assistance to local enterprises, contribution to the industry and industry groups, presenting models for a “creative economy” in Sri Lanka, and promoting many charitable efforts to lift those around us in need.

6. An honest customer relationship

We’re pushing the envelope on what the software vendor/customer relationship should be – a cooperative model.  We’ve constructed our business model so that we partner with our customers to solve their problems efficiently and effectively – Apache licensed open source shares the code with customers, a menu of services targets a customer’s need directly, pricing that is drop-dead simple, no use of secret discounting structures to squeeze more money from some customers than others, no commissioned salespeople who have incentives to push further than the customer can benefit from.  Simple, straightforward value is our model, not restrictions or gimmicks.

7. Some great, great people at the helm

Paul and Sanjiva continue to amaze, our technical leadership under Samisa, Azeez, Shankar, Prabath, Asanka, and so many others always exceed expectations, and our new hires like Chris and Isabelle are rocking their jobs.  Our customers love these guys – and we get to work with them every day!

Feel free to post a blog and tweet #mywso2top7 with your top 7 of what WSO2 means to you.