Skip to content

Connection Service (CCS)

CCS Overview

The Connection Service is the NISASP 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 NISASP services. The ConnectionService: Provides a unified way to assemble NISASP 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 NISASP 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 NISASP 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 NISASP 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 NISASP server (Eg. saas.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 NISASP 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

NISASP 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 SaaS web application.