120 likes | 264 Views
Agility with Services – The eBay Way. 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
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 ?