|
Efficient Delivery of Life Sciences data to Mobile Handsets
The Quinn Lab at the
San Diego Supercomputer Center of the
University of California, San Diego, performs development of data visualization applications on Smartphone and other handheld devices.
The Quinn Lab created a Service
Oriented Architecture that enables
Windows Mobile devices to access Life Sciences data using
Web services. By combining Microsoft's
Windows Communication Foundation with
Noemax's WCF-Xtensions, the Quinn Lab quickly and reliably engineered a solution
that provides fast, efficient and cross-platform interoperable binary
data transfer to mobile handsets, demonstrating the ease with which the standards-based Fast Infoset encoding of WCF-Xtensions can accelerate the performance of WCF-based
Web services on both .NET Framework 3.5 and
.NET Compact Framework 3.5.
Situation
Within the past few years, researchers have made increasing use of handheld devices such as Pocket PC-based personal digital
assistants (PDAs) to access and store scientific data. As PDA device capability merges with cell phone capability, it is
increasingly apparent that the future of computing, both in professional and personal contexts, will be a balanced use
of handheld and desktop computing. This is especially so as these devices become more capable, for example by including
gigabytes of storage and possessing hardware 2D and 3D graphics acceleration.
Building upon its successful Collaboration Notebook application and its stunning and highly interactive
medical/scientific visualization work on graphics-accelerated mobile devices, the Quinn Lab was funded by
Microsoft Research to create the Mobile Life Sciences Platform (MLSP).
The MLSP provides developers with the programmatic framework and components with which to build Windows Mobile applications that
access and display complex Life Sciences data on a small form factor Smartphone device.
Preparing such a software application presented a number of hurdles that the Quinn Lab needed to overcome, including the
development of a Service Oriented Architecture (SOA) that efficiently supplies Life Sciences data on demand. Transporting protein
sequence data from the
Research Collaboratory for Structural Bioinformatics (RCSB) Protein Data Bank
(PDB) to mobile handsets was a special challenge due to the intermittent nature of mobile network
connections, bandwidth restrictions and resource restrictions on the handset.
Text-based data transfer, especially data encapsulated in a bulky XML format, is not the most efficient mechanism
for a mobile device to retrieve such data. For this reason, the Quinn Lab required a solution that would enable it to transfer data in a format that is more compact and faster to
process than text XML.
Solution
A new feature of the .NET Compact Framework 3.5 is support for the Windows Communication Foundation (WCF)
which was not available to mobile devices in earlier versions. With WCF now being included in .NET CF 3.5, it was the natural
choice for enabling the mobile client application to access the Life Sciences data from Web services running on
Windows Server 2003.
|
|
|
|
|
| “ |
We have been impressed with the effectiveness of the Noemax solution, which has addressed our problem both quickly and
out-of-the-box. |
„ |
|
|
|
Greg Quinn, Ph.D. Principal Investigator,
the Quinn Lab,
San Diego Supercomputer Center |
|
|
|
|
|
The Quinn Lab was also looking for an additional solution that would offer it a high level of communication efficiency
between the service and the mobile clients. While examining the available options, the Quinn Lab's attention was drawn
to the Fast Infoset binary XML encoding that is widely available in the Java world.
Compared to the text encoding, Fast Infoset improves both
the communication and the processing efficiency by producing a more compact XML representation at a higher
transaction rate. The repeating nature of protein textual data made it a potentially good candidate for size reduction via the Fast Infoset encoding.
Having reviewed the
size comparisons and
performance benchmarks that Noemax has published and which
demonstrate the benefits of the Fast Infoset encoding, the Quinn Lab decided to use Noemax's WCF-Xtensions that provides a ready-to-use Fast
Infoset message encoding for WCF.
WCF-Xtensions is a class library that extends WCF by offering several fully managed components that accelerate the
performance of SOAP and REST Web services built using WCF. One of these components is the Fast Infoset message encoding, which can
be used with any transport and offers a significant reduction in bandwidth consumption while improving processing
performance at the same time.
WCF and WCF-Xtensions proved to be a good combination for creating both the service and the mobile client
application. Using the
BasicHttpBinding of WCF and the
FiMessageEncodingBindingElement of WCF-Xtensions, the Quinn Lab developers wrote a Web service that accepts SOAP requests from clients,
queries the
SQL Server 2005 containing the RCSB PDB data, and returns its responses
with HTTP as the transport and Fast Infoset as the message encoding.
To measure the size reduction offered by Fast Infoset over text, the Quinn Lab used its mobile client application,
running on an O2 Xda Flame Smartphone with Windows
Mobile 5.0, to make the following typical query:
Show me all C-Alpha Carbon 3D coordinates for protein entry ‘1IB0’ and include the protein abbreviated amino
acid ID
The Web service, hosted in Internet Information Services 6.0 (IIS) running on Windows
Server 2003, retrieved 274 3D coordinates and associated residue ID’s from the SQL Server 2005 and delivered them to the handset
over WiFi.
Using Microsoft's
Fiddler tool to intercept HTTP traffic on the server side, the Quinn
Lab
determined the response's payload size to be about 55 kilobytes
with the text message encoding and about 15 kilobytes with the Fast Infoset message encoding, representing an impressive 73%
reduction in payload size. Other queries exhibited similar gains.

