Before robboerman.com was bootstrapped into appoint:solutions, a complex intranet application was built for ABN AMRO Bank Luxembourg by appoint:solutions co-founder Rob Boerman. At the time acting as client, the concept and functional requirements were designed by Bert Boerman, after he realized that existing off-the-shelf solutions did not come close to covering the requirements that a bank has in today’s regulatory environment.
The application was designed for the documentation and workflow management of alternative investment fund custody and was designed, implemented and delivered within a timeframe of only 3 months and within budget following an interactive development process where the 2 parties had frequent contact and feedback with one another.
ABN AMRO: Alternative Funds
An alternative investment is an investment other the traditional investments of stocks, bonds or cash. The investments can include tangible assets such as real estate, private equity, art, wine and antiques and financial assets such as commodities and derivatives. ABN AMRO Luxembourg acts as a custodian to highly specialized alternative investment funds. Without going into detail of all responsibilities of a custodian bank, roughly the custodian is responsible for safeguarding and supervising the fund’s assets.
With the responsibilities of a custodian come a great number of internal and external requirements that have to be met. In order to demonstrate that the custodian has properly performed its obligations, it is important that the structure of the funds, all actions by the custodian’s staff and all required documentation are captured and are always up to date. At any moment the custodian should be able to produce a complete overview of the history of a fund, including all historic changes. This requires a very tight workflow that needs to be supported by specialized software. Most banks rely on excel spreadsheets for this task, which presents some specific risks.
Alternative Fund System
The Alternative Fund System has been designed as a intranet application. Aside from the technical requirements there were a number of functional requirements that needed to be covered by the foreseen application:
- Ease of use
- Authentication and authorization
- 4-eye-control – input validation
- Audit trail
- Entity structure
- Workflow management
- Todo management
- Document management
Because of the tight planning, close cooperation with ABN AMRO was necessary. The project has been executed using agile methodologies. In short iterations of 2-3 weeks the system was designed and implemented. At the start of each iteration, the set of requirements were discussed that were to be developed during that iteration. During the next meeting the results were discussed and evaluated and new requirements for the next iteration fixed. This close cooperation between the client and supplier requires both parties to be actively involved in the development. The result is a software solution that better fits the business requirements since the client is consulted and informed throughout the project, and a much faster development process. Design errors or business requirement mismatches are caught and solved early on in the project.
Because of the speed of the project the choice was made for the Catalyst Framework as a basis for the server component of the AFS application. Besides the great flexibility, extensibility and performance this MVC framework offers, it also allows the use of the 90.000+ CPAN modules directly from the framework.
It quickly became apparent that the major bulk of complexity was to be expected in the interface of the system. The choice for the interface framework was easily made: ExtJS by Sencha Inc. The ExtJS framework is currently the most sophisticated Rich Internet Application framework available, by far. Besides an enormous amount of readily available interface widgets and cross-browser functionality, the framework allows developers to create custom interface widgets very easily and quickly and develop the interface in a maintainable Object Oriented fashion.
The client and server components are closely integrated using Ext Direct technology which allows seamless communication between the client and server while optimizing bandwidth usage.
Ease of use
The application needed to provide an easy-to-use interface such that extensive training should not be required. The complexity of the underlying investment project should be abstracted away. All information that is not required for a user’s task should be hidden. The resulting interface can be adjusted on a per-user basis. The user can define which functions and information to show, and how the information should be presented. All user settings are stored on the server so that settings are also available after logging out and back in, or when using the application from another computer.
No matter what information is being worked on, the interface works exactly the same way. This speeds up the learning curve significantly while reducing the risk of human errors.
As the fund structures can become very complex, it is crucial that the fund team members can find any information in the system quickly and easily. All data views and grids have been equipped with server side filters and search functionality.
Authentication and authorization layer
ABN AMRO internal IT can define and administer user accounts and authorization levels. A role-based authorization editor was added to the system allowing IT staff to exactly define the access rights per user and role.
4-eye-control, event triggers and workflow management
The system provides an easy-to-use 4-eye-control system in which certain user input must be validated by another user. These controls can be set up by the IT staff using a simple 3-step trigger editor. Using this simple procedure, very complex rules can be defined under which an action is triggered in the system. For example:
- When a legal entity of type SA is changed, the input has to be validated by a user that has the role ‘Management’
- When a Bank Account with currency USD is added to a Legal entity, 3 documents must be submitted and a monthly recurring task is setup to register the end-of-month balance
This functionality offers complete 4-eye control and task management in the AFS application. When one action is executed it can be configured to automatically create new Todo items.
All changes into the system by any user are logged, including a change-log of exactly what was changed by whom in the system.
The underlying legal structures of the fund are easily made available in the form of a dynamically created organizational chart. The organizational chart is interactive, allowing the user to navigate to a legal structure and all related content with the click of a mouse. At every level in a legal structure the complete substructure can be made visible this way.
And much, much more
This project would not have been possible without the close cooperation with ABN AMRO. Because of their timely and accurate feedback on development, a very complex application was created in a very short period of time. It was fun and exciting to work on a project with a party that knows it’s business inside out. The result is an application that is very closely matched to the internal work processes.
From a technical viewpoint the application would not have been feasible without the excellent ExtJS framework. The framework is an absolute joy to work with, in completeness, extensibility and maintainability and the excellent documentation.