Kristen Data Comms (KDC) provides a comprehensive set of features for building distributed applications. From executable software Agents and flexible communication protocols to serialization, encryption, and cross-language support, KDC simplifies the development of networked systems.
The following table highlights KDC’s core capabilities and the technologies that make them possible.
| KDC Feature | Description |
|---|---|
| Agents | Send executable Agents—programming logic and data—from sender to receiver. |
| Design Patterns | Command, Visitor, Dependency Injection, Builder, Adapter, and Observer/Listener. |
| Communication Modes | Synchronous and asynchronous communication. |
| Protocols | TCP, UDP, Multicast, HTTP, and WebSockets. |
| Protocol Flexibility | The same Agent can visit multiple receivers using same or different protocols. For example, Sender sends via TCP across the WAN to a TCP server. TCP server broadcasts the agent via Multicast on the LAN. |
| Native Objects | Agents containing code and data are native to their programming language. |
| Serialization | JSON, user-supplied Protocol Buffers, or native Kristen Protobuf. |
| Kristen Protobuf | Automatically converts a POJO into a generic Protocol Buffer representation. |
| Language Support | Java, JavaScript clients, and Python clients. |
| Compression & Encryption | Enable compression and encryption through simple configuration parameters. |
| No Middleware Required | No Object Request Broker (ORB) or intermediate server required. |
| No IDL Required | No Interface Definition Language required. |
| Ease of Use | Easy to learn, configure, and use. |
| Security | Agent classes must be available on the sender and receiver’s classpath. |