Advice on building a large enterprise application!

Advice on building a large enterprise application!

Old forum URL: forums.lhotka.net/forums/t/7145.aspx


CyclingFoodmanPA posted on Monday, June 22, 2009

    Ok, I have been digging into EF (with Julia Lerman's book) and loving it and have been digging into Silverlight and loving it.  I have 3 applications to build and one is pretty large (184 tables, 331 relations, lots of sprocs, some views, etc) and the other 2 are small (14 tables, 12 relations, sprocs, and a couple of views).

    I am the sole developer at my company (translated to I am the dba, .NET Architect, lead C# developer, and everything else that can be in the development world) and am trying to pick my architecture for the applications.  Here is where I am leaning so far, Csla for the architecture (why would I pick anything else!)

   The DB is SQL 2005 as I cannot convince our parent company to go to 2008 - any help in persuading them to go to 2008 would be greatly appreciated or why I should not go to 2008 would be greatly appreciated.  Will be utilizng SQL Server Reporting Services for the reporting also.

    The applications are to be web based either internat or intranet, leaning toward internet more.

1) for the small applications:
    a) utilize the EF for the data modeling,
    b) utilize Silverlight 2 for the front end

 2) for the large applications:
     a) would love to use EF, however I am wondering if it makes sense or would it make sense to just stick with ADO.NET.  Linq to SQL is pretty much on it's way out but with so many tables, I am envisioning the Entity Data Model (EDM) to be a monster.  Has anyone created a large application with EF and were you happy you did, or do you wish you hadn't?  Your experience will be most appreciated.
    b) utilize Silverlight 2 for the front end

    Also, I am working for a company that doesn't particularly like to spend $ on IT.  Yes, I know, we are essential, and people get upset when things don't work and want it fixed, but, they think IT is overhead.

    Any perspective would be greatly appreciated and if Rocky or Sergey respond that would be awesome because their expertise and experience are golden in my book!

CyclingFoodmanPA

 

 

 

rsbaker0 replied on Monday, June 22, 2009

I haven't used EF, but created a large application comparable in size to the one you mention using CSLA and an Object-Relational mapper (there are several to choose from, with NHibernate being a notable free one).

Use of an ORM gives you some degree of independence from the whims of Microsoft. You often have the source code, aren't tied to a particular technology that gets killed a few months after being the latest and greatest thing, and they support multiple back-end databases as well. Usually there are code generation tools to help.

JoeFallon1 replied on Tuesday, June 23, 2009

I just started using SQL Server Reporting Services. I had wanted to do this a few years ago but it was severely lacking in functionality. As per the MS standard version 1.0 sucked and 2005 is quite a bit better with 2008 being very good. Their 3rd version of product is usally a world class piece of software.

At any rate the one thing I learned is that the web service interface is identical for 2005 and 2008. I was able to use the proxy class to do everything in code that can be done in the UI. (Deploy models, data sources and reports.) The 2008 report builder is a huge improvement over 2005 for the end user .

If you use Codesmith and design your ADO.Net code correctly for CSLA then I do not see why you should switch to a black box like Entity Framework. Especially if there are no other developers to assist you with the pain points of a new framework. Since it isn't version 3 yet I think you should wait one more cycle before committing to it.

Just my $.02.
Joe

Copyright (c) Marimer LLC