Outgoing connections

../../_images/progguide-outconn.png

Each service can automatically access external resources using a range of protocols documented in subsequent chapters.

HTTP-based publish/subscribe offers another alternative to direct messaging between applications and is documented separately.

Some of the protocols are synchronous while communicating over the rest is performed asynchronously, in a fire-and-forget manner.

Note that you always need to take high-availability (HA) into account, particularly so if you’re using AMQP or JMS WebSphere MQ outgoing connections.

Protocol Synchronous
AMQP
Cassandra CQL Yes
ElasticSearch Yes
FTP Yes
HTTP Yes
IMAP Yes
JMS WebSphere MQ
Odoo (OpenERP) Yes
SMTP Yes
Solr Yes
SQL Yes
ZeroMQ

Note

There’s nothing preventing you from accessing external resources using other transfer protocols.

You won’t have any particular support for doing so from Zato but the platform itself doesn’t disallow using any other means of communicating if you establish and maintain the connections yourself.

Do keep in mind though that Zato servers use a gevent-based main loop so TCP connections should be created in pure-Python code, preferrably, rather than in C.