From a new case study on eclipse.org's community resource, Ron Stone shares the story of how JP Morgan gothooked to Eclipse RCP. JP Morgan was on the lookout for a replacement for their existing systems in order to lay a solid foundation for enhanced security, auditing, scalability, interoperability and, above all, reusability. To achieve this, they understood that they needed to produce a generalized platform in which this and other new applications could be extended, reused and shared. As Bruce Skingle, Distinguished Engineer with the Investment Bank Technology group at JPMorgan explains, “We wanted to develop an alternative to spreadsheets as a platform for modeling applications and at the same time allow for greater abstraction and reuse across other projects.
As a tool for building a new model, a spreadsheet is an excellent tool, but by the time a product is traded the official models developed by the Quantitive Research group are delivered as libraries, and the spreadsheet is being used as little more than a .dll container and a grid based GUI." To this end Skingle envisioned that the spreadsheet-based GUI and code for common tasks like single sign-on and logging would be openly available for developers using the new environment, leaving application developers free to focus on the business problem. The result was One Bench, a platform for developing and delivering custom banking applications, starting with Fuse, their new bond trading application.
JPMorgan evaluated several options for the development of One Bench, but the final choice came down to Java/Swing or Eclipse RCP. After careful evaluation, RCP emerged as the better alternative. RCP is designed from the ground up as a plug-in platform that will allow One Bench applications to be written as Eclipse plugins.
Support for native windowing was also a significant advantage. Applications built for One Bench will meet users’ expectations for familiarity. Taking advantage of One Bench and Eclipse, the QTrade developers were able to develop a flexible and easy-to-use UI based on SWT and XML. Users can structure new exotic financial products using simple drag-and-drop operations to add libraries to a canvas and add business logic, and development times are reduced from weeks to hours.
Graphical performance was another area where RCP excelled. Previous development of Swing based applications had involved significant efforts to get performance from the very functional table control with large data sets and rapid update\ rates. A Snapper based proof of concept has demonstrated that an SWT-based table is capable of maintaining a 400,000 row data set with 1000 updates per second without any special coding tricks or unusual hardware. The IB Technology Exotics & Hybrids group’s EIS project saw similar benefits from RCP’s performance.
Eclipse RCP gives JPMorgan what they need: a plug-in friendly environment that will encourage efficiency and lower costs, and the control to ensure that software can be managed effectively.