This repository contains the Unified Submission Interface (USI) Samples Agent which is the microservice in charge of handling the communication between USI and BioSamples.
This agent will submit new samples, update and fetch existing ones. It has an external dependency on BioSamples v4.0.0, which at this point is still under active development. The agent 'listens' to two queues from RabbitMQ and processes three types of requests:
- Submission of new samples
- Update of existing samples
- Fetching existing samples
This is a Spring Boot application. The agent is structured as follows:
- SamplesAgentApplication
- agent/
- Listener
- SamplesProcessor
- CertificatesGenerator
- services/
- Submission
- Update
- Fetch
- Integrity (avoids unwanted resubmission)
- converters/
- Attribute BioSamples to USI
- Attribute USI to BioSamples
- Relationship BioSamples to USI
- Relationship USI to BioSamples
- Sample BioSamples to USI
- Sample USI to BioSamples
The Samples agent has dependencies on:
The samples agent comes with a gradle wrapper and can be executed as follows:
$ cd subs-samples-agent/
$ ./gradlew bootRun
This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.