- Print
- DarkLight
- PDF
EchoStream is built as a directed graph of Nodes and Edges. The directed graph (hereafter referred to as a network) is contained within a Tenant which you can either own or participate in.
Messages
All messages in EchoStream are weakly typed using MessageTypes (i.e. - you can put something other than the type in the message, but it is not recommended). All messages in EchoStream must be text; binary messages must be converted to Base64. The largest message that you can pass through EchoStream is 256KB without using Bulk Data Storage and 5GB using Bulk Data Storage.
Nodes
Nodes process messages. There are several Node types in EchoStream which are covered in more detail in their own topics. All Nodes, unless otherwise documented, may have as many Edges pointing at them (fan-in) and pointing away from them (fan-out) as you desire.
Some of the node types are:
Node | Description |
---|---|
Processor | When building a processing flow, you often have to maipulate the message, augment the message, change the message format, split the message, join multiple message together, etc. Processing Nodes provide you this capability using an order N algorithm (each message is transformed once per node) |
Bitmap Router | Messages that move through your integrations often have to be conditionally routed based upon the content of the message. Bitmap Router Nodes provide you this capability using an order N algorithm (each message is evaluated once per node, no matter the number of routes) |
Timer | Timer nodes fire timer messages at an interval you specify. For example, in conjunction with a Transformer node, this can be used to poll a database or an SFTP server every 15 minutes to retrieve data and construct messages |
External | External nodes allow you to write code that lives in your applications or your datacenter, but participates in your Tenant's network as a Node. These are often used to inject messages into your Tenant or recevie messages from your Tenant |
Edges
Edges transmit messages unidirectionally between two Nodes, the sender (or source) and the receiver (or target). In addition to transmitting the messages, Edges guarantee the ordering and delivery of those messages to the receiver. Ordering guarantees are critical as many message streams will not make sense if received out of order. Delivery guarantees provide fault-tolerance and reliability.
Tenants
Tenants contain your integration network of Nodes and Edges and use those to transmit Messages. All of the resources used in your Tenant are for your Tenant alone; you do not share any resources with other Tenants, even other Tenants that you own.