WeEvent

SOURCE CODE

Overview

WeEvent is a distributed event-driven architecture, EDA designed for preemptive, reliable, and in-time communications between complex and dynamic IT systems. It's an open source blockchain solution developed by WeBank for cross-institutional and cross-platform event notifications in loosely coupled systems that support the Collaborative Business models.

Aiming at higher efficiency of system communications especially in the case of multi-party cooperation, WeEvent connects different platforms such like applications, IOTs, cloud services and private services by processing event notifications without altering the existing programming language and network interface protocols.

The Blockchain Solution

The blockchain-based EDA solution WeEvent allows publisher send events on blockchain with reliable delivery mechanism and persistent storage, immutable from unauthorized changes, easier to trace and audit. Events are routed to subscribers with minimal coupling in terms of queues/topics and formats. WeEvent has high availability and is resilient to network outages and system failures, as events do not require acknowledgement and are inherently asynchronous. Additional publishers and subscribers can be added to the system without any changes to the existing infrastructure, which alleviates the risk of regression. In terms of realtime analytics WeEvent is capable of detecting patterns across multiple event sources over different time windows for continuous intelligence.

Stakeholders and Components

Publisher

EDA defines information flows between systems as event publications and subscriptions, where Publisher is the sender, and Subscriber is the receiver.

Subscriber

An enterprise or an individual can act as the Publisher or Subscriber in WeEvent. Generally in case of the Collaborative Business models stakeholder plays both these roles.

Broker

Broker is the middleware of communications between Publisher and Subscriber. Publisher broadcasts events to Broker with zero dependency from Subscriber. Broker broadcasts events to different Subscribers for downstream processing.

Stream Processor

Stream Processor is the middleware to support complex event processing using customizable auto-filter, event analysis and batch processing.

Governance

Governance is a set of components, or applications, with functions like event definition, supervision and access control. It's a monitoring governance tool for Administrator to manage event topics and access control independently, separating administrative message stream from business events stream.

Feature Highlights

Distributed

A blockchain solution for facilitate peer-to-peer cooperation, smart collaboration and value sharing in the Collaborative Business model for higher efficiency in cross-institutional cooperation.

Open Source

Open-sourced for greater transparency, co-innovation, greater security, extensive customization and eliminating vendor lock-ins.

Interoperability

Broker supports multiple protocols, such as MQTT, STOMP, REST and JSON RPC to ensure interoperability.

Customizable

WeEvent is designed to separate control flow from data flow, event processing from flow processing, and provides a variety of modular SDKs for customizable development.

Guaranteed Delivery

Events will eventually reach Subscriber once it is online.

Loosely Coupled

Broker decouples application logic with the underlying infrastructure, which allows you to link your application with WeEvent architecture seamlessly.

Friendly Operation

WeEvent provides a toolkit for on-chain governance.

Scalability

High scalability enabled by Smart Contract. Complicated events can be processed by Smart Contracts to make application services more scalable.

Privacy Protection

With event Governance and cryptographic measures, each stream of events will be created, stored and processed with access control.

Applications