3

I'm trying to evaluate the set of out-of-the-box transports provided by Mule, and compare it with the offerings from e.g. ServiceMix and OpenESB.

On Mule's homepage, I find a list of supported transports at:

http://www.mulesoft.org/documentation/display/current/Transports+Reference

However i also find a list of Connectors at:

http://www.mulesoft.org/connectors

There seem to be at least some overlap between these lists, but some technologies are listed as transports, and not as connectors, for example there is a Quartz transport, but not a connector.

So the question is: What exactly is the difference between a Mule Transport and a Mule Connector, and why is e.g. Quartz a transport and not a connector?

codiacTushki
  • 750
  • 1
  • 9
  • 22
geby
  • 374
  • 2
  • 15

2 Answers2

7

Transports are targeted towards a way of transporting data, i.e. a protocol like HTTP or reading/writing files. These are general concepts and the other party behind such a data channel can be anything, a pure data sink or a party with whom data can be exchanged, own company or other.

Connectors are made for using specific APIs, e.g. those from salesforce.com or facebook. Usually, choosing a connector also determines how the data will be transferred in the end, e.g. HTTP.

From mulesoft.org:

Connectors function like endpoints by sending and receiving data over a transport. However, while endpoints are generic for a widely-used protocol (such as JDBC, FTP, HTTP, POP3, etc) each connector is built to optimize the connection with a specific third-party API, such as Salesforce or Twitter.

Daniel S.
  • 6,458
  • 4
  • 35
  • 78
  • Your explanation makes sense. But in fact that HTTP, FTP, SMTP etc are also listed as Connectors, which seem to contradict the statement in your answer. Therefore these terms still appear blurry to me. Seems like the Mule documentation is not completely consistant? – geby Oct 29 '13 at 11:13
  • 2
    The connector page is designed to list all the connectivity capabilities offered by mule. If you go to the documentation pointed by any of the transports listed there (i.e. http, jms, etc) you will see that they bring you to the transport documentation page – genjosanzo Oct 29 '13 at 12:26
  • OK, got it. Still think the documentation confuses the terminology a bit though, since they list most of the basic transport, but not all (e.g. not Quartz), under the connectors list. – geby Oct 30 '13 at 06:06
0

Message sources (inbound or outbound) in Mule make use of transports to carry messages from application to application in the Mule framework. Transports implement message channels and provide consistent connectivity to an underlying data source or message channel. Whenever there is a message source in Mule, there is a corresponding transport working in the background to establish and maintain communication. For example, the HTTP transport handles messages sent to an HTTP endpoint in Mule via HTTP protocol.

The heart of a transport is the connector which maintains the configuration and state for the transport. In other words, connectors contain nearly all the connectivity details that Mule needs to actually connect with another system or application.

codiacTushki
  • 750
  • 1
  • 9
  • 22