The level of talk and adoption of APIs has been really picking for sometime now. So what is the fuse about? After all the idea of an API isn't exactly new, for those of us who started out with C will point to header files as being a simple API, a bit more recently and you'd point to Java interface classes, then there has been SOAP+WSDL and that's before we have even talked about CORBA, EJBs and standards for interchange like ebXML etc.
Well, I think we have seen several things. Firstly compute power has now reached a stage where the abstraction costs of are viewed as fairly negligible in most scenarios. When it comes to defining APIs, we have found a sensible balance between precision of definition and simplicity to define and develop. Recognition that there is raw value is data and therefore exposing the data for use creates revenue opportunities. Then along came microservices - an approach among other things that needs APIs to help manage, measure and if necessary control interactions without which we can end up with a new type of monolith bound together by a raft of unseeable cross deployment calls. Oracle Ace Director Luis Weir and I discussed this at the recent Oracle Code London event (more here).
To realise APIs in a manner that is far more effective than those earlier approaches I mentioned, means some tools, platforms and some (defacto) standards are needed. So we have the tools to describe the APIs to a level where test frameworks and stub solutions can be generated without being cumbersome and easy to document and share. Look at the Swagger toolset and APIary which supports the Open API and API Blueprint standard notations.
Then you have the API Platform or gateways that provide the means to measure, manage, monitor and direct the calls to APIs. In other words apply security, audit trail, direct the calls to the right instances of the application. If you want better understand the evolutions of this space checkout the work from Luis Weir (for example here).
Let me underline how central APIs have become by highlighting how those innovators have been acquired by mainstream players. Apigee is now part of Google (here for more), 3Scale is part of Red Hat (here), Amazon have built their own solution (go here) as have Microsoft as part of Azure (here).
Then more recently APIary has finally been acquired by Oracle after a period of partnership. Now, Oracle may not be the fastest to the party but once they commit to something the company can occassionally be a bit of an oil tanker - once it has set a course no stopping it once its underway, and they have largely mastered the art of looking at what the innovators have done, looked at customers needs, and thought about it, then acquired or built a product which very quickly atleast matches if not exceeds the competition. ICS (Integration Cloud Service) is another example of this, and Oracle's recognition as innovators by Gartner now in the iPaaS sector.
Last week Oracle have announced their new API Platform (here) - it sits in the cloud but can deliver that API management capability equally as easily on-premises in Oracle's cloud or even another vendor's cloud (e.g. AWS, Azure etc). How do I know this? Well I have been fortunate to work with a customer during the beta programme. The runtime engine is built using part of Oracle's high performance Telco platform. The management tier has benefited from the investment in the new clean UI experience from Oracle's serious commitment to UX in the last few years. The deployment of the gateway (execution engine) is vast steps forward - lots of lessons from SOA and ICS agents.
Remember this is not Oracle's first foray into API management they had a previous generation of solution, which admittedly built in part with OEM agreements, will have given them further insight into customer challenges so we can expect the feature set to quickly get fleshed out with the insights that the older offering provided. For a more detailed take on the product checkout Luis' article here.