SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Group Members:
Jayaweera W.J.A.I.U. 100227D
Kumarasiri M.K.D.S. 100285C
Liyanage K.L.D.U. 100299X
Sajeewa G.K.M.C. 100470N
Wijewardane M.M.D.T.K.
100612E
Stream Connector
What is a Connector?
 A software connector provides one or more of four
general classes of services:
Communication
Coordination
Conversion
Facilitation
What is a Stream?
 Streams in a software are used to transfer large
amount of data between autonomous processes.
What does the stream
connectors do?
 Stream connection provides
communication services
of the system to support
transmission of data among
components.
What other connector types
which can be connected with
stream?
 Data Access Connectors
 To provide composite connectors for performing
database and file storage access
 Event connectors
 To multiplex the delivery of large number of
events
Use of Stream
Connectors
Examples of Stream
Connector
Unix Pipes
TCP and UDP communication sockets
Proprietary Client-Server protocols
Unix Pipes
Keyboard Program
1
Program
3
Program
2
stdin
Display
stderr
stdout/stdin
stdout/stdin
stderr
stderr
stdout
TCP/UDP Communication Sockets
Process X Process Y
…. Port N ….
TCP
…. Port N ….
TCP
IP IP
Example- Code
public class StartGame {
Socket gameServerSocket;
InputStreamReader inputStreamReader;
BufferedReader bufferedReader;
PrintWriter printWriter;
public void startGame(){
try {
gameServerSocket = new Socket("127.0.0.1", 6000);
System.out.println( gameServerSocket.isConnected());
System.out.println("Connected!!!!!!!!!!!!!");
printWriter=new
PrintWriter(gameServerSocket.getOutputStream());
printWriter.print("JOIN#");
Advantages of using Stream
Disadvantages of using Stream
Variations of Stream Connector
 So many options are available to a software engineer to
construct a stream connector.
 Stream can be described according to following
dimensions,
• Cardinality of communication
• Format
• Synchronicity
• Locality
• Identity
• State
• Throughput
• Buffering
• Bounds
• Delivery
Variations of Streams According to Their
Dimensions
Cardinality – number of parties involve in communication.
Format – format of data which is carried in the stream.
Synchronicity- whether stream provides synchronicity or not
Locality – scope of communication
Identity – whether the stream-base connector is named or unnamed
Variations (ctd…)
State - whether stream maintains communication state or not
Throughput – number of data units transferred in unit time
Bounds - whether the stream-base connector is bounded or
unbounded
Buffering - whether it contains a buffer or not for flow control
Delivery - effort it takes to transfer data
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 
Kendall sad8e ch01
Kendall sad8e ch01Kendall sad8e ch01
Kendall sad8e ch01
N/A
 

Was ist angesagt? (20)

Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
HCI 3e - Ch 9: Evaluation techniques
HCI 3e - Ch 9:  Evaluation techniquesHCI 3e - Ch 9:  Evaluation techniques
HCI 3e - Ch 9: Evaluation techniques
 
Kendall sad8e ch01
Kendall sad8e ch01Kendall sad8e ch01
Kendall sad8e ch01
 
drag and drop.pdf
drag and drop.pdfdrag and drop.pdf
drag and drop.pdf
 
Programing Style
Programing StylePrograming Style
Programing Style
 
HCI 3e - Ch 18: Modelling rich interaction
HCI 3e - Ch 18:  Modelling rich interactionHCI 3e - Ch 18:  Modelling rich interaction
HCI 3e - Ch 18: Modelling rich interaction
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented Development
 
HCI 3e - Ch 15: Task analysis
HCI 3e - Ch 15:  Task analysisHCI 3e - Ch 15:  Task analysis
HCI 3e - Ch 15: Task analysis
 
Uml
UmlUml
Uml
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Chapter01 the systems development environment
Chapter01 the systems development environmentChapter01 the systems development environment
Chapter01 the systems development environment
 
Software developement life cycle ppt
Software developement life cycle pptSoftware developement life cycle ppt
Software developement life cycle ppt
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAM
 
HCI 3e - Ch 16: Dialogue notations and design
HCI 3e - Ch 16:  Dialogue notations and designHCI 3e - Ch 16:  Dialogue notations and design
HCI 3e - Ch 16: Dialogue notations and design
 
Introduction to transaction management
Introduction to transaction managementIntroduction to transaction management
Introduction to transaction management
 

Andere mochten auch (7)

Software connector type - Adaptor
Software connector type - AdaptorSoftware connector type - Adaptor
Software connector type - Adaptor
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
An example of Future composition in a real app
An example of Future composition in a real appAn example of Future composition in a real app
An example of Future composition in a real app
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9
 
07 software connectors
07 software connectors07 software connectors
07 software connectors
 
07 software connectors (2)
07 software connectors (2)07 software connectors (2)
07 software connectors (2)
 
Software Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysisSoftware Architecture connectors - ActiveMQ analysis
Software Architecture connectors - ActiveMQ analysis
 

Ähnlich wie Stream connectors

Internetworking
InternetworkingInternetworking
Internetworking
Raghu nath
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networks
techbed
 
group11_DNAA:protocol stack and addressing
group11_DNAA:protocol stack and addressinggroup11_DNAA:protocol stack and addressing
group11_DNAA:protocol stack and addressing
Anitha Selvan
 
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Jorgen Thelin
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.ppt
ImXaib
 
Collaboration and Grid Technologies
Collaboration and Grid TechnologiesCollaboration and Grid Technologies
Collaboration and Grid Technologies
Videoguy
 

Ähnlich wie Stream connectors (20)

Automating System-Level Data-Interchange Software through a System Interface ...
Automating System-Level Data-Interchange Software through a System Interface ...Automating System-Level Data-Interchange Software through a System Interface ...
Automating System-Level Data-Interchange Software through a System Interface ...
 
Cs556 section1
Cs556 section1Cs556 section1
Cs556 section1
 
Ch 2 network
Ch 2 networkCh 2 network
Ch 2 network
 
Internetworking
InternetworkingInternetworking
Internetworking
 
934 Ch1 Networks
934 Ch1  Networks934 Ch1  Networks
934 Ch1 Networks
 
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
 
group11_DNAA:protocol stack and addressing
group11_DNAA:protocol stack and addressinggroup11_DNAA:protocol stack and addressing
group11_DNAA:protocol stack and addressing
 
nv.ppt
nv.pptnv.ppt
nv.ppt
 
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
 
Language (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesLanguage (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based Services
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
 
Fundamental Of Computer Network.
Fundamental Of Computer Network. Fundamental Of Computer Network.
Fundamental Of Computer Network.
 
OSI layer by cisco
OSI layer by ciscoOSI layer by cisco
OSI layer by cisco
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Advantage of WCF Over Web Services
Advantage of WCF Over Web ServicesAdvantage of WCF Over Web Services
Advantage of WCF Over Web Services
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.ppt
 
Collaboration and Grid Technologies
Collaboration and Grid TechnologiesCollaboration and Grid Technologies
Collaboration and Grid Technologies
 
seven layer OSI model
seven layer OSI modelseven layer OSI model
seven layer OSI model
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
Measuring black boxes
Measuring black boxesMeasuring black boxes
Measuring black boxes
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Stream connectors

  • 1. Group Members: Jayaweera W.J.A.I.U. 100227D Kumarasiri M.K.D.S. 100285C Liyanage K.L.D.U. 100299X Sajeewa G.K.M.C. 100470N Wijewardane M.M.D.T.K. 100612E Stream Connector
  • 2. What is a Connector?  A software connector provides one or more of four general classes of services: Communication Coordination Conversion Facilitation
  • 3. What is a Stream?  Streams in a software are used to transfer large amount of data between autonomous processes.
  • 4. What does the stream connectors do?  Stream connection provides communication services of the system to support transmission of data among components.
  • 5. What other connector types which can be connected with stream?  Data Access Connectors  To provide composite connectors for performing database and file storage access  Event connectors  To multiplex the delivery of large number of events
  • 7. Examples of Stream Connector Unix Pipes TCP and UDP communication sockets Proprietary Client-Server protocols
  • 9. TCP/UDP Communication Sockets Process X Process Y …. Port N …. TCP …. Port N …. TCP IP IP
  • 10. Example- Code public class StartGame { Socket gameServerSocket; InputStreamReader inputStreamReader; BufferedReader bufferedReader; PrintWriter printWriter; public void startGame(){ try { gameServerSocket = new Socket("127.0.0.1", 6000); System.out.println( gameServerSocket.isConnected()); System.out.println("Connected!!!!!!!!!!!!!"); printWriter=new PrintWriter(gameServerSocket.getOutputStream()); printWriter.print("JOIN#");
  • 11. Advantages of using Stream Disadvantages of using Stream
  • 12. Variations of Stream Connector  So many options are available to a software engineer to construct a stream connector.  Stream can be described according to following dimensions, • Cardinality of communication • Format • Synchronicity • Locality • Identity • State • Throughput • Buffering • Bounds • Delivery
  • 13.
  • 14. Variations of Streams According to Their Dimensions Cardinality – number of parties involve in communication. Format – format of data which is carried in the stream. Synchronicity- whether stream provides synchronicity or not Locality – scope of communication Identity – whether the stream-base connector is named or unnamed
  • 15. Variations (ctd…) State - whether stream maintains communication state or not Throughput – number of data units transferred in unit time Bounds - whether the stream-base connector is bounded or unbounded Buffering - whether it contains a buffer or not for flow control Delivery - effort it takes to transfer data
  • 16. Q & A

Hinweis der Redaktion

  1. Connector – An architectural component or a mechanism for, assembling functional software components supporting their interactionNecessity – Due to component based architecture
  2. Stream – In day to day language – Flow of fluids in a specific direction between two placesStreams – In software - To transfer large amount of data between autonomous processes
  3. Connectors providing communication services to support transmission of data among components. Data transfer blocks are primary building block of component interaction. Components, routinely pass messages exchange data to be processed communicate results of computations.Streams are also used in client server systems with data transfer protocols to deliver results of computation.
  4. Stream connectors are used to provide, a synchronous remote interaction of structured data among processes.
  5. Java streams
  6. In Unix-like operating systems, a pipeline is the original software pipeline. It is a chain of commands, in which the output from a particular process is fed into the next process as input. Two or more commands connected this way forms a pipe. When a program takes an input and do some processing on that and writes the result into the standard output, it is called a filter. Here all the programs run parallel, even though it can be identified as functional programming, which implies the output from one process is fed as an input to the next.While stdout and stdin writes into the next program, the standard error stream(stderr) is not passed through the pipeline, it is directed to the console by default.
  7. To manage the connection between application layer protocols, TCP and UDP use ports and sockets. The socket connection maintains a consistent port number throughout the connection. They provide a host-to-host communication in the IP communication. This implies two processes are connected to perform a particular task. i.e. two processes communicate via TCP sockets and it provides a process with a full-duplex byte stream connection to another process. In this host-to-host connection, a server process is running on one host while a client process runs in the other.
  8. ADVANTAGES----------------Separate computation from interaction Minimize component interdependencies Support software evolution Potential for supporting dynamism Facilitate heterogeneity Become points of distribution Aid system analysis & testing
  9. This slide shows the overall taxonomy of stream connectors
  10. Cardinality -It can be binary or n-ary. Under n-ary streams there can be stream of multiple senders, multiple receivers, multiple sender/ReceiverFormat- can be structured according to a particular standard. Or it can be just raw data.Synchronicity- some streams may be synchronous and some may be asynchronous.Locality- it can be a local interaction or remote interaction.Identity- named or unnamed
  11. State – stateless or statefulThroughput- atomic units or higher order unitsBounds – bounded or unbounded.Buffering- buffered or unbuffered.Delivery – best effort ,exactly once, at least once, at most once