Friday, March 11, 2011

Architectural patterns define a specific approach for handling some behavioral characteristics of the system. A software architecture may have a number of architectural patterns that address issues such as concurrency, persistence and distribution.

CONCURRENCYTo promote parallelism, applications must handle multiple tasks and there are different ways to handle concurrency by an application and each way can be presented by a different architectural pattern.- One approach is to use an operating system process management pattern that provides built-in operating system features allowing components to execute concurrently.- Another approach is to define a task scheduler at the application level.

PERSISTENCEData persists if it survives past the execution of the process that created it. Persistent data can be read or modified by other processes at a later time as they are stored in a database or file. Persistence can be achieved through two architectural patterns:- database management system pattern that applies the storage and retrieval capability of a database management system to the application architecture.- application level persistence pattern that builds persistence features into application architecture.

DISTRIBUTIONThe distribution problem addresses in a manner in which systems or components communicate with one another in a distributed environment. The most common architectural pattern established to address distribution problem is the broker pattern. Broker acts as middle man between client and server component.