Skip to content

The Northfield Analytics Services Platform

Overview

The Northfield Analytics Services Platform (NISASP) is a suite of software tools developed by Northfield so it can provide a “Software As A Service” solution to clients that want to access Northfield data and analytics services via the cloud. NISASP is the software that powers the services accessible from https://saas.northinfo.com.

Northfield has a diverse range of clients with diverse technology requirements. Some clients want full onsite software based solutions, some want a fully hosted cloud based solution, and some want to mix and match both cloud and onsite services. For example, a client may want to use a cloud query for risk model data, but run their portfolios with the Northfield Optimizer within a private network. Another client may have their own end user software and simply want to make web service calls. To achieve these requirements NISASP uses a unique peer to peer architecture that allows clients to securely mix and match the services they use, where they use them, and where the data processing is performed.

The purpose of this document is to provide software Architects and Programmers with the information they need to understand and use the NISASP software.

Architecture

NISASP is implemented as a suite of java software components where each provides a public API via a java interface that allows programmers to configure and assemble the components to meet the specific needs of their applications. The components follow the services layer pattern and are 1 referred to as “Services”. The Services provided by the NISASP platform are shown in Table 1.

Table 1: Services

Service Code Description
Archive Service ARC Creates and distributes Northfield Risk Model data as archive files suitable for on-demand download and use by the SDK model component.
Connection Control Service CCS The application management system that configures the business components for use in user applications.
Data Service DAT Access to Northfield and 3rd party data sources for benchmark and portfolio data.
Model Service MDL Provides access to risk model data and associated services such as security identifier matching and custom exposure record calculations.
Optimizer Service OPT Enables the creation of optimizer projects, the invocation of the optimizer service, and the management of optimizer results and report data. The optimizer service integrates via the java native interface (JNI) to the Northfield Optimizer engine that is written in C++.
Project Service PRJ A framework for integrating configuration and process execution and data across the data, model & optimizer services. This allows for all server side processing so as to limit data shipping over the network.

NISASP implements the IOC container pattern where a containing application is responsible for the composition and configuration of the Services at runtime. This feature is managed by the Connection Control Service (CCS) and allows NISASP applications to be configured according to a user selected mode.

CCS also contains a configurable inter process communication (IPC) mechanism1 which allows Services to be implemented locally, in a client/server configuration, or in a peer-to-peer model where the user chooses where a process is run based on their cost, performance and security requirements. External data services are managed by TLS connections initiated by the CCS container.

Figure 1 illustrates how a User Application integrates to the Service API that communicates through the IPC mechanism to the Service Implementation objects, which also have access to external data services. R & Python User Applications can gain access to the CCS Service API via bridging software.

Figure 1: Architecture

Image 1

Deployment

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 key deployable NISASP packages are:

  • ARC - The risk model archive server that synchronizes with the Northfield model database and serves model files in ARC file format via HTTP/HTTPS.
  • ASP - The Analytics Services Platform server that handles authorised Service API calls over a web RPC mechanism.
  • API - The API jar file that can only talk to an ASP server.
  • WSI - The Web Programmer Interface server which provides a JSON web services API translation for the NISASP Services.

Figure 2 illustrates how clients can configure NISASP software in their networks. User Applications have a choice of integrating via the Java SDK with all local processing or a combination of both, the Java API talking to saas.northinfo.com for purely remote processing, and the Web Services Interface (WSI) for access to the Services from any application type using JSON web service calls over HTTPS.
Any or all of these can be configured in combination of onsite or from Northfield’s cloud servers at saas.northinfo.com

Figure 2: Deployment

Image 2

System Requirements

NISASP requires the Java Development Kit (JDK) and Java Runtime Environment (JRE) to be installed on the host computer and available on the system path of the user account running the software. NISASP is available in two packages:

  • NISASP Software (NIS-ASP) - contains all binary resources and demonstration code suitable for developing applications that perform local and/or remote analytics processes.
  • NISASP Application Programmer Interface (NIS-API) - contains a single jar file and demonstration code suitable for developing applications that perform analytics using remote processing.

Both packages are made available to licensed users for download from saas.northinfo.com. Licensed users will also be provided with a “ccs.auth” code (authority code) which is used by the services at https://saas.northinfo.com for RPC call authentication and authorization.