This is a migrated thread and some comments may be shown as answers.

Help for starting new projet

3 Answers 76 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Pierre
Top achievements
Rank 2
Iron
Iron
Pierre asked on 26 Mar 2010, 05:42 PM
Hi all silverlight "god"! ;-)

We are a small group of programmer that normally user c#/vb with ASp.net AJAX suite from Telerik and OpenAccess ORM. Now we have to start a new project but we need to program it with Silverlight. We will use the Sylverlight suite from Telerik.
Normally for this kind of project we use 3-tier layer: presentation layer, business layer and the openAccess ORM entity for the database layer.

In silverlight this kind of architecture seam to be different. We read a lot of blog, post, webcast and we are quite lost to "how to start" correctly this application project.

We initially plan to have:
1- Presentation layer (sylverlight projet)
2- Service layer (we don't know witch one we can use: RIA ? )
3- Business layer in c# class application
4- Open access for the database layer in c# class project

But after some reading, I think the "best practice" is to combine the Business and Service layer in the same Silverlight web projet to gain access to more robust security (login). It is true?

We found the "Business Application template" from the silverlight 4 installation for VS2010 that create a application, with are similar to:
1- presentation layer (the silverlight project)
2- Business and service ( the web project)
We can add the OpenAccess ORM somewhere in the Business layer with another class projet to hold the entity.

I think this post can be interesting for new programmers that need to combine n-Tier application with silverlight and Telerik ORM
Can you share with me your "best practice" or send my some link? Maybe someone have a sample project that implement Telerik ORM and n-tier silverlight application?

Thanks for you support.

3 Answers, 1 is accepted

Sort by
0
Miroslav
Telerik team
answered on 01 Apr 2010, 12:20 PM
Hi Pierre,

Starting a new project is always challenging. It seems that you are going in the right direction.

The architecture of an application depends very much on the size of the application, the goals of the development, the experience of the developers, etc. I can comment on your choices in general but the decision should be based on what will work best in your case.

The 4 layer separation that you planned is normal for a larger application. IMO many Silverlight examples combine the business and the service layer mainly for simplification. I am not aware of how this can benefit the security.

The RIA Services is a good choice for a Silverlight application. It can transparent handle many things like validation and change tracking.

We always try to come up with example applications but they should of course be taken with a pinch of salt. You can download the Sales Dashboard application from your account - it shows Silverlight and OpenAccess integration. This application was built using Prism and while it is a good showcase a new project should better be based on MEF and Silverlight 4.

There are two blog series that may serve as a guidance:

http://blogs.telerik.com/blogs/posts/10-03-15/introducing_task-it_a_real-world_application_using_radcontrols_for_silverlight_4.aspx

http://blogs.telerik.com/blogs/posts/10-03-29/silverlight_recruiting_application_part_6_-_adding_an_interview_scheduling_module_view.aspx

All the best,
Miroslav
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Pierre
Top achievements
Rank 2
Iron
Iron
answered on 01 Apr 2010, 01:37 PM
Thanks for reply. After reading a lot a blog and webcast on silverlight 4 I thnik i found a way!

Our first application is quite simple (couple of data driven view) but we whant to use this small projet like a "scool projet" for our small internal programmer team. In this optic, we search the best way to implement medium size app but we try it on a smaller projet.

For now I came down to:

1- Using MVVM for the client part, impelmenting INotifyPropertyChanged and
2- Using MEF for dynamic loading of xap file
3- Using Domain Service for merging Business Layer and Service Layer
4- using EF for the DL.

I quite desapointed to wee that Telerik ORM do not support RIA services yet, because i will need to learn EF only for this test projet. Do you have a relese date for OpenAcces RIA?
I read some post that can't thinking using the MVVM model without IoC. But for me, I think that IoC is quite complicated for nothing on small-medium business.

0
Miroslav
Telerik team
answered on 06 Apr 2010, 08:37 AM
Hello Pierre,

From what I gather about your application your plan seems the right thing to start with.

My comments:
1. MVVM is the way to go. IMO it is important to distinguish the code that is purely View-related and not part of the business logic or the ViewModel. Often this code is hard to include in the ViewModel and should be left in the code-behind of the View.

2. MEF can compose almost anything but the granularity of composition is important. IMO parts of the application should not be composed unless necessary. Composing large parts of the application seems like a good start.

- We are currently working for the DomainService support for OpenAccess. Indeed it is not available yet but it is expected with one of the coming Service Packs. Unfortunately I cannot pinpoint an exact date about the release.

Yes, I agree that IoC may be unnecessary in many cases and it depends on the size of the application as well. Can you link to the article where you read this about IoC and MVVM? It will be interesting to see the points made there.

Sincerely yours,
Miroslav
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Tags
General Discussions
Asked by
Pierre
Top achievements
Rank 2
Iron
Iron
Answers by
Miroslav
Telerik team
Pierre
Top achievements
Rank 2
Iron
Iron
Share this question
or