Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding.

Similar presentations


Presentation on theme: "Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding."— Presentation transcript:

1 Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding.

2 2 Outline Architecture and Architecture Styles Network-based Application Architectures Network Application Architecture Classification Methodology Architectural Styles for Network-based Applications Evaluations Contributions Related Work Issues/Discussion

3 3 Software Architecture Background Set of architectural elements that have a particular form, explicated by set of rationale (Perry and Wolf). Architecture defines that system in terms of components and of interactions among those components. Specifies the structure and topology of the system. (Shaw et al). More focus should be put on data-centric architectural modeling (Boasson, Jackson). Software system will often have multiple operational phases (init, processing, re-init, shutdown). Each may have its own architecture consisting of components, connectors, data, configuration, and properties.

4 4 Software Architecture Styles Characterizes a family of systems that are related by structural and semantic properties (Monroe). Abstraction of element types and formal aspects from various specific architectures, perhaps concentrating on only certain aspect of an architecture (Perry & Wolf). Pattern of interactions among typed components. Determines the vocabulary of components and connectors that can be used in instances of that style that adhere to a set of constraints (Garlan, Shaw, Clements). These restricted view of architectural styles is a direct result of their definition of software architecture. Thinking of architecture as a formal description, rather than a running system, leads to abstraction based only in the shared patterns of box and line diagrams (Abowd).

5 5 Architecture Patterns and Views In parallel with software engineering research, object oriented programming community has been exploring the use of patterns and a pattern languages (Gang of Four). Primary benefit of patterns is that they describe, relatively complex protocols of interactions between objects as a single abstraction. It is possible to view an architecture from many different perspectives. Static view, dynamic view, deployment view are some examples.

6 6 Network-based Application Architecture System performance is dominated by network communication. Nature of data elements will often determine whether or not a given architectural style is appropriate. Network based vs. distributed. Survey focused on application software not networking software. Survey attempts to fill gap between software engineering research with network research.

7 7 Classification Methodology Performance –Network Performance, User-perceived Performance, Network Efficiency Scalability Simplicity Modifiability –Evolvability, Extensibility, Customizability, Configurability, Reusability Visibility Portability Reliability

8 8 Architectural Styles for Network-based Applications Pipe and Filter Family Pipe and Filter (PF) Uniform Pipe and Filter (UPF)

9 9 Architectural Styles for Network-based Applications Client Server Family Client Server (CS), Layered System (LS) Layered-Client-Server (LCS), Client-Stateless Server (CSS) Client-Cache-Stateless-Server (C$SS) Layered Client-Cache-Stateless-Server (LC$SS) Remote Sessions (RS), Remote Data Access (RDS)

10 10 Architectural Styles for Network-based Applications Mobile Code Family Virtual Machine (VM) Remote Evaluation (REV) Code on Demand (COD) Layered-Code-on-Demand-Client-Cache-Stateless-Server (LCODC$SS) Mobile Agent (MA)

11 11 Architectural Styles for Network-based Applications Replication Family Replicated Repository (RR) Cache ($)

12 12 Architectural Styles for Network-based Applications Event-based Integration and Hybrid Family Event Based Integration (EBI) C2 Distributed Objects (DO) Brokered Distributed Objects (BDO)

13 13 Architectural Styles for Network-based Applications Service Oriented Family* Simple Object Access Protocol (SOAP) Web Services –Derivation of client-server Representational State Transfer (REST) Web Services –Derivation of client-server Social Computing Network (SCN) Services –Hybrid (event based, client server, peer-2-peer) *Not listed in original paper.

14 14 Contributions Comprehensive survey of definitions of network based software architecture, styles and properties. Restricting the scope reduces the variability of styles to a set that can be reasonably compared to system’s requirements.

15 15 Related Work Classification of Architectural Styles/Patterns Reference Models and Domain-specific Architectures Architectural Description Languages (ADL) Self Architecture (SASSY) Social Computing Networks (SCN) Architectural Middleware (Prism-MW)

16 16 Issues Paper points out that it has generic use of “network” based. Paper suggests to create separate classification for each type of communication problem –Large grain data retrieval –Remote info monitoring –Search –Remote control systems –Distributed processing

17 17 Issues/Discussion How relevant today? Evaluations seem subjective. Empirical data not provided. Was there sufficient distinction between just architecture and “network-based” architecture? The topic may be more relevant today because of pervasive systems. Network-based software is everywhere. Client Server permutations shows how quickly purity of styles is lost. Exhaustive combinations feasible?

18 18 Issues/Discussion Need to go further on the taxonomy of Network-based architectures –Self Architecting Network-based –Self Adapting Network-based –Mobile/Pervasive –Social Computing Network (smart {anything} network) When self architecting, does/can the style change? Where does cloud computing fit in? Has there been a paradigm shift since paper written? Computers are increasingly dumb terminals again.


Download ppt "Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding."

Similar presentations


Ads by Google