Case Study: The financial company uses Eclipse in developing its OneBench application for market data and analysis.
When JPMorgan Chase Traders go to their terminals for ready access to market data, pricing, research and analysis, they can count on using applications built with the Eclipse development platform.
JPMorgan developers selected Eclipse largely for its RCP (Rich Client Platform) technology, which enabled the international financial powerhouse to build an internal development system known as OneBench.
OneBench is a deployment platform for RCP-based applications, said Bruce Skingle, a London-based distinguished engineer with JPMorgans Investment Bank Technology group.
Basically, OneBench is an alternative to a user desktop for deploying the Eclipse IDE (integrated development environment) to run business applications. In essence, OneBench is a users workbench, whereas Eclipse is a programmers workbench, Skingle said.
Skingle said JPMorgan looked at several technologies as the basis for OneBench. Eventually, the company narrowed the decision down to the Java Swing GUI components platform and Eclipses RCP. Skingle said RCP won out because of its inherent plug-in nature. Now the RCP-based OneBench is viewed as the platform of choice for desktop application developers at JPMorgan.
Many developers in the company had already been familiar with Eclipse and had selected it as their primary development platform. In fact, Skingle said some of the JPMorgan developers were introduced to Eclipse because of their use of IBMs proprietary Java tools.
"WebSphere Application Developer Studio was already in use [at JPMorgan] when Eclipse emerged, and most users switched to the open-source version when it became available," Skingle said.
Meanwhile, RCP gives JPMorgan exactly what the company was looking for in terms of an environment that fosters reuse through its plug-in architecture and helps to lower development and maintenance costs, company officials said.
Click here to read more about JPMorgans IT operations.
According to the Eclipse Foundation, Eclipse RCP is designed to serve as an open tools platform based on a diverse set of components or plug-ins.
RCP consists of the Eclipse Runtime, the SWT (Standard Widget Toolkit), the JFace user interface framework, the Eclipse Workbench and support for XML, Eclipse officials said.
"We are seeing an increasing trend towards using RCP for the creation of what we refer to as domain-specific platforms," said Mike Milinkovich, executive director of the Ottawa-based Eclipse Foundation.
Overall, JPMorgans OneBench is an Eclipse RCP container in that it enables users to deploy an Eclipse RCP applicationor set of plug-inswithout the need to write a shell container, Skingle said.
In addition, Skingle said OneBench has specific features such as integration with the investment banks authentication platform, which provides single sign-on across OneBench and Web applications. This is the single-sign-on platform used by the companys Morgan Markets offering and other external-facing JPMorgan Investment Bank Web applications, Skingle said.
OneBench also features integration with JPMorgans logging system and other standard infrastructure, as well as a customized Eclipse Update Manager.
Skingle said at JPMorgan, deployment of a desktop application is somewhat complicated by the size and distribution of the environment in which the company operates. However, OneBench enables project teams to deal with problems upfront so they can focus on delivering the business functionality of their application.
Because OneBench can host multiple applications, it opens up the possibility of applications interacting in new ways. For example, if an equity sales system and a research system are both implemented as OneBench applications, if the equity sales application publishes a selection for a specific stock, the research application could respond by displaying the latest Morgan Markets research on the stock, Skingle said.
Although JPMorgan has not yet delivered this type of cross-application interaction, the Eclipse technology makes it possible, JPMorgan officials said.
Meanwhile, JPMorgan developers used OneBench to create several applications, including Fuse, a bond-trading application. Fuse is rich-client banking software that takes in a constant stream of market data on bond-trading prices to help identify trends and analyze the data.
JPMorgan also built a GUI framework called Snapper, a shared component that runs in the OneBench environment.
Moreover, JPMorgan has built another application, known simply as EIS, to replace a group of systems the company built over a 10-year period. The systemscreated by the companys Investment Bank Technology Exotics and Hybrids groupwere built with C++ code and were used for entering reference data. EIS was built on OneBench.
Guru Jakob Nielsen offers advice on designing applications for usability. Click here to watch the video.
JPMorgan also developed QTrade, a development platform to help create custom financial applications quickly. And with the benefits of QTrade and Eclipse, JPMorgan developers were able to use drag-and-drop operations to build parts of their applications, taking advantage of SWT and XML, company officials said.
Among the drivers pushing JPMorgans use of Eclipse are "performance and look and feel," Skingle said. "One of the specific issues is [that] with tables and very large data sets, performance can be a problem."
Yet, RCP stood out in graphical performance, Skingle said. Indeed, a proof of concept based on the Snapper UI showed that an SWT table could easily handle a 400,000-row data set with 1,000 updates per second.
Meanwhile, Skingle said JPMorgan also liked Eclipse technologys update capabilities.
"The update management capability is very interesting to us," Skingle said. "The physical deployment of desktop applications is difficult, and the ability to deploy a core application once with further updates managed through the Eclipse update mechanism is useful to us." Moreover, as a shared RCP container, OneBench can be deployed once and then host multiple RCP applications, he said.
Nonetheless, for all its benefits in the company, Skingle said JPMorgan has not standardized on Eclipse.
"We have a reasonably open attitude about open-source software," Skingle said. "We try to build against open standards wherever possible."
As an example, earlier this year JPMorgan unveiled an open-source message-queuing protocol that the company helped create, known as AMQP (Advanced Message Queuing Protocol).
And, despite being a profitable enterprise, JPMorgan knows how to save money, Skingle intimated.
"We have a very large budget for technology, but license fees for products like application servers and IDEs mount up, and where a suitable open-source alternative exists, this can free up significant amounts of money for use on other projects," he said.
Moreover, the increasing popularity of the Eclipse platform and the fact it is supported by large companies such as IBM likely mean that "it is not going to disappear," Skingle said.
The Eclipse Foundations Milinkovich said the use of Eclipse RCP by enterprises such as JPMorgan is "great" for the technology and the community.
"There are many ISVs today using Eclipse RCP to build their software products," Milinkovich said. "Now having large enterprises like JPMorgan and even NASA demonstrates that Eclipse is a major player for building platform-independent rich-client applications."
Request for Comments
Have a comment or suggestion? Please e-mail Solutions Series Associate Editor David Weldon at email@example.com.
JPMorgan Chases Investment Bank Technology group in London
Organizational snapshot: A leading global financial services company with assets of $1.3 trillion and operations in more than 50 countries
Business need: A development platform that would facilitate reuse and enable developers to build custom financial applications quickly and easily
Technology partner: The Eclipse Foundation in Ottawa
Recommended solution: The Eclipse RCP as the basis for an internal development and deployment environment known as OneBench
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.