This is a portfolio of applications which I have been instrumental in the design, development and maintenance of.
CardStream
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;
- Linux - Unix-like Operating System.
- MySQL - distributed Database.
- PHP 5 - scripting language.
- HTTP - web markup language.
- Apache - web server.
- ISO-8583 - financial message interchange protocol
- REST - web interface architecture.
- SOAP - web interface architecture.
- 3-D Secure - credit card authentication protocol.
eTote
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;
- Linux - Unix-like operating system.
- Oracle - enterprise level database.
- C++ - C/C++ programming language.
- MFC - Microsoft Windows development API.
- Visual Studio 7 - Integrated Development Environment (IDE) developed by Microsoft.
- Payment Gateway - aiding money transfer to and from a users online betting account.
CKS MyNet & PassGo SSO
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;
- Unix - operating system available in many flavours by multiple vendors.
- OpenVMS - operating system developed by DEC.
- AS/400 - operating system developed by IBM
- Windows NT - operating system developed by Microsoft.
- Oracle - enterprise level database.
- SqlServer - enterprise level database developed by Microsoft
- Active Directory - directory service created by Microsoft.
- LDAP - common directory service access protocol.
- C++ - C/C++ programming language.
DomainView
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;
- Unix - operating system available in many flavours by multiple vendors.
- Windows NT - Microsoft's first Unix-like operating system.
- C++ - programming language.
- SNMP - simple network management protocol.
- X Window System - Unix based GUI/Windowing System and APIs.
- MFC - Microsoft Windows development API.
NMS 3
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;
- Unix - operating system available in many flavours by multiple vendors.
- C++ - programming language.
- Curses - terminal control library.
- VT100 - terminal control protocol.
- VGA - graphics card control protocol.