![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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030423/5aaa9afc7f8b9a86188e3a39/html5/thumbnails/27.jpg)
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