Skip to main content

Microsoft Silverlight

Unanswered Question Large scale developmentRSS Feed

(0)

theo67
theo67

Member

Member

524 points

177 Posts

Large scale development

In our existig codebase we are using multiple solutions and multiple projects per solution. We have C++ projects as well as C# projects and we target several clients (ASP.NET, MFC and WinForms). We have structured things like this:

- one Interface project per application module. This project declares interfaces and entities (contract)

- one Module project per application module. This project implements the contract, thus the business logic

- one UI-controller project per application module. This project implements the UI-logic and references the Interface project

Besides that we have several supporting projects. We have a web application solution which copies in the necessary DLL's from the application modules. This web application project has always been an annoying project, because it must be build as the last solution, since it references the earlier build DLL's.

I have a feeling that the scenario with Silverlight becomes even worse. Ideally we would like to introduce a domain service facade on top of our Module projects. The DomainServices should remain thin facade classes, especially because we want to use existing business logic. And the domain service is just another head on top of the fine grained domain model. We are not in the lucky position of using the Entity Framework, since we have been using .Net since 2000 ;-) This means we have to hand code the domain service wiring.

Now the issue: we would really like to share the entities, so we are able to control the Silverlight client side DLL-size as well as entity consistency. Ideally our Silverlight supported structure would look like:

- Silverlight entities project per application module

- .Net entities project per application module (we have to include the entities once more, because of binary incompatablity)

- Domain Service project per application module

- Interface (maybe)/Module project like we have today

- one Silverlight UI-project per application module

- one web service application project that somehow includes the output of the other solutions. This is really tricky.

- probably the Silverlight client app project, which is the bootstrapper project.

The reason why I describe our scenario is because the typical two project solution when you say "New", "Silverlight RIA app" is not the typical use case for real development....or?

Theo.

ColinBlair
ColinBlair

Contributor

Contributor

6701 points

1,318 Posts

Re: Large scale development

I think you have a better change of getting a real answer to this July 10th or so when the next version of RIA Services is released. It is supposed to have better library support, but we don't know what that really means.

Unless the Microsoft people feel like spilling the beans some more before the release.

-Colin Blair

http://www.RiaServicesBlog.net : The Elephant Guide to RIA Services
SLColinBlair on Twitter
  • Unanswered Question
  • Answered Question
  • Announcement
Microsoft Communities