View on GitHub

Eiffel REMReM Semantics

Download this project as a .zip file Download this project as a tar.gz file

Introduction

Eiffel REMReM Semantics is a set of protocol defined messages that contains templates and schemas for Eiffel message types. It implements the Eiffel REMReM Protocol Interface. Eiffel REMReM Semantics is used to check, generate and validate Eiffel messages. This project contains JSON schemas to validate JSON message to met the Eiffel protocol. This project contains information about how to form a routing key that will be added to the generated message.

Installation

This project does not need any installation. It is used as external library that will be included as a dependency to other projects.

This project is build by maven, by executing following commands:

mvn clean install

The produced jar file will be stored in /eiffel-remrem-semantics/target/

To update the schemas in semantics with latest changes in eiffel and operation repo schemas execute the maven profile process-schemas like below

 mvn clean install -P process-schemas

By executing the process-schemas profile you will get the latest schemas from both eiffel repository and eiffel-operations repository.

After updating the schemas execute the profile generate-events to generate pojo clases by using updated schemas.

mvn clean install -P generate-events

Note:

Execute the above mentioned maven profiles in order what they were declared if there is any change in schemas of eiffel or eiffel-operations repository.

Configuration

This project does not need any configuration. It is used as external library that will be included as a dependency to other projects.

Compatibility

The version of Eiffel REMReM Semantics should implement the desired version of Eiffel REMReM Protocol Interface.

Usage

Example on how to use the semantics protocol library

Routing and Binding Key concepts

Please refer to eiffel syntax and eiffel vocabulary for usage.
Please note that meta.id, meta.time, meta.version are generated by Eiffel REMReM Generate.