An alternative to deploying Corticon Server as a web service is to deploy Corticon Server in your application. When deployed in an application, the Corticon Server is embedded in your own application. This is sometimes referred to as deploying an in-process server.

This option requires that you write application code to initialize a Corticon Server, load Decision Services, and invoke them with the payload data from your application. There are two reason why you may decide to embed a Corticon Server in your application.

  • For performance - Eliminates the network call to Corticon as a web-service. This might be done for applications with critical low-latency requirements.
  • For integration - Allows you to create a custom wrapper for invoking your decision services. Corticon provides REST and SOAP wrappers for deploying the Corticon Server but you may have other needs such as deploying Corticon as a message client servicing requests off a message queue.

Corticon supports embedded deployment for Java and .NET applications. The Corticon Server install includes sample applications demonstrating the essentials of deploying Corticon in-process. The Corticon Server Java Doc provides full details of the Server API.

When embedding Corticon Server in your application, you can invoke Decision Services by passing payload data as JSON, XML or Business Objects. JSON is the fastest performing way of invoking Decision Services and recommended for performance critical applications. Business Objects is available for Java but not .NET.