As with any large institution JPMorgan has many thousands of computers worldwide, and after merger with Chase Manhatten the methods of tracking all this hardware and software were varied and somewhat confused.
Enter AssetCatch, a bespoke inventory system to run on both Unix servers and Windows desktops throughout the bank. Expressive Limited was called in to assist with the development of the client software, destined to run on 100,000+ computers.
Firstly the Unix client - a suite of Perl and shell scripts was created for AIX, HP-UX, and Solaris to report on the hardware resources along with the installed software. Skills used were Perl, csh, ksh, XML (for reporting back to the server) and in depth knowledge of the operating systems. This part of the project lost funding, but the code has been distributed to anyone who may find it of use within the bank.
Then to the PC client, this had already been written in C by a previous contractor, and was a mess. The code is now well commented, structured, secure and far more flexible. This was a bit of a departure from the usual skill base we provide, but as it turns out C is not something you forget!
The PC client has evolved, and is now 2 files (down from the previous 5 needed), a .dll and a .exe. The .dll contains all the "scanning" functionality and can be automatically rolled out, much like a virus update for a virus scanner. The authenticity of the .dll is verified with Microsoft Authenticode technology. Skills used were Microsoft Windows NT, 2000, and XP, Visual C++, WMI and Authenticode.
This contract came to an end, however after a 4 month gap JPMorgan called again. This time a skills gap was found in a another team and our services were again required.
This time it was the operations team of JPMorgans bond trading client who required strong shell scripting, SQL, Perl and Solaris. This contract was extremely varied, from ad-hoc report development in Sybase T-SQL to power shell scripting in Bourne shell with a little Perl thrown in too.
The highlight of this contract was the monitoring system used to drive the pagers which alerted the operations team when the bond trading system malfunctioned. Never has so much Bourne shell confused so many! This was taken in hand, documented & extended and finally handed over to a new member of staff.