June 7th, 2012

Platform Comes to Washington

Digital GovernmentEveryone wants his or her government to be better. We want more services, better services and we want them delivered cheaper. Politicians come and go, policies change, new budgets are tabled but in the end we are left with a haunting and largely unanswerable question: Are things better or worse than they were before?

One thing that is encouraging and has the potential to trigger disruptive change to the delivery of government services in the US is the recent publication Digital Government: Building a 21st-Century Platform to Better Serve the American People. The word to note here is platform –  it seems that government has taken a page from Facebook, Twitter and the others and embraced the idea that efficient information delivery is not about a carefully-rendered Web page but instead is really a logical consequence of developing an open platform.

I confess to some dread on my first encounter with this report. These publications are usually disheartening products of weaselly management consultant speak refined through the cloudy lens of a professional bureaucrat (“we will be more agile”). But in this instance, the reverse was true: this report is accessible and surprisingly insightful. The authors understand that Mobile+Cloud+Web API+decentralized identity is an equation of highly interrelated parts that, in summation, is the catalyst for the new Internet renaissance. The work is not without its platitudes but even these it bolsters with a pragmatic road map identifying actions, parties responsible and (gasp) even deadlines. It’s actually better than most business plans I’ve read.

Consider this paragraph clarifying just what the report means when it calls for an information-centric approach to architecture:

An information-centric approach decouples information from its presentation. It means beginning with the data or content, describing that information clearly, and then exposing it to other computers in a machine-readable format—commonly known as providing web APIs. In describing the information, we need to ensure it has sound taxonomy (making it searchable) and adequate metadata (making it authoritative). Once the structure of the information is sound, various mechanisms can be built to present it to customers (e g websites, mobile applications, and internal tools) or raw data can be released directly to developers and entrepreneurs outside the organization. This approach to opening data and content means organizations can consume the same web APIs to conduct their day-to-day business and operations as they do to provide services to their customers.

See what I mean? It’s well done.

The overall goal is to outline an information delivery strategy that is fundamentally device agnostic. Its authors fully recognize the growing importance of mobility and concede that mobility means much more than the mobile platforms — iOS and Android, among others — that have commandeered the word today. Tomorrow’s mobility will describe a significant shift in the interaction pattern between producers and consumers of information. Mobility is not a technological instance in time (and in particular, today).

But what really distinguishes this report from being just a well-researched paper echoing the zeitgeist of computing’s cool kids is how prescriptive it is in declaring how government will achieve these goals. The demand that agencies adopt Web APIs is a move that echos Jeff Bezos’ directives a decade ago within eBay (as relayed in Steve Yegge’s now infamous rant):

  1. All teams will henceforth expose their data and functionality through service interfaces.

It was visionary advice then and it is even more valid now. It recognizes that the commercial successes attributed to the Web API approach suggest that just maybe we have finally hit upon a truth in how system integration should occur.

Of course, memos are easy to ignore — unless they demand concrete actions within limited time frames. Here, the time frames are aggressive (and that’s a good thing). Within six months, the Office of Management & Budget must “Issue government-wide open data, content, and web API policy and identify standards and best practices for improved interoperability.” Within 12 months, each government agency must “Ensure all new IT systems follow the open data, content, and web API policy and operationalize agency gov/developer pages” and also “optimize at least two existing priority customer-facing services for mobile use and publish a plan for improving additional existing services.”

If the recent allegations regarding the origins of the Stuxnet worm are accurate, then the President clearly understands the strategic potential of the modern Internet. I would say this report is a sign his administration also clearly understands the transformational potential of APIs and mobility, when applied to government.

June 1st, 2012

The Oracle-Versus-Google Verdict Comes Down

Written by
 

Oracle-Google VerdictWhew! That loud sigh of relief you hear reverberating from Silicon Valley is a reaction to yesterday’s Oracle-Google ruling, which declared that APIs are not protected by copyright. While this case could be far from over – Oracle may appeal and force another $50 million round of litigation – a knowledgeable judge and a well-argued 41-page decision will likely make for a strong precedent.

In the few weeks, since I last discussed this case, I’ve gotten a lot of feedback. While some techies provided commentary supporting Google’s position, more responses came in the form of questions about APIs themselves. Are programming language APIs different from Web, Cloud or other APIs? Does Oracle deserve special consideration due to the time and effort invested? Can one API be “better” than another?

Language APIs certainly appear to be different from Web APIs. They are bound to language syntax and define local functions, which are then compiled or interpreted into bytecode and executed on a low-level platform. Web APIs, on the other hand, are generally language-independent and use basic networking protocols to execute remote services often hosted by an external party.

However, there is an important common bond defined in the acronym itself. Each API is defining an interface to some actual functionality or data. To use a travel metaphor, APIs are not a destination – they are the directions to that destination. Whether it’s a Java class definition, an Amazon S3 storage operation or a Netflix catalog request, an API describes how to do something, get something, calculate something etc.

Because an API is simply a method for accessing an application (the implementation of which is protected under the law), there are many ways to describe the interface, some “better” than others. And Sun Microsystems (later purchased by Oracle) did put time and effort into its creation of a highly-structured Java API.

But structure and complexity are not necessarily the hallmarks of a superior API, as we’ve seen with the move from SOAP Web services to REST-based APIs over the past few years. In fact, generic self-describing APIs simple enough to be navigated without documentation by man or machine are now considered the pinnacle of success, at least according to the Richardson Maturity Model.

When it comes to whether or not APIs can be copyrighted, I happen to be in favor of the ruling as it stands, if only to avert disaster in the IT industry. By taking a strong stand on the issue (even with caveats around extending this ruling to other case law), the judge has possibly prevented a whole new round of lawsuits that could have rivaled the still-ongoing Apple/Samsung/Google patent wars. The last thing the tech world needs is more distractions from all of the fantastic innovation taking place today.

