+1 to over-engineered

>> Recently there's been a change where the scope has creeped with "an eye
for the future",
>> "maximise code re-use", etc..  Fair enough.. Great concept..
I don't see the benefit of WCF here

BTW
I like the approach from Tom Gilb:
"The architecture is there to satisfy requirements"
If there is no requirement -> don't do it

Video mentioned on my brain noise (plug)
http://gfader.tumblr.com/post/21707236243/software-architecture-without-requirements-is-bs



(2nd time poster, long time reader)

   .peter.gfader. (current mood = happy because of doing less and that with
laser sharp focus)
   http://blog.gfader.com




On Wed, Mar 20, 2013 at 9:27 AM, <[email protected]> wrote:

> My 2 Cents...
>
> This seems over-engineered.
>
> If I were designing this... I would create new WCF services/ web api
> controllers for the mobile clients and remove the WCF middle tier.
>
> Stacy Andrews
> (first time poster, long time reader ;))
>
>
> ----- Original Message -----
> From:
> "ozDotNet" <[email protected]>
>
> To:
> "ozDotNet" <[email protected]>
> Cc:
>
> Sent:
> Wed, 20 Mar 2013 12:27:45 +1000
> Subject:
> Re: nTier ASP.NET MVC Application Architecture
>
>
>
> Thanks for comments and advice Nathan.
>
>  Your idea of DAL between WCF Service and MVC Controllers is a good one,
> and it does mimic how i have this set up currently (not explained properly
> previously - sorry).. I have my wcf services accessible only from within my
> SessionRepository objects. So the controller interacts only with the SR's
> and the SR talks to the WCF services.
> Comments on abolishing wcf layer seem sound, I was looking into the dual
> interfaces to the business layer (1 from mobile and 1 from mvc web).  I
> haven't had the opportunity to explore Web API yet, but it looks like that
> opportunity has just presented itself..
>
> fyi.. ViewModels packaged in same dll as models (for convenience).. not
> used in wcf services or as a DTO..
> I agree with your "_never_" sentiments..
>
> thanks again..
> Grant
>
>
>  On Wed, Mar 20, 2013 at 11:35 AM, Nathan Schultz <[email protected]>wrote:
>
>> The last time I wrote an MVC app which included an iPhone client, the
>> architecture looked similar to yours. Although I would _never_ have a
>> view model in the WCF project, since a View Model has everything to do
>> with presentation, and nothing to do with data access. I always have a
>> Mapper in the MVC project that maps all Models to View Models and
>> vice-versa.
>>
>> I also consider a web-service really to be just another data
>> repository, so I add a DAL in between the MVC Controller and WCF
>> service. This means a controller is never tied to the web-service, so
>> is independent of implementation.
>>
>> Now that MVC4 has the Web API available, I'd be tempted to abolish the
>> WCF layer so controllers talk directly to the Business Layer.
>> I would then just write Web API controllers that would service RESTful
>> requests from a mobile client. This has the advantage of not having to
>> share a DLL containing your Domain Types and enums.
>>
>> Regards,
>>
>> Nathan.
>>
>>
>> On 20 March 2013 08:11, Grant Molloy <[email protected]> wrote:
>> > Hi All..
>> >
>> > Application architecture is an interesting and regularly debated topic
>> among
>> > developers..
>> > Everyone seems to have their own take on it based either purely on
>> theory,
>> > real world experiences, and as always, a mixture of both.
>> >
>> > The application started out as a simple enough hosted ASP.NET MVC
>> > application where users would visit a website, register, log in, and
>> work
>> > online.. Simple enough..
>> > Recently there's been a change where the scope has creeped with "an eye
>> for
>> > the future", "maximise code re-use", etc..  Fair enough.. Great
>> concept..
>> >
>> > My dilemma now is what's the best architecture for this app now that we
>> will
>> > be (in the future -- when ever that gets here) accessing the system from
>> > mobile devices, and probably not through the default ASP.NET MVC
>> interface
>> > that is currently being developed.
>> > I've been looking around for a decent online example of an nTier
>> ASP.NET MVC
>> > application architecture, but most of the things I've found are all
>> > basically single tier where the author accesses the database via DAL
>> > directly from controllers.
>> >
>> > The app has morphed into the following Architecture...
>> >
>> > -------  ASP.NET MVC -------
>> > |  View
>> > |    + --> MVC Helpers
>> > |    |
>> > |  Model
>> > |    |
>> > |  Controller
>> > |    +  --> Constants, Enums & Helpers.. (Separate DLL)
>> > |    +  --> Session Repository  (in MVC Project)
>> > |    +  --> Domain Types (Models & ViewModels) (Separate DLL)
>> > ------- ------- ------- ------- -------
>> >     \/
>> >      |  WCF Service Call...
>> >     /\
>> > -------  WCF Services SERVER  -------
>> > |  WCF Services
>> > |    |
>> > |  Business Layer
>> > |    |
>> > |  DAL
>> > |    + --> Domain Types  (Models & ViewModels) (Separate DLL)  [.. this
>> is
>> > the same dll as referenced by the Controller above]
>> > |    + --> Constants, Enums & Helpers.. (Separate DLL)   [.. this is the
>> > same dll as referenced by the Controller above]
>> > ------- ------- ------- ------- -------
>> >     |
>> > -------  DATABASE Server -------
>> > |  Database
>> > ------- ------- ------- ------- -------
>> >
>> > This architecture seems to be working fine for now and I know that i'm
>> > probably going to have to change my WCF services to use a more RESTful
>> > approach, or implement another more mobile friendly interface, to make
>> it
>> > easier for mobile connection, but that can happen down the track when
>> i'm
>> > ready for that part.
>> > I'm also looking to use SQL CLR Types in the future so that I can be
>> sure
>> > that the data in reference tables (like say PhoneType, PencilType,
>> CarBrand,
>> > etc) mirror that exactly as in the Enums in the code.  I've done some
>> > preliminary investigations into this and it is feasible, but whether
>> it's
>> > worth it is another issue.
>> >
>> > How are people designing their ASP.NET MVC app architecture out there
>> in the
>> > wild ??
>> > I would love to hear/see your ideas/architecture..
>> >
>> > Grant
>>
>
>

Reply via email to