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.

Service-Oriented Architecture Benchmark

846 views

Published on

  • Be the first to comment

  • Be the first to like this

Service-Oriented Architecture Benchmark

  1. 1. Service-Oriented Architecture Benchmark Peter Budny Georgia Institute of Technology
  2. 2. Definitions <ul><li>Service-oriented architecture (SOA) </li></ul><ul><ul><li>Architecture design pattern </li></ul></ul><ul><ul><ul><li>Loosely-coupled components </li></ul></ul></ul><ul><ul><ul><li>Components export/import services </li></ul></ul></ul><ul><li>Service </li></ul><ul><ul><li>Function </li></ul></ul><ul><ul><ul><li>Available through a programmatic interface </li></ul></ul></ul><ul><ul><ul><li>Request phrased as question </li></ul></ul></ul><ul><ul><ul><li>Response is the answer to the question </li></ul></ul></ul>
  3. 3. Web Services <ul><li>Three meanings </li></ul><ul><ul><li>A collection of standards (SOAP, XML, WSDL, UDDI, etc.) </li></ul></ul><ul><ul><li>A design pattern in which an application exports a function through a programmatic interface </li></ul></ul><ul><ul><li>An application constructed using (1) or (2) </li></ul></ul><ul><li>Either orthogonal or unrelated to SOA </li></ul>
  4. 4. Attributes of a SOA <ul><li>Descriptive requests, not instructive </li></ul><ul><li>Idempotent requests </li></ul><ul><ul><ul><li>Responses may differ when underlying data or resources change, but otherwise must be identical </li></ul></ul></ul><ul><li>Structured responses, not arbitrary data </li></ul><ul><li>An architecture, not a standard </li></ul>
  5. 5. Motivation <ul><li>Want to experiment on SOAs and other complex, multi-tier systems </li></ul><ul><li>No suitable testbeds or benchmarks exist </li></ul>
  6. 6. Inspiration <ul><li>Global distribution system (GDS) </li></ul><ul><ul><li>Prices air fares </li></ul></ul><ul><ul><li>Sells tickets on behalf of airlines </li></ul></ul><ul><ul><li>May also handle hotels, car rentals, cruises, etc. </li></ul></ul>
  7. 7. Inspiration <ul><li>Worldspan </li></ul><ul><ul><li>Provides pricing for Delta Air Lines, Northwest Airlines, Orbitz, Hotwire, Priceline, and more </li></ul></ul><ul><ul><li>1500-node farm </li></ul></ul><ul><ul><li>3 GB domestic data, 13 GB international </li></ul></ul><ul><ul><li>11.6 million pricing requests/day (average) </li></ul></ul><ul><ul><li>Average response time ~2 sec </li></ul></ul>
  8. 8. Inspiration Customer Orbitz Hotwire Priceline delta.com Worldspan Pricing data consolidator Delta Northwest AirTran ticket sales pricing data
  9. 9. Inside Worldspan Mainframe (load balancer) IBM MQ Queue Queue Queue QN QN Query node Query process Shared cache Query process Database Cache file server data update cache miss …
  10. 10. Our model <ul><li>Start small </li></ul><ul><ul><li>Implement just basic services, add more as needed </li></ul></ul><ul><li>Simplify </li></ul><ul><ul><li>Protect IP, avoid creating a very complex app </li></ul></ul><ul><ul><li>Clean up architecture </li></ul></ul><ul><ul><li>Use open technologies </li></ul></ul>
  11. 11. Our model Customer GDS Travel website
  12. 12. Our model Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB
  13. 13. Our model Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB HTTP
  14. 14. Our model Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB SOAP
  15. 15. Our model Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB JMS/SOAP
  16. 16. Expansion <ul><li>Internal </li></ul><ul><ul><li>Caches </li></ul></ul><ul><ul><li>Advanced features </li></ul></ul>
  17. 17. Expansion Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB
  18. 18. Expansion Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB
  19. 19. Expansion Customer GDS Travel website Load generator Web server Load balancer Query node QN QN DB Cache
  20. 20. Expansion Customer GDS Travel website Load generator Web server Auto partitioning load balancer Query node QN QN DB Request history Cache
  21. 21. Expansion <ul><li>Internal </li></ul><ul><ul><li>Caches </li></ul></ul><ul><ul><li>Advanced features </li></ul></ul><ul><li>External </li></ul><ul><ul><li>Real-world services </li></ul></ul><ul><ul><li>Other experimental tools </li></ul></ul>
  22. 22. Expansion Customer Travel website GDS
  23. 23. Expansion Customer Travel website GDS Airline 1 Airline 2 Pricing data consolidator pricing data
  24. 24. Expansion Customer Travel website GDS Airline 1 Airline 2 Pricing data consolidator ticket sales pricing data
  25. 25. Expansion Customer Travel website GDS Airline 1 Airline 2 Java Adventure Builder Hotels Pricing data consolidator ticket sales pricing data
  26. 26. Expansion Customer Travel website GDS Airline 1 Airline 2 Java Adventure Builder Hotels Pricing data consolidator Weather website ticket sales pricing data
  27. 27. Expansion Customer Travel website GDS Airline 1 Airline 2 Java Adventure Builder Hotels Intel Mash Maker Pricing data consolidator Airline seating database Weather website ticket sales pricing data
  28. 28. Worldspan’s Contributions <ul><li>1 GB data </li></ul><ul><ul><li>Later will include several “update streams” for longer simulations </li></ul></ul><ul><li>Request traces </li></ul>
  29. 29. More Information <ul><li>Temporary homepage </li></ul><ul><ul><li>http://www.cc.gatech.edu/~bigpeteb/soa_benchmark.html </li></ul></ul><ul><li>Draft white paper available </li></ul>
  30. 30. Questions?

×