Connection Service (CCS)
CCS Overview
The Connection Service is the Northfield ACES Software Platform assembly and configuration service. Its role is to provide a simple interface over the complex requirements of creating and instantiating both client and server configurations of the other Northfield ACES Software Platform services. The ConnectionService: * Provides a unified way to assemble Northfield ACES Software Platform components and manage their life-cycle requirements. * Enables flexible configuration and licensing for different customer arrangements. * Supports the modification and tuning of parameters within a client project.
CCS Operation
User programs instantiate the NisConnect object and access any other Northfield ACES Software Platform services via the ConnectionService instance. This is shown in the following code from the samples.
Properties info = new Properties();
info.setProperty(NisConnect.CCS_BASE, base);
info.setProperty(NisConnect.CCS_MODE, mode);
ConnectionService ccs = new NisConnect(info);
try {
ccs.open();
... use connection ...
} finally {
ccs.close();
}
CCS Configuration
The NisConnect constructor accepts a standard java Properties object that contains connection setting information:
- ccs.mode - NisConnect manages user program construction and assembly based on preconfigured modes. The mode is set by using one of the modes defined in nis.app.asp.NisConnect. These are explained in Table 4b.
- ccs.base - NisConnect expects a pre configured connection service directory that contains any binary and connection assembly resources. The base directory in the Northfield ACES Software Platform archive provides a standard CCS_BASE for use by all client installations.
- ccs.logs - To enable logs in the connection service in any mode set this property as “true”.
- ccs.auth - Modes requiring online access require this property to be set with the ccs.auth data provided to you by Northfield support.
As discussed in the Architecture section, the Northfield ACES Software Platform architecture enables the one code base to be packaged into different configurations that can be mixed and matched to allow different deployment models. The standard package comes pre-configured with 4 standard connection modes and these are described in Table 4. Note that custom configurations can be created to meet clients specific needs in terms of balancing onsite and offsite processing with data access and security requirements.
NisConnect CCS_MODE Options Table
Mode | Download | Features | Notes |
---|---|---|---|
CCS_M01 | NIS-SDK | OPT API ONLY configuration with single threaded calls to a single NISOPT JNI instance running in the same JVM. Requires the SDK to be installed and base/nis-api.jar on the program classpath. Designed to provide direct access to the optimizer in a single threaded, single user desktop environment. | |
CCS_M02 | NIS-SDK | OPT API ONLY configuration that calls to an ASP server process that is started in the background when the ConnectionService is created. The background ASP server process runs the NISOPT JNI library in a different address space to the client. Requires the SDK to be installed and base/nis-api.jar on the program classpath. This was designed for use in web server environments where a JNI crash might bring down the web server JVM. | |
CCS_M03 | NIS-API | API Mode - Pure Java library that makes all calls to a hosted Northfield ACES Software Platform server (Eg. aces.northinfo.com). Only requires the JAR file on the program classpath and server credentials. | |
CCS_M04 | NIS-SDK | SDK Mode - Binary installation with optimizer libraries that can mix MDL & ARC data access to a hosted Northfield ACES Software Platform server with the optimizer running in the same JVM as the user program. Requires the SDK to be installed and base/nis-api.jar on the program classpath. Requires server credentials |
Access Control and Product Codes
Northfield ACES Software Platform uses an attribute based security model that uses product codes combined with access control list rules to determine what Services and sub categories of services a User may access in an online environment. The use of these codes can be seen in the SDK samples, and the full list of product codes are available from the CCS page of the ACES Developer Desktop web application.