Demonstration Position Keeping Server application implemented in NetKernel
(c) RSBA Technology Ltd 2014
This repository contains an experimental application of a real-world eFX trading application component, implemented using the Resource-Orientated Computing platform called NetKernel.
I am an independent consulting business analyst and project manager, working in the investment banking industry for over 20 years. Over the past decade, I have specialised in working on FX e-commerce front-office trading platforms. I have been responsible for project management, business analysis, architecture, functional design, Java development and extensive manual and automated testing activities.
I was first introduced to Peter Rogers, Tony Butterworth, NetKernel and 1060Research in March 2014 via Tom Gilb. I was immediately intrigued by the possibilities of Resource-Orientated Computing and resolved to learn more about its capabilities and qualities.
After progressing through a number of the excellent tutorials and videos, I wanted to see how far I can get working on a an application loosely based on a recent real-world application I have worked on. To help me remember what I have learnt along the way, I also decided to write up my experiences as I progressed in the form of a multi-part diary included in the project.
The repository contains several individual NetKernel modules, contained in separate sub-folders.
This is the main Position Keeping Server application NK module. It contains the core position management functionality. It also included an embedded set of NetKernel documentation, the PKS Diary, which gives an account of the process by which I went about designing and implementing the application.
This NK module contains NetKernel XUnit tests for the PKS application.
This module provides a simple web simulator application, to exercise the core PKS application by generating semi-random FX trade requests into the PKS front-end space.
To manually install these modules into a NetKernel installation, please follow the steps below.
It is assumed that you already have a working NK5.xSE or EE installation (the installation root folder is referred to as [NKinstall] below), and have already set up a local working copy of this nk-pks repository (the relative path from [NKinstall] to the nk-pks iroot folder is referred to as [RelativePathFromNKinstallToPKSinstall] below).
-
Create a new xml file in the [NKinstall]/etc/modules.d/ folder called pks.xml
-
The contents of pks.xml should refer to the installed location of the modules contained in the nk-pks working copy:
<modules> <module runlevel="7">[RelativePathFromNKinstallToPKSinstall]/urn.uk.co.rsbatechnology.pks/</module> <module runlevel="7">[RelativePathFromNKinstallToPKSinstall]/urn.test.uk.co.rsbatechnology.pks/</module> <module runlevel="7">[RelativePathFromNKinstallToPKSinstall]/urn.uk.co.rsbatechnology.pks.www/</module> </modules>
You will also need to install the xml-saxon package from the Apposite repository, as some of the endpoints use XSLT2
The web simulator is configured to use the NetKernel Back-end Fulcrum. The following URLs are provided:
http://localhost:1060/pks/pub/simulator.html (send one-shot and periodic random FX trades)
http://localhost:1060/pks/displaypositions (displays current positions held in PKS)
http://localhost:1060/pks/clearall (wipes out all persisted position and position delta state)
Once you have installed the PKS application modules into your NetKernel instance, you should be able to view the embedded PKS Diary book
Alternatively, just type PKS Diary into the NetKernel Management Console portal search box.
This repository is (c) RSBA Technology Ltd 2014, and licensed under the LGPL v3.0 license, See LICENSE.txt for full text.