Project Turmeric: eBay Open Source Launches with SOA Platform
eBayOpenSource.org was launched end of January 2011 by open sourcing Turmeric. Turmeric is the code name for eBay's SOA platform technology and is licensed under the Apache Software License 2.0. eBay, after years of technological investments, reached out to the developer community to spread the benefits.
Turmeric is a comprehensive, policy-driven SOA platform that you can use to develop, deploy, secure, run and monitor SOA services and consumers. It is a Java based platform, follows the standards (SOAP, XML, JSON, XACML, etc.), and supports WSDL (SOAP style - Doc Lit wrapped mode and REST style). It supports a variety of protocols and data formats.
The platform comprises design and run time tools. Run time tools include a core runtime, policy services, monitoring subsystem and an administrator console. The repository service, eclipse developer tools and WSDL documentation tool belong to the design toolbox. One of the unique features is the option to bind locally and completely skip the overhead of serialization and deserialization.
The core component is the runtime platform for the service, the consumer and code generation components. The platform provides integration points for additional protocol processors.The server(Service Provider Framework (SPF)) and client side (Service Invocation Framework (SIF)) platforms are extensible through configuration files and customization of request and response handlers.
The repository is responsible for lifecycle and change management for service and data asset types. It is also exposed as a secure service which can be accessed by any of the supported protocols. Apart from design time discovery and governance the repository can also be utilized for run time discovery and lookups.
Runtime policy configuration of authentication, authorization and rate limiter or throttle policies are performed in the policy administration tool . These are enforced through a broker service at runtime called the PolicyEnforcement Service.
The eclipse plugins are primarily for type library creation, browsing, search and management. A type library typically stores all the java types that are automatically generated from XML schema files and the eclipse plugins. At this point dependency management and governance of types is not part of the build system and mandates the need for out of band manual processes.
eBay's advice for early adopters:
eBay said it uses the Turmeric platform internally, and warns that it is the first version of the open-source release of Turmeric, so it "might have some rough edges." Intalio is collaborating with eBay on Project Turmeric and is eBay's preferred support partner for organizations wishing to use Project Turmeric from eBayOpenSource.org with commercial support.
Tom Gilb & Kai Gilb Jan 26, 2015