[FoRK] Web services brokering and transformation proposal from Apache

Ken Meltsner meltsner
Mon Aug 29 14:24:48 PDT 2005


An acquaintance (formerly from CA) is involved with this project:

http://wiki.apache.org/incubator/SynapseProposal

I'm trying to decide whether it's a "everything for everyone", fully
buzzword-compliant effort (and a more focussed and efficient system
might be a better intermediary for Web services), or whether they've
got the right idea.  Judging from talks with at least one non-CA
company, there's definitely a need for a tool to unwrap web services
into lower-level functions so that common concerns such as security
can be handled outside of application methods, but this may be
overkill -- the target I saw was more like a Web services to simple
RPC-style calls, perhaps with some caching and load balancing to
provide higher performance and availability, not a generalized
transformation system.

I don't think it's a REST vs. SOAP problem -- you could make a REST
broker that was just as complicated as this.

Ken

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] [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
          o

            dynamic discovery, load-balancing and availability
          o

            gatewaying and routing of Web services
          o

            creating static and dynamic links between requesters and providers
          o

            bridging between SOAP over multiple protocols
          o

            support for building adapters to existing systems,
including JMS and JCA
          o

            support for adding new transports and protocols
          o

            support for high-performance Infoset encodings of SOAP
    *

      transformation and mediation
          o

            providing a framework for deploying and managing
transformation and routing components
          o

            support for multiple mediation models including XSLT,
XPATH,script-based, and Java transformation components
    *

      management
          o

            support for logging, monitoring, tracing, performance
measurement, failure detection, and other management of Web services
          o

            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 [WWW] http://www.infravio.com/products.html#x-broker) to
seed the project. The Infravio X-broker provides a full featured Web
services intermediary offering the following features

    *

      Web services Management functionality
          o

            WS-Security compliant Authenticaton, Encryption and Non-Repudiation
          o

            Logging and Monitoring framework for performance and reliability
          o

            Flexible Routing: Content, Context and Logic based
          o

            Deprecation, Failover and Load Balancing templates
    *

      Ease of Use
          o

            Infravio Contract model for flexible configuration
          o

            Axis-JaxRPC based framework for ease of porting
          o

            WSDD based deployment model
    *

      Infrastructure...


... last edited 2005-08-25 21:23:16 by EricNewcomer



More information about the FoRK mailing list