Padres Communication Protocols

691 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
691
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Padres Communication Protocols

  1. 1. Communication Universal and Faster Arwid Bancewicz, Chuma Chukwulozie Supervisor: Prof. Hans-Arno Jacobsen, MSRG, UofT Thursday February 11 2010 1
  2. 2. Outline • Introduction: Motivation + Background • Part 1: Making it Universal • Part 2: Making it Faster + Use Cases • Progress Status & Summary 2
  3. 3. Introduction 3
  4. 4. Introduction Motivation ...mrrr... huh? mrrrr...... murr... • Need language interpreter or “middleman” to facilitate communication ‣ Middleman for humans............. Interpreter ‣ Middleware for applications........ PADRES 4
  5. 5. Introduction Background • PADRES ‣ Distributed - Divide problem up for Brokers ‣ Publish/Subscribe - Type of communication ‣ Middleware - Facilitates communication between software applications 5
  6. 6. Introduction Communication network Subscriber Publisher Publisher Subscriber Brokers Subscriber Publisher 6
  7. 7. Introduction Communication network Application Application Subscriber Publisher Publisher Brokers Application Application Publisher Subscriber 7
  8. 8. Introduction Communication network What is the temperature in Application Toronto? Application S Subscriber Publisher Publisher Brokers Application Application Publisher Subscriber 8
  9. 9. Introduction Communication network Application Application S Subscriber Publisher Publisher Brokers Application Application Publisher Subscriber 9
  10. 10. Introduction Communication network The temperature in Application Application Toronto is -7 Subscriber Publisher P Publisher S Brokers Application Application Publisher Subscriber 10
  11. 11. Introduction Communication network Application Application Subscriber Publisher P Publisher S Brokers Application Application Publisher Subscriber 11
  12. 12. Introduction Communication network The temperature in Toronto is -7 Application Application P Subscriber Publisher Publisher S Brokers Application Application Publisher Subscriber 12
  13. 13. PART 1: Making it Universal 13
  14. 14. Part 1: Making it Universal Standard Formats • Accept more standardized communication protocols for information exchange • XML: long-time standard • JSON: simple, light-weight • YAML: highly human-readable 14
  15. 15. Part 1: Making it Universal Implementation JavaCC Parsers and Message Creation PADRES Message JavaCC Parsers S P A XML Parser Message JSON Parser US USC UA YAML Parser CS 15
  16. 16. PART 2: Making it FASTER 16
  17. 17. Part 2: Making it Faster Currently • PADRES uses Java RMI Advantages Handles threads, sockets Garbage Collection Serialization • Overall not efficient! 17
  18. 18. Part 2: Making it Faster Currently • PADRES uses Java RMI Advantages Disadvantages Handles threads, sockets Strictly Java Garbage Collection Security Issues Serialization Overhead • Overall not efficient! 18
  19. 19. Part 2: Making it Faster Alternatives • SOAP: uses HTTP as transport • XML-RPC: same advantages, no support for unicode characters • CORBA: supports concurrency; security and authentication • RAW Sockets: no overhead, no 3rd party libraries 19
  20. 20. Part 2: Making it Faster Benchmarking Alternatives SOAP XML-RPC CORBA Raw Sockets 0.294 0.30 0.23 0.15 0.083 0.08 0.005 0 0.001 20 Courtesy of IBM DeveloperWorks Web Services
  21. 21. Part 2: Making it Faster Sockets Implementation • Lot of code ‣ Use NIO package • Error Control ‣ Ensure it passes all test cases • Concurrency ‣ PADRES provides framework 21
  22. 22. Part 2: Making it Faster Use Cases 22
  23. 23. Part 2: Making it Faster Use Cases Supply chain and logistics 23
  24. 24. Part 2: Making it Faster Use Cases Supply chain and logistics Job Scheduling and more... 24
  25. 25. Progress Status & Summary 25
  26. 26. Progress Status & Summary Project Status • On Schedule. Milestones Done? PADRES Installation Yes User-client Interface Yes JavaCC Parsers & Message Creation Yes Integrate & Test Parsers with Client API Yes Broker-broker Communication In Progress Verify & Validate Efficiency Improvement No Stabilize and Release new version of PADRES No 26
  27. 27. Progress Status & Summary Summary & Conclusion • Expansion of user-client interface ‣ Parsers for XML, JSON, YAML • Faster messaging technology ‣ Java NIO Sockets • Project is on schedule 27
  28. 28. Thank You. Any Questions? 28

×