Silverlight Hack

Silverlight & related .NET technologies

About Me

Welcome to Silverlighthack.com.  This is a site where you can find many articles on Silverlight, Windows Phone 7 and .NET related technologies.  

My name is Bart Czernicki.  I have been working with computers since 1988 and have over 12 professional years in the IT field focusing on architecture, technology strategy and product management.  I currently work as a Sr. Software Architect at a large software development company.

Below is the cover of my new book that shows how Silverlight's unique RIA features can be applied to create next-generation business intelligence (BI 2.0) applications.

Silverlight 4 Business Intelligence Soft 

Contact: [email protected]

View Bart Czernickis profile on LinkedIn

NONE of the comments or opinions expressed here should be considered ofmy past or current employer(s).  The code provided is as-is without anyguarantees or warranties.

Silverlight and the Enterprise

Silverlight: Feature Complete

Silverlight 2 released and the feature set has been locked down for a while now.  Many RIA experts, bloggers and developers have chimed in on forums or blogs on what features they would like to see in Silverlight and the direction it should take.  Opinions vary greatly on this and by doing a simple search online you can see the vast differences.  While I definitely agree this needs to be discussed, I feel that there is so much that Silverlight 2 currently offers that future features can be disucussed later.

Microsoft is taking a nice approach with Silverlight 2 in that they are going to be releasing additional Silverlight assemblies outside the core download.  The nice result of this is that we don't have to wait any longer for the releases to come out [Silverlight 2 (1.1 Alpha) was announced March 2007!].  Furthermore, by not bloating the core with additional features, this keeps the Silverlight 2 client payload pretty small (around 4.6 megs).  The first example of this "add-on" strategy is the new Silverlight controls project from Shawn Burke.  Microsoft will also release "professional themes" for Silverlight the same way.  Both of these and more will probably be released at the PDC 2008 this month.  Instead of adding value in Silverlight by directly building features into the core, a lot of value can be built by building "around" Silverlight.

Competitive Environment: Next Generation Web

