none
Recommended Architecture Question RRS feed

  • Question

  • With all possible Microsoft technologies available I'm a little bit confused as to what technology architecture(s) would be recommended for the application I want to develop. I see all the possibilities: Entity Framework 4, Linq to Sql, WCF, WCF Data Services, ASP.NET MVC, ...

    Some info about the app I want to develop:
    The presentation layer consists of a combination of only (pure) html, css and JavaScript, Ajax (with some extra libraries: jQuery, Microsoft Ajax Client Library) (NO ASP.NET WebForms, or other server related things). The app is meant to work almost exclusive over the Internet. Database technology is SQL Server. And I prefer a business logic layer based on POCO's.

    Thanks.

    Wednesday, March 31, 2010 1:17 PM

Answers

  • Ajax (potentially) addresses postback issues with asp.net webforms.

    I like WCF.  Used it a lot with silverlight and next time I have a silverlight requirement I'll probably be using WCF RIA.

    EF4 offers a lot of flexibility now and I would personally choose it over nHibernate.

    Isn't there some way you can miss out on asp.net altogether and use Ajax to connect to WCF? 

    Even if you can it probably depends on what your app does and potential IO etc as to whether that's a good idea or not.  Web apps on my WinMo Toshiba tg01 load incredibly slow in most locations.

     

    Someone should lock all the mobile phone execs in a room until they agree some technology like silverlight as a standard.

    • Marked as answer by Guy Dillen Saturday, April 17, 2010 1:14 PM
    Thursday, April 1, 2010 9:17 AM
  • I will suggest you to use Restful services with your presentation layer. You can use simple html put, get to save and retrieve the data through the services.

    WCF in .net 4.0 natively support restful services.

    • Marked as answer by Guy Dillen Saturday, April 17, 2010 1:14 PM
    Thursday, April 1, 2010 8:51 PM

All replies

  • Simple answer: I would suggest the asp.net mvc 2 framework for your presentation with mvc contrib, xval ,and jquery. For your business logic I would use poco as you suggested but with structuremap (great fluent configuration!) and dependency injection, domain driven design, and a wcf layer for future distribution if needed down the road. On the data access side I am a fan of nhibernate (with fluent nhibernate for configuration) and linq to nhibernate for the majority of simple querying scenarios (all hidden in repositories of course). I wrote a series about a lot of this on dotnetslackers.com if you are interested!
    Andrew Siemer www.andrewsiemer.com blog.andrewsiemer.com www.socialnetworkingin.net
    Wednesday, March 31, 2010 2:26 PM
  • I'm a bit confused why you're asking us if you already decided you must have MVC and rejected asp.net webforms for whatever reason.

    Anyhow, to put the case against choosing MVC:

    You can't do MVC without a server.  It is asp.net.  Just asp.net with a framework.  So you are going to have "server related things" with asp.net MVC  just slightly different server related things. Be aware that the mvc framework is not as mature as asp.net webforms.  You may have to compromise on functionality.  There are less developers that can do it, they cost more and will take longer to write any non trivial application.

    One of the reasons to choose mvc is that you have a very high throughput site which will be IO sensitive.  Depending on your application, Ajax can increase IO.  Although less data is sent each time, the tendency can be to have more round trips.   So make sure you have good developers.

    I'm curious, what was the reasoning decided you against asp.net webforms?

    For your business layer you should consider Entity Framework 4.  That allows POCO.  WCF is good but you should only really use it at this stage if your application is going to need to be highly scalable.  Put your data repository in a separate layer and you can refactor to WCF later fairly easily.  It's an overhead on development and speed otherwise.

    Wednesday, March 31, 2010 3:05 PM
  • @Andrew: thanks for the info. Can you please give me the url's of the series?

    @Andy, thanks. MVC was proposed by Andrew. My question was open, the only I don't want is ASP.NET Web Forms as client for different reasons (eg postback, ...). My client must run in different browsers on mobile phones and therefore I think the combination html, css, Ajax, JavaScript is a good option.

    What about calling WCF Data Services over EF4 from from Ajax (REST)?

     

     

    Wednesday, March 31, 2010 5:23 PM
  • Ajax (potentially) addresses postback issues with asp.net webforms.

    I like WCF.  Used it a lot with silverlight and next time I have a silverlight requirement I'll probably be using WCF RIA.

    EF4 offers a lot of flexibility now and I would personally choose it over nHibernate.

    Isn't there some way you can miss out on asp.net altogether and use Ajax to connect to WCF? 

    Even if you can it probably depends on what your app does and potential IO etc as to whether that's a good idea or not.  Web apps on my WinMo Toshiba tg01 load incredibly slow in most locations.

     

    Someone should lock all the mobile phone execs in a room until they agree some technology like silverlight as a standard.

    • Marked as answer by Guy Dillen Saturday, April 17, 2010 1:14 PM
    Thursday, April 1, 2010 9:17 AM
  • I will suggest you to use Restful services with your presentation layer. You can use simple html put, get to save and retrieve the data through the services.

    WCF in .net 4.0 natively support restful services.

    • Marked as answer by Guy Dillen Saturday, April 17, 2010 1:14 PM
    Thursday, April 1, 2010 8:51 PM