View on GitHub

Eiffel REMReM Protocol Interface

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

Introduction

Eiffel REMReM Protocol Interface project contains java interfaces that are implemented by Eiffel protocol

Implementing an interface allows a class to become more formal about the behavior it promises to provide. Interfaces form a contract between the class and the outside world, and this contract is enforced at build time by the java compiler.

Installation

This project does not need any installation since it is an interface, which is implemented by 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-protocol-interface/target/

Configuration

This project does not need any configuration since it is an interface, which is implemented by other projects.

Compatibility

All message services need to implement interface provided by this project to communicate properly.

Usage

Eiffel REMReM Protocol Interface contains interface MsgService. This interface contains set of general methods that should perform common tasks for generating Eiffel message. A main purpose of MsgService interface is to allow access only through well-defined entry points. This entry points will establish a communication layer (protocol) between messagebus technologies and rest of Eiffel project to accomplish technology agnosticism, ability to secure message bus entry/exit points and validation of Eiffel message. Interface methods are listed bellow with description.

For more information please look at JavaDoc.

To create new version of protocol one will need to modify the interface, change the java api docs for methods to represent new version of interface and build the jar using maven. Include builded jar as external library in other projects and in these project implement the desired interface.

To import the project user need to add to pom.xml

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependency>
    <groupId>com.github.Ericsson</groupId>
    <artifactId>eiffel-remrem-protocol-interface</artifactId>
    <version>x.x.x</version>
</dependency>

Or import the project to pom.xml

repositories {
    ...
    maven { url 'https://jitpack.io' }
}
dependencies {
   compile("com.github.Ericsson:eiffel-remrem-protocol-interface:x.x.x")
}

Currently interface implementation is in eiffel-remrem-semantics

The current version of Eiffel Protocol 2.0 is Toulouse