.Net application architecture suggestion...

  • Thread starter Thread starter Raj
  • Start date Start date
R

Raj

Hi,
We are in the conceptual phase to create a relatively medium size enterprise
business product application using Silver light 4.0, Entity Framework and
WCF.
1. Is it adivceable to use Silverlight 4.0 for this enterprise business
application development or should we go in for MVC.NET / ASP.NET?
2. We have planned to use REST based WCF service. How complex would it be to
write the information back to the REST WCF service?
I appreciate and welcome your advice / suggestion. If you need any further
details do let me know, i will be happy to share.

Thanks in advance.
 
We are in the conceptual phase to create a relatively medium size enterprise
business product application using Silver light 4.0, Entity Framework and
WCF.
1. Is it adivceable to use Silverlight 4.0 for this enterprise business
application development or should we go in for MVC.NET / ASP.NET?

It can be done with either.

But:
* very rich GUI functionality => SL is natural
* simpler GUI functionality => ASP,NET (either web forms or MVC) is natural

Note that if you have strong skill sets in either SL or ASP.NET,
then that is also a strong argument for choosing that.
2. We have planned to use REST based WCF service. How complex would it be to
write the information back to the REST WCF service?

REST supports both GET and POST.

I have never used REST via WCF, but I am sure that it is fine.

Arne
 
Raj said:
Hi,
We are in the conceptual phase to create a relatively medium size enterprise
business product application using Silver light 4.0, Entity Framework and
WCF.
Ok

1. Is it adivceable to use Silverlight 4.0 for this enterprise business
application development or should we go in for MVC.NET / ASP.NET?

If you're using Silverlight on the front-end UI, it can be combined with
a ASP.NET UI.

However, your best option is to use ASP.NET with MVP (Model View
Presenter) and putting the controls that are used at the ASP.NET UI also
on the Interface of the View of the MVP and let the MVP control the
controls of the UI and control the BLL as it sits between the two.

MVP is a derivative of MVC and is more flexible than MVC IMHO. By using
MVP with the controls of the ASP.NET UI on the View Interface too, it
allows all the logic that would be in the ASP.NET UI to be shifted to
the MVP layer, keeping the ASP.NET UI a dumb UI. This also allows the
unit testing of the UI to be done easily as one is doing unit testing
against the Interface of the MVP View.
2. We have planned to use REST based WCF service. How complex would it be to
write the information back to the REST WCF service?

You should be using Data Transfer Objects (DTO's) passing the objects up
from the DAL through the WCF service to the BLL and to the UI, and back
down to the DAL, which is easy to do. However, you should keep the
object or object graph as small as possible, because WCF has
transmission issues of slowness if large amounts of data are sent
between the client and the service.
I appreciate and welcome your advice / suggestion. If you need any further
details do let me know, i will be happy to share.

As far as Entity Framework, use complied queries and complied views
which are best practices in using EF for speed. Also use SQL Profiler to
see what kind of T-SQL is being executed, because not seeing what the
Profiler sees can lead to slow querying based on the Linq-2-Object query
used to generate the T-SQL to query the EF model. You should look at
ESQL too.


So it can be this:

UI
MVP
BLL
Service layer
WCF
DAL
EF model

OR

UI
MVP
Service layer
WCF
BLL -- the BLL and DAL are in the same project setting behind WCF
DAL
EF model

I can give you a link that you can look at the project architecture and
the code used to do what I am talking about above, if you like.
 
Back
Top