Transport Services Overview

The XcoAppSpace provides a list of different transport services that handle the transfer of messages between remote spaces. This page shows which different transport services are available and what their advantages are. Note that as the XcoAppSpace is getting more mature and we are continuosly learning more about the needs in remote communicaton, there will be more transport services available to cover those needs. If you think that support for a certain kind of transport would be valuable, don't hesitate to contact us and tell us about it!

TCP Transport Service

This transport service is based on TCP socket communication. It is lightweight and fast and therefore a good choice if you want to establish communication within a private network. It is also designed for support of the Compact Framework and Silverlight versions, and future support for Micro Framework is planned. By default it uses bidirectional communication, meaning that as soon as space A has sent a message to space B, B will use the same channel to send messages back, making it possible to reach A even behind a firewall (as long as A started the communication).
See here for further details on configuration of the TCP transport service.

WCF Transport Service

This transport service uses WCF for communication. If you are familiar with WCF, you can very easily use its high configurability to also configure it when used for XcoAppSpace transport, and e.g. add restrictions to the message size or message/transport security by using the app.config. Examples on how to do that can be found in the usage demos which can be downloaded in the download section. Currently the service allows using netTcpBinding, netPipeBinding and wsHttpBinding. Also communication over Azure is possible using the netTcpRelayBinding.
By default the WCF transport service uses the netTcpBinding. Also see here for further details on configuration of the WCF transport service.

MSMQ Transport Service

This service uses Microsoft Message Queues for communication. Every appspace must be assigned a message queue where it reads incoming messages from. An advantage of message queues is that, even if the space itself goes offline for a short time, other spaces can post messages to its queue, and the space can process these messages as soon as it comes back up again. Note that Microsoft Message Queueing must be activated on your computer if you want to use this transport service.
See here for further details on configuration of the MSMQ transport service.

Jabber Transport Service

With the Jabber transport service the XcoAppSpace provides a way to communicate over the internet. Jabber, also known as XMPP, is an open and extensible messaging protocol that is mostly known from instant messengers. Nevertheless, it actually not only allows transferring text messages but all kind of data. For the communication to work, a Jabber server is needed that is openly accessible from the internet. There are many different jabber server implementations available (also for free), so you could easily run such a server yourself. You can find a list of available servers here. We used Openfire for testing on Windows, which worked quite well. Of course you could also use one of the free public jabber servers, e.g. jabber.org which we use in our usage demos (see download section).
Note that for using the Jabber transport service you must include the agsXMPP library which is provided in the XcoAppSpace download package. Using the library in a GPL open source projekt is free, but for commercial projects you'll need a license. Take a look at the agsXMPP homepage for more info.
For further details on configuration of the Jabber transport service see here.

Creating a Custom Transport Service

If none of these transport services suite your needs, you could even create your own one. In that case, we would always be happy if you contact us and tell us about your needs! It may be that we are by the time already planning to add a transport service like the one you need (we are having a lot of plans for the future of the XcoAppSpace). You can find a description for implementing your own transport service here.

Last edited May 26, 2012 at 2:04 PM by thomass, version 8

Comments

No comments yet.