Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Web Development

One Perspective on Silverlight

Matt is director of technology for Lab49 (www.lab49.com), a company that builds advanced technology applications for the financial-services industry. You can read his blog at https://mdavey.wordpress.com.

In 2006, Microsoft released Windows Presentation Foundation (WPF), a graphical subsystem feature of .NET Framework 3.0 that took advantage of the Graphics Processing Unit (GPU). A year later, Microsoft produced Silverlight, their answer to Adobe Flex. Silverlight (www.microsoft.com/silverlight) offered a cross-browser cross-platform plug-in for delivering the next generation of .NET-based media experiences and rich interactive applications (RIA) for the Web.Now that WPF and Silverlight have .NET Common Language Runtime (CLR) and Extensible Application Mark-up Language (XAML) as common threads, developers can finally build thin Internet and thick rich-client applications using a common framework and tooling. But how can developers apply these applications to scenarios in the the capital markets industry?

Silverlight 1.0 was primarily a media player, but from a trading/prime brokerage perspective, it was unimpressive. User adoption was limited, with deployments mostly relegated to corporate websites and trading research pages. However, the 2.0 release of Silverlight will give financial institutions the prospect of delivering full-featured, desktop-quality applications through the browser. Silverlight 2.0 offers a number of compelling benefits in the development of RIAs:

  • Dynamic Language Runtime (DLR).
  • Rich User Interface control model based on WPF.
  • Rich base class library—Silverlight 2.0 includes a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc.).
  • Support for LINQ.
  • Improved networking stack support—out of the box support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services.
  • Rich Visual Studio 2008 IDE support.

With constant threats from Adobe and Google in the RIA space, Microsoft has positioned Silverlight as the next generation application. The UI Framework in Silverlight 2.0 is a compatible subset of the WPF UI Framework features in the full .NET Framework, enabling developers to reuse skills, controls, code, and content to build rich cross-browser web applications. The enhancement to Silverlight finally allows Microsoft to offer desktop-rich applications within a browser. In addition, RIA's offer corporations the ability to break away from the dual UI development track—WindowsForms for the desktop, ASP.NET for the Internet—that is currently followed when deploying identical trading functionality for internal and external clients. The ability to build rich applications in Silverlightfor deployment both internally and externally will also reduce development and support costs. This will become increasingly important in the post-subprime climate, as firms are looking for different ways to improve efficiency and decrease costs.

Based on the release of WPF, Microsoft was also able to identify areas within Silverlight 2.0 to improve. For example, a DataGrid will be delivered with Silverlight 2.0, whereas WPF did not originally include one (later resolved with WPF 3.5 SP1).

By late 2008, we will expect to see both Adobe Flash and Microsoft Silverlight as standard plug-ins within corporate browsers. With a zero-touch deployment model for Silverlight 2.0, it's also likely to drive significant inroads into the usage of Microsoft's ClickOnce deployment model—the utility of which will only remain for the deployment of extremely rich heavyweight WPF applications within the enterprise, although this scenario will become less prevalent given the increasing sophistication in the RIA space.

Trading websites specific to financial institutions are primarily built using thin-client technology (ASP.NET) and typically offer fairly minimal trade entry, portfolio views, reporting, and market data facilities. Applying Silverlight 2.0 to these sites will enable organizations to improve customer offerings in two critical ways. An application model can easily externalize what institutions can offer clients, while increasing breadth of products and trading options. Also, new visual user experience paradigms, made possible by using XAML styles and templates, will increasingly replace trading applications that are flat and two-dimensional.

On the other hand, Silverlight 2.0 can drastically improve its COMET support, an application architecture where a web server sends data asynchronously to a browser (or other client program) without the need for an explicit request. COMET support is essential for live market-data delivery; however, a number of financial applications use competing tools such as Liberator, Lightstreamer, or the nearly released Kaazing technology. Because all three solutions are built in Java using streaming AJAX-to-browser RIA solutions, Microsoft could consider implementing COMET support and integrating it within Silverlight to provide a complete Web 2.0 architecture or front-to-back Microsoft RIA solution.

Silverlight is possibly the most interesting web technology to come out of Microsoft in many years and is anticipated to drive dramatic growth in a new category of financial applications. The only real question is whether Microsoft can unlock Silverlight's true potential in time to beat Adobe and Google in this race.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.