locked
The Right Architecture RRS feed

  • Question

  • Hi,
    I am given a resposibilty of redesigning an exisiting software. I would like to understand the right architecture for this software. 
    The software ( designed for share traders ) is mainly a charting package which uses Dundas Charting.

    It does a lot of technical analysis using financial markers and financial indicators. Besides there are some internal business logic incorporated to do mathematical computation. It uses share data which is stored in a properiety format of database. A specific  API is used to pull the data from database.

    The operation on the database is very minimal. The only operation in the database is READ. The rest of the functinalities focus on manipulating the data to draw chart, apply inidicators on the chart, drawing financial markers, running specific mathematical algorithm on the data.

    I am not sure if layered architecture would be a best option for this case. I would appreciate if someone could advice me on the right approach.

    Thanks

    -Balan-


    .Net Lover
    Thursday, February 11, 2010 4:11 AM

Answers

  • Balan

    Since this is Equity Trading related software, Layered architecture is the only option for you.
    Not planning layers in the architecture will limit Architecture from Performance, Scalability, Reliability, etc.. perspective.
    You may want to take a look at presentation on this blog to understand how layering is important and understand QoS (Quality of Service) aspects of .NET architecture.
    Also check Patterns and Practices architecture guide from Microsoft.
    http://www.infosysblogs.com/microsoft/2009/11/architecting_for_nfrs.html

    Regards
    Suds
    • Marked as answer by Balan Sinniah Friday, February 12, 2010 11:58 PM
    Thursday, February 11, 2010 8:14 AM
  • Hi Balan,

    Layering alone does not guarnatee 100% performance, you might need to implement caching, precalculated data to reduce the processing time. I could see your application as a typical reporting system (where you READ data and display them). So take care of caching in middle tier with prepopulated data and granularity of the prepopulation has to be inline with your requirements. You can use http based caching (usng SQL dependency)

    Regards
    -Bala
    • Proposed as answer by BalaYC Friday, February 12, 2010 12:37 PM
    • Marked as answer by Balan Sinniah Friday, February 12, 2010 11:58 PM
    Friday, February 12, 2010 12:37 PM

All replies

  • Balan

    Since this is Equity Trading related software, Layered architecture is the only option for you.
    Not planning layers in the architecture will limit Architecture from Performance, Scalability, Reliability, etc.. perspective.
    You may want to take a look at presentation on this blog to understand how layering is important and understand QoS (Quality of Service) aspects of .NET architecture.
    Also check Patterns and Practices architecture guide from Microsoft.
    http://www.infosysblogs.com/microsoft/2009/11/architecting_for_nfrs.html

    Regards
    Suds
    • Marked as answer by Balan Sinniah Friday, February 12, 2010 11:58 PM
    Thursday, February 11, 2010 8:14 AM
  • Hi Balan,

    Layering alone does not guarnatee 100% performance, you might need to implement caching, precalculated data to reduce the processing time. I could see your application as a typical reporting system (where you READ data and display them). So take care of caching in middle tier with prepopulated data and granularity of the prepopulation has to be inline with your requirements. You can use http based caching (usng SQL dependency)

    Regards
    -Bala
    • Proposed as answer by BalaYC Friday, February 12, 2010 12:37 PM
    • Marked as answer by Balan Sinniah Friday, February 12, 2010 11:58 PM
    Friday, February 12, 2010 12:37 PM
  • Hi Suds,

    Thanks.  Now I know what to look for .

    Regards,
    Balan Sinniah
    .Net Lover
    Friday, February 12, 2010 11:59 PM
  • Hi Bala,

    Your reply give me additional info on top of Suds reply. Thanks.

    Regards,
    Balan Sinniah
    .Net Lover
    Saturday, February 13, 2010 12:01 AM