Skip to main content

An easy-to-use messaging framework

Project description

Herald is an easy-to-use messaging framework. It allows Pelix/iPOPO and Java OSGi frameworks to communicate with each other using messages, without worrying about the underlying protocol used for transmission.

Concepts

Each Pelix or OSGi framework instance is considered as a peer. A peer has a unique ID and a human-readable name. An application ID is associated to each peer: only peers with the same application ID can discover each other.

A peer can send a message to another peer or to a group of peers. A message has a subject, which listeners register to, and a content.

Remote Services

Herald provides an RPC transport implementations for Pelix Remote Services (Python) and for Cohorte Remote Services (Java).

Transports

Currently, Herald supports two protocols in Python, and one in Java:

  • HTTP (Python & Java):

    • Each message is sent as a POST request.

    • Peer discovery is based on a home-made multicast heart beat protocol

    • Best transport for LAN applications and for single-peer messages

    • Python implementation is based on requests.

    • Java implementation uses the builtin HTTP client. It requires the Felix HTTP service to work correctly.

  • XMPP (Python only, for now):

    • Each message is a either a message or a group message

    • Discovery is based on a Multi-User Chat room (XEP-0045)

    • Best transport for distributed applications and for group messages

    • Python implementation is based on SleekXMPP

License

Cohorte Herald is released under the terms of the Apache Software License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Cohorte-Herald-0.0.2.tar.gz (45.5 kB view hashes)

Uploaded Source

Built Distribution

Cohorte_Herald-0.0.2-py2.py3-none-any.whl (72.0 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page