Most extensive Interactions require some amount of customized complex functionality that cannot be implemented using only the Interaction Designer. Jacada's Custom Services allow you to easily create and maintain your own code as a service, and then expose that service to Designer users. The code is run within the Interaction Server - no additional servers are necessary for deploying the code. Your code is thus stored in an isolated and secured environment. 

Some use cases for custom coding include:

  • Customized format validation
  • XML parsing
  • Calculations based on multiple web services
  • Complex string and date manipulation

Note: The Custom Services feature is not available to users who have an on-premise installation.

Custom Services use the Node.js runtime environment, which is built on Chrome's JavaScript runtime to easily build fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

Each Custom Service is wrapped by an Integration Point. This wrapping enables the Interaction to send variables to the request, and receive one or more variables in the response. The variables can be simple types (e.g., text or number), or complex types, such as custom variables or a collection.  

The following diagram shows an example of a Custom Service wrapped in an Integration Point. As part of the flow of the Integration Point:

1. Request variables are sent to the Interact Server
2. The service is executed within the Interact Server
3. Response variables are sent back and, in this case, displayed to the Interaction user in a collection display. 

Custom Services are created by defining a new Integration point. A wizard provides a code editor, and prompts you to define the request and response variables. The wizard also lets you test your code from within the editor and allows you to view the response, the console, and any errors that your code has generated.

Once your code is ready, the service automatically becomes available in the Designer (similar to any other Integration Point).

The following topics present: