Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Prat 2

Architectural Styles:
Following are discussed.

Layered Style:
A layered system is organized hierarchically with each layer providing service to the layer above
it and serving as a client to the layer below. In some systems inner layers are hidden from all
except the adjacent outer layer. Connectors are defined by the protocols that determine how
layers will interact. Constraints include limiting interactions to adjacent layers. Layers are the
following in this style. Presentation layer ,Business layer ,Persistence layer ,Database layer

Uses:
Most of the desktop applications and Ecommerce type web applications are developed
using Layered Architecture.
Implicit Invocation Style:
In event-based architectural styles, the fundamental elements in the system are events.
Events are both indicators of change in the system and triggers to functions. Events can
be signals, user inputs, messages, or data from other functions or programs.

Examples:
Implicit invocation systems are used in:
 programming environments to integrate tools.
 user interfaces to separate data from representation.

Object Oriented Style:


Suitable for applications in which a central issue is identifying and protecting related bodies of
information .Data representations and their associated operations are encapsulated in an
abstract data type. Components in this architecture styles are objects, and connectors are
function and procedure invocations (methods).

Uses:
 Objects are responsible for preserving the integrity (e.g., some invariant) of the data
representation.
 The data representation is hidden from other objects.

4.Pipe & Filter Style:

Suitable for applications that require a defined series of independent computations to be


performed on data. A component reads streams of data as input and produces streams of data
as output.
Uses:
Traditional Compilers: Compilation phases are pipelined, though the phases are not always
incremental. The phases in the pipeline include: lexical analysis + parsing + semantic analysis +
code generation

5.Client Server Style:


Each instance of the client software can send data requests to one or more connected servers.
In turn, the servers can accept these requests, process them, and return the requested
information to the client. A server machine is a high-performance host that is running one or
more server programs which share its resources with clients. A client does not share any of its
resources, but requests a server's content or service function.

Uses:
Client examples are Web browsers, email clients and online chat. Server examples are web
servers, ftp servers and database servers.

Table 2: Comparison of software architecture styles characteristics.

Style Sub style Goal Component Connector Advantage


Disadvantage

Data- Centered Repository

/Blackboar d Scalability Modifiability Integrity A

Memory/many pure

Computational processes Computational units, interacting with


memory Reusable components

/knowledge resources Supporting changes/ maintainability Low


testability/lack of deterministic algorithm
Blackboar d Repository Reusability Scalability Computational Units

Code UnitsCalled Procedures with state Sharing large amount of


data/data sharing model is publishing data Subsystems must agree on
specific repository/ Data evolution is rigid and

Expensive/

Data Flow Batch Sequential/ Pipe

&Filter Reusability Modifiability Modules Kinds of Connections


Reusability/Modifiabil ity Low performance/lack of capability in
sending needed

Information

Pipes & Filter Sequential/ Parallel Reusability Modifiability


Filters PipesLack of master control/ Reusability/ Flexibility/

Concurrency/Parallelis m Interactive systems designing is impossible

/propagation of data in pipes

Virtual Machine Interpreter/ Rule-Based

Systems Portability Embedded Procedures Procedures Call High


portability/simulation/

Adaptability Low performance

Main Program/S ub Routine Hierarchy Modifiability


Procedures and visible dataProcedures Call/ Visible data sharing
Shared resource with sequential access/Natural data
flow/Independent process algorithms Data format changing affect on
all modules/ Major changes is very difficult / Adding new modules
affect on all

Modules

Object- Oriented Data Oriented Performance/ Reusability

Modifiability Scalability Objects Messages Implementation can


be changed/Reusability Adding new tasks is very hard/
identification is hard

Layered n-Tier Layer Portability Reusability Modifiability


Services Communication s Protocols Sequence order with
respect to different levels/ Support next generation/ Dependency
between

Services Completion of all layer is rigid/ abstract level definition is


hard/

Results have low performance

Event Systems Implicit Invocation/ Explicit

Invocation Reusability Modifiability Event subscriber processes


Automated calls/ ProcessesParallel Procedure call/

System evolution &

Development Systems control is complex

You might also like