By using WCF-Xtensions and its Fast Infoset message encoding, the mobile client application now enjoys the
benefits of reduced bandwidth consumption, faster download times, and fewer connectivity-related data access issues. And since
Fast Infoset is a widely available international standard, client applications running on other platforms can also have fast access
to the
Life Sciences data through the MLSP's Web services interface.
"We have been impressed with the effectiveness of the Noemax solution, which has addressed our problem both
quickly and out-of-the-box" says Greg Quinn, Principal Investigator at the Quinn Lab. "While WCF facilitated the rapid
development of the communications layer in the SOAP clients for Life Sciences data by providing the Web services infrastructure,
it was the Fast Infoset message encoding of WCF-Xtensions that eventually offered the performance that we were looking for."
Benefits
The Mobile Life Sciences Platform highlighted the simplicity with which the
service-oriented programming model of WCF can now be leveraged to develop Windows Mobile client applications, and served as an
excellent demonstration of the ease with which the Fast Infoset message encoding can accelerate the
performance of Web services on both .NET and .NET CF.
Compactness and performance
Fast Infoset has been measured to be by far the most compact encoding when compared to the text, .NET Binary and
MTOM encodings. It has also been shown that it tops all these encodings in terms of transactions per second.
Reducing the size of the XML encoding with such efficiency enables the Fast Infoset message encoding of WCF-Xtensions
to greatly reduce the bandwidth consumption and increase the communication speed of SOAP and REST Web services without introducing processing penalties.
The use of Fast Infoset shortens request/response round trip times and enables services to serve more clients and
to serve them faster.
Standards-based and interoperable binary XML
Fast Infoset is the only binary XML encoding available for WCF and is also standards-based and cross-platform interoperable.
Published as a joint ITU-T Recommendation (ITU-T
Rec. X.891) and ISO/IEC International Standard (ISO/IEC
24824-1), Fast Infoset is a binary encoding of the W3C XML
Information Set that was designed specifically to improve both the communication and the processing efficiency of the text
encoding by producing a more compact representation at a higher transaction rate.
With implementations available in C#, C/C++ and Java, Fast Infoset can be used on Windows, Solaris, Linux, Mac OS
X, Solaris, Symbian, QNX Nutrino and other operating systems. Fast Infoset is also readily supported as a Web services message
encoding by several application servers including Sun GlassFish, Sun Java System Application Server, BEA WebLogic, JBoss
Application Server, Apache Axis
and TMax Soft JEUS.
Tight integration and ease of use
The extensibility of WCF makes it possible for WCF-Xtensions to act as an integral part of WCF, hiding the
underlying complexity and enabling the Fast Infoset message encoding of WCF-Xtensions to be used in the same manner as the system-provided message encodings of WCF.
Switching from the text message encoding to the Fast Infoset message encoding is straight forward both in code and
in configuration. The classes of WCF-Xtensions follow the same API as that of the WCF classes, so developers
immediately feel comfortable in using the interfaces that they are already accustomed to.
WCF-Xtensions also integrates smoothly into the
Visual Studio 2008 development environment, making full use of
its IntelliSense feature and enabling developers to use the WCF Service Configuration Editor to configure the Fast Infoset
message encoding.
|