In the classical three-layer architecture of fronted, middleware and backend processes, Zato is best suited at the middle or far backend of your IT infrastructure.
Areas where Zato shines are business integration - such as implementing an Enterprise Service Bus (ESB), and core services - billing, customer management, purchase processing, supporting marketing campaigns, core banking and many similar activities that form a backbone of an enterprise.
Zato can serve as either an ESB or an application server and a successful implementation of a Zato environment allows for:
Zato environments are composed of clusters, each of which is a set of servers and supporting applications running in an HA configuration.
At its very core, the Zato’s production ready processing capabilities allow you to:
create reusable services
transform messages between different formats
orchestrate the services of multiple autonomous systems
send and receive messages between multiple transport protocols available, using either synchronous or asynchronous methods
log, audit and monitor messages flowing through the platform
validate the messages according to certain business rules
enrich the messages from different sources
queue the messages if the applications involved within the integration scenarios run at different processing speeds
implement services in less time using Python, a very high-level programming language that promotes ease of use and development speed. A Hello World service is shown below. Such a service can be hot-deployed onto a cluster without a need to restart servers.
from zato.server.service import Service class HelloWorld(Service): def handle(self): self.response.payload = 'How goes it?'
Various interfaces that Zato can access allow one for reaching out to any application, regardless of its origin and programming language used. The interfaces include:
Zato has a slick and powerful web admin application for administrator to manage the environments. Web admin allows one to perform routine, planned as well as ad-hoc activities, such as deploying services, configuring security, access channels, browsing the messages and more.
Almost no server restarts are required. Servers automatically reload their configuration without disrupting the message processing. Almost all changes propagate across all nodes of a cluster completely behind the scenes.
Zato is open-source software licensed under a commercial-friendly LGPL license and is not only code proper but also an open-source project promoting open collaboration through peer production and the exchange of ideas between developers and users. Everyone is strongly encouraged to take part in the project!