Agility with Services – The eBay Way
eBay Inc. confidential2
eBay built on SOA
TODAYTOMMOROW
FUTURE
eBay Inc. confidential
Project Turmeric – eBay Open source initiative
• http://ebayopensource.org
• Built on top of Axis
• Capabilities– Monitoring
– Documentation framework
– Policy based authentication
– Eclipse plug-ins
– Support for variety of formats like JSON, XML, Name Value pair
– Tools for managing re-usable types
– Type and error libraries
3
eBay Inc. confidential
Challenges
4
• Testability– Discover services
– Functional testing of services
• Performance– Improving performance at the wire level
– Low framework overhead (~2 ms)
• Transformations– Rest enablement
– Fast turn around times
eBay Inc. confidential
SOA Express
5
• What is SOA Express ?
• Marry Governance and testability
• Lightweight
• Automated
• Test across environments
• Discover services based on a taxonomy– Service consumer
– Service producer
• Integrated with SOA Repository
eBay Inc. confidential
Performance – The problem
• Data formats to consider– XML
– JSON
– Name value
• Reduce serialization / de-serialization time
• Ensure all formats can be consumed / produced by the same interface
• Reduce payload size where possible
6
eBay Inc. confidential
Performance – Protocol buffers
• Google’s proprietary format
• Open source
• Define messages through proto files
• Smaller packages to transmit over the wire
• Faster serialization / de-serialization
7
eBay Inc. confidential
Performance – Why Protocol buffers ?
• What about avro / thrift / msg-pack ?
• Google’s proto objects can be adapted to eBay’s POJOs
• Introducing new-message-format-X into the midst is easy
• Efficient format for internal clients
• 10x improvement in wire time
8
eBay Inc. confidential
Transformations – The problem
9
• Clients require different formats– RSS
– ATOM
– JSON
– XML
• Rest enable services – SOA and ROA
• Flexible and Fast
eBay Inc. confidential
Transformations – ESB
• Format conversion through mediators
• Domain specific languages (DSL) define conversion
• Transformation framework pluggable at any layer
• Dynamic updates to transformations
10
eBay Inc. confidential
Transformations – Why ESB ?
• Why not XSLT ?
• Handle 700 million calls per day
• Can scale horizontally
• Monitoring with JMX
• Blends in with service routing
• Introduce additional mediators seamlessly
11
eBay Inc. confidential
Thank you
Questions ?
12