Communication Layer
Because the Veriquant Framework is
written entirely in .Net managed code there is nothing to stop developers from incorporating
standard web services into the Framework mix. This is essential for interfacing
with information sources beyond the Framework’s own tiers, as does the Veriquant
medFramework. But for communication within the Framework’s tiers we gain by avoiding
even the fastest of the remote procedure call technologies, binary remoting, let
alone text-based web services.
For data to be sent over the wire
it must first be arranged into a stream of bytes to be marched in single file, packaged
in such a way as to allow the receiver to unpack the data into discrete rows, columns
or objects. The more packaging is required, the more effort, time and resources
the packaging department will consume, the more bandwidth and time will be burned
over the wire, and the more time and effort the receiver will expend splitting out
the stream into intelligible units. The text-based protocols (such as JSON and XML)
used by prevailing
web technologies lard their data streams with fifty to eighty
percent packaging. The Veriquant Framework streams, by contrast, contain about five percent packaging. That means the Framework enjoys
at least a ten-fold advantage
in packaging, transmission, and unpackaging speed and efficiency. We send our messages
on a postcard; the rest of the industry sends that postcard in a heavily-taped shoebox
full of popcorn.
We gain a further advantage by sending
data elements such as integers, dates and Boolean values in their native types rather
than first converting them to text, as with XML and JSON. This further saves space
and conversion overhead. The effort that it takes conventional
applications to treat all data types as strings degrades their performance.
The Framework communication layer also encrypts all data streams.
It can also transfer files from server
to client, from client to server and from client to client.
Our experience has shown SOAP (XML-wrapped
procedure calls)
to be an order of magnitude slower for similar work. To give some concept of speed,
tens of database requests and responses
per second
can fly between the server and a single process running on a modestly-powered client
computer over a typical three-megabit DSL connection, generating low network, CPU
and database utilization.
The Veriquant Framework architecture
is well positioned to interact with Service Oriented Architecture (SOA) environments,
if not, in certain cases, actually replacing them. One or more Veriquant Framework
servers could broker requests to disassociated SOA services, coordinate messages
between them and repackage requests and responses to and from client computers.
Bulky text-based message exchanges typical of SOA would occur entirely behind the
corporate firewall, to give way to the Framework optimized binary communication
protocol to and from Framework clients in distant locations.
Because Framework servers natively
retain state, including authentication credentials, they could reduce the need for
the constant re-authentication that often occurs with individual web service requests.
In sum, Framework communication is
simple, fast, robust, efficient and flexible. It offers
performance and programmatic advantages difficult or impossible within traditional
web services and other forms of remote procedure invocation. It escapes the clunky
and bulky world of human text transport protocols and outperforms most, if not all,
competing technologies.
Further detail is available to logged-in
users here.
|