Many are already calling the end of Web 2.0. The internet is on the brink of new type of services and software that will be released under the Web 3.0 umbrella.   Many companies including Google, Microsoft, Apple, Firefox, Adobe, etc., are positioning themselves in their offerings for the upcoming new generation of products.  When Silverlight 2 is released, it will put Microsoft in a VERY unique position.  Microsoft's main competitors in the technology are Adobe (Flash/Flex/AIR) and Sun (JavaFX).  However, Microsoft has many more competitors especially with more and more core OS features moving to the web and the mobile space.  Google and Apple would be Microsoft's big competitors there.  However, neither Google nor Apple have a RIA technology that they own themselves (Apple's iPhone UI tech is proprietary to the device for now).  Microsoft is a lot bigger than all of these companies individually; however, each of their individual companies can cause problems for Microsoft in their vertical strengths.  There is one thing that Microsoft can do that none of these companies can do invidually: integrate a new UI/RIA technology in their vast horizontal of business & enterprise products (mainly because none of these companies has that enterprise product penetration).  This not only would add value to Microsoft's products, but it also would add value to Silverlight indirectly.  For example, this can position Silverlight as business RIA technology and Silverlight doesn't have to play catch-up in the graphical area with Adobe (PhotoShop, Illustrator, 3D acceleration, etc.).

Silverlight in the Enterprise

How can Silverlight be used in the Microsoft enterprise space?  Here is a mix of existing and potential ideas where I think Silverlight can be a great addition to the presentation stack:

Parallel Computing

Silverlight is powered by the subset of .NET 3.5.  Although Silverlight 2 will not allow everything in multithreading (i.e., true async delegates), it does have a decent baseline which a developer can utilize.  Any current computer that has been purchased within the last couple of years includes a dual core processor.  Intel is planning on releasing 6 core processors later this year.  By not utilizing parallel computing, you're not maximizing the efficiency of the program and all the processing it could utilize.  Microsoft is very aware of the shift to multiple cores and has invested in this with their parallel computing initiative.  This library includes additions to make LINQ execute on multiple threads by simply adding the AsParallel() extension method on the end of your LINQ query.  A parallel extensions library for Silverlight does not exist right now.  However, adding this simple abstraction to Silverlight would be a huge boost to performance and would allow some enterprise level applications to be scaled down to the data level on the client.  In my previous multithreading articles I mimicked some of the basic flow of the parallel tasks and gained up to 120% performance improvements!  Enterprise architects will be able to take a serious look at Silverlight as a potential powerful "client tier" to potentially offload some simple to medium cost processing and reduce trips to the server or reduce service calls.

SharePoint 2007 Integration

SharePoint is one of Microsoft's fastest growing products in terms of adoption and revenue.  In my opinion, allowing the developers to focus on designing/developing content and not focusing on "plumbing code" is probably the best feature of SharePoint.  This allows businesses in the enterprise to quickly set up the SharePoint farm and deliver content quickly.  Silverlight is a great UI technology to extend SharePoint.  During the SharePoint 2008 Conference, Microsoft announced the Blue Print for SharePoint Services.  These blue prints are meant to provide guidance for building SharePoint solutions that include Silverlight.  This addition is huge for Silverlight because this technology can now be utilized in one of Microsoft's biggest enterprise offerings.  I have done several solutions inside SharePoint 2007.  One of the things that it missed was true AJAX integration until SP1.  Even now, some things like cross web part communication cause postbacks and then one has to deal with the "statless web" workarounds.  The Silverlight plug-in is a great way for extending the SharePoint experience in a more interactive way that AJAX can simply not do.  Furthermore, Silverlight can access many of the SharePoint features such as Lists, work flows, etc., via SharePoint services. If you are a SharePoint developer, I am sure I don't have to go into the potential that Silverlight and SharePoint integration provides.

Windows Communication Foundation

WCF is a true SOA framework for building enterprise level services.  Microsoft is one of the few companies that has a deep SOA framework such as this.  Currently Silverlight only supports basic HTTP services, WCF REST services and a duplex version.  Similarly to SharePoint, the biggest feature of WCF is that it allows you to focus on designing services rather than "plumbing code".  WCF abstracts a lot of complexity of enterprise messaging while allowing you to make decisions in which you can stay in the "best practice" realm.  WCF makes creating an enterprise service easy.  For example, using the WSHttpBinding, binding the service is secure, faults propegate across services, integrates with authentication, reliability can be configured, etc.  This is a truly powerful feature.  A lot of WCF bindings are not available to be consumed in Silverlight because that would mean including a lot of the core .NET 3.0 libraries that would bloat the core payload.  Hopefully external libraries are made available for Silverlight in the future that would allow consuming WS standard bindings.  In my opinion, the further integration of Silverlight and WCF is going to help propel Silverlight as a powerful, interactive consumer of enterprise services.

SQL Server

SQL Server has come a long way since I first started using the 6.5 version.  It now includes enterprise reporting (Reporting Services), a true ETL engine (SSIS) and a powerful Buiness Intelligence OLAP engine (SSAS); although it's not OLAP anymore.  One of the things that has been lacking with Reporting Services and Analysis Services is the presentation layer for both the end user and the respective product administrators.  Microsoft is aware of this which is shown with Microsoft's recent acquisition of ProClarity or SQL Server 2008 SSRS visualization additions.  All of these products also have a "techy" look and feel with their tools because of the integration with the Visual Studio 200x shell which needs to be installed on the local workstation.  This is where I think Silverlight can come in and extend a lot of the presentation or even the administration features of these SQL Server products.  Silverlight is perfect because it is a web technology and it allows for deep interaction with the data.  Therefore, there is nothing to install beyond the plug-in, but you can still enjoy a desktop experience.  For example, imagine opening a Reporting Services report and going beyond static data and being able to do "what if" scenarios or bringing key insight to life with animations.  Silverlight with SQL Server can definitely bring the data to life in the enterprise.

Mesh, Semantic Web and Cloud Computing

 

Silverlight RIA UI + Cloud Computing Data + Semantic Web =

Microsoft is making a big play in the new Web 3.0 realm: cloud computing, semantic web and bringing the dekstop experience via the web.  Microsoft has a variety of services: Outlook Online, SharePoint Online, Exchancge Online, Mesh and other various data services.  The problem with these are that they have the classic Microsoft business look and are not 100% intuitive for non-business users.  This is where Microsoft has a huge edge with Silverlight.  Merging the power of these services together with a super-rich and easy to use interface can make these services wildly popular.  What other company can do this on a massive scale?  Apple has shown that people en masse will go for an advanced UI.  Microsoft can build on this with already popular products and services in the backend.  This brings us a lot closer to the Minority Report type interface but with actual meaningful data behind it. 

Who cares about a pretty UI if it's just an intro for a corporate site or a movie site?  Silverlight and the Microsoft cloud computing platform can change this.

Bringing in data and the UI together is a very powerful combination that will bring a more dynamic UI and lets the user decide how the data is presented, viewed and analyzed.  In my opinion, this is Microsoft's best shot at usurping Google in their game. This platform has the potential to be Web 3.0.

In conclusion, in this article I wanted to cover a couple of important concepts relating to Silverlight in the Enterprise.  The main concept I wanted to describe is that just because Silverlight 2 is feature complete doesn't mean the technology cannot grow in value.  Microsoft owns the enterprise market and this is where I think a technology like Silverlight cannot only add value to the enterprise offerings but the enterprise offerings can make Silverlight a first-class RIA technology for business.  Silverlight does not have to play catchup with Adobe Flash/Flex and can lead in business/enterprise product innovation.  In my opinion, "the Silverlight Enterprise Ace" is a card that Microsoft can play in the next few months and increase the popularity of Silverlight dramatically.

Posted: Oct 19 2008, 16:03 by Bart Czernicki | Comments (3) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Enterprise | Silverlight
Tags:
Social Bookmarks: E-mail | Kick it! | DZone it! | del.icio.us
blog comments powered by Disqus