HomeSolutionsService API Authoring

Service API Authoring

 

Application Programming Interfaces (API) are quickly becoming the key to successful Cloud Computing initiatives and Software as a Service (SaaS) platforms. As we enter the new era of cloud services, it seems nearly every web application provider is aspiring to be a platform player. While platform providers compete for the hearts and minds of application developers, the programming interface, in particular the REST API is emerging as a critical aspect of platform architecture.

api-author   

However, providing an intuitive and feature-rich interface into a provider's platform still poses a number of significant challenges. Simply opening up the native API may not attract application developers as internal programming interfaces are often too complex to use directly. Likewise, packaging data operations in a cumbersome interface descriptor document may not be optimal as the SOAP based approach has shown.

Inflexible interfaces that cannot be easily changed to accommodate the growing function set of an evolving platform may significantly limit a provider’s ability to attract large numbers of developers. Although offering an API does not transform an application into a platform, the success of service provider platforms depends in large part on getting the API strategy right. 

SaaS platform providers will need to give their developers the ability to define interfaces in a flexible and cost effective way, allowing easy management of format and protocol changes. For developers it is critical that an API be light-weight and intuitive, allowing common data operations to be easily defined. The Service Application Engine™ allows developers to solve a broad range of service API problems and develop targeted SaaS solutions.

SaaS Platform API Benefits

From a business perspective, an API allows developers to leverage assets already owned by an organization to drive innovation, product development and market knowledge. Application developers benefit from this approach by gaining easy to access the functionality of the platform. Instead of developing everything from scratch, developers can tap into multiple platform APIs (a technique known as mash-ups) to assemble new and unique applications.  

Additional API benefits:

  • accelerates application development
  • service platform extensibility
  • integration and interoperability with other platform providers
  • usage metrics, analytics and compliance reporting

The REST API

When comparing available technologies the REST API has emerged a clear winner, being offered by many of the leading SaaS platform providers including Flickr, Google, Bit.ly, and NetFlix. As an architectural pattern, REST is popular because it intuitively maps existing HTTP verbs to common data operations, and offers a lightweight alternative to existing SOAP and RPC-based architectures. REST-based APIs are typically faster to implement, and easier to develop against, than their SOAP and RPC-based equivalents.

The Service Application Engine™ offers several features that are valuable to the REST API developer, such as built-in support for REST HTTP methods, access control and support for XML and JSON output types. All service logic and data collections may be accessed by standard REST HTTP client applications, browsers and mobile devices without additional coding. 

Key Platform Features

  • The fabric's collaborative development environment allows developer teams to create and share service, interface and data format definitions.
  • Supports XML and JSON based data exchange dynamically marshaling between such formats and Java objects for high performance.
  • HTTP protocol support allows developers to access service logic and data collections using the REST API methods GET, POST, PUT or DELETE without additional coding
  • Data Space technology provides transactional data management and in-memory caching allowing API developers to cache operation results and arbitrary content improving performance.
  • Java Script client library allows developers to create advanced API functions that can take advantage of asynchronous HTTP communication facilities. 
  • The fabric's abstract syntax processor allows developers to define text based API commands and domain specific language syntax.
  • Support for User Registration, Roles and Organizations allows administrators to manage access to the service platform.
  • Realm-based HTTP authentication and security allows administrators to lock down API methods by URL and associate them with users or groups.
  • Integrated security allows developers to lock down service calls across the fabric and validate against external security mechanisms such as LDAP.
  • XMPP protocol support for Instant Messaging clients and API  (ie. Trillium, ICQ or Pandion).