07 software connectors - donald bren school of …taylor/classes/221/07_software_connectors.pdf ·...

27
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7

Upload: lammien

Post on 15-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Software Connectors

Software ArchitectureLecture 7

Page 2: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

2

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

What is a Software Connector? Architectural element that models

Interactions among components Rules that govern those interactions

Simple interactions Procedure calls Shared variable access

Complex & semantically rich interactions Client-server protocols Database access protocols Asynchronous event multicast

Each connector provides Interaction duct(s) Transfer of control and/or data

Page 3: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

3

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Where are Connectors in SoftwareSystems?

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 4: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

4

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Implemented vs. ConceptualConnectors

Connectors in software system implementations Frequently no dedicated code Frequently no identity Typically do not correspond to compilation units Distributed implementation

Across multiple modules Across interaction mechanisms

Page 5: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

5

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Implemented vs. ConceptualConnectors (cont’d)

Connectors in software architectures First-class entities Have identity Describe all system interaction Entitled to their own specifications & abstractions

Page 6: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

6

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Reasons for Treating ConnectorsIndependently

Connector ≠ Component

Components provide application-specific functionality Connectors provide application-independent

interaction mechanisms Interaction abstraction and/or parameterization Specification of complex interactions

Binary vs. N-ary Asymmetric vs. Symmetric Interaction protocols

Page 7: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

7

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Treating Connectors Independently(cont’d)

Localization of interaction definition Extra-component system (interaction) information Component independence Component interaction flexibility

Page 8: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

8

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Benefits of First-Class Connectors

Separate computation from interaction Minimize component interdependencies Support software evolution

At component-, connector-, & system-level Potential for supporting dynamism Facilitate heterogeneity Become points of distribution Aid system analysis & testing

Page 9: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

9

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

An Example of Explicit Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 10: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

10

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

An Example of Explicit Connectors(cont’d)

??

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 11: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

11

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Software Connector Roles

Locus of interaction among set of components Protocol specification (sometimes implicit) that defines its

properties Types of interfaces it is able to mediate Assurances about interaction properties Rules about interaction ordering Interaction commitments (e.g., performance)

Roles Communication Coordination Conversion Facilitation

Page 12: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

12

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Connectors as Communicators

Main role associated with connectors Supports

Different communication mechanisms e.g. procedure call, RPC, shared data access, message

passing Constraints on communication structure/direction

e.g. pipes Constraints on quality of service

e.g. persistence Separates communication from computation May influence non-functional system characteristics

e.g. performance, scalability, security

Page 13: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

13

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Connectors as Coordinators

Determine computation control Control delivery of data Separates control from computation Orthogonal to communication, conversion, and

facilitation Elements of control are in communication, conversion

and facilitation

Page 14: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

14

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Connectors as Converters

Enable interaction of independently developed,mismatched components

Mismatches based on interaction Type Number Frequency Order

Examples of converters Adaptors Wrappers

Page 15: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

15

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Connectors as Facilitators

Enable interaction of components intended tointeroperate Mediate and streamline interaction

Govern access to shared information Ensure proper performance profiles

e.g., load balancing Provide synchronization mechanisms

Critical sections Monitors

Page 16: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

16

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Connector Types

Procedure call Data access Event Stream Linkage Distributor Arbitrator Adaptor

Page 17: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

17

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

A Framework for ClassifyingConnectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 18: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

18

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Procedure Call Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 19: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

19

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Event Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 20: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

20

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Data Access Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 21: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

21

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Linkage Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 22: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

22

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Stream Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 23: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

23

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Arbitrator Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 24: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

24

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Adaptor Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 25: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

25

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Distributor Connectors

Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Page 26: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

26

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Discussion

Connectors allow modeling of arbitrarily complexinteractions

Connector flexibility aids system evolution Component addition, removal, replacement,

reconnection, migration Support for connector interchange is desired

Aids system evolution May not affect system functionality

Page 27: 07 Software Connectors - Donald Bren School of …taylor/classes/221/07_Software_Connectors.pdf · Software Architecture Foundations, ... Types of interfaces it is able to mediate

27

Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture

Discussion

Libraries of OTS connector implementations allowdevelopers to focus on application-specific issues

Difficulties Rigid connectors Connector “dispersion” in implementations

Key issue Performance vs. flexibility