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