Java Articles at the Web Developer's Journal - Java programming tutorials, applets, beans, servlets and more.
We've tried to assemble a collection of articles
about Java to help the beginner or the real Java gurus. If you have questions
(or answers) concerning Java, please visit our Java Discussion
Group.
For news and reviews of the latest computer audio
tools, visit:
Java Resources for Web Developers
Java Hub
If you have questions about Java development
you have arrived at the right place. Scroll down for articles about servlets,
product reviews and "how to do it" articles. We also maintain a Java discussion
group.
Taking Notes on Java
Edward Tanguay sings the praises of a very important language.
The
Bluffer's Guide to Java
Can't tell your Beans from your Applets? Wondering
if a Servlet is a small server waiting to grow up? Read our compact guide to Java
and you'll soon be dropping JAR, JVM and JSDK into casual conversations along
with the best of them. Nobody will bother listening to you, but they'll still
be mightily impressed.
Java: Coming
to a TV near you!
The new Java TV API holds the promise of Java-based
interactive television using set-top boxes.
Java
vs Other Web Application Technologies
(The JavaBoutique) Selena Sol, author of JavaBoutique's
Introduction to Java, gives an in-depth comparison of Java and other development
languages such as dHTML, ASP, and Perl.
Agent
Communication
Agent technology is becoming more prevalent as the availability of network access,
and the demand for the end-uses of agents, become greater.
Java Web
Server in Brief
A simple, dependable, and inexpensive ecommerce solution for small businesses
is proposed.
JSP: The Back Door into Java
Edward Tanguay discovers JSP, and finds it finally allows him to put his theoretical knowledge of Java to use, and hence, get a foot into the Java programming world.
Building
Java Server Pages
A detailed look at building JSP pages. Should you
use JSP or servlets? It depends on the ratio of markup to code. Here you'll also
find a guide to the different varieties of tag, and details about the main tags
such as <jsp:useBean> and <jsp:setProperty>.
Site User Logon with XML, Java Beans and JSP
During this tutorial we will use XML and Java Server Pages to verify a user's logon - and then store the results in a session Java Bean for easy access.
Serving
Dynamic WAP Content with Java Server Pages
Here's how to create dynamic content for WAP-enabled
mobile phones using the Wireless Markup Language (WML) and Sun Microsystems' Java
Server API. Our Java Server Pages application displays regularly updated appointment
data for someone on the move, such as an appliance engineer making house calls.
Object
Persistence Made Easy
With object serialization, your Java applets and
applications can save and load the state of objects to disk or over a network.
In this article, we'll examine the benefits of object serialization, and how to
implement it in your own programs.
Servlets
Intro
to Servlets
Java servlets are making headlines these days, claiming to solve many of the problems
associated with CGI and proprietary server APIs. In this article I will describe
the overall servlet architecture and what you need to develop your application
with servlets. I will use several code examples to show you how to use the Servlet
API, and compare it with CGI and proprietary server APIs where appropriate.
Internationalizing
Servlets
How to use the Java Internationalization API to build server-side code that alters
its output based on the location and language of the user. We demonstrate the
use of the API by building a simple method which displays a product entry for
a shopping cart application.
Using
the HttpSession object of the Servlet API
The Java Servlet API represents an elegant and powerful way to shift processes
from client to server, and offers a number of advantages over CGI. These advantages
have certainly been enumerated so that most developers are aware of the servlet
advantage. However, some of the details of the servlet architecture may at first
seem daunting. Here's a short introduction on one aspect of writing servlets:
the HttpSession object.
Improved
Performance with a Connection Pool
Establishing a connection once and then using the same connection for subsequent
requests can dramatically improve the performance of a database-driven Web application.
Since Servlets can keep information between requests, a database connection pool
is a straightforward solution.
Investment professionals have traditionally used very expensive proprietary networks to receive up-to-the-minute data from the financial markets. Like many another market, that for real-time quotes is being revolutionized by the Internet. Real-time data from financial markets around the world, once the exclusive province of big brokerage houses, is now available to anyone for a reasonable monthly fee.
Revised July 19, 1999
Real-time financial quote systems present several fascinating aspects for Web developers. A real-time quote provider must parse datafeeds coming from various sources in various formats, and tie them together into a unified feed. The client-side software must download a user-specified subset of the data in real-time, and process it. The whole process must meet the very highest standards of reliability and stability.
Quote providers are on the front lines of the Java revolution (or is it a civil war?). Java can run a streaming quote system in a Web browser, eliminating the need for the usual proprietary Windows application. However, most real-time quote providers currently shun Java (while acknowledging that it's the future), not trusting it to be able to deliver the speed and bandwidth required for such a demanding real-time application.
This article will discuss Internet-based real-time streaming quote systems, with emphasis on the various technical challenges involved. See the comparison chart for a list of available packages, prices, exchanges covered, and Web sites.
Traditional means of quote delivery, which include satellite, FM, cable TV and leased phone lines, are under price pressure from Internet-based systems. Of the several well-known names in this industry, all except Bloomberg and CQG now offer Internet-based streaming quote systems in addition to their traditional systems, while several newer firms have been formed to develop Internet systems.
Some vendors have developed an Internet-based quote system from an existing traditional system, but most seem to have chosen to build a new application from the ground up. Obviously the datafeed is the same, but the client may not be so easily adapted from an older (non-Internet) client.
It's worth remembering that customers are not only buying a datafeed - they are buying a client application to help them process and make sense of the data. So the quality and flexibility of the client application is very important. This partly explains why there are so many products, most of them using the same datafeeds. If a company can make a client application that's better than others, it can hope to carve out a niche in this very competitive market.
Delayed quotes on demand are available free at many Web sites. These systems allow the user to enter one or more stock symbols, and return a quote. Real-time Quotes on Demand (also called "snapshot quotes") may also be had for free on a few sites, but the user must register with the exchanges. Implementations range from poor to excellent. Web brokerage Etrade offers a good example (see http://www.etrade.com). The best systems provide not only a quote, but a large amount of both technical and fundamental data, as well as news headlines and other links that may be followed for more information.
Streaming real-time quotes represent the ultimate in current information - A user-specified list of quotes appears on the screen, and is updated every time a trade is made, without the user having to refresh the screen. Streaming real-time quote systems are offered by 21 different companies at widely varying prices. See the accompanying chart for a list of available packages and prices.
Note that there is a speed issue, and some real-time systems may be more real-time than others. Network bottlenecks can cause quotes to be delayed be several seconds or more, and some of the vendors sell on the speed issue, claiming that their system delivers quotes faster than the competition.
Streaming real-time quotes can be delivered either through a proprietary application, or through a standard Web browser. With the more traditional approach, the user downloads and installs a proprietary application, usually a C++ 32-bit Windows app. This application is used to receive streaming quotes, and also includes various other functions, such as alarms, tagging of certain info, creating charts, accessing historical data, stock screening, access to various types of news, etc. The power and flexibility of this application is likely to be a major factor in customer satisfaction.
Other systems are designed to work in any Web browser, and don't require the user to have a special application installed. At the moment, all such systems are based on Java (except for one that incorporates ActiveX). The advantages are:
User can access it from any computer.
A Java applet can be incorporated into any Web page, making it easier to resell the service to be included in an Intranet, a Web site, etc.
The disadvantages are:
Most of the vendors consider Java to have serious speed and bandwidth disadvantages, compared to a 32-bit C++ app.
Every different version of every browser handles Java differently, so some users may experience serious compatibility problems, and an ongoing development effort is required in order to stay on top of the latest compatibility issues.
The majority of vendors I spoke to felt that the disadvantages of Java outweighed the advantages, at least at the current state of technology. The notable exception was Bridge, whose BridgeChannel is a Java browser-based package.
Most of the vendors see Java as the platform of the future, and almost all are either planning or developing a Java-based system. A few vendors already have Java-based systems, but the majority have rejected it at the current moment, citing one or more of the following concerns:
Speed
Bandwidth
Reliability
Flexibility
Lack of standard controls for the user interface.
Caplin
Caplin Systems Ltd. (http://www.caplin.com) has created a middleware solution that seems to embody all the advantages of both application-based and browser-based systems, with few of the drawbacks (Caplin was formerly known as Citynet).
Caplin is neither a quote vendor nor a seller of end-user quote packages. Rather, their system provides the link from quote vendor to delivery mechanism. Their Rainbow Server can take data from any quote vendor, and distribute it in many different ways. Delivery vehicles include Caplin's Rainbow Client, which is a Java applet, and the just-released WebSheet, a configurable thin RTTP client application. Streaming data can also be embedded in any Web page, as we shall see.
The Caplin Suite of Products includes the following components (parts of this section were adapted from Caplin's Web site):
PriceMaster extracts real-time data from "virtually any trading system or platform," and sends it to the Rainbow Server.
The Rainbow Server is a standard Web server (Microsoft or Netscape) with the addition of the Rainbow Gateway - a set of Java servlets.
The Rainbow Gateway communicates with PriceMaster and implements the server-push communications with the Rainbow Applet. The Rainbow Gateway also handles Caplin's MicroTunnelling technology, which allows full-duplex IP socket connections to be made between the servlets and the applets, whatever intervening firewalls or proxy servers may exist between them.
The Rainbow Applet provides a user interface to the Rainbow system.
"Thin client," runs in any standard Web browser.
Record and monitor who's looking at your data at every moment.
Control access with bulletproof privacy and permissioning.
No need to modify firewalls.
Handles both page and record-based data, converts between them automatically.
Integrates with all major trading systems and platforms.
WebSheet is an alternative user interface that loads over the Internet or an intranet just like an ordinary Web page. Its embedded code transforms a browser into a configurable real-time data terminal, capable of displaying quotes, quote lists, chain records, pages, charts, technical analysis, headlines, news stories and live TV from virtually any source.
WebTools allows Web site designers to mark individual items on their pages for real-time update. For each price that is to be animated, an extra tag and one line of script are all that is required. WebTools interfaces to existing market data sources, with comprehensive data conversion and permissioning functionality.
The technical centerpiece of all this is the Real-Time Trading Protocol, or RTTP. This is an object-oriented, dynamic server push protocol which works over the Internet or an intranet, and can function through firewalls and proxy servers. Caplin developed this protocol last year, but it is now an open standard, available to any developer.
Although the Caplin system does utilize Java, it uses it only where necessary, and leverages other technologies to sidestep most of Java's overhead and bandwidth limitations. Using RTTP, a small Java applet receives real-time push data, but Dynamic HTML and JavaScript are used to control the actual presentation of the data on a Web page. This has several advantages over the more usual method of Java-based delivery.
First, this way of doing things allows a Web publisher (this could be a quote vendor, a broker, an investment-related Web site, or anyone who wants to incorporate real-time quotes into an HTML page) total control over presentation of the data. Traditionally (if we may speak of something only a few years old as "traditional"), a publisher had to embed a Java applet which controlled not only receiving the data, but displaying it as well, and had little control over page layout and so forth. With a Caplin solution, the Java applet just receives the data - deciding how it is to be presented is handled by HTML and JavaScript.
Another advantage of Caplin is that it requires no application to run on the recipient's Web server. Every bit of code required to display real-time quotes is contained in the Web page itself.
The Caplin solution seems attractive to any quote provider that wants an Internet-based delivery method, but doesn't want the trouble of developing their own system. They are strictly a middleware provider. A company spokesperson said that they have no intention of becoming a quote vendor, or of offering an end-user quote package.
Quote System Vendors
Bridge has been providing quotes for 25 years. Their Internet product, BridgeChannel, was developed from the ground up for the Internet. They are one of the few high-end players who have opted for Java browser-based delivery rather than a proprietary software client. They concede that supporting it is complex (they've released 5 major upgrades in less than a year), but reject the bandwidth and speed issues that other companies cite as reasons for not using the Java approach. Bridge's spokesman says that it took them a while to get the Java delivery right, but they were committed to the platform from the beginning, and are now quite happy with its performance. They say that if the Java approach is done correctly, the bandwidth and speed are quite adequate.
A major hurdle for a streaming application is the stateless nature of HTTP. That's why one must use either a proprietary client, or Java to insert an app into a Web page. The data travels over TCP/IP, but not HTTP. One vendor, Wwquote, gets around the stateless nature of HTTP by opening single connections, and updating every 3-4 seconds.
Exchange Market Systems (EMS) consider themselves middleware providers. They offer flexible solutions to brokers that include online trading, streaming quotes from various feeds, back office integration and even Web site design. The client (a broker) can have EMS run an entire system as a service bureau, or the client can license the Telequote Web or Brokerware software and use it in-house. The system offers both on-demand quotes and streaming quotes, which work through a Java applet. They claim to be able to handle feeds direct from the exchanges, as well as feeds from Dow Jones, PC Quote, Bridge, etc.
Real Tick, from Townsend Analytics, is a proprietary application, but components of it can be used in a browser-based environment through the use of ActiveX, the only vendor I found that uses ActiveX as an alternative to Java. The API is open, and various larger clients use it to design their own applications. ActiveX can be used to include TAL's datafeed in a Web site.
Marketing and distribution channels for quote services are complex, to say the least. A quote system is really a combination of a product (the software application) and a service (the datafeed). Either or both of these can be resold, rebranded and repackaged in various different ways. Each of the vendors has its own niches somewhere along the path from the exchanges to the end user - some see themselves mainly as datafeed providers, others as software developers, and some as middleware providers.
Only a few vendors receive data directly from the exchanges. These "primary providers" include Bridge, PC Trader, PC Quote, TrackData, RealTime Quotes (Corona), Signal (Data Broadcasting Corporation), and Townsend Analytics.
While some vendors resell their datafeeds, others license their software, and some offer both to resellers. Some, such as PC Quote, offer a flexible range of co-branding options. Resellers can choose to incorporate the vendor's datafeed into their own system, or the vendor can provide a total solution. The reseller pays a monthly fee for the data, as well as a setup fee. Such arrangements can also include site hosting and development services.
PC Quote has a particularly well-developed reseller and co-branding business. Resellers can choose exactly how to incorporate PC Quote data. A site could display just the stock price of one company, or it could make quotes on demand available to its users. PC Quote has a variety of templates already prepared, incorporating various levels of functionality, so a reseller can simply pick one and insert it into his site. Some templates offer a simple type-in box, some allow multiple quotes to be requested at a time, and some allow charting and other advanced features. The reseller pays PC Quote a setup fee, and a monthly fee for the data. Pages can be hosted by the reseller or by PC Quote, and they also offer various development tools to help resellers integrate PC Quote into their systems.
With so many different reselling and co-branding arrangements going on, system openness and flexibility is important. Most of the vendors make their API available, and encourage customization by resellers or large end-user organizations.
PC Trader, a primary provider of quotes for the cash and futures markets, sees themselves mainly as a back-end provider of financial data, and they work with other developers on various levels. "PC Trader is a record-based rather than page-based feed, providing the user with unlimited choices for personal configurations." Open API and OLE connectivity. "…strategy is to provide tools for other developers."
Primary providers receive data directly from the exchanges, as raw binary data, by satellite or leased line. Each exchange has slightly different specifications for the data, and they often change, so parsing this data and converting it to a TCP/IP feed is quite complex. In fact, one primary provider confided that it is "a pain in the butt."
Real-time quote systems require very stringent standards for robustness and reliability. The people who buy these services are using them in their daily business, and depend on them for information that can mean the gain (or loss) of large sums of money. They also pay quite a lot for the privilege of having up-to-the-moment quotes, while they could have quotes delayed by only a few minutes (or even real-time snapshot quotes) free. Therefore, it's obvious that customers will not tolerate the slightest bit of downtime or unreliability. These systems have to be up every second of every day, and vendors invest a lot of cash and expertise to insure that they are.
Redundant server farms and redundant T1 lines from multiple ISPs are the order of the day. Most of the major vendors use more than one hosting service, and one uses no less than five. This type of data requires a lot of bandwidth. The feed from the NASDAQ exchange alone can suck up five T1 lines.
The ultimate in reliable real-time data serving would seem to be the Nebula system, used by Jones Financial Software for their PC Trader package. Nebula features a separate server for each data feed from each exchange. An authentication layer prevents unauthorized use, while a load-balancing layer automatically routes traffic to the least-busy server. In case of massive server failure, traffic is routed to one of 3 server farms. Nebula may be used by third parties in one of two ways. Smaller players may use Nebula server farms on a revenue-sharing basis, while larger ones may choose to license the technology, and create their own Nebula server farms. Nebula server farms use NT computers.
Investment professionals have traditionally used very expensive proprietary networks to receive up-to-the-minute data from the financial markets. Like many another market, that for real-time quotes is being revolutionized by the Internet. Real-time data from financial markets around the world, once the exclusive province of big brokerage houses, is now available to anyone for a reasonable monthly fee.
Revised July 19, 1999
Real-time financial quote systems present several fascinating aspects for Web developers. A real-time quote provider must parse datafeeds coming from various sources in various formats, and tie them together into a unified feed. The client-side software must download a user-specified subset of the data in real-time, and process it. The whole process must meet the very highest standards of reliability and stability.
Quote providers are on the front lines of the Java revolution (or is it a civil war?). Java can run a streaming quote system in a Web browser, eliminating the need for the usual proprietary Windows application. However, most real-time quote providers currently shun Java (while acknowledging that it's the future), not trusting it to be able to deliver the speed and bandwidth required for such a demanding real-time application.
This article will discuss Internet-based real-time streaming quote systems, with emphasis on the various technical challenges involved. See the comparison chart for a list of available packages, prices, exchanges covered, and Web sites.
Traditional means of quote delivery, which include satellite, FM, cable TV and leased phone lines, are under price pressure from Internet-based systems. Of the several well-known names in this industry, all except Bloomberg and CQG now offer Internet-based streaming quote systems in addition to their traditional systems, while several newer firms have been formed to develop Internet systems.
Some vendors have developed an Internet-based quote system from an existing traditional system, but most seem to have chosen to build a new application from the ground up. Obviously the datafeed is the same, but the client may not be so easily adapted from an older (non-Internet) client.
It's worth remembering that customers are not only buying a datafeed - they are buying a client application to help them process and make sense of the data. So the quality and flexibility of the client application is very important. This partly explains why there are so many products, most of them using the same datafeeds. If a company can make a client application that's better than others, it can hope to carve out a niche in this very competitive market.
Delayed quotes on demand are available free at many Web sites. These systems allow the user to enter one or more stock symbols, and return a quote. Real-time Quotes on Demand (also called "snapshot quotes") may also be had for free on a few sites, but the user must register with the exchanges. Implementations range from poor to excellent. Web brokerage Etrade offers a good example (see http://www.etrade.com). The best systems provide not only a quote, but a large amount of both technical and fundamental data, as well as news headlines and other links that may be followed for more information.
Streaming real-time quotes represent the ultimate in current information - A user-specified list of quotes appears on the screen, and is updated every time a trade is made, without the user having to refresh the screen. Streaming real-time quote systems are offered by 21 different companies at widely varying prices. See the accompanying chart for a list of available packages and prices.
Note that there is a speed issue, and some real-time systems may be more real-time than others. Network bottlenecks can cause quotes to be delayed be several seconds or more, and some of the vendors sell on the speed issue, claiming that their system delivers quotes faster than the competition.
Streaming real-time quotes can be delivered either through a proprietary application, or through a standard Web browser. With the more traditional approach, the user downloads and installs a proprietary application, usually a C++ 32-bit Windows app. This application is used to receive streaming quotes, and also includes various other functions, such as alarms, tagging of certain info, creating charts, accessing historical data, stock screening, access to various types of news, etc. The power and flexibility of this application is likely to be a major factor in customer satisfaction.
Other systems are designed to work in any Web browser, and don't require the user to have a special application installed. At the moment, all such systems are based on Java (except for one that incorporates ActiveX). The advantages are:
User can access it from any computer.
A Java applet can be incorporated into any Web page, making it easier to resell the service to be included in an Intranet, a Web site, etc.
The disadvantages are:
Most of the vendors consider Java to have serious speed and bandwidth disadvantages, compared to a 32-bit C++ app.
Every different version of every browser handles Java differently, so some users may experience serious compatibility problems, and an ongoing development effort is required in order to stay on top of the latest compatibility issues.
The majority of vendors I spoke to felt that the disadvantages of Java outweighed the advantages, at least at the current state of technology. The notable exception was Bridge, whose BridgeChannel is a Java browser-based package.
Most of the vendors see Java as the platform of the future, and almost all are either planning or developing a Java-based system. A few vendors already have Java-based systems, but the majority have rejected it at the current moment, citing one or more of the following concerns:
Speed
Bandwidth
Reliability
Flexibility
Lack of standard controls for the user interface.
Caplin
Caplin Systems Ltd. (http://www.caplin.com) has created a middleware solution that seems to embody all the advantages of both application-based and browser-based systems, with few of the drawbacks (Caplin was formerly known as Citynet).
Caplin is neither a quote vendor nor a seller of end-user quote packages. Rather, their system provides the link from quote vendor to delivery mechanism. Their Rainbow Server can take data from any quote vendor, and distribute it in many different ways. Delivery vehicles include Caplin's Rainbow Client, which is a Java applet, and the just-released WebSheet, a configurable thin RTTP client application. Streaming data can also be embedded in any Web page, as we shall see.
The Caplin Suite of Products includes the following components (parts of this section were adapted from Caplin's Web site):
PriceMaster extracts real-time data from "virtually any trading system or platform," and sends it to the Rainbow Server.
The Rainbow Server is a standard Web server (Microsoft or Netscape) with the addition of the Rainbow Gateway - a set of Java servlets.
The Rainbow Gateway communicates with PriceMaster and implements the server-push communications with the Rainbow Applet. The Rainbow Gateway also handles Caplin's MicroTunnelling technology, which allows full-duplex IP socket connections to be made between the servlets and the applets, whatever intervening firewalls or proxy servers may exist between them.
The Rainbow Applet provides a user interface to the Rainbow system.
"Thin client," runs in any standard Web browser.
Record and monitor who's looking at your data at every moment.
Control access with bulletproof privacy and permissioning.
No need to modify firewalls.
Handles both page and record-based data, converts between them automatically.
Integrates with all major trading systems and platforms.
WebSheet is an alternative user interface that loads over the Internet or an intranet just like an ordinary Web page. Its embedded code transforms a browser into a configurable real-time data terminal, capable of displaying quotes, quote lists, chain records, pages, charts, technical analysis, headlines, news stories and live TV from virtually any source.
WebTools allows Web site designers to mark individual items on their pages for real-time update. For each price that is to be animated, an extra tag and one line of script are all that is required. WebTools interfaces to existing market data sources, with comprehensive data conversion and permissioning functionality.
The technical centerpiece of all this is the Real-Time Trading Protocol, or RTTP. This is an object-oriented, dynamic server push protocol which works over the Internet or an intranet, and can function through firewalls and proxy servers. Caplin developed this protocol last year, but it is now an open standard, available to any developer.
Although the Caplin system does utilize Java, it uses it only where necessary, and leverages other technologies to sidestep most of Java's overhead and bandwidth limitations. Using RTTP, a small Java applet receives real-time push data, but Dynamic HTML and JavaScript are used to control the actual presentation of the data on a Web page. This has several advantages over the more usual method of Java-based delivery.
First, this way of doing things allows a Web publisher (this could be a quote vendor, a broker, an investment-related Web site, or anyone who wants to incorporate real-time quotes into an HTML page) total control over presentation of the data. Traditionally (if we may speak of something only a few years old as "traditional"), a publisher had to embed a Java applet which controlled not only receiving the data, but displaying it as well, and had little control over page layout and so forth. With a Caplin solution, the Java applet just receives the data - deciding how it is to be presented is handled by HTML and JavaScript.
Another advantage of Caplin is that it requires no application to run on the recipient's Web server. Every bit of code required to display real-time quotes is contained in the Web page itself.
The Caplin solution seems attractive to any quote provider that wants an Internet-based delivery method, but doesn't want the trouble of developing their own system. They are strictly a middleware provider. A company spokesperson said that they have no intention of becoming a quote vendor, or of offering an end-user quote package.
Quote System Vendors
Bridge has been providing quotes for 25 years. Their Internet product, BridgeChannel, was developed from the ground up for the Internet. They are one of the few high-end players who have opted for Java browser-based delivery rather than a proprietary software client. They concede that supporting it is complex (they've released 5 major upgrades in less than a year), but reject the bandwidth and speed issues that other companies cite as reasons for not using the Java approach. Bridge's spokesman says that it took them a while to get the Java delivery right, but they were committed to the platform from the beginning, and are now quite happy with its performance. They say that if the Java approach is done correctly, the bandwidth and speed are quite adequate.
A major hurdle for a streaming application is the stateless nature of HTTP. That's why one must use either a proprietary client, or Java to insert an app into a Web page. The data travels over TCP/IP, but not HTTP. One vendor, Wwquote, gets around the stateless nature of HTTP by opening single connections, and updating every 3-4 seconds.
Exchange Market Systems (EMS) consider themselves middleware providers. They offer flexible solutions to brokers that include online trading, streaming quotes from various feeds, back office integration and even Web site design. The client (a broker) can have EMS run an entire system as a service bureau, or the client can license the Telequote Web or Brokerware software and use it in-house. The system offers both on-demand quotes and streaming quotes, which work through a Java applet. They claim to be able to handle feeds direct from the exchanges, as well as feeds from Dow Jones, PC Quote, Bridge, etc.
Real Tick, from Townsend Analytics, is a proprietary application, but components of it can be used in a browser-based environment through the use of ActiveX, the only vendor I found that uses ActiveX as an alternative to Java. The API is open, and various larger clients use it to design their own applications. ActiveX can be used to include TAL's datafeed in a Web site.
Marketing and distribution channels for quote services are complex, to say the least. A quote system is really a combination of a product (the software application) and a service (the datafeed). Either or both of these can be resold, rebranded and repackaged in various different ways. Each of the vendors has its own niches somewhere along the path from the exchanges to the end user - some see themselves mainly as datafeed providers, others as software developers, and some as middleware providers.
Only a few vendors receive data directly from the exchanges. These "primary providers" include Bridge, PC Trader, PC Quote, TrackData, RealTime Quotes (Corona), Signal (Data Broadcasting Corporation), and Townsend Analytics.
While some vendors resell their datafeeds, others license their software, and some offer both to resellers. Some, such as PC Quote, offer a flexible range of co-branding options. Resellers can choose to incorporate the vendor's datafeed into their own system, or the vendor can provide a total solution. The reseller pays a monthly fee for the data, as well as a setup fee. Such arrangements can also include site hosting and development services.
PC Quote has a particularly well-developed reseller and co-branding business. Resellers can choose exactly how to incorporate PC Quote data. A site could display just the stock price of one company, or it could make quotes on demand available to its users. PC Quote has a variety of templates already prepared, incorporating various levels of functionality, so a reseller can simply pick one and insert it into his site. Some templates offer a simple type-in box, some allow multiple quotes to be requested at a time, and some allow charting and other advanced features. The reseller pays PC Quote a setup fee, and a monthly fee for the data. Pages can be hosted by the reseller or by PC Quote, and they also offer various development tools to help resellers integrate PC Quote into their systems.
With so many different reselling and co-branding arrangements going on, system openness and flexibility is important. Most of the vendors make their API available, and encourage customization by resellers or large end-user organizations.
PC Trader, a primary provider of quotes for the cash and futures markets, sees themselves mainly as a back-end provider of financial data, and they work with other developers on various levels. "PC Trader is a record-based rather than page-based feed, providing the user with unlimited choices for personal configurations." Open API and OLE connectivity. "…strategy is to provide tools for other developers."
Primary providers receive data directly from the exchanges, as raw binary data, by satellite or leased line. Each exchange has slightly different specifications for the data, and they often change, so parsing this data and converting it to a TCP/IP feed is quite complex. In fact, one primary provider confided that it is "a pain in the butt."
Real-time quote systems require very stringent standards for robustness and reliability. The people who buy these services are using them in their daily business, and depend on them for information that can mean the gain (or loss) of large sums of money. They also pay quite a lot for the privilege of having up-to-the-moment quotes, while they could have quotes delayed by only a few minutes (or even real-time snapshot quotes) free. Therefore, it's obvious that customers will not tolerate the slightest bit of downtime or unreliability. These systems have to be up every second of every day, and vendors invest a lot of cash and expertise to insure that they are.
Redundant server farms and redundant T1 lines from multiple ISPs are the order of the day. Most of the major vendors use more than one hosting service, and one uses no less than five. This type of data requires a lot of bandwidth. The feed from the NASDAQ exchange alone can suck up five T1 lines.
The ultimate in reliable real-time data serving would seem to be the Nebula system, used by Jones Financial Software for their PC Trader package. Nebula features a separate server for each data feed from each exchange. An authentication layer prevents unauthorized use, while a load-balancing layer automatically routes traffic to the least-busy server. In case of massive server failure, traffic is routed to one of 3 server farms. Nebula may be used by third parties in one of two ways. Smaller players may use Nebula server farms on a revenue-sharing basis, while larger ones may choose to license the technology, and create their own Nebula server farms. Nebula server farms use NT computers.