|
|
INSTINET CORP., BASED in New York and founded in 1969, is perhaps best known as the leading
provider of "after-hours" stock market trading. But the company, a wholly owned subsidiary of
London-based Reuters PLC, is actually a leading provider of agency brokerage services worldwide,
both during and after regular market hours, for 17 securities exchanges around the world.
This fall, Instinet is slated to go live with one of the largest production Java-based applications,
a new Fixed Income Trading System. With a global reach, it will serve thousands of simultaneous
customers with real-time brokerage services in the buying and selling of fixed income instruments.
As an agency brokerage, Instinet does not participate in any transaction; it remains neutral, providing
brokerage services for the benefit of its customers—both buyers and sellers, institutions and
individual investors. Trades are done anonymously through Instinet's global network infrastructure,
which connects thousands of traders and portfolio managers to securities exchanges around the world.
In 1997, Instinet decided it wanted to branch out from its core business in stock trading to the
global fixed income markets. These markets typically involve the buying and selling of government
bonds and similar financial instruments.
The company formed a new division, the Fixed Income Group, and set about determining what kind of
information technology (IT) would be required to meet the special needs of the fixed income markets.
Business Challenge
To begin with, the proposed system would have to provide three services: bidding, offering,
and trading.
It would also have to take into account special business and technological requirements, including:
- "Future proof" architecture. Meaning, the system would need to implement an overall
IT architecture that would be flexible enough to adapt over time. For instance, it would have to be easy
to add or delete new functions and to support new users.
- One-year time-to-market. Instinet's early research determined that fixed
income markets represented a significant opportunity for expansion of its electronic brokerage
services, and that it needed to have a system up and running in one year to take advantage of
that opportunity.
- A level playing field for traders. All traders had to have the same access to
the same information simultaneously at all Instinet locations around the world.
- Multi-platform. Traders use a variety of desktop platforms, including UNIX workstations,
NT systems, and PCs.
Architectural Solution
Instinet's overall solution was based on three primary architectural considerations.
First, Instinet realized it needed a three-tier or n-tier architecture consisting of a thin client
on the desktop, a middle tier of application servers that both physically and logically shared
business logic and locations around the world, and a back-end database server. This architecture,
Instinet determined, would not only provide system responsiveness but also simplify management,
security, and the ability to update.
Second, because Instinet maintains seven sites all over the world, communications would be largely
asynchronous, to retain an adequate control on costs and allow for the most efficient use of
the network resources.
Finally, any solution needed to be component-based and driven by an object model.
The actual development of the new Fixed Income Trading System began in May 1998. It is currently
in beta testing and should go into production this fall, making it the largest real-time trading
system to utilize Java.
According to Rachel Moseley, the Fixed Income Group's chief information officer (CIO), the choice
of using the Java language and a number of Java-related technologies in building the new Fixed
Income Trading System was clear from the start. "I felt that the platform independence was extremely
important for our system, since traders have UNIX workstations and PCs, and we wanted them all to
have as much flexibility as possible," explains Moseley. "The only thing that would do that was Java."
Implementation
Beginning at the top, or back-end database tier, Instinet chose Oracle Corp.'s Oracle8 relational
database. Specifically, it is using Oracle8 Parallel Server to provide a consistent centralized database
of all bid, offer, and trading information. All the back-end logic is written in C++.
In the middle tier, Instinet is using multiple instances of Persistence Software Corp.'s PowerTier
application server. All the business and application logic at this tier is written in Java
using the Java2 Enterprise Edition (J2EE) technologies, such as Enterprise JavaBeans (EJB).
On the desktop, traders have their choice of systems, which are loaded with a Java application that
is installed, managed, and updated from Instinet's application and core servers.
The Java business logic was written using JBuilder, a rapid application development (RAD) tool from
Inprise Corp., formerly Borland, of Scotts
Valley, CA.
Hardware for both the core Oracle system and application servers are Ultra Enterprise servers from
Sun Microsystems Inc., Mountain View, CA, running Solaris, Sun's UNIX operating system.
Communications between the different tiers occur over Instinet's IP-based Extranet using permanent
virtual circuits and gateways into the Reuters External Services Network, a secure IP-based backbone.
Middleware plays a key part in making the system work. Instinet is using the TIB/Rendezvous
publish/subscribe messaging software from another Reuters subsidiary, Tibco, to provide internal delivery
of data between the back-end database servers and the distributed application servers.
The Java Messaging Service (JMS), in the form of Push Technologies Inc.'s Java-based SpiritWAVE
messaging software, is used to deliver data from the mid-tier application servers to the traders' desktops.
Another Java-based messaging product, Castanet, from Marimba Inc. of Palo Alto, CA, is used to manage
the distributed infrastructure and distribute software to traders' desktops and updates.
Mixing Java and C++
When the project was launched about a year and a half ago, Java wasn't quite ready to handle all the
tasks Instinet envisioned its new Fixed Income Trading System would require. As Moseley explains,
at that time, Java had a very bad image on Wall Street, primarily because of persistent rumors about
performance problems.
As part of its risk-mitigation efforts, Instinet opted to combine Java with C++ to ensure adequate
performance. "We limited our risk," said Moseley. "Depending on which version of Java you used,
performance was still an issue a year ago."
"Right now, we're experiencing no performance problems with the system," she said. "In fact, we're
very pleased with [it]."
Sun, she said, has been working diligently to improve Java performance, and she sees a very bright
future for Java on Wall Street and other places.
And, given the continuing improvements Java is making, Moseley said the future for Java looks
good. "A year or a year and a half from now, I would probably make a different decision [than combining
Java and C++]," she adds.
Enterprise JavaBeans
A key part of the J2EE platform is the EJB component framework. Moseley said the use of EJB has improved
the efficiency of the development team at Instinet, enabling this complex trading system to go from the
drawing boards to production in about 19 months.
Application Server
Persistence Software's PowerTier application server was chosen primarily because of its EJB implementation
as well, said Moseley. "We liked their EJB implementation, and, at the time, there really wasn't any
competition."
Moseley said the fact that it supported both C++ and Java, the core languages for the new system, was
another critical factor in its decision to go with Persistence's product.
The PowerTier application server also provides caching and synchronization capabilities. Its shared
transactional caching capabilities help provide the real-time playing field the system requires,
supplying all users concomitant access to the same bid, offer, and trading data.
Common Object Model
The PowerTier server was also instrumental in using a common object model for building the application,
a key goal. Because it supports both C++ and Java, the Instinet development team was able to generate
the core system logic in C++, while using the PowerTier/EJB version of the server to generate the business
logic that resides in the middle tier, both from the same object model.
Oracle Database
The Fixed Income Group opted to use Oracle8 Parallel Server, because together, the Oracle database and
Sun UNIX servers offer the best combination for high-performance applications, said Moseley.
"Surprisingly, Oracle is not the standard at Instinet," said Moseley. "The fact is that it's a very
solid product, from a very solid company, and it has the performance we needed. Oracle with Sun hardware
showed the best benchmarking results."
Using Oracle Parallel Server allows Instinet to operate the database as if it were one single,
centralized server, but to have it physically distributed around its network of worldwide sites.
Java Migration
At its production launch, the new Fixed Income Trading System will use a combination of C++ and Java,
although Moseley indicates that, over time, the system will migrate more and more toward Java.
"[When] we decided to go with Java, there was nothing like a real-time trading system in Java," said
Moseley. "A lot of companies were still experimenting. I felt that Java had come a long way and that a
lot of companies based their doubts more on a history that was maybe two or three years old. Java has
come a long way since then."
|