Presentation
FasT&T provides a full implementation of GS1 EPCIS repository for both 1.2 and 2.0 versions (with full retrocompatibility of 1.0 and 1.1 versions).
It is written in C# with .NET7 and uses EntityFramework Core as storage mechanism so it supports most of the common RDBMS providers. It is currently possible to store data in SQL Server, Sqlite and PostGreSQL databases.
The project is open-source and available on github: https://github.com/louisaxel-ambroise/epcis
EPCIS v2.0 specification introduces a new JSON format of the events, which makes them more developer-friendly. FasT&T still includes and fully supports the XML representation to keep compatibility with existing systems.
The stored events are not bound to any representation. So a request captured in JSON format can be queried and formatted in XML and vice-versa. This allows multiple different systems to exchange traceability data in a simple and centralised way.
The new websocket support queries enables client applications to subscribe to newly stored events in an easy way.
There is a test server available to test the capabilities of the repository. It contains all the capabilities of the repository and is hosted in Microsoft Azure
Setup
The repository can be setup very easily in different ways:
1. Building from source
To setup the repository from the source code, simply download the source code or clone the repository on GitHub and start the API with the command:
$ dotnet run -p src\FasTnT.Host\FasTnT.Host.csproj --urls "http://localhost:5102/" --connectionStrings:FasTnT.Database "{your connectionstring}"
2. Deploy from Docker image
A docker image is provided and can be downloaded like this:
$ docker pull ghcr.io/louisaxel-ambroise/epcis:develop
3. Deploy in Microsoft Azure
A Terraform scipt is included in the GitHub repository to easily deploy the EPCIS repository into Microsoft Azure:$ terraform init
$ terraform workspace new dev
$ terraform plan --out dev.tfplan
$ terraform apply dev.tfplan
Pricing And Usage
FasT&T is a free and open-source project licensed under Apache license 2.0. It means the you can see, use, distribute and modify the repository as you want.
You can use this EPCIS repository as you with, for example:
- As a help to develop a system that needs to communicate using EPCIS
- As a full standalone EPCIS repository to capture/query traceability data
- Using only the parsing/formatting classes to serialize data from/to EPCIS structure
- ...
Contact And Links
FasT&T is developed and maintained by Louis-Axel Ambroise. You can contact me directly for any question/suggestion.
There is an instance of FasT&T deployed and available for everybody at the URL: https://fastnt-dev.azurewebsites.net/