WebSphere eXtreme Scale REST data service

The WebSphere eXtreme Scale REST data service is a Java HTTP service that implements Microsoft’s ADO.NET Data Services. The REST data service allows any HTTP client to access a WebSphere eXtreme Scale 7.0 grid.

Updated 18 September 2009: Relationship, batch retrieval, and OrderBy support added.

Updated 30 October 2009: JavaScript Object Notation (JSON), full batch and partitioned entity relationship support added.

Updated 17 December 2009: Full product integration with support released!

developerWorks WebSphere Editorial Team, Content Editors, IBM

This content is brought to you by the developerWorks WebSphere editorial team: Jim Mann, Jim Ramaker, Chris Rothemich, Scott Shekerow, and Dorothy Wu.



30 October 2009 (First published 29 July 2009)

Background

Microsoft® has defined the Open Data Protocol (OData) protocol for their .NET clients to talk to data sources via a REST interface, as shown in Figure 1 below. Clients can get metadata from the REST data service that defines data structure and relationships that they may subsequently use to get data. Microsoft's traditional implementation of this protocol is via their WCF Data Services interface, which this WebSphere eXtreme Scale REST data service also implements.

Figure 1. ADO.NET Data Service
diagram shwoing ADO.NET data service

The WebSphere eXtreme Scale REST data service is a Java HTTP service that implements Microsoft's WCF Data Services protocol, as shown in Figure 2. The REST data service allows any HTTP client to access a WebSphere eXtreme Scale 7.0 grid and is compatible with the WCF Data Services support that is supplied with the Microsoft .NET Framework 3.5 SP1. Microsoft Visual Studio 2008 SP1 can be used to build rich WCF Data Service clients using the OData transport protocol.

Figure 2. eXtreme Scale REST data service
eXtreme Scale REST service

The WebSphere eXtreme Scale REST data service is a gateway between HTTP clients and the eXtreme Scale grid, communicating with the grid through an eXtreme Scale client connection, as shown in Figure 2. The WebSphere eXtreme Scale REST data service is a Java servlet (packaged in a WAR file) that may be deployed on an application server such as WebSphere Application Server or Tomcat. A cluster of gateways may be run for high availability. Multiple gateways may be run fronted by an IP sprayer for scalability.

The WebSphere eXtreme Scale REST data service allows HTTP clients, including .NET and AJAX clients, to use and exploit WebSphere eXtreme Scale. Figure 1 above shows ADO.NET clients using the OData protocol accessing their database data (SQL Server and DB2 via a WCF Data Service interface). In Figure 2, these same clients may now use WebSphere eXtreme Scale as a write-through/read-through cache provider to the database, thus gaining the scaling, performance, and availability advantages of WebSphere eXtreme Scale. Existing Visual Studio 2008 SP1 tooling can be used to build WCF Data Services clients that use the WebSphere eXtreme Scale REST data service. All that changes is the HTTP URL for the data service. Non-Java clients using Ruby, Python, JavaScript and Perl may access WebSphere eXtreme Scale grids with this service.

The WebSphere eXtreme Scale REST data service utilizes the WebSphere eXtreme Scale EntityManager API schema to automatically create the appropriate Entity Data Model for REST clients. Clients that are compatible with WCF Data Services can read the metadata and automatically discover and use the REST data service without any complicated configuration.

The WebSphere eXtreme Scale benefits of availability, performance, and scalability are now available to .NET and non-Java clients, just with the configuration change of a data service URL.

The WebSphere eXtreme Scale REST data service is being delivered as a fully supported part of the eXtreme Scale product. See the REST data service user guide in the eXtreme Scale library for information on how to install and utilize the data service.

The WebSphere eXtreme Scale REST data service interface offers some powerful functionality:

  • Microsoft WCF Data Services client library compatibility - Microsoft Visual Studio 2008 SP1 can be used to build applications using C#, Visual Basic and C++ programming languages on Windows and Silverlight platforms.
  • Standard web technology support such as HTTP, Atom Publishing Protocol (AtomPub) and JSON - Allows a wide variety of client platforms to interact with the REST data service, such as PHP.
  • Support for popular Java EE web servers such as: IBM WebSphere Application Server, Websphere Application Server Community Edition and Apache Tomcat
  • Common data access operations - Create, Read, Update, Merge, Delete and Query operation support provide the basics for interacting with the eXtreme Scale grid.
  • Batch support - Clients can update and retrieve data from the REST data service using a single remote procedure call to the REST data service, allowing multiple requests to participate in a single transaction.
  • Partition support for entity relationships - The REST data service can realize the full scalability of the eXtreme Scale grid by partitioning the data and using key relationships between entities to identify partitionable schema root entities.
  • The REST data service schema is modeled using EntityManager API entities - Entities are automatically mapped to a Entity Data Model (EDMX) allowing relationships and Java to EDM type mapping.

For support and questions, see the WebSphere eXtreme Scale wiki and WebSphere eXtreme Scale forum, listed in the Community resources section.

A sample application is provided to demonstrate the operation of the REST data service. Instructions are provided for running it in WebSphere Application Server and Tomcat. Source is included, as well as an Eclipse project and instructions. See the User Guide in the docs directory, and READMEs in the gettingstarted directory.

Additional information about ADO.NET Data Services may be found in the MSDN library.

For the latest information about sample applications, instructional videos, and other resources, see the REST data service wiki.

Resources

Community resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into WebSphere on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=949808
ArticleTitle=WebSphere eXtreme Scale REST data service
publish-date=10302009