Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Padres Communication Protocols

829 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

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

×