Service Oriented Architecture – Exposing a service to Domino Leap
The following information is an overview of Service Oriented Architecture built into Domino Leap, and describes how to expose a service to Domino Leap.
- Service Transports – The Service Transport is the Java™ code responsible for communicating with an external
service, such as a public REST service. It can send data out to the external service or receive
data from the external service. The transport also uses JDBC to store and retrieve data from
any database. Alternatively, the transport can simply implement a
service
itself, such as a unit conversion library. You can add any custom transport installation to the Domino Leap installation by placing an appropriate JAR file in a specific directory on the Domino Leap server; however, Domino Leap already includes a generic HTTP transport which can send and receive data over the internet or intranet, and will suffice for many use cases. For more information, see Service Description. - Service Descriptions – The Service Description provides the interface for a Service Transport. A Service Description is usually described by an XML file, although it is also possible to programmatically create a Service Description. The Service Description specifies a service's name, description, input parameters, and output parameters. These attributes are what appear to the application designer when they are hooking up services to a Domino Leap application.
- Data Mapping – Each service description can contain an optional
mapping
component which describes how the data coming from the Service Transport can be mapped to the outputs defined in the Service Description, or vice versa. The advantage of the mapping component is that it allows multiple Service Descriptions, each with its own name, description, input, and outputs to use to use the same generic transport. By using XPath-like references, the mapping component supports the mapping of complex data structures such as an XML document. The mapping of constant values is also supported. - Service Configuration – The Service Configuration is another layer of mapping meant for application designers. It maps items in the form to the inputs and outputs of the Service Description. The application designer is responsible for creating service configurations and connecting form items to the service inputs and outputs. Service configurations are stored inside the application.
Supporting documents
Use the following documents to gain a better understanding of the steps required to expose a service to Domino Leap.
Understanding the HTTP transport – The HTTP Service Transport provides a mechanism to communicate with HTTP servers. The transport allows configuration of the URL to request, HTTP method to use, query parameters, and request headers. When combined with the service mapping engine of Domino Leap, the HTTP Service Transport can extract data from an HTTP response and make it available to your application. The HTTP Service Transport can be used to communicate with any standard HTTP server. While there are some limits on the capabilities of the HTTP Service Transport, it is all that is needed to communicate with a basic HTTP server, or RESTful service, in most cases. For more information, see HTTP Service Transport
Creating and deploying service descriptions – The Service Description provides an interface to Domino Leap mapping interface, and an interface to a Service Transport. For more information on creating Service Descriptions, see Service Description