Tuesday, January 16, 2007

Common Architectures

01/15/2006
SCEA Notes: Common Architecture
  • Recognize the effect on each of the following characteristics of two tier, three tier and multi-tier architectures: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security.
  • Recognize the effect of each of the following characteristics on J2EE technology: scalability maintainability, reliability, availability, extensibility, performance, manageability, and security.
  • Given an architecture described in terms of network layout, list benefits and potential weaknesses associated with it.
Architecture is a set of structuring principles that enables a system to consist of a set of simiplier systems, each with its own local context independent but consist with the context of the large system as a whole.
The architecture should satisfy both functional(bussiness requirement) and non-functional requirements(service level requirements).
The non-functional(service level requirements) of prime importance are :scalability maintainability, reliability, availability, extensibility, performance, manageability, and security.

Scalability is the ability to add more users as the transactional load increases, but the system still reponds within acceptable limits.
  • Vertical Scaling- Adding capacity(memory,cpu,etc) to existing servers. This is easier of the two types.
  • Horizontal scaling- This is achieved by adding servers to the system.
Maintainability is the ability to correct flaws in the existing functionality without impacting other components. For this the system should be modular, with proper, up to date documentation. This cannot be measured during deployment.

Reliability is the ability to ensure integrity and consistency 9f the application, and its transactions. Horizontal scalibility increases reliability and availability.

Availability :)

Extensiblity is the ability to modify/add without impacting the existing functionality. The main features of an extensible design is ODD with low coupling, interfaces and encapsulation.

Performance ways to increase performance: load distribution, load balancing, efficient programming, resource pooling.

Manageability is the ability to monitor system resources.

Architecutural tiers: Applications can be one tier, two tier or N tier.
In a N-tier arch, each tier is automous unit that can be developed and maintained
separately. J2EE based arch consists of .
Client tier/Web tier/Bussiness or application logic tier/Enterprise information system integration tier/Enterprise information system tier.

Notes from developerworks

No comments:

Post a Comment