locked
Implementing & Deploying a 3 tier architecture RRS feed

  • Question

  •  

    Usually what we project completers do is do CLASS VASED CODING, the only thing i get from this is encapsultion, modularizing big into smaller independent components & code reuse.

     

    Is it all, or ARE we suppose to deploy the tiers / layers on seperate machines / servers, how can we deploy code (say DLLs) on seperate machines (say a dedicated Business Logic server, a dedicated centralized DB server & clients with their interface all 3 on seperate machines) or ARE we NOT suppose to do that

     

    If there is an other therad already appropriate for my question, please post the link & i will be obliged

    Thursday, October 11, 2007 4:45 AM

All replies

  • Hi Maqk,

     

    Your project architecture depends upon the project requirement.

    You cannot create a thumb rule to follow any specific design pattern or an architectural design.

     

    So, the ideal method is to understand the existing design patterns and architectural methodologies, and then select the best according to your project requirement.

     

    I'm sure you can google more about different design patterns and architectures.

     

    Regards,

    Prakul.

     

    Monday, October 15, 2007 9:45 AM
  •  

    I totally agree with Prakul, it is a question of performance, scalability and extensibility requirements.

    You would need dedicated servers for business logic, if you are developing a system that has to scale and when your business rules change you can easily change the implementation  without affecting the rest of your system.

    I would like to know more about your systerm:

    1. What type of system is it? (Web, Smart client)

    2. What busines sfunction does it do? (Inventory, finincial, CRM)

    3. How many concurrent users are we talking about?

    4. What type of organiziation needs this system? |(large. meduim, small enterprise)

     

    Any more info you can provide will help.

    Monday, October 15, 2007 8:50 PM
  • Its a web application, its a financial application (Portfolio Calculator for Traders as well as a decision support system by processing financial INDICATORS),

     

    its a system of BROKERAGE HOUSE which will in future support online trading & we are talking about atleast 10000 users at a time asking for live trade & live stock market rates

     

    & an organization of the type Karachi Stock Exchange may need this system

    Wednesday, October 17, 2007 5:56 AM
  • Maqk,

     

    Microsoft has an excellent sample app (.NET StockTrader Sample Application) that might help you understand implementing and deploying a 3 tier architecture application.

     

    http://msdn2.microsoft.com/en-us/netframework/bb499684.aspx

     

    Michael

     

    Wednesday, October 17, 2007 8:05 PM
  • ok, i will soon study it

     

    thank you

     

     

    Monday, October 22, 2007 8:53 AM
  • I would just like to add, that from what you described about the size and usage of your application, it does look like this solution will benefit from separating components and layers.

    This will offer the following to your solution:

    1. Greater scalability (ability to add more server to process your business logic and to handle bottle-necks)

    2. Maintainability (Ability to maintain separate layers of your application e.g. changing a part of the business logic without having to redeploy the whole application)

    3.Manageability (having the application separated into components and layers, it will be easier to track what goes wrong and where, and also makes it easier to check for performance bottle-necks in the different components of your application, so you can act accordingly)

    Monday, October 22, 2007 5:32 PM
  • If your application hasn't been designed with multiple tiers in mind  - deploying it as such will only give you trouble.

    Multi-tiering is something you need to take into account when you set the responsibilities of your objects since working on a distributed system is a whole different ball game.

    You can read a paper I wrote explaining the fallacies of distributed computing to understand some of the implications (http://www.rgoarchitects.com/Files/fallacies.pdf)

     

    Arnon

    Thursday, November 1, 2007 10:57 PM