Now that we have looked at all the components of WLRT, we need to view relevant use cases. WebLogic Real Time can provide solutions for high-performance environments with response-time-sensitive applications. Even if there are no relevant example applications shipped with the WLRT, it's easy to come up with some.
An investment arm of a large retail bank provides an exchange for derivatives of European securities. It is an over-the-counter (OTC) request-for-quote and execution system (but provides no settlement and clearing services). A broker submits a request for a quotation and includes the investment identifier and quantity. The system accepts the quotation and applies certain business rules. Depending on the investment identifier and market conditions, the request is routed to a particular third-party market maker who then calculates and provides the bid and asking price for the derivative. The response is returned to the broker through the OTC exchange. The broker can then execute the trade of the derivative through a subsequent request, which is routed via the OTC exchange to the appropriate market maker.
The complication with this arrangement is that arbitrage traders can take advantage of the latency delay in the bank's OTC exchange infrastructure because the arbitrage trader can measure the latency that occurs during the small period in which the request for quotation is handled. In a fast moving market, price changes of the derivative may occur within this latency period. This presents an opportunity for an arbitrage trader to take advantage of inefficiency in the marketplace and expose the investment bank to intolerable risk. The investment bank requires a performance-driven software infrastructure that delivers an extremely low latency of the OTC exchange. Specifically, to combat arbitrage traders, the latency of the exchange's infrastructure must be less than the latency of the arbitrage traders' infrastructure. In this way, the arbitrage traders' data becomes stale before the exchange's, and therefore is not actionable.
Beay offers a system where users can offer their goods for sale. Beside the normal shopping function users can also use a part of the system to make bids on offered goods. The supplier sets the duration for which bids are accepted for the offer in weeks or hours. The customer that made the highest bid is accepted at the end of that duration. The key to success is to bid as much as needed but not much more than the follower in the bidder list. The closer the customers get to the end of the bidding period, the more time-critical it gets to make the correct bids.
Two users combat for the highest bid and both submit a quote in the last five seconds. The one with the higher bid runs into a system delay (possibly a garbage collection run), therefore the user with the lower bid is accepted after the bidding period is over. The shop system operator loses the potentially higher share on profits, the supplier loses the better price, and the customer loses trust in the system. Beay requires a high-performance infrastructure with very low latency to ensure that all customers have the same chance of having their bids accepted within a suitable time period.
WebLogic Real Time 1.0 was released recently, and it looks like a product bundle enabling new features that support real-time applications. Although the first version doesn't cater to all real-time concepts, more features are yet to come. The next WLRT release, which is expected in the middle of this year, will provide fixes and an even more optimized deterministic garbage collection. Later versions of WLRT are expected to further elaborate on real-time services, such as real-time threads and schedulers, and high resolution timers. It is also expected that WLRT will address some of the problems related to event stream processing and distributed caching.
WLRT fits into mission-critical environments and enables the operation of low latency and performance-critical applications. It is still only a first step in this new area of enterprise Java. While it is not something everybody needs, it closes the gap that previously hindered the development of such applications in the enterprise Java world. The combination of WebLogic Server, JRockit, and a lightweight application framework like Spring opens the field for an exciting arena of development.
Markus Eisele is a senior technology consultant working for msg systems ag in Germany. msg systems ag is a top 25 IT consulting and systems integration companies in Germany. Markus is a software architect, developer and consultant.