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.
Microsoft® has defined the
ADO.NET
data services 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.
Figure 1. ADO.NET Data Service
The WebSphere eXtreme Scale REST data service is a Java HTTP service that
implements Microsoft's ADO.NET 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 ADO.NET 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 ADO.NET Data Service
clients.
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 ADO.NET Data Service
protocol accessing their database data (SQL Server and DB2). 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
ADO.NET 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 ADO.NET 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
technology preview and is included with the freely available trial version
of WebSphere eXtreme Scale. See the following Installation section for
details on how to download and install the trial. Additional enhancements
will be added to the technology preview until it is delivered as part of
the eXtreme Scale product.
The first WebSphere eXtreme Scale REST data service technical preview included these features:
- Create, Read, Update, Delete (CRUD) Operation support
- AtomPUB XML support
- Automatic data type conversion
- EntitySet modeling using the EntityManager configuration or annotations
- WebSphere Application Server and Tomcat support
The second WebSphere eXtreme Scale REST data service technical preview included these features:
- Relationship support
Relationships between two or more entities
can now be modeled. The REST data service allows navigation and modification of entity instance relationships at runtime.
- Batch retrieval support
Multiple queries can now run within a
single HTTP request and transaction, improving performance.
- OrderBy support
Query results can now be returned in ascending or descending order by one or more properties.
New with the October 30 update: The WebSphere eXtreme Scale REST data service technical preview 3 includes the following additional features:
- JavaScript Object Notation (JSON) support Allows clients to interact with the REST data service using both JSON and ATOMPub.
- Full batch support Clients can update and retrieve data from the REST
data service using a single remote procedure call to the REST data service.
- Partitioned 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 partition-able schema root entities.
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.
To install this technical preview:
- Download the
WebSphere eXtreme Scale version 7.0 trial.
The REST data service is packaged within this trial. You may use the
REST data service with the trial version, or a product version of
WebSphere eXtreme Scale version 7.0 that you have.
- Extract the trial zip file to your hard drive, for example:
c:\extremescale.
- Read the REST data service documentation, which includes detailed
installation instructions in the extracted restservice\docs
subdirectory.
For the latest information about sample applications, instructional videos,
and other resources,
see the REST Data Service Technical Preview wiki.
|