ISVs I work with have expressed a lot of interest in the recent announcements about building Line of Business applications on the RIA stack, and so I thought it would be a good idea to blog about building a simple app that demos how to do RIA from the ground up, and points out obstacles and workarounds found along the way.
There are several very bright people posting in depth on this topic, including (but not limited to) Brad Abrahms, Dinesh Kulkami, David Poll, Mike Taulty and Tim Heuer. Everything I needed to know to get going I learned from them, and I would highly encourage you to do the same by watching their videos up on http://microsoftpdc.com and http://silverlight.net/Learn as well as reading their blogs. I don’t mean to replicate what they’ve already done, but rather, I’d like to show what it’s like to approach this from the ground up and get to a reasonably nice app by the end.
Following Tim’s cue, I’ll start with the Chinook database, which can be found on up on CodePlex. The Chinook Database has nothing to do with helicopters or salmon – it’s a database of music titles, tracks, artists, etc. with a nice set of related tables that have enough data to be non-trivial. It’s available for MySQL, Oracle, SQL Server, SQL Server Compact Edition, and even as an XML file, and has the added advantage of not being pubs, Northwind, or AdventureWorks. 🙂
So on the first day of RIA, I’ll talk about how to setup and configure a development box for this platform. You’ll need to have:
· Visual Studio 2010 Beta 2 (I’m using the Ultimate Edition, as shown below):
· Visual Studio 2010 Tools for Silverlight 4 (which add the project templates shown below, including the Silverlight Business Application):
· Silverlight 4 Toolkit (available from CodePlex, which adds lots of great tools into your toolbox as shown):
· Expression Blend 4 Preview (shown below, which makes working with visual states, trigger/actions and behaviors much easier):
Proceeding in this sequence, I didn’t need to install the RIA Services separately. Instead, I was just fine to create a new Silverlight Business Application and to open it in both the (much improved) Visual Studio 2010 XAML Designer and Blend.
My starting point will thus be an app that has a page with a navigation frame (by default MainPage.xaml – shown above) and some navigation pages (Home.xaml and About.xaml, shown below.)
From this basis, I’ll build a line of business app that (hopefully) acts as a seamless whole across tiers, which enables rich validation and customization and which looks attractive visually. I’ll begin by connecting the middle tier of the app to the database using the SQL Server Entity Framework for ORM.
Code for Day 1 is posted here.