This is a portfolio of applications which I have been instrumental in the design, development and maintenance of.

CardStream

Click to view this image

CardStream is a online payment gateway solution. The core gateway is developed and maintained by myself aided by a small team of specialised developers at CardStream Ltd.. The system runs over multiple servers and consists of back end applications and front end interfaces and hosted payment web pages. The back end applications provide the main functionality and this is accessed by the front end using a SOAP interface. The front end then offers up services via a variety of REST interfaces and hosted web pages. Most of the functionality is written in object orientated PHP 5 and designed to run in a LAMP environment on Linux. All communication with the applications is made via HTTP requests to the front end interfaces. All the data is stored in distributed MySQL Databases.

Technologies used in this project include;


eTote

Click to view this image

eTote is a online tote betting system developed and maintained by myself during my time working at Datatote (England) Ltd.. The system runs over multiple servers and consists of back end applications and front end websites such as 24dogs. The application servers each deal with a different area of responsibility such as configuration, user accounting, payment gateway services, tote control, pool generation and content management etc. The servers were written in C++ and designed to run on Linux as background processes (daemons). The applications communicate between themselves and with the websites using a simple text based protocol sent over internet socket connections. All the data is stored on a further server in an Oracle 8i database. In addition MFC based applications were developed for Microsoft Windows using Visual Studio 7.

Technologies used in this project include;


CKS MyNet & PassGo SSO

Click to view this image

Click to view this image

This was my first venture into the Single Sign On (SSO) world. I helped design and build an enterprise SSO solution for a small local company called PassGo Technologies Ltd. (nee CKS Ltd.) who after successive buy outs from the likes of Axent Technologies and Symantec Inc. finally became part of Quest Software. The product gave me expose to many different operating systems, databases and other software that was included as part of the SSO portfolio. This meant developing code for most mid range operating systems, such as most flavours of Unix, OpenVMS, AS/400 and Windows NT along with database technologies such as Oracle, SqlServer, Active Directory and other LDAP applications.

Technologies used in this project include;


DomainView

Click to view this image

This was the successor to NMS 3. Technology had moved on and the X Window System was available on Unix allowing more feature rich GUI applications to be developed. This was the first product I developed as part of a team, it was designed to run on both Unix and Windows NT using a common code base. As such I had to learn cross-platform code differences and develop cross-platform tools. The system was built using a Network Management package called NMC3000 developed by Network Managers Ltd. based in Guildford who were later acquired by Microsoft. This was also the first product to use the standard Simple Network Management Protocol (SNMP) to manage the network devices, as such I developed a gateway application to take SNMP requests and convert them to the proprietary protocol used by some of the companies legacy devices.

Technologies used in this project include;


NMS 3

Click to view this image

This was the main Network Management System I designed and developed whilst working for what was to become Cray Communications Ltd. I left university to join this company having worked for them during my course. The suite gave me my first insight into C++ programming on Unix and being before the advent of the X Window System most of the user interface was developed using the Curses terminal control library and I became proficient in VT100 terminal control codes. I also had to learn VGA programming to output graphic representation of the network on the screen. The program was also an early adopter of using mouse control before standard libraries existed for it and so I had to learn the how to interface with these little critters.

Technologies used in this project include;