Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The two most common modes are SEDA and JMS flows. For messages that are non-persistent, ServiceMix uses an efficient in-memory system known as the SEDA flow to convey messages on the bus. For messages that are persistent, ServiceMix uses JMS messages with an underlying ActiveMQ broker. You may also choose to force the use of the JMS flow, for example to connect multiple ServiceMix instances.

Message Capabilities

Does ServiceMix support SOAP?

Messages on the bus do not use SOAP. But ServiceMix includes binding components that support SOAP-over-HTTP and SOAP-over-JMS, as well as the CXF binding component that supports SOAP over HTTP and JMS, all of which include SOAP 1.1 and SOAP 1.2 support, MIME attachments, etc.

What WS-* specifications does ServiceMix Support?

Most of the WS-* specification support can be found in the binding components included with ServiceMix – for HTTP, JMS, or CXF (which supports both HTTP and JMS). Of the three, CXF has the most extensive WS-* support.

Spec

Purpose

Support

WS-Security

Authentication, Encryption, Digital Signature

Yes, for HTTP and CXF binding components and subsequent authentication/authorization

WS-RM

Reliable Messaging

Yes, for CXF binding component

WS-Addressing

Addressing

Yes, for HTTP, JMS, and CXF binding components

WS-Policy

Policy Management

Yes, for CXF binding component

WS-TX

Transactions

No, though WS-TX headers can be passed through as normalized message headers for services to handle

WSDM

Management

No, JMX is used instead

WS-Management

Management

No, JMX is used instead

Does ServiceMix support plain XML messages?

Yes, the binding components can accept plain XML as well as SOAP – the Normalized Message is created directly from that XML. As with any other Normalized Message, routing and transformations can be applied (more on that in a moment).

Does ServiceMix support other (non-XML, binary, etc.) protocols?

ServiceMix can support any protocol so long as a binding component is available to convert protocol messages to or from Normalized Messages. For custom protocols, you may need to write a bit of code for the binding component, but that is not particularly complex (outside of whatever the protocol processing requires).

Mediation

Orchestration

Security

Performance

...

Complex Services

Publication / Discovery

...

Policies