SOA and Data Services
Requires Platform 4.5+
Data Services - Service Oriented Archictecture (SOA)- Overview
Nexaweb platform 4.5 introduces two new services for your applications to access enterprise data. Along with the existing data framework plug-in, Nexaweb platform now provides your applications with a full complement of options to access enterprise data through the Nexaweb server, using Web Services and SQL (based on Java Database Connectivity (JDBC)) data sources.
The following table describes all of the data services:
Data Service | Description |
Dataframework plug-in | Provides access to document and object datasources from the server and URLs declaratively, through tags you enter in the client UI file, or programatically through MCOs or macros. |
SQL | Configures SQL sources on the server and allows you to provide data from SQL sources to your applications declaratively, through tags you enter in the cliet UI file, or programatically, through MCOs or macros. |
Web Services | Configures web service requests through Representational State Transfer (REST) and Simple Object Access Protocol (SOAP) on the server and allows you to serve data from web service sources to your applications declaratively, through tags you enter in the client UI file, or programatically, through MCOs or macros. |
Using Data Services
The data services framework allows you to define service requests for your applications to work with enterprise data available through web services and SQL type data services. In addition to defining data requests, you can also define multiple levels of processors for data requests.
Service Requests
The data services framework uses the following configuration files:
Configuration File | Description |
nexaweb-data.xml | Defines:
|
nexaweb-sql.xml | Defines:
|
nexaweb-webservices.xml | Defines:
|
You can create service requests resources in various combinations of the following locations:
Data Request Location | Use to |
nexaweb-data.xml | Define on the server dataRequestDefinitions to use in service requests Use arguments in service requests |
nexaweb-sql.xml | Define on the server sql statements to reference in dataRequestDefinitions |
nexaweb-webservices.xml | Define on the server REST or SOAP requests to reference in dataRequestDefinitions |
Client UI file | Define in-line (embedded) SQL or web services (REST and SOAP) service requests that do not use arguments Use shortcut syntax to define inline SQL statements Reference dataRequestDefinitions defined on the server |
Thus, depending upon the resources that you want to use, you can access enterprise data in a number of ways.
The primary components of a service request include:
- An SQL statement or REST or SOAP request
- Service request event handlers
- Processors to format data on either end of the request
In addition, if you use a dataRequestDefinition in a serviceRequest, you can specify arguments for that serviceRequest.
Processors
The data services framework allows you to specify processors to format the data sent by service requests or as the result of service requests into the appropriate structures in the general data services configuration file and the data service type configuration files. You can then assign muliple layers of processors to apply to service requests in various combinations.
You define processors in the requestprocessorDefinitions section of the nexaweb-data.xml file as pre- or post-processors. You then assign processors as follows:
Processor | Applies To | Location |
globalProcessors | Specifies pre- and post-processors used for all service requests for both SQL and web services type data services by default. | nexaweb-data.xml |
dataServiceDefinitions | Specifies pre- and post-processors for the specified data service type, SQL or web services. | nexaweb-data.xml |
dataRequestDefinition | Specifies pre- and post-processors per service request defined in the nexaweb-data.xml file. | nexaweb-data.xml |
statementHandlerDefinitions | Specifies pre- and post-processors per SQL statements defined in the nexaweb-sql.xml file. | nexaweb-sql.xml |
The data service runs processors in the following order:
- Globally defined
- Data service specific
- Request specific
Setting Up Data Services
To use data services, you must:
- Define processors in requestProcessorDefinitions section of the nexaweb-data.xml configuration file. For more information, see Configuring Data Services and Handlers.
- Optionally, specify processors for data service types in dataServiceDefinition section of the nexaweb-data.xml configuration file. For more information, see Configuring Data Services and Handlers.
- Optionally, define serviceRequest components on the server:
- As dataRequestDefinitions in the nexaweb-data.xml file. For more information, see Configuring Data Services and Handlers.
- As SQL statements or web services requests in their respective configuration files, nexaweb-sql.xml or nexaweb-webservices.xml.
See Accessing SQL Data Sources, or Accessing Web Services Data Sources.
- Add data service plug-in to client applications
- Add serviceRequests or embeddedServiceRequests to the client UI file. For more information, see Creating Service Requests.