NOTE

This proposal is archived. Synapse has graduated is now a TLP of Apache and you can find the web page here http://synapse.apache.org.

PROJECT PROPOSAL

Synapse: A Web service Mediation Framework project

Synapse will be a robust, lightweight implementation of a highly scalable and distributed service mediation framework on Web services specifications.

RATIONALE

The current Apache Web Services project ([WWW] http://ws.apache.org/) has been tasked to provide functionality useful in the development of Web services following the set of WS-* specifications.

This proposal is to build a set of components that work together with Axis2 and other Apache and open source projects to create a flexible transformation, management and routing system.

There are two strong reasons for creating this project in Apache. Firstly, Apache has led the creation of open source Web services code, and this is a clear logical extension of that line of work. Secondly, there is an opportunity to help shape the broker/ESB marketplace through the creation of a high quality, Web services centric (vs. Java-centric) open source implementation which is developed in a truly open community and which is available under the favorable terms of the Apache Software License v2.0.

A set of leading vendors in this space are joining together to contribute code and developer resources for this project: Blue Titan, Iona, Infravio, Sonic Software and WSO2. We expect it to be a major success.

FEATURES

This project implements the patterns that are often called Enterprise Service Bus or Broker. Since these are somewhat contentious terms, we call Synapse a Web service mediation framework and define the aims of the Synapse as follows:

  • a messaging and communications infrastructure;
  • based on the principles of service oriented architectures;
  • that provides a way of connecting disparate systems;
  • that manages the connections and the routing of messages between systems;
  • that intermediates and transforms messages and service interactions independently of the endpoint applications;
  • that is neutral with respect to the languages and platforms that are integrated - providing first class support for C/C++/COBOL/Java/.NET and other application platforms.

This project will provide an implementation of a distributed services mediation framework based on Web Services specifications. While it will support connections to external systems, the fundamental model of this architecture will be based on the core Web Services standards, including SOAP, WSDL, WS-Addressing, WS-Policy, WS-Security and WS-ReliableMessaging. Where possible this project will re-use existing Apache implementations of these specifications, as well as the AXIOM object model from Axis2.

The main aims of the project will be to support the following functions:

  • connectivity
    • dynamic discovery, load-balancing and availability
    • gatewaying and routing of Web services
    • creating static and dynamic links between requesters and providers
    • bridging between SOAP over multiple protocols
    • support for building adapters to existing systems, including JMS and JCA
    • support for adding new transports and protocols
    • support for high-performance Infoset encodings of SOAP
  • transformation and mediation
    • providing a framework for deploying and managing transformation and routing components
    • support for multiple mediation models including XSLT, XPATH,script-based, and Java transformation components
  • management
    • support for logging, monitoring, tracing, performance measurement, failure detection, and other management of Web services
    • using WSDM/WS-Management and/or JMX

Initial development will be in Java but in future may include a Synapse/C based on Apache's C/C++ Web services initiatives. We expect to support not only Java, but also other languages on the Java platform such as Groovy, Javascript/E4X, and Jython.

Synapse plans to support the Java Business Integration (JBI) standard, but we plan do so as an add-on rather than as core APIs. Synapse is following the same pattern as Axis2 with respect to new JSRs - we will build the APIs the way we want them and then implement the JSRs with layers on top (thus also freeing the core project from reliance on TCKs and licensing).

The project will not create a management framework or repository framework but will utilize and integrate with existing open source projects that offer such functionality.

INITIAL SOURCE

Infravio will contribute the core of the source of their X-Broker product (see http://www.infravio.com/technology/open_source.html) to seed the project. The Infravio X-broker provides a full featured Web services intermediary offering the following features

  • Web services Management functionality
    • WS-Security compliant Authenticaton, Encryption and Non-Repudiation
    • Logging and Monitoring framework for performance and reliability
    • Flexible Routing: Content, Context and Logic based
    • Deprecation, Failover and Load Balancing templates
  • Ease of Use
    • Infravio Contract model for flexible configuration
    • Axis-JaxRPC based framework for ease of porting
    • WSDD based deployment model
  • Infrastructure
    • JMX based management infrastructure
    • Agent (Co-deploy) and Intermediary (Proxy) model support
    • Ports to BEA Weblogic and IBM Websphere available

The developer community will take that code as input and produce the best possible mediation product based on the Axis2 core framework which achieves the above objectives as best as possible.

RESOURCES TO BE CREATED

  • SVN Repository
  • Jira
  • Mailing Lists
  • Official Build Systems

AVOIDING THE WARNING SIGNS

This is a very topical topic in the Web services space and the contributors are leading vendors in this space (and a startup). There is no risk of any of the usual warning signs of orphaned or abandoned code.

Most of the current committers have experience working with open source projects and communities and the leaders of this project are long time ASF contributors and ASF members. We do not expect any difficulty in executing under normal meritocracy rules.

Initial COMMITTERS

  • Fabrice Medio (Blue Titan), fmedio@bluetitan.com
  • Dan Kulp (Iona), daniel.kulp@iona.com
  • Eric Newcomer (Iona), eric.newcomer@iona.com
  • Adi Sakala (Iona), adi.sakala@iona.com
  • Carl Trieloff (Iona), ctrieloff@iona.com
  • Sathish Kumar T.K (Infravio), sathish@infravio.com
  • D. Hariharasudhan (Infravio), hari@infravio.com
  • P. Vikas Roonwal (Infravio), vikas@infravio.com
  • Dave Chappell (Sonic Software), chappell@sonicsoftware.com - Member of WS PMC and Axis Committer
  • Glen Daniels (Sonic Software), gdaniels@apache.org - Member of ASF, Member of WS PMC and Axis Committer
  • Paul Fremantle (WSO2), paul@wso2.com - Member of WS PMC and Axis Committer
  • Davanum Srinivas (WSO2), dims@apache.org - Member of ASF, WS PMC Chair and Axis Committer
  • Sanjiva Weerawarana (WSO2), sanjiva@apache.org - Member of ASF, Member of WS PMC and Axis Committer

PROPOSED APACHE SPONSOR

The WS PMC has voted to accept this project into the WS project upon successful incubation.

MENTORS

  • Glen Daniels (gdaniels@apache.org)
  • Davanum Srinivas (dims@apache.org)
  • Sanjiva Weerawarana (sanjiva@apache.org)
  • No labels