So for now, we can continue to focus on how to secure and govern the applications and data being exposed via APIs. Access to that functionality is the true value of an API and needs to be protected by both technology and the law.

(See Groklaw’s review of the decision for more trial details.)

May 18th, 2012

The Secret Lives of REST APIs

Written by
 

Netflix APIThe recent enterprise acceptance of lightweight REST-based protocols for exposing data and application assets as APIs has been due, in large part, to the simplicity of the resulting interfaces. This simplicity means there is little barrier to entry for developers wishing to consume these APIs in applications built for mobile, Web, desktop, Cloud and gaming platforms. However, as this article from Netflix’s Daniel Jacobson reveals, simplicity can’t be the only goal when designing an API. Flexibility, scalability, optimization, orchestration and adaptation are just a few of the features required in a successful API infrastructure.

At Layer 7, our enterprise customers build incredibly elegant API platforms using our API management technology. Our solutions recognize that one size does not fit all and we provide the tools to adapt to changing requirements without re-architecting new APIs from scratch. Though we certainly support the simple “large number of known and unknown developers” use case Jacobson describes – with robust, scalable technology deployed on a wide variety of hardware, virtual, software and Cloud platforms – we can also address the specific concerns raised by the variety of devices and environments in Netflix’s ecosystem.

Message size, structure and delivery constraints due to device variation represent a large part of the problem. Layer 7 Gateways support the relevant formats and transports and can perform message transformation and protocol mediation on the fly. Policy-based configuration enables custom “virtual” APIs tailored to each device, community of developers or calling application. These format and behavioral changes can be explicit or can be triggered by user identity, app permissions, message content or transaction metadata. Even more complex mediations, such as REST exposure of internal SOAP-based assets, are simple to configure and help to reduce re-implementation costs.

Interaction models can also be optimized and tailored to the calling platform. Composition of comprehensive document-based APIs from multiple backend calls can reduce chatty client interactions. Conversely, small messages from memory-constrained devices can be aggregated into larger, less frequent backend calls. Mobile traffic can be optimized using persistent HTTP(S) connections and over-the-wire compression. And content can be cached at any level of granularity, using an in-memory cache like Terracotta, to reduce the number of calls to the application backend.

As director of one of the world’s most broadly adopted public APIs, Jacobson’s most profound observation is that “public APIs are waning in popularity and business opportunity and… the internal use case is the wave of the future.” API infrastructure needs to support everyone – open API developers, internal coders, contracted development teams and partner groups – especially as mobile workforce enablement and BYOD gain popularity. Layer 7 solutions allow enterprises to make that distinction clear through public vs. private APIs, configurable classes of service and role-based access control.

Jacobson mentions several piecemeal solutions that he and others have attempted to compile into a working platform but notes that those approaches still fall short. Providing an enterprise-grade REST API is no simple feat and it’s great that the truth of the matter is starting to come out. The benefits of a successful API strategy are numerous and well-documented. Layer 7 is the only vendor providing an API management solution that incorporates all the basic necessary functionality and much, much more.

April 27th, 2012

Tech Talk Tuesday: Developer Management

API Developer Management

Time for another Tech Talk Folks. API developer management. During this interactive one-hour event, we’ll be discussing how enterprises can attract, engage and manage developers for their open APIs.

Open APIs allow enterprises to build communities of third-party developers around their applications and data. But many enterprises struggle to ensure developers actually use these APIs to build apps that deliver real value.

On Tuesday May 1 (add to your calendar) we’ll be offering real-world developer management strategies that will help you get maximum benefit from your APIs.

So be sure to come to the Layer 7 Facebook page at 9am PDT.

How to Attend:

Just visit the Layer 7 Facebook page at 9am PDT on May 1 and click the Livestream icon.

Don’t have Facebook? Simply click here to watch directly through Livestream.

Submit questions on Facebook or use the Twitter hash-tag #layer7live

How to Submit Questions:

On Facebook

•    Click on the Livestream PLAY button to join the stream
•    Click the red “Check in to Chat” button to submit questions

On Twitter
•    Tweet questions with the hashtag #layer7live

Guest Expert: Dana Crane

As Product Manager for Layer 7′s API Portal, Dana Crane sets the direction of the company’s newest product.
His involvement in creating this product has given him deep insight into what it takes to build active developer communities around open APIs.
Dana holds a BSc from the University of Toronto and a diploma in hard knocks from the Internet boom.

Add to Your Calendar

April 13th, 2012

Tech Talk Tuesday: Caching & API Optimization

Written by
 

Geoff Duck Tech Talk TuesdayHere we go again – time for another Tech Talk Tuesday. It’s live, unscripted, interactive and it’s going to be awesome – especially if you love to talk Caching & API Optimization.

We’ve simplified SOAP to REST, we’ve explained OAuth and now, during this interactive one-hour event, we’ll be discussing how open API publishers can optimize the delivery and performance of their APIs using techniques like caching. But it’s a live event, so you never know what might happen, with questions coming fast and from all over the globe.

If you haven’t joined us in the past – take a look at these episodes here on our official Layer 7 YouTube page. They’ll give you a good idea of what Tech Talk Tuesday is all about.

Our special guest this week is Geoff Duck, a Senior Developer and innovative superstar at Layer 7. He’s smart, good looking and thinks fast on his feet. He regularly works with Layer 7 customers, helping them implement API management and SOA governance best practices – so here‘s your chance to interact live with one of our top developers.

We look forward to seeing you there. Get your questions ready and then, on Tuesday (at 9am PST), simply go to our Facebook page, click the Livestream tab and hit play. It’s super easy.

See you Tuesday!