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
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
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 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.
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.
- WebSphere Extreme Transaction Processing for Developers space
- WebSphere Extreme Transaction Processing blog
- WebSphere Extreme Transaction Processing forum
- Video discussing the new REST data service
- IBM WebSphere eXtreme Scale YouTube channel
- WebSphere XTP on Twitter
- Articles on WebSphere Extreme Transaction Processing
- WebSphere eXtreme Scale Information Center
- WebSphere eXtreme Scale wiki