120 likes | 274 Vues
Explore how eBay leverages Service-Oriented Architecture (SOA) through Project Turmeric, enhancing agility and performance. Built on Axis, this initiative facilitates seamless service discovery, monitoring, and management of reusable types while supporting formats like JSON and XML. With a focus on automated testing, governance, and transformation using lightweight frameworks, eBay achieves fast turnaround times and efficient data handling. Join our discussion on overcoming challenges in performance and service enablement, and learn how innovative technologies like Protocol Buffers enhance wire performance.
E N D
eBay built on SOA TOMMOROW TODAY FUTURE
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
Challenges • 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
SOA Express • 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
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
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
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
Transformations – The problem • Clients require different formats • RSS • ATOM • JSON • XML • Rest enable services – SOA and ROA • Flexible and Fast
Transformations – ESB • Format conversion through mediators • Domain specific languages (DSL) define conversion • Transformation framework pluggable at any layer • Dynamic updates to transformations
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
Thank you Questions ?