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.

Filename, size & hash SHA256 hash help File type Python version Upload date
Cohorte_Herald-0.0.2-py2.py3-none-any.whl (72.0 kB) Copy SHA256 hash SHA256 Wheel 2.7
Cohorte-Herald-0.0.2.tar.gz (45.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page