Sunday, September 18, 2011

Software Architectures


One Tier Architecture :

A simple form of standalone application architecture where everything resides in a single program. Contrast this to 2-tier and 3-tier architectures.
Single-tier architecture is the notion of having the user interface of a web application, the middle ware and the data access all contained in one whole architecture. Usually in Software Engineer you break your application to make them more maintainable and sustainable. If you know that your software will not grow over time, you may want to do a single tier architecture.


 Two Tier Architecture :

In Two-Tier Architecture we have just two layers
1. GUI/ intrface / presentation layar

2. Database layer (where we store/retrieve our data)

Basically this architecture is followed in client/server applications where database and application resides in the same machine or database may in other machine conected thtough network.

Two-tier architecture is a client/server architecture , where a request to do some task is sent to the server and the server responds by performing the task.where as a three-tier or a multi tier architecture has client, server and database. Where the client request is sent to the server and the server in turn sends the request to the database. The database sends back the information/data required to the server which inturn sends it to the client.


  Three Tier Architecture :

In three tier architecture we can find three layers names:


1. Presentation Layer

2. Busness Layer/ Mid Layer

3. Database Layer.

Presentation Layer: GUI/Interface , where a user view or enters the data.

Business Layer: where business login and rules are execute and can accommodate hundreds of users.

Database Layer: Data access layer takes care of connection between the appication and storing the data as a warehouse.This is very important layer in any architecture 'coz finally all data comes to it and maintaining such a huge amount of data is taken care by this layer avoiding concurrency and maintaining scalibility, durability to the application.














Load Testing with LoadRunner

LoadRunner reduces the personnel requirements by replacing human users with virtual users or Vusers. These Vusers emulate the behavior of real users—operating real applications.


Because numerous Vusers can run on a single computer, LoadRunner reduces the hardware requirements.

The LoadRunner Controller allows you to easily and effectively control all the Vusers—from a single point of control
 
The repeatability of the tests are very easy and effective
 
Loadrunner generates effective graphs and reports  for analysing the performance of the applications

Manual Load Testing

   It is expensive, requiring large amounts of both personnel and machinery


   It is complicated, especially coordinating and synchronizing multiple testers

   It involves a high degree of organization, especially to record and analyze results meaningfully

   The repeatability of the manual tests is limited