This chapter includes the following sections:
Coherence provides multiple embedded HTTP server implementations that can be used to host REST Web services:
DefaultHttpServer
(backed by Oracle's lightweight HTTP server)
GrizzlyHttpServer
(backed by Grizzly HTTP server and recommended for production environments)
SimpleHttpServer
(backed by Simple HTTP server)
JettyHttpServer
(backed by Jetty HTTP server)
See "Changing the Embedded HTTP Server" for details on changing the default HTTP server.
The HTTP server must be enabled on a Coherence proxy server. To enable the HTTP server, edit the proxy's cache configuration file and add an <http-acceptor>
element, within the <proxy-scheme>
element, and include the host and port for the HTTP server.
The following example configures the HTTP server to accept requests on localhost 127.0.0.1
and port 8080
. The example explicitly defines the HTTP server class and Jersey resource configuration class and uses /
as the context path for the Coherence REST application. However; these are default values and need not be included. The context path can be changed as required and additional Coherence REST applications can be defined with different context paths. See Developing Applications with Oracle Coherence for a detailed reference of all <http-acceptor>
subelements.
<proxy-scheme> <service-name>ExtendHttpProxyService</service-name> <acceptor-config> <http-acceptor> <class-name> com.tangosol.coherence.rest.server.DefaultHttpServer</class-name> <local-address> <address>127.0.0.1</address> <port>8080</port> </local-address> <resource-config> <context-path>/</context-path> <instance> <class-name> com.tangosol.coherence.rest.server.DefaultResourceConfig </class-name> </instance> </resource-config> </http-acceptor> </acceptor-config> <autostart>true</autostart> </proxy-scheme>
If you are using POF, make sure that the pof-config.xml
file includes the location of the REST POF types. For details, see "Configuring REST Server Access to POF-Enabled Services."
WebLogic Server includes a Coherence integration that standardizes the way Coherence applications are packaged, deployed, and managed within a WebLogic Server domain. Coherence REST must follow the integration standards. For details on configuring a Coherence cluster in a WebLogic Server domain, see Administering Clusters for Oracle WebLogic Server. In addition, Coherence applications must be packaged as a Grid ARchive (GAR). For details on creating a GAR, see, Developing Oracle Coherence Applications for Oracle WebLogic Server.
This section contains the following tasks:
Create a managed Coherence server in your WebLogic Server domain that will host Coherence REST. The server should be configured as a storage disabled member of a Coherence cluster. If more than one managed Coherence server is required for a Coherence REST solution, the servers should be managed as a tier in a WebLogic Server cluster. For details on configuring managed Coherence servers, see Administering Clusters for Oracle WebLogic Server.
To package the Coherence REST Web application:
To deploy the Enterprise application:
http://
host
:
port
/rest/
{cacheName}
.This section provides instructions for deploying Coherence Rest to a Java EE environment:
The following topics are included in this section:
Coherence REST can be deployed to any servlet container by packaging Coherence REST as a WAR file. See "Packaging Coherence REST for Deployment" for details. Refer to your vendors documentation for details on deploying WAR files. In addition, See the Jersey user guide for additional servlet container deployment options:
http://jersey.java.net/nonav/documentation/latest/user-guide.html#d4e194
POF-enabled services must include the defined Coherence REST POF user types. The user types are defined in the coherence-rest-pof-config.xml
file that is located in the coherence-rest.jar
library and is automatically loaded at runtime.
To configure the REST default user types, edit the pof-config.xml
file to include the coherence-rest-pof-config.xml
POF configuration file. For example:
<pof-config> <user-type-list> <include>coherence-pof-config.xml</include> <include>coherence-rest-pof-config.xml</include> ... </user-type-list> </pof-config>