9. Architecture Venkat Subramaniam Arch-1 Whats Architecture? - - PDF document

9 architecture
SMART_READER_LITE
LIVE PREVIEW

9. Architecture Venkat Subramaniam Arch-1 Whats Architecture? - - PDF document

9. Architecture Venkat Subramaniam Arch-1 Whats Architecture? Description of sub-system Components/sub-systems Their interaction Framework for communication Venkat Subramaniam Arch-2 Architectural Design Establishes


slide-1
SLIDE 1

Arch-1

Venkat Subramaniam

  • 9. Architecture

Arch-2

Venkat Subramaniam

What’s Architecture?

  • Description of sub-system

– Components/sub-systems – Their interaction

  • Framework for communication
slide-2
SLIDE 2

Arch-3

Venkat Subramaniam

Architectural Design

  • Establishes a basic structural framework
  • Identifies major components of a system
  • Communication between them

Arch-4

Venkat Subramaniam

Why do you need it?

  • Useful for communication
  • Helps analyze ability to meet

requirements

  • Leads to repeatable, reusable concepts
slide-3
SLIDE 3

Arch-5

Venkat Subramaniam

Issues to deal with

  • Potentially conflicting issues
  • Performance
  • ✁✄✂☎✂✝✆✟✞✡✠☞☛✌✂✝✂✎✍✟✏✒✑✓✞✔✂✎✕✗✖✙✘✛✚✝✜✢✖✤✣✥✖✦✞✡✂✎✧✩★✪✠✫✧✟✧✟✘✎✑✎✏✬★✦✭✮✞✯✏
✠✛✑✰✧✟✏✒✑✱✏✒✧✲✘✛✧ ✴✳ ✂✓✵✱✂✎✶✮✠✮✷✄✸✹✕✺✭✛✑✱✘✛✶✬✭✛✕✻✏ ✞✼✣✲✠✮✷✄★✪✠✛✧✟✍✓✠✛✑✮✂✎✑✓✞✔✖
  • Security
✴✽ ✭✝★✿✾❀✶ ✭☎✣✥✂✎✕❁✾☎✭✝✖❂✞✡✠✲✆❃✂✮✭✛✶✓❄❅✏ ✞❆✾❇✖✪✂✮★✙✘✛✕✻✏ ✞❈✣ ❊❉ ✂❃✶✒✶✎✍✱✕✺✠✮✞✔✂✮★❋✞✔✂✮✆●✏✒✑✓✷❍✠✛✕✻✧■✭✮✞❏✏ ✠✛✑❀✏✒✑✟✏✒✑✱✑✮✂❃✕❁✶✬✭☎✣✥✂✎✕✺✖
  • Safety/validation
  • ✁✄✂☎✂✝✆✟✞✡✠❑✏✬✖✦✠✛✶✬✭✮✞✔✂✰✏✒✑☎✞✡✠▲✠✛✑✮✂❇✠✛✕✗✭▲✷❍✂☎❄▼✖✿✘✛✚✝✜✢✖✤✣✥✖✦✞✔✂✎✧■✖
  • Availability/reliability/redundancies
❊❉ ✾☎✭✮✞◆✭✛✚✓✠✎✘✮✞❖✭☎✵✥✭✛✏P✶✬✭✛✚✥✏◗✶◗✏ ✞✼✣✎❘❙✶ ✠✝✭✝✆✫❘❚✷❯✭✛✏◗✶◗✘✎✕✺✂✱❘❚✷❍✭✎✘❃✶ ✞❱✞✔✠✛✶✬✂✎✕✺✭✛✑☎★✪✂
  • Maintainability
❳❲ ✧■✭✛✶P✶✬✂✎✕✗✖✙✘✛✚✝✜✢✖❋✣✝✖✦✞✔✂❃✧✩✞✡✠☞✧■✭✛☛✌✂❀✏ ✞❖✂✮✭✝✖✿✏✬✂✎✕❨✞✡✠☞✧❇✭✛✏◗✑☎✞✼✭✛✏✒✑

Arch-6

Venkat Subramaniam

Architectural Representation

  • Block diagrams generally used
  • Effective to communicate different sub-

systems

  • Not effective to describe sub-system

interface

  • Goal: design so that requirement change

does not propagate across several sub- systems

slide-4
SLIDE 4

Arch-7

Venkat Subramaniam

Developing Architectural Design

  • Very creative process
  • Job of a system architect
  • Varies based on system, experience,

requirements

Arch-8

Venkat Subramaniam

General Questions

  • Questions and considerations
  • Do we have a template to start with?
  • Style
  • System structure
  • Sub-system decomposition
  • Measure of quality
  • Documentation
slide-5
SLIDE 5

Arch-9

Venkat Subramaniam

Models

  • Client-server model
  • Layered model
  • Combined style
  • Static Structure Model
  • Dynamic Process Model

– Processes at runtime

  • Interface Model

– Sub-system interface

  • Relationship Model

– Dataflow, communication, …

  • Distribution Model

– Distribution across processors, computers

Arch-10

Venkat Subramaniam

Organization

  • Decided by
  • Data
  • Services
  • Functional
slide-6
SLIDE 6

Arch-11

Venkat Subramaniam

Repository

  • Considerations

– Efficiency – Format of data – Data Usage – Change to format – Centralization and maintenance – Force on the sub-systems Central Storage Message Passing

Arch-12

Venkat Subramaniam

  • May be on one box
  • May be across machines
  • May be physical distribution or simply

logical

Client-Server Model

Client Server Different services: File, Printing, Computation, …

slide-7
SLIDE 7

Arch-13

Venkat Subramaniam

Layering

  • How do we structure the application in a

way that it is maintainable, robust, reliable, secure and robust?

  • Separate the components into layers
  • The layers will have loose coupling
  • Each layer is cohesive
  • Components in a layer interact with

– Components within the layer – Components in layer below it

Arch-14

Venkat Subramaniam

Layering …

  • In a strict layering, components do not

talk to any layer other than the one below it

  • In a more relaxed layering, components

may bypass one or two layers below

Layer n Layer n Layer 3 Layer 2 Layer 1

slide-8
SLIDE 8

Arch-15

Venkat Subramaniam

Tier Distribution

  • Layering is more logical
  • Tier distribution talks about how the

application is distributed across different hardware

  • The physical tiers is composed of

different computers that share:

– Resources

  • Like sockets, disc space, etc.

– Operational requirements

  • Security, scalability,

– Constraints

  • Location may be dictated by constraints like

security

Arch-16

Venkat Subramaniam

Three-Tier Distribution

Client Tier Application Tier (Business Tier) Data Tier

ASP.NET/ Win Forms/ Web Services Component Libraries ADO.NET/Database Access