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!
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 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.
|