current trends & other topicstddd05/lectures/slides/f12-current-trends.pdf · •no semantic...
TRANSCRIPT
![Page 1: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/1.jpg)
Current trends & other topics
TDDD05: Component-based software
fredag 21 mars 14
![Page 2: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/2.jpg)
Agenda
• Current trends
• Dependency management
• Loose coupling and component software
• Enterprise Integration Patterns & Messaging Systems
fredag 21 mars 14
![Page 3: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/3.jpg)
Simplicity
2000 Now
CORBAJava EE/ICE/Thrift/Protocol
Buffers
Enterprise Java Beans (EJB) Spring/Tapestry
SOAP REST
AspectJ Ruby/Python/Reflection
Components Systems
fredag 21 mars 14
![Page 4: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/4.jpg)
CBSE over time
0
200
400
600
800
1998 2000 2002 2004 2006 2008 2010 2012
Submissions Citations
J. Maras, L. Lednicki, and I. Crnkovic. 15 years of CBSE symposium: Impact on the research community. In Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE ’12, pages 61–70, New York, NY, USA, 2012. ACM.
”This can be a sign that CBSE as a research area becomes less interesting either as it has been integrated as a standard approach in software engineering practice, or that the approach did not succeed to realize its promises.”
fredag 21 mars 14
![Page 5: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/5.jpg)
Figure 5. Types of validation CBSE 1998-2011
In this case, the overall data might be misleading, because it presents that the considerable amount of papers does not provide any validation. However, this is mostly because in the early years of CBSE events (while it was still a workshop), there was a considerable number of position papers, which usually do not present any validation. For this reason, we also present validations obtained by only analyzing papers in a more mature phase of the CBSE events lifecycle (2004-2011). Here we can see that a considerably lower number of the papers do not have any (proper) validation.
Figure 6. Types of validation CBSE 2004-2011
7. ADDITIONAL STATISTICS Here we provide additional statistics related to the CBSE events and the CBSE community that was built around these events: authors’ affiliation statistics, authors’ geographical distributions, and the most active research centers.
7.1 Affiliation statistic We have categorized authors’ affiliation in three categories: !) Univesity, !!) Institute, and !!!) Private Company, see Figure 7. Even though the percentage of industrial contribution could be higher, it nonetheless shows that there are strong connections between this research community and the industry.
Figure 7. Affiliation Statistics
Geographical distribution – based on the authors’ affiliation, we have also categorized the papers according to continents and countries, see Figure 8.
Figure 8. Paper distribution by continents and countries
In addition to these statistics, we also though that it would be beneficiary to note the top ten research centers contributing in CBSE events – shown in Figure 9.
Figure 9. Top Ten Contributors Research Centers in CBSE
38%$
25%$
19%$
12%$
5%$
1%$0%$
Not$presented$
Academic$case$study$
Simple$Example$
Experiments$
Industrial$case$study$
Formal$SpecificaAon$
Literature$comparison$
16%$
39%$18%$
19%$
7%$
1%$
Not$presented$
Academic$case$study$
Simple$examples$
Experiments$
Industrial$case$study$
Formal$specifica@on$
Literature$comparision$
70,40%&
19%&
14,40%&
University&
Company&
Ins8tute&
0%!20%!40%!60%!80%!100%!
Europe
'N.America'
Asia'
Australia'
S.'America'
USA
'France'
Germ
any'
Swed
en'
Australia'
Italy'
Canada'
Spain'
China'
Geographical'distribu?on'
0!5!10!15!20!
No'of'publica?ons'
69From J. Maras, L. Lednicki, and I. Crnkovic. 15 years of CBSE symposium: Impact on the research community. In Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE ’12, pages 61–70, New York, NY, USA, 2012. ACM.
ä
fredag 21 mars 14
![Page 6: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/6.jpg)
Figure 5. Types of validation CBSE 1998-2011
In this case, the overall data might be misleading, because it presents that the considerable amount of papers does not provide any validation. However, this is mostly because in the early years of CBSE events (while it was still a workshop), there was a considerable number of position papers, which usually do not present any validation. For this reason, we also present validations obtained by only analyzing papers in a more mature phase of the CBSE events lifecycle (2004-2011). Here we can see that a considerably lower number of the papers do not have any (proper) validation.
Figure 6. Types of validation CBSE 2004-2011
7. ADDITIONAL STATISTICS Here we provide additional statistics related to the CBSE events and the CBSE community that was built around these events: authors’ affiliation statistics, authors’ geographical distributions, and the most active research centers.
7.1 Affiliation statistic We have categorized authors’ affiliation in three categories: !) Univesity, !!) Institute, and !!!) Private Company, see Figure 7. Even though the percentage of industrial contribution could be higher, it nonetheless shows that there are strong connections between this research community and the industry.
Figure 7. Affiliation Statistics
Geographical distribution – based on the authors’ affiliation, we have also categorized the papers according to continents and countries, see Figure 8.
Figure 8. Paper distribution by continents and countries
In addition to these statistics, we also though that it would be beneficiary to note the top ten research centers contributing in CBSE events – shown in Figure 9.
Figure 9. Top Ten Contributors Research Centers in CBSE
38%$
25%$
19%$
12%$
5%$
1%$0%$
Not$presented$
Academic$case$study$
Simple$Example$
Experiments$
Industrial$case$study$
Formal$SpecificaAon$
Literature$comparison$
16%$
39%$18%$
19%$
7%$
1%$
Not$presented$
Academic$case$study$
Simple$examples$
Experiments$
Industrial$case$study$
Formal$specifica@on$
Literature$comparision$
70,40%&
19%&
14,40%&
University&
Company&
Ins8tute&
0%!20%!40%!60%!80%!100%!
Europe
'N.America'
Asia'
Australia'
S.'America'
USA
'France'
Germ
any'
Swed
en'
Australia'
Italy'
Canada'
Spain'
China'
Geographical'distribu?on'
0!5!10!15!20!
No'of'publica?ons'
69From J. Maras, L. Lednicki, and I. Crnkovic. 15 years of CBSE symposium: Impact on the research community. In Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE ’12, pages 61–70, New York, NY, USA, 2012. ACM.
ä
fredag 21 mars 14
![Page 7: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/7.jpg)
Dependency management
fredag 21 mars 14
![Page 8: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/8.jpg)
fredag 21 mars 14
![Page 9: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/9.jpg)
fredag 21 mars 14
![Page 10: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/10.jpg)
Dependency management
• Nodes are concrete or abstract components (abstract nodes have several candidate implementations)
• Edges denote relationships such as dependencies, replacements & conflicts
fredag 21 mars 14
![Page 11: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/11.jpg)
Dependency management issues
• Is a request to modify the current software component graph satisfiable?
• Are additions compatible with other components?
• Are deletions safe with respect to other dependencies?
• Given a component, determine versions of other components we can safely rely on
fredag 21 mars 14
![Page 12: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/12.jpg)
Dependency management as
satisfiability
fredag 21 mars 14
![Page 13: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/13.jpg)
Dependency management as
satisfiability (a | b | c) & (d | e | f) ... = TRUE
fredag 21 mars 14
![Page 14: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/14.jpg)
Dependency management as
satisfiability (a | b | c) & (d | e | f) ... = TRUE
(a | b | c) & (-c) & (-b | -a) ... = TRUE
fredag 21 mars 14
![Page 15: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/15.jpg)
Dependency management as
satisfiability (a | b | c) & (d | e | f) ... = TRUE
(a | b | c) & (-c) & (-b | -a) ... = TRUE
A requires B provided by B1, B2, B3Rule: (-A | B1 | B2 | B3)
fredag 21 mars 14
![Page 16: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/16.jpg)
Dependency management as
satisfiability (a | b | c) & (d | e | f) ... = TRUE
(a | b | c) & (-c) & (-b | -a) ... = TRUE
A requires B provided by B1, B2, B3Rule: (-A | B1 | B2 | B3)
A conflicts with B provided by B1, B2, B33 Rules: (-A | -B1), (-A | -B2), (-A | -B3)
fredag 21 mars 14
![Page 17: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/17.jpg)
Dependency management as
satisfiability (a | b | c) & (d | e | f) ... = TRUE
(a | b | c) & (-c) & (-b | -a) ... = TRUE
A requires B provided by B1, B2, B3Rule: (-A | B1 | B2 | B3)
A conflicts with B provided by B1, B2, B33 Rules: (-A | -B1), (-A | -B2), (-A | -B3)
Rules
fredag 21 mars 14
![Page 18: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/18.jpg)
Dependency management issues
• Y depends on X >= 1.8. X makes binary incompatible changes from v. 1.9 to v. 2.0...
• Can components be installed from local sources as well as from remote?
• Should OS-specific dependency management or language-specific be used?
fredag 21 mars 14
![Page 19: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/19.jpg)
Software package management systems
Name Environment Format
NuGet .Net CLR XML
Gradle JVM XML
dpkg/APT Linux Ar archive
Rubygems Ruby Ruby
MSI Windows In-file DB
BSD Ports OS X/Linux/BSD Makefile
.........
fredag 21 mars 14
![Page 20: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/20.jpg)
Coupling
Loose coupling = weak assumptionsfredag 21 mars 14
![Page 21: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/21.jpg)
Coupling
Technique Assumptions
OO Frameworks
•Base classes are stable•Same architectural design (layered/blackboard/...)•No entity overlap occurs•No semantic differences between properties in similar classes•No responsibility conflicts (server/client)
Remote Method Invocation
•All calls should be synchronous•All types can be converted transparently•Object management is transparent•All method signatures match exactly
Loose coupling = weak assumptionsfredag 21 mars 14
![Page 22: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/22.jpg)
Coupling
Technique Assumptions
OO Frameworks
•Base classes are stable•Same architectural design (layered/blackboard/...)•No entity overlap occurs•No semantic differences between properties in similar classes•No responsibility conflicts (server/client)
Remote Method Invocation
•All calls should be synchronous•All types can be converted transparently•Object management is transparent•All method signatures match exactly
Loose coupling = weak assumptionsfredag 21 mars 14
![Page 23: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/23.jpg)
Coupling
Technique Assumptions
OO Frameworks
•Base classes are stable•Same architectural design (layered/blackboard/...)•No entity overlap occurs•No semantic differences between properties in similar classes•No responsibility conflicts (server/client)
Remote Method Invocation
•All calls should be synchronous•All types can be converted transparently•Object management is transparent•All method signatures match exactly
Loose coupling = weak assumptionsfredag 21 mars 14
![Page 24: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/24.jpg)
Enterprise Integration Patterns
fredag 21 mars 14
![Page 25: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/25.jpg)
Messaging system
Message Channel
Sender Application Receiver Application
fredag 21 mars 14
![Page 26: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/26.jpg)
Aspects of Messaging Systems
Aspect Header Body
Security x x
Routing x
Metadata x x
Subscription x
Policy x x
fredag 21 mars 14
![Page 27: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/27.jpg)
Messaging systems
fredag 21 mars 14
![Page 28: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/28.jpg)
Messaging systems
JSONXMLFormats
fredag 21 mars 14
![Page 29: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/29.jpg)
Messaging systems
JSONXML
AMQPDDSXMPPProtocols
Formats
STOMP
fredag 21 mars 14
![Page 30: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/30.jpg)
Messaging systems
JSONXML
AMQPDDSXMPP
Routing Queueing Transformation
Protocols
Services
Formats
STOMP
fredag 21 mars 14
![Page 31: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/31.jpg)
Messaging systems
JSONXML
AMQPDDSXMPP
Routing Queueing Transformation
Protocols
Services
Formats
Implementations
STOMP
fredag 21 mars 14
![Page 32: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/32.jpg)
Messaging systems
JSONXML
AMQPDDSXMPP
Routing Queueing Transformation
Protocols
Services
Formats
Implementations JMS
STOMP
fredag 21 mars 14
![Page 33: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/33.jpg)
Messaging systems
JSONXML
AMQPDDSXMPP
Routing Queueing Transformation
Protocols
Services
Formats
Implementations JMS
STOMP
Windows Azure Service Bus
fredag 21 mars 14
![Page 34: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/34.jpg)
Messaging systems
JSONXML
AMQPDDSXMPP
Routing Queueing Transformation
Protocols
Services
Formats
Implementations JMS
STOMP
ActiveMQWindows Azure
Service Bus
Just some examples
fredag 21 mars 14
![Page 35: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/35.jpg)
AMQP: Advanced Message Queueing
Protocol
https://www.rabbitmq.com/tutorials/amqp-concepts.html
AMQP Broker
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 36: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/36.jpg)
AMQP Broker
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 37: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/37.jpg)
AMQP Broker
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 38: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/38.jpg)
fredag 21 mars 14
![Page 39: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/39.jpg)
fredag 21 mars 14
![Page 40: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/40.jpg)
Exchange
~ UDP Unicast
AQMP
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 41: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/41.jpg)
Exchange (2)
~ UDP Broadcast
AQMP
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 42: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/42.jpg)
AMQP Broker
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 43: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/43.jpg)
AMQP Broker
Publisher Exchange Queue Consumerpublishes routes consumes
fredag 21 mars 14
![Page 44: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/44.jpg)
fredag 21 mars 14
![Page 45: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/45.jpg)
fredag 21 mars 14
![Page 46: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/46.jpg)
QueueAQMP
Publisher Exchange Queue Consumerpublishes routes consumes
Name identifier
Durability Should it survive a broker restart?
Auto-deleted Deleted if no consumer subscribes?
Exclusive Shared between connections?
Extra arguments Broker-specific features
fredag 21 mars 14
![Page 47: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/47.jpg)
AMQP Connections
fredag 21 mars 14
![Page 48: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/48.jpg)
AMQP Connections
TCP Connection
fredag 21 mars 14
![Page 49: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/49.jpg)
AMQP Connections
TCP Connection
SSL Connection
fredag 21 mars 14
![Page 50: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/50.jpg)
AMQP Connections
TCP Connection
SSL Connection
AMQP Connection
AMQP Connection
AMQP Connection
n
1
fredag 21 mars 14
![Page 51: Current trends & other topicsTDDD05/lectures/slides/F12-Current-Trends.pdf · •No semantic differences between properties in similar classes •No responsibility conflicts (server/client)](https://reader034.vdocuments.mx/reader034/viewer/2022052007/601bcab9e492e2464d4ed1e7/html5/thumbnails/51.jpg)
AMQP Summary
• Extensible
• Standardized (by OASIS)
• Fairly mature
• Requires asynchronous processing
• A new type of infrastructure
fredag 21 mars 14