Within the NonStop user base, modernization is rightly viewed as an effective method to meet changing business requirements more quickly. However, when it comes to actually modernizing NonStop applications there are a number of different approaches to choose from. This case study will detail how Raymond James recently modernized their core NonStop applications to allow them to quickly address new business requirements.
Raymond James is a large financial services and wealth management firm that serves over 3 million client accounts through 7,300 financial advisors. At Raymond James, our clients are the most important aspect of our business. We believe if we do what is right for our clients they will achieve success, and through them we realize our own success. With this said, it is important we offer the best and most reliable technology to our clients.
We recently had two business requirements to improve the services offered by Raymond James to our customers. The first was to integrate our Windows-based quote system with the NonStop so that we could integrate our internal trade service with the real-time ticker from the Windows application. As a fullservice wealth management company, the other requirement was to offer our clients the ability to short sell stocks.
We started with the first requirement - to integrate our internal trade server with our QuoteServer running on Windows. The QuoteServer service is the real-time ticker with details about equity research, financial news, historical performance, investment strategies, and regulatory filings.
Microsoft has released the SOAP toolkit for exchanging structured information over HTTP as a way to integration with other, non-Windows environments. We decided to run a POC using SOAPam® Client from NuWave.
We found that SOAPam© Client was very intuitive and required no special training. SOAPam© runs on the NonStop and sits in front of the Quote System. SOAPam© is simply configured by importing the application Inter Process Message formats. It is then able to map the messages between the SOAP requests and the IPM (InterProcess Message) that the Quote System expects. This was all done easily and quickly using the development tools that came with SOAPam©. We went from the POC to live in less than 4 months!
Working with NuWave was great - if we had any questions we would get replies very quickly and if we needed any help they were there to support us. We could have developed our own SOAP implementation, but it would have taken much more time and we would have had a very steep learning curve, with whatever support we could find on the web.
The second requirement we received from our business stakeholders was to allow our clients to short sell stocks. Selling a stock ‘short’ means selling stock you do not own in expectation of a decline in the stock price. Once the decline happens you buy shares to cover your initial sale. By way of example Stock X sells for $100 a share but you believe the stock is about to fall in price. You sell 10 shares (that you do not yet own) and receive $1,000. The stock falls as expected and is selling for $80 a share. You buy 10 shares for $800 and transfer those shares to your original buyer while pocketing $200. At Raymond James we named this system the SmartLoan Service. This request was challenging to accomplish, partly because when the short sell is executed the trading server needs to validate that the security is available in inventory and then if the inventory is available it needs to reserve that inventory. MQ is our internal Raymond James standard for communicating with 3rd party processes. MQ was fast, but we ran into problems with creating a synchronous process when messages did not get transmitted. When there were issues with transmission all the messages would timeout and hold up other trades. The MQ solution was also missing error handling and a resubmit would create a duplicate inventory request.
After we ruled out MQ, we looked at an in-house option using HTTP, but it did not allow for encryption of user IDs and passwords to validate a user. We had to figure out another way to make the system work successfully. We knew we needed a synchronous solution to simplify error conditions. Our NonStop was not connected to the internet, and to complicate things further, our NonStop engineers had no web knowledge and our web administrators had no NonStop knowledge.
NuWave came to the rescue again with SOAPam© . We were able to make the connection for the SmartLoan Service without having to train our NonStop engineers on the web or our web developers on the NonStop. We built the SmartLoan application as a C# Web service that sits on our internet domain and calls out to the 3rd party. An added benefit was that SOAPam® Client also included security and HTTP authentication and authorization which we needed since we are dealing with financial transactions. This security ensures that only authorized users are able to use the service, and this is a built-in feature that comes standard with SOAPam® Client . Having already become familiar with SOAPam® Client the first project, we found it very easy to get up and running for this project - once you have done one implementation, the next one is a breeze.
Raymond James is always looking to the future and we are now planning to implement services using REST. We are currently setting up our NonStop X Server and will soon be doing a POC for REST migration using LightWave products from NuWave. Based on our experience with SOAPam© we are sure we will once again have a great experience with the products - from the way their solution is constructed, and how no application changes are required. In our experience, NuWave’s middleware is very intuitive and imports the DDLs of the NonStop programs you want to expose. It then creates the code you need to connect the NonStop to the Web service that you desire. NuWave’s middleware runs on Guardian, so OSS is not required. Raymond James has had a great experience with NuWave’s middleware solutions. They really are experts when it comes to Web services and the NonStop. They saved us hours of coding and time learning new technology. We look forward to working with LightWave in the near future.
Jes Thamdrup currently works at Raymond James as Data Engineer responsible for enterprise-wide replication systems. Prior to his current role, he supported Raymond James' data warehouse as DBA and Da ta Engineer.
Jes holds a degree in computer science from the Danish Department of Computer Science