Architectural Styles

Hi,

I have a few open queries in my mind on architectural styles.
I have just put them as questions below. Can someone advise ?

1. What is an Architectural Style ?and What purpose does it solve ?

2. When do we use architectural styles ? (i.e at what phase of a project)

3. What are the different architecture style ?
Some of them that I am aware of are Layered, OO, Client Server, RPC, Structured.

4. How can one add a style ? Is style a pattern ?

5. How do we select a style during architectural design?

6. Can more than one style be mixed and if yes are there suitable partners for a style?

Thanks,
Prasanth

[2183 byte] By [pven] at [2008-2-4]
# 1

An Architecture style can be thought of as a family of related architectures or a pattern at the architecture level

An Architectural style is basically a set of

  • Predefined components, roles, responsibilities and connectors (vocabulary)
  • Constrains and guides on the use of the elements

If a style is documented it will probably have additional ingredients (like variations, examples, pros, cons etc.).

Architecture styles are used in a similar fashion to design patterns both as a common vocabulary and as design elements

To answer question 6 - yes styles can be mixed for example REST (Representational State Transfer) is a derived style mixing styles like Client-server and layered you've mentioned with constraints like use of uniform interface and stateless server.

There are many architecture styles - few notable ones (in addition to the ones you've mentioned) include pipes and filters, blackboard, hub and spoke, interpreter, MVC, Master-Slave and many many others.

Regarding question 5 - you would choose a style the same way you do any other architectural decision by weighing benefits and costs and evaluating tradeoffs - you can read a few post I've recently wrote on architecture evaluation:SAF - Architecture Evaluation (Introduction) , SAF - Architecture Evaluation - Evaluation in Code and SAF - Evaluation part II - the "Formal Methods" Also here's a link to an older post I made on Modeling - Architectural Styles

HTH,

Arnon

ArnonRotemGalOz at 2007-9-8 > top of Msdn Tech,Architecture,Architecture General...