BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Restlet Launches APISpark, PaaS for Web APIs

Restlet Launches APISpark, PaaS for Web APIs

Restlet announced the availability of APISpark, a Platform-as-a-Service (PaaS) to create, host, manage and consume Web APIs, on November 18. The current freemium pricing model is based on the peak number of concurrent connections. Additional costs apply based on the amount of data stored and transferred via APIs beyond the free quota.

InfoQ spoke to Jerome Louvel, founder and Chief Geek (CEO) of Restlet about APISpark.

InfoQ: What problems does APISpark solve and who is it intended for?

Jerome: As more and more devices are connected to the internet and an increasing number of services are integrated with one another, there is a growing need for APIs. Indeed, the best way to offer cross-channel user experiences is to provide dedicated web APIs for each unique experience. This is where APISpark comes in as it delivers on the promise of providing an all-in-one cloud platform (PaaS) for fast creation, hosting and easy management of APIs and data. Its cost and time effective solution will be of essential value for API developers, no matter what their language of predilection.

InfoQ: Why did you decide to focus on API development while the larger players in this space focus on API management?

Jerome: We think that pure management is only one part of the broader API project lifecycle and that, what is missing is a convenient way to actually create and host web APIs. This is the longest and most strenuous part of the project that needs improvement, so we tackled it, bringing web APIs within everyone’s reach (not just skilled API engineers and industry experts). Also, having created Restlet Framework, the first open source framework for web APIs, we had the expertise and technical foundation to build this new type of API platform.

If you look at how web sites evolved, you had a lot of custom development initially, then open source and proprietary CMS and now hosted solution such as Wordpress.com, Tumblr or Magento that enable many more businesses to have a web presence. Our vision is that as web APIs become more and more mainstream developers and their companies will be looking for comprehensive cloud platforms such as APISpark.

InfoQ: What are the main features of interest for a developer?

Jerome: The highlights include:

  • New developer experience with a modern look & feel, interactive assistants for easier onboarding and a new user guide.
  • API exported from local data stores (backed by Cassandra and Solr) now offer pagination, filtering and sorting by default.
  • Swagger-as-Service added with automatic Swagger 2.0 API definition, API Commons manifest, client SDKs & server skeletons generation.
  • API Descriptors added to document existing APIs developed in JAX-RS API, Restlet API or described in Swagger. It includes a code introspector and the ability to merge API changes with documentation edited directly on APISpark, like an API wiki.
  • API Connectors added to manage existing APIs by using an open source web API reverse proxy.
  • API revision history added, in addition to existing major version management, for easier API development, allowing to revert to previous states like in Google Docs.
  • Rate limitation added to the firewall for APIs hosted on APISpark and those managed using API Connectors.
  • General Availability of the platform with improved quality of service, simplified freemium pricing.

We are also releasing a developer preview of Restlet Studio, a lightweight web IDE to craft API definitions visually and convert them into Swagger and RAML formats, with client SDKs and server skeletons generation. It is packaged as a Chrome extension and also directly available from any modern web browser. In addition, a new stable version 2.3 of Restlet Framework is available including:

  1. Java 7 upgrade,
  2. Jetty extension upgraded with HTTP client and SPDY support contributed,
  3. Guice extension contributed,
  4. Swagger extension enhanced (compatible with versions 1.2 and 2.0),
  5. Raw HTTP headers are directly accessible,
  6. Internal connector enhanced (multi-threading, HTTPS server, FTP client),
  7. APISpark extension added including a web API introspector (compatible with JAX-RS API, Restlet API and Swagger annotations) and a firewall (IP filtering and rate limitation).

All three products are provide as a unified API platform from our Restlet.com web site, which also went through a major redesign for this launch.

InfoQ: How should an API provider prepare for the usage of the platform? Do they need to perform some data modeling?

Jerome: While we put a lot of engineering effort into APISpark PaaS, we build a comprehensive API platform including our open source Framework and a new Studio tooling, with technical integration between those three products. So APISpark can be used as a full-stack solution where you create and host not only your API but also the underlying data store. In this case you indeed need to perform some data modeling inside APISpark or to import an existing schema via a DDL file.

InfoQ: What about use-cases where a database ERD exists and so do the corresponding entities in a RDBMS which is accessible over the Internet? Also can the platform leverage non RDBMS stores?

Jerome:If you already have your data organized and stored in a database ERD, no need to copy everything to APISpark; you can use our SQL wrapper. It connects to your database and exposes your tables directly as a web API. In addition, APISpark can wrap existing Parse.com mobile backends, Firebase web backends and even Google Spreadsheets. We can also wrap an existing API, acting in this case as a regular API management solution, but with close links with technologies used by API developers thanks to direct support of the JAX-RS API, Restlet API, Swagger and RAML languages.

InfoQ: How do you address versioning?

Jerome: Versioning is built in APISpark, its a core feature along with the API lifecycle that we formalized into Draft, Publish, Deprecated and Archived states. Each API in APISpark has a formal version and once published, the API contract can’t change (documentation and implementation can be updated). As an API provider, you can then create a new version of your API and deploy it, in parallel of the first version, to make evolutions to your API contract and encourage API consumers to migrate to the new version when they are ready.

InfoQ: What is the underlying architecture? What technology components have been utilized?

Jerome: APISpark in itself can be used by any API developer (HTML, AngularJS, Node.js, Java, PHP, etc.). Internally, APIs created in APISpark are based on the Restlet Framework which is an advantage in term of performance and no-lock in guarantee. Our users can export the source code of their APIs, if they need to, as it only depends on an open source foundation. For the web console of APISpark, we use AngularJS in the new version, OSGi, Cassandra and Solr on the back-end of the platform which runs on top of AWS infrastructure.

InfoQ: How do you address scaling and performance?

Jerome: Scaling is handled first at the API source code level, knowing the API created and hosted on APISpark run like native APIs written by hand by Java developers, they are not interpreted. Also, we host and operate those APIs by leveraging AWS capabilities with load-balancing and failover mechanisms. We are currently available in one AWS region (US based) and are working on adding cross-region capabilities to the platform, to reduce the API latency even more and continue to improve the overall availability. In addition, we are planning to reuse AWS CDN capabilities to add a level of caching to the APIs deployed or managed on APISpark.

InfoQ: Can you share some details about the ongoing work on high-level client SDK code generation from Swagger documents?

Jerome: In this APISpark release, we have embedded the Swagger 2.0 tool chain that provides high-level client SDKs and server skeletons for many programming environments such as Objective-C, Android, Java, AngularJS, Node.JS or Python. We are constantly monitoring the state of those code templates and upgrading APISpark to include the newest ones.

Until now, developers had to manually download, install, run and upgrade the open source Swagger tooling as well as related projects such as for the JavaScript generators for Node.JS and AngularJS maintained in a third-party project.

Our Swagger-as-a-Service feature available in APISpark is also accessible from the Restlet Studio and we are planning on opening it for usage as a public web API where you can send a Swagger or RAML definition (with support for more API languages to come) and retrieve the generated files. This will enable usage of this feature within automated builds.

InfoQ: Any API licensing constraints that users of APISpark need to be aware of?

Jerome: APIs created in APISpark can define their own licenses (user agreement and privacy policy) and of course the copyright belongs to the API provider, like for regular IDEs. As APIs created on APISpark can be exported as source code that API providers own as well, there is really no strings attached.

Rate this Article

Adoption
Style

BT