Connector Types Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

A component- and message-based architectural style for GUI software
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Choosing Connectors Software Architecture Lecture 8.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Component Design and Separation of Concern Designing involve: – Coming up with “application” functional components & – Integrating these functional components:
CORBA - Common Object Request Broker Architecture.
Distributed components
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Architecture & Data Management of XML-Based Digital Video Library System Jacky C.K. Ma Michael R. Lyu.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—1-1 Building a Simple Network Understanding the Host-to-Host Communications Model.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Ryan McAlister CONNECTORS. Introduction Integration and interaction As important as developing functionality More challenging decisions Transfer control.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
The OSI Model An ISO (International standard Organization) that covers all aspects of network communications is the Open System Interconnection (OSI) model.
DCE (distributed computing environment) DCE (distributed computing environment)
Interoperability between Scientific Workflows Ahmed Alqaoud, Ian Taylor, and Andrew Jones Cardiff University 10/09/2008.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Enterprise Integration Patterns CS3300 Fall 2015.
Shuman Guo CSc 8320 Advanced Operating Systems
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
An Introduction to Networking
Jini Architecture Introduction System Overview An Example.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Choosing Connectors Software Architecture Lecture 8.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Brief Introduction to Software Connectors Software Architecture.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Common Object Request Broker Architecture (CORBA)
Software Connectors.
What is RMI? Remote Method Invocation
Distribution and components
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Chapter 40 Remote Method Invocation
Software Connectors.
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Software Architecture Lecture 7
Software Architecture Lecture 7
Database System Architectures
Software Architecture Lecture 7
#01 Client/Server Computing
Software Architecture Lecture 6
Presentation transcript:

Connector Types Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in modeling and analyzing an architecture. As a result, connectors are further classified into eight types: Procedure calls, event, data access, linkage, stream, Arbitrator, Adaptor, and Distributor

Procedure Call Connectors: Model flow of control. (Coordination) Perform transfer of data via parameters (Communication).

Event Connectors An event is defined as “...an instantaneous instance (normal or abnormal) termination of the invocation of an operation on an object, which occurs at that object's location” Flow of Control (Coordination) Provide communication channels (Communication).

Event Connectors (con't) Event Connectors establish virtual connectors between components interested in the same event topics. Rely on notion of time and ordering of actions. Dimensions such as casuality, atomicity, and sychronicity play a critical role.(!).

Event Connectors (con't) Example of an event connector in practice: An Android application ecosystem where one component broadcasts an Intent (Java object containing event data) to several listening Activity objects for processing. User deactivates Bluetooth while an application that requires it is running. That application's Activity objects are notified so that they may act accordingly.

Data Access Connectors Allow components to access data maintained by a data store. (Communication). May need to convert data into a usable format (Conversion). Data can be stored persistently (SQL database access) or temporarily (accessing cached values).

Linkage Connectors: Used to tie system components together. Enable the establishment of ducts used by higher order connectors to enforce interaction semantics (Facilitation). May disappear once no longer needed, or remain in order to facilitate the system's evolution.

Linkage Connectors (con't) Linkage connectors have a dimension called “granularity”, which refers to the size of components and level of detail required to establish a linkage:  Unit: specifies that only one component depends on another  Syntactic: establishes links between variables, procedures, functions, constants, and types within the linked components.  Semantic: specifies how the linked components are supposed to interact.

Stream Connectors Used to perform transfers of large amounts of data (Communication). Can be combined with other types of connectors. Examples: Unix pipes, TCP/UDP communication sockets, client-server protocols.

Arbitrator Connectors When components cannot make assumptions about the needs and state of other components, arbitrator connectors streamline operation and resolve conflicts, and redirect the flow of control (Facilitation and Coordination). Provide scheduling and load balancing services. Can ensure system trustworthiness by providing crucial support for dependability in the form of reliability, safety, and security.

Adaptor Connectors Provide facilities to support interaction between components that have not been designed to interoperate. (Conversion). Necessary for heterogeneous environments. Can be used to optimize interactions. May employ transformations to match required services to available facilities. Example: Java wrapper/JVM plugin that interfaces with a daemon written in C.

Distributor Connectors “Distributor connectors perform the identification of interaction paths and subsequent routing of communication and coordination information among components along these paths” (Facilitation). Never exist by themselves, but provide assistance to other connectors.

Examples of Distributed Connectors Four examples of distributed connectors that use multiple connector types  Event-Based Data Distribution Connectors  Grid-Based Data Distribution Connectors  Client-Server—Base Data Distribution Connectors  P2P-Based Data Distribution Connectors.

Event-Based Data Distribution Connectors Compositions of four of the connector types:  Event, data access, stream, and distributor. Send and receive asynchronous notifications called events. Events can be prioritized, tailored, and specified by system users. Data can be accessed, possibly mutated, and packaged into streams using a best- effort approach.

Grid-Based Data Distribution Connectors Composition of four of the connector types  Procedure call, data access, stream, and distributor. Invoked via a named, synchronous procedure call.  URLs describe where the data is and who is to receive it. Access and mutate transient and persistent data Package data into streams.

Grid-Based Data Distribution Connectors Data delivered using the grid environment. Data can be delivered to multiple consumers.

Client-Server—Based Data Distribution Connectors Composition of four of the connector types  Procedure call, data access, stream, and distributor. Invoked via remote procedure calls that appear to the client to be local procedure calls.  Method can have return values Upon invocation, data is accessed, mutated, and packaged into streams. Data is streamed back using a naming registry to locate the requesting consumer.

P2P-Based Data Distribution Connectors Composition of four of the connector types:  Arbitrator, data access, stream, and distributor. Relies on arbitration for synchronization and invocation.  “Arbitration involves control flow redirection between distributed resources, or peers, operating in a networked environment.” Uses rendezvous as a mechanism to achieve concurrency and scheduling.

P2P-Based Data Distribution Connectors (con't) Upon invocation, peers engage in accessing transient and persistent data. Data is accessed and packaged via streams using a best effort bounded mechanism. Data is obtained by locating other peers with desired pieces of data. Data Routing is mostly handled by a tracking mechanism.