Archive

Posts Tagged ‘API’

Designing the sfRESTClientPlugin: Sketching a Client API for RESTful Interactions

June 1st, 2009

I’ve lately been exploring the value proposition of RESTful APIs to organizations whose technological infrastructures are built upon a collection of legacy software components, customized to communicate with each other by highly tailored middleware software stacks.

That exploration will not unfold in this post, however. It could easily be an entire book unto itself.

Rather, I would like to focus specifically on ideas I’ve had about what a high level object oriented API for interacting with RESTful services might look like, and funnel those thoughts into the design and implementation of a plugin I’m developing for the Symfony framework, called sfRESTClientPlugin.

Audience and Scope

This post assumes at least casual familiarity with Web development. I will explore some general principles of the RESTful interaction paradigm, but only to the extent to which they inform the design direction of the plugin’s API.

Although all the code samples will be in PHP, it is my hope that the exercise will yield material valuable to people working with other software stacks.

Read more…

Public Brainstorm , , , , , ,

Symfony Components – Standalone Libraries for PHP

May 24th, 2009

The Symfony project has recently launched the Symfony Components sub-project and website. Its goal is to produce a collection of standalone libraries for PHP.

Although these libraries were initially born for use in the Symfony MVC framework, the talented developers involved in the project have designed them to avoid any interdependencies with any of the other parts of the overall framework. This effort has resulted in components that may be used individually in any other PHP project without requiring the use of any of the rest of the Symfony framework.

The initial round of components include:

  • YAML, a parser that translates data between YAML and native PHP arrays;
  • Event Dispatcher, which provides a generic event dispatching framework; and
  • Templating, which provides parameterized and scope-isolated templating functionality.

I’ll be keeping a keen eye on this project.

Check it out , , ,