Director is an application for managing user entitlements.
It's designed to provide permissions to the Caplin Platform in real-time and to integrate with other systems through the use of the RESTful API and a plugin mechanism, as this diagram shows:
Director is a JEE web application. It uses the Java Persistence API (JPA) to persist its data to any JPA-supported relational database. It supplies data to the Director GUI and other systems, and receives edits, through a RESTful API.
The Director GUI is a single-page application that provides a simple user interface to administrators. It uses the Director REST API.
Director stores entitlement data in a two-level hierarchy. Clients are modelled to be an entity that the bank trades with, and users are people who log onto the trading application and trade for the client.
Permissions can be managed at both levels; changes in client permissions are inherited by all users of that client. Changing user permissions means that the user is further restricted on the set of client permissions.
Customisation and extension points
When setting up Director, you can customise the fields that are stored against both users and clients. The set of permissions that can be entitled is also configurable. Configuration is done at install-time via the database.
You can use the Director ReST API to perform any of the operations that can be done through the Director GUI. This API allows other systems to programmatically read, add, update and delete both users and clients.
Reactors are plugins that you can write to update other systems when changes have been made in Director. There's a Java API which notifies your plugin when users or clients have been added, updated or deleted so you can keep other systems in sync.
Director uses JEE Security to manage Director administrators, so you can use your Single Sign-On system to authenticate and manage who can log in to Director.
Browser compatibility and performance
The Director GUI works with Internet Explorer 11 and above, as well as Firefox and Chrome. Director has been tested with thousands of clients, each with a number of users.