Comparison of Web-service client modules

There are several modules in Drupal that act as Web-service clients. Ideally, we'd only have one, but this page attempts to point them out and highlight some differences. At some point, perhaps for Drupal 8, we'll be able to merge all of these.

Services Client Connection

Provides extendable API for talking to remote Drupal site via services and UI for configuring connections to remote sites. Module allows to define multiple connections with different attributes to one or multiple sties. Connections can be exported either via hook or using features.

Dependencies

  • ctools
  • PHP cURL extension

Architecture

This module aims to create general API for connecting to remote site. To achieve that it uses ctools plugin system. Each connection consits of class with three plugins. API user shouldn't take care of any aspect of creating requests and parsing responses. Each plugin can have own configuration (similar to Feeds module).

Authentication

Ensures that requests to remote site will be authenticated. Currently there are two available methods:

  • Session authentication
  • OAauth (requires OAuth api module)

Server

Server plugin formats request for remote services server i.e. REST or XML-RPC. By default module comes with two plugins. Server also parses response from remote Drupal site and translate data from text form to PHP structures. Supported remote servers:

  • XML-RPC server
  • REST server (allow to communicate via JSON for example)

Request

Services Client

The services client module answers that age old question: how do I arbitrarily interface with the services module without having to build a new module from the ground up?

Well, the answer is finally here. Services client is designed to sit on a site and listen for events (currently node save/update and user save/update. It will then push that data up to a Drupal website running services.

Subscribe with RSS Subscribe to RSS - services client