locked
Need help for Architecture design RRS feed

  • Question

  • User1465921354 posted

    I need help to make decision for making framework for new project.
    Project is financing (banking) project. It'll b using .net 3.5 sp1 with sql server 2005.
    I want to know what should be best approach for framework? Mean to use LINQ or go with Stored procedure way with 3 tier architecture?
    or anything else?

    For current financing project the framework is done by one of MVP. He used LINQ to all things.
    But we facing problem of w3wp process hang. We cant go for web gardening or farming bcz LINQ objects cnt be serialized to store in Session etc.
    Difficult to use Transactions in LINQ. Have to use TransactionScope lead to MSDTC problems etc.

    Please give your opinion.

    Friday, August 20, 2010 4:38 AM

Answers

  • User-952121411 posted

    Nice article about web farm. So if we set CAP 'On' that means we need to mention Session State as 'In-Process' rite? (Default)
     

    Yes, with CAP set to 'On' you should be able to use the default 'In-Process' option for session state storage.  We use the same option as trying to retro all apps that use InProcess session state to have all serializable session values is too much work.

    How about web gardening? is there option to do something like CAP?

    Web Gardening is a different concept.  It is the idea of having many aspnet worker process launched within the same server.  I am by no means a networking or server expert, but a lot I read says that web gardening is not a great option because it relies on the number of CPUs within a single server.  If you begin launching several different aspnet worker processes without the CPU cores to handle this, it really doesn't gain the benefit like a web farm that is several individual virtual or physical servers.  A good synopsis of a web garden and its limitations are in the link below under the section named: The Web Garden Model.

    http://msdn.microsoft.com/en-us/library/aa479328.aspx

    I recommend branching out to the technet or IISForms if you want to really dive into Web Farm and Web Garden questions.  They are the hardware people and know much more about these topics.

    http://forums.iis.net/

    http://social.technet.microsoft.com/Forums/en/categories/

    Hope this helps! Smile

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, August 25, 2010 9:42 AM

All replies

  • User-952121411 posted

    Mean to use LINQ or go with Stored procedure way with 3 tier architecture?
    or anything else?
     

    Well LINQ and Stored procedures can be used together depending on how you use LINQ.  LINQ is a technology and works against many types of sources: SQL, XML, Objects, DataSets, etc.  I think leveraging LINQ throughout the project should be used regardless of the design pattern or framework you use.  Maybe you meant to say 'LINQ to SQL' or strictly Stored Procedures.  But even there once again you can use LINQ to SQL with stored procs.

    We cant go for web gardening or farming bcz LINQ objects cnt be serialized to store in Session etc.

    A web farm is a must for most online web applications that require performance scalability and redundancy.  While it is true that serialized objects cannot be passed into Session that is set up on a 'State Server' when a web farm is used, there is a solution to this.  If you use a load balancer for your web farm you can set the 'CAP' or Client Affinity Parameter to 'On' or 'True'.  What this states is that whatever server IP the client is directed to when making the original request, all subsequent requests will go to that same server IP, thus allowing traditional inprocess session state and not have to worry about serializing all of your objects.  For more information take a look here:

    Look for 'Managing Application State' section within the following link:

    http://technet.microsoft.com/en-us/library/bb742455.aspx

     

    Friday, August 20, 2010 8:45 AM
  • User-245554983 posted

    hi Surajsunshine,

    Is it an internet or intranet application ?

    If it is internet than in my opinion you should go for stored procedures, also for speed but ofcourse it can take a little more time.

    But it is not only solution,

    Transations can be done with linq (I have not implemented, saw some stuff on sites). If some work on this project is already done than you can continue this with linq and can do complex, slow or unsupported parts using stored procedures, just by using a mix approach, it will save time as well.

     

    Hope it is helpful.

     

    Friday, August 20, 2010 8:57 AM
  • User1465921354 posted

    atconway Thanks for reply.

    Ok we can use LINQ with stored procs but how about performanace?

    When I use LINQ 2 SQL i saw using SQL profiler that it generates complex queries and response time is more.


    Nice article about web farm. So if we set CAP 'On' that means we need to mention Session State as 'In-Process' rite? (Default)

    How about web gardening? is there option to do somthing like CAP?


    Thanks,

    Suraj

    Wednesday, August 25, 2010 2:27 AM
  • User1465921354 posted

    hi Yawer Iqbal,

    It's Internet application.

    One project is done using LINQ and we facing the problems mentioned in my 1st post. Now we have another project so i need to redesign architecture.

    So I want to know best approach for this. if use LINQ easy way to do transactions is use TransactionScope but it leads to MSDTC problems. I have spend almost 1 week doing research on MSDTC problems. Its inconsistent. sometimes work sometimes no.

    Wednesday, August 25, 2010 2:28 AM
  • User-952121411 posted

    Nice article about web farm. So if we set CAP 'On' that means we need to mention Session State as 'In-Process' rite? (Default)
     

    Yes, with CAP set to 'On' you should be able to use the default 'In-Process' option for session state storage.  We use the same option as trying to retro all apps that use InProcess session state to have all serializable session values is too much work.

    How about web gardening? is there option to do something like CAP?

    Web Gardening is a different concept.  It is the idea of having many aspnet worker process launched within the same server.  I am by no means a networking or server expert, but a lot I read says that web gardening is not a great option because it relies on the number of CPUs within a single server.  If you begin launching several different aspnet worker processes without the CPU cores to handle this, it really doesn't gain the benefit like a web farm that is several individual virtual or physical servers.  A good synopsis of a web garden and its limitations are in the link below under the section named: The Web Garden Model.

    http://msdn.microsoft.com/en-us/library/aa479328.aspx

    I recommend branching out to the technet or IISForms if you want to really dive into Web Farm and Web Garden questions.  They are the hardware people and know much more about these topics.

    http://forums.iis.net/

    http://social.technet.microsoft.com/Forums/en/categories/

    Hope this helps! Smile

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, August 25, 2010 9:42 AM