I've been given the ask of converting an MVP ASP.NET app to Silverlight. This will be my first Silverlight application and I'm struggling to determine how best to organise the architecture.
The app is very much a standard CRUD LOB app. I will also be using a GIS component but I dont think this makes a difference to the general architecture (please correct me if it does). I'll be using Subsonic as the DAL, but again I dont think this makes a difference to my architecture.
The original application is rather large, so if possible I would like to reuse as much of the model and the view as possible.
Reading around on the web its a little confusing as to what is considered 'best practices' for the architecture of Silverlight 3 LOB apps. Microsoft seems to be pushing this RIA framework - but its only in preview...is it production ready? I get the impression that Microsoft are pushing different architectural guidelines with Silverlight 3, but I'm struggling to find out what exactly these architectures are!
There is also Prism, and the Caliburn project.
Luckliy I have a very flexible deadline here, so I'd like to get as close to best practices even if it means a bit of a learning curve at the beginning.
I would greatly appreciate a friendly nudge in the right direction.
edit in response to answers so far
The solution will be a 100% fullscreen Silverlight app. I am not interested in a mixed Silverlight-Asp.net frontend.
With this in mind - I want to maximise the reuse of the model and view part of the codebase, but only if this is possible without making major sacrifices to the new architecture.
The solution needs to come from Microsoft or at least be very well supported.
If RIA is liable to change before release, its totally out of contention.
second edit
Thanks everyone for their excellent answers. I've upvoted everyone but the answer has to go to Steve because his answer was actually the series of questions I should have been asking myself.
I'll update the thread once I've had a good look at both Prism and CSLA.
I love you all.