Professional Documents
Culture Documents
Lecture 4 Software Connectors
Lecture 4 Software Connectors
Lecture 4
Software Connectors
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Software Architecture: Foundations, Theory, and Practice
Overview
Introduction
Connector Roles and Types
Example Connectors
2
Software Architecture: Foundations, Theory, and Practice
Introduction
3
Software Architecture: Foundations, Theory, and Practice
4
Software Architecture: Foundations, Theory, and Practice
Connectors in an Architecture
Simple interactions
Procedure calls
Connectors in an Architecture
(contd.)
Each connector provides
Interaction duct(s)
6
Software Architecture: Foundations, Theory, and Practice
7
Software Architecture: Foundations, Theory, and Practice
Benefits of Connectors
8
Software Architecture: Foundations, Theory, and Practice
Simple Connector
9
Software Architecture: Foundations, Theory, and Practice
10
Software Architecture: Foundations, Theory, and Practice
11
Software Architecture: Foundations, Theory, and Practice
Connector Roles
Classes of Services
Communication
Transmission of data
Coordination
Transfer of control
Conversion
Conversion of data formats
Wrappers for legacy components
Facilitation
Load balancing
Scheduling services
Concurrency control
12
Software Architecture: Foundations, Theory, and Practice
Connector Types
Procedure Call
Event
Data access
Linkage
Stream
Arbitrator
Adaptor
Distributor
13
Software Architecture: Foundations, Theory, and Practice
14
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Event Connectors
These are mainly coordination connectors
15
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
16
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Linkage Connectors
• Provide facilitation services.
• Used by higher order connectors to enforce
interconnection unit, relationship syntax, and
interaction semantics.
17
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Stream Connectors
18
Software Architecture: Foundations, Theory, and Practice
19
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Arbitrator Connectors
20
Software Architecture: Foundations, Theory, and Practice
21
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Adaptor Connectors
• Facilitates interaction between components that have
not been designed to interoperate.
•Adaptors provide conversion services.
22
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Distributor Connectors
23
Software Architecture: Foundations, Theory, and Practice
24
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
Example Connectors
25
Software Architecture: Foundations, Theory, and Practice
26
Software Architecture: Foundations, Theory, and Practice
Data access
Stream
Distributor
27
Software Architecture: Foundations, Theory, and Practice
Data access
Stream
Distributor