API Management – The Platform

March 31, 2013

In my last blog entry, I introduced the concept of API Management and how this domain has evolved over the last decade to where it stands today. In this blog entry, I will focus on what are the key components of an API Management platform, what are the different deployment models for the API Platform and who are key players in this space.

What makes up an API Platform?

An API Platform needs to provide the following key components
• API Builder: Tools for providers to define create and configure an API.
• API Portal: User Interface platform for API providers to socialize APIs with the consumers to enable adoption.
• API Gateway: Manage controlled access to the API layer and protect the services from security threats.
• API Analytics: Provide insight into API usage – operational, technical and business metrics that can help API providers to customize and improves the services they provide.

API_2

API Platform – Deployment Models

The following table describes the three common deployment models that are available for an API Management  platform.

Gateway
  • A hardware appliance that the customer deploys on premises in the DMZ.
  • This model requires the customer to setup and manage the infrastructure but does give the customer more control and manageability.
  • This model would be more appealing to large enterprises that still prefer to control their overall infrastructure.
Cloud Based Proxy
  • A cloud service that intercepts all API tra­ffic and forwards it to the customer’s SOA infrastructure.
  • This is extremely easy for the customer to start with as it does not require any in-house setup and might be a preferred model for smaller organizations as they venture into the API space.
Software Plugin
  • A software solution that the customer integrates into their own code and deploys wherever their servers are – on premise or the cloud.

The Vendor Ecosystem

The recent Forrester report published on Feb 5th 2013, titled ‘API Management, Platforms – Q1 2013’ shows the key vendors who provide the leading platform for API Management today. Another vendor who did not participate in the Forrester survey but that is a strong player in this space is Apigee.

API_1

IBM’s API Management Platform [Cast Iron Web API Services] is a strong contender in this space and in my next blog entry I will focus on how to build an API using Cast Iron.

Advertisements

APIs – The Next Evolution of Service Oriented Architecture

March 25, 2013

Talk technology trends today and you cannot complete the sentence without referring to SCM [Social, Cloud and Mobile]. These three domains have changed the way businesses use technology. In this blog series I will focus on the fourth key emerging area in the technology space – APIs – the foundation on which the Social, Cloud and Mobile revolution gains more adoption. In this blog entry I take a look at the evolution path of what is called API Management today.

Remember the SOA books or articles in early 2000. The most common picture I saw in every book –Provider, Client and UDDI [Yes, I still remember that acronym]. I refer to that era as SOA 1.0. The buzzword was ‘Web Services’. The standards (WS-*) were still evolving, the big technology vendors – IBM, ORACLE, TIBCO were still struggling to get  mature tools and products to market and enterprises were still trying to understand this value proposition of services.

Then came the age of SOA 2.0 – the standards were formalized, interoperability was achieved, ESB was no longer a pattern – it was a product, it was no longer about Web Services – it was all about a disciplined approach called Service Oriented Architecture (SOA) and the new buzzword was “Governance” – UDDI was gone and an Enterprise Services Registry & Repository became the norm. However SOA 2.0 focused more on the Enterprise – services were more for internal consumption or to be consumed with key business partners outside the enterprise.

The innovation that changed the SOA world again did not happen at IBM or at TIBCO or at ORACLE – it happened first in Apple [iOS App Platform] and then at Google [Android] – The World was now Mobile and the new buzzword was ‘App’. Millions and Millions of developers who build mobile apps entered the ecosystem and they needed a standard way to access data and logic. Enterprises saw this as an opportunity to get into new business models to generate new revenues by tapping into these developers who could build new applications for the capabilities that an enterprise already provided. However they needed a standardized way for the development community that was completely outside their control to interact with their services. The world of SOA could no longer be confined to the walls of the enterprise – ‘It had to go public’.

Enter API Management and Welcome to SOA 3.0

While the acronym API is as old as technology itself, in today’s world, API Management is about publishing and promoting the core business capabilities of an enterprise as publicly available services. The intent of doing this is to allow the vast development community out there to consume them in a secure and scalable manner and use them to build new applications that will bring new business and revenue models for both the provider and the consumer of the API.

In the next set of blog entries on this topic, I will delve more into the key features of an API platform, the competitive landscape and will focus the IBM API Management Platform to build an end to end API Solution.


Challenges with using a Cloud Based Solution

September 29, 2012

With all the discussion around Cloud, sometimes you don’t realize the challenges till they hit you

My entire app is now useless because it relies on data from the Parse Cloud ….., But you cannot build and deploy apps without such a cloud infrastructure – need to balance the pros and cons.

Cloud Infrastructure Down

 


Android: Updating You App – New Version

September 27, 2012

Now that the first version of my application is in the Play Store, i have started thinking on how i can improve on it and what i will need to have in Version 2.0

One of the things that bothered me with version 1 was that the data of my app was stored in the app and that made the app static

I decided to store the app data in the cloud and make my app dynamic

  • Created a Data Model for my application and mapped it to “Class” / “Table” in Parse
  • I stored data in the parse cloud – created CSV files with the data and use the CSV File Import in Parse
  • Updated the application to use the Parse Android API to do queries and retrieve the data from Parse. Check my blog entry on Android and Parse / First Parse Application to get more details. I am including a code snippet here that shows the usage of the Parse API

ParseQuery query = new ParseQuery(“VrChildrenContent”);
query.whereEqualTo(“ContentGroupName”, cartoonName);

try {
contentList = query.find();

} catch (ParseException e) {

}

I am not yet ready to deploy the second version, i may have some more enhancements to do. Once i am ready – I will also describe the process of changing the manifest to specify the new version no: etc.

BTW – Before I started changing code in my app, i created a copy of the app in eclipse and renamed it to VrChildren_v10, so i can go back to the deployed v1.0 at at anytime.


My First App on Google Play Store

September 24, 2012

VrChildren

VrChildren provides kids with a fun and entertaining application that allows them to learn and play at the same time. The first version of this applications brings a collection of videos from YouTube of the most famous cartoon characters. Let your child have some fun and be a kid !!!

Feels Good To Have My First App Published On The App Store …..

VrChildren App on Google Play App Store


Android: Publishing your Application

September 24, 2012
  • Export your application from Eclipse. It requires you to create a KeyStore and Key to sign your application. Eclipse guides you through the process – thought i faced a few challenges that are known and documented here. [ The certificate that signed this apk is not valid until the future. Create a new certificate  – Changes I had to make: 1. make the certificate valid for at-least 27 years” and 2. Need to set back my computer clock like a day and then retry again, I am not sure why i had to do this though :), but it worked …..

Export Android App for Deployment

  • Once you have exported the application, you need to publish it using Google Play. Prior to doing that you will have to register [Pay $25 using Google Wallet] and get access to the Google Play Android Developer Connection which will be your console for app control and publishing.  Click Here for Detailed Instructions to Publish Your Application.

Android: Testing on a Samsung Device

September 22, 2012

I finished my first application and got it tested on the Nexus 7 Tablet

Now wanted to test it on a phone and a Samsung Device – My Samsung Galaxy Rocket SII

Changed the Manifest of my application to support Api Level 10

As mentioned in my Previous Blog Post on “Testing on a Android Device” – I installed the Samsung USB Driver and Enabled USB Debugging on the phone.

Went into the Eclipse DDMS Perspective, made sure the device was visible and then went ahead and ran the application on the phone and worked like a charm

Testing on Samsung Galaxy SII