| Comments

MSDN Radio imageThis morning I was on a weekly (new) radio show from MSDN, hosted by Mike Benkovich.  The show, MSDN Radio, features live call-in questions that you can ask.  It was a better format than the typical live meeting text-based QA I thought.  I think hearing questions gives you a better chance of articulating your inquiry more.  Thanks to all those who listened and asked questions.  I know it seemed short and there were a few more questions in the queue – feel free to send me questions you may have.

UPDATE: The audio from the show was just posted here.

There were a few that I wanted to follow-up on and get some more answers from other team members.  Here are 3 items I wanted to provide a bit more follow-up to (I’m paraphrasing the questions).

Vince asked a question around Prism and part of that was what are the plans for Prism moving forward?  I didn’t know a concrete answer, so I quickly asked around.  Take a look at the team’s post on Prism, A Look Ahead.  The team talks about the next release (v4) to be around the September 2010 timeframe.  They also comment on using Prism today with Silverlight 4.  As to what will be in Prism 4?  They offer some insight:

  • Managed Extensibility Framework (MEF)“In particular, we’ll be looking at leveraging MEF for Component Composition (for hooking up Views and ViewModels, and other types of components), for Modularity (for the discovery, download, and instantiation of functionality packaged in a module), and for UI Composition (for mapping Views to Regions).”
  • Model-View-ViewModel (MVVM) Pattern – “…we’re looking to expand our current guidance and to include more re-usable code assets to support various MVVM scenarios. In particular, we’re looking to support common patterns for View/ViewModel interaction, hierarchical ViewModel composition, and ViewModel-based navigation. In addition, we’re also looking to provide more support for application-level structural patterns, layout management, the use of Ribbon/Popup/Dialog controls, and user state management.”
  • Data Access and Application Services (i.e., WCF RIA Services) – “…we are looking to provide guidance on using these technologies in the context of MVVM, and on patterns for data validation and caching. This area also includes the use of other services for user preferences, authentication and authorization. This latter aspect brings in the possibility of providing guidance for role-driven (or claims-driven) applications and user experience.”

I’d encourage you to subscribe to their blog and be a part of their conversation over there as well.

Scott asked a question about how to best define DomainServices (contexts) in your application – is it better to have 1:1 for entity:DomainService or other methods.  I asked the RIA Services team for some additional input to my answer. 

DomainService should be based on a set of related tasks that you expect the end-user to perform in [your application]. Typically such tasks involve a small group of closely related entities; e.g. in an Expense reporting app, Expense Report, Line Items and Details would be a good set of entities to cover in a single DomainService while covering accounts and payments in a separate DomainService type.

Additionally Jane asked about many-to-many relationships with regard to RIA Services.

Currently RIA Services require the “class in the middle” containing FK values in a many-to-many. In  a POCO model, you can add it yourself while in an EF-generated model, you would have to change the model (edmx) to add such a class in the middle.

Hopefully these provide some additional clarity on top of my opinions.  There sure seems to be a lot of interest in the RIA Services space!

Hope this helps!

This work is licensed under a Creative Commons Attribution By license.

| Comments

The big news in the Silverlight developer world today is the release of Prism v2 (also called the Composite Application Guidance).  So what is this?

Prism guidance is a set of tools, samples, references and written guidance to help you more easily build modular applications.  Generally the “modular” application will feature several screens, flexible user interaction and role-based behavior.  Composite applications using these patterns are meant to be loosely coupled and contain independently evolving pieces that can work together.  So in the Prism 2 release you are provided:

  • Composite Application Library
  • Reference Implementation (Stock Trader application)
  • 9 Quick starts
  • 26 How-to’s
  • Documentation and written guidance on the UI patterns and client architectures you may face

There has been much talk about the Model-View-ViewModel (MVVM) pattern for Windows Presentation Foundation (WPF)and Silverlight development.  The Prism release adapts this model (refers to this as the presentation model to match what some other pattern documentation in the greater technology world uses) in the reference implementation of the Stock Trader application.

NOTE: The Stock Trader application is a reference implementation of the composite application guidance.  It isn’t meant to actually server real stock trading, but was inspired by those similar scenarios.

Prism 2 is an evolution from a July 2008 release that was primarily for WPF applications.  This new release brings updates and those concepts to Silverlight, including an implementation of commanding in Silverlight as well as demonstration of the use of input validation using these concepts.

For a walk through of some of the concepts and a brief discussion from the Patterns and Practices program management team, watch the latest Continuum show about Prism with Blaine Wastell.  This is a great development evolution for line-of-business application developers.  Check it out!

| Comments

looks like mozilla labs is cooking up something to bring web apps to the desktop.  their latest project, prism, aims to:

bridge the divide in the user experience between web applications and desktop apps and to explore new usability models as the line between traditional desktop and new web applications continues to blur

hmm..so at the surface without being able to get my hands on it, it looks like some type of desktop sandbox wrapper around a web application?  most likely relying on a web rendering platform to exist on the desktop already (i'm sure they are obviously depending on mozilla/gecko)?  wow, welcome back 1996.

what? you don't remember IE4?  the feature that was implemented in IE4 called HTML Application ()?  i do.  i implemented it several times.  sure, you may mock me now, but for the DHTML days of young, HTA (when IE would be your restriction) was the shiznit for some customers.  looking at it now, we scoff at such an idea.

it is funny because someone even commented on the prism labs project with the same thought (no response yet when i last checked as of this writing).  well, i'm not sure about it, and based on the 190+ comments neither are others.  of course, those will forget the HTA attempt at such a thing, and since microsoft isn't implementing it, it will be super cool and people will flock to it when released...maybe.

wait, bringing web apps to the desktop...when you look at one of their UX Goals, you'll see they aim to 'integrate web applications into the user's desktop experience' -- hey mozilla, consider it done...IT'S CALLED YOUR OWN BROWSER.