Skip to content
Snippets Groups Projects
README.md 4.34 KiB
Newer Older
<br />
<div align="center"><img src="https://www.fitko.de/fileadmin/_processed_/b/9/csm_FIT-Connect_3e8e926015.jpg" alt="Logo" width="50%" height="50%"> </div>
Martin Vogel's avatar
Martin Vogel committed

<br/>

![](https://git.fitko.de/fit-connect/sdk-java/badges/main/pipeline.svg)
## FIT-Connect Java SDK User Guide
The Java SDK for FIT-Connect enables to build clients for senders and subscribers without directly interacting with any REST-Endpoints.
It provides a simple fluent API that guides through the creation and sending of a submission, as well as receiving submissions as a subscriber.
For further information, check out the official docs: [FIT-Connect Documentation](https://docs.fitko.de/fit-connect/docs/) as well as the:
Martin Vogel's avatar
Martin Vogel committed

* [Self-Service-Portal (Testing Environment)](https://portal.auth-testing.fit-connect.fitko.dev/)
* [FITKO project website](https://www.fitko.de/projektmanagement/fit-connect)
## Official Documentation

Please find the projects documentation on how to build sdk clients on [FIT-Connect SDK Documentation](https://docs.fitko.de/fit-connect/docs/sdks/java-sdk/overview)
Martin Vogel's avatar
Martin Vogel committed

## Getting Started

How to set up the SDK project locally.

### Build Dependencies
This section lists major frameworks/libraries used in the SDK.
Martin Vogel's avatar
Martin Vogel committed

* [JWKValidator](https://git.fitko.de/fit-connect/jwk-validator)
* [Nimbus-JOSE JWT](https://connect2id.com/products/nimbus-jose-jwt)
* [Jackson FasterXMl](https://github.com/FasterXML/jackson)
* [JSON-Schema-Validator](https://github.com/networknt/json-schema-validator)
* [Project Lombok](https://projectlombok.org/)
* [SnakeYAML](https://github.com/snakeyaml/snakeyaml)
* [OkHttp](https://square.github.io/okhttp/)

### Prerequisites

* Java Runtime >= 11, check your current setup in your commandline
  ```sh
  java --version 
  ```
<p align="right">(<a href="#top">back to top</a>)</p>

### Add FIT-Connect SDK to your build

To add a dependency on FIT-Connect using Maven, use the following:
```xml
<dependency>
  <groupId>dev.fitko.fitconnect.sdk</groupId>
  <artifactId>client</artifactId>
  <version>[Latest Version]</version>
With `[Latest Version]` of the last stable build or snapshot.

If you use a snapshot version, please add the maven snapshot repo to your pom.
<repositories>
  <repository>
    <id>maven-snapshots</id>
    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
  </repository>
</repositories>
Martin Vogel's avatar
Martin Vogel committed
```
Martin Vogel's avatar
Martin Vogel committed
### Local Build
As an alternative to the pre-compiled maven artifact, the source code of the Java-SDK can be used to create a custom local build.

First, clone the repo with `git clone`:
```bash
git clone https://git.fitko.de/fit-connect/sdk-java.git
```
Build via Maven-Wrapper:
```sh
./mvnw clean package -DskipTests
   ```
The client artifact is available in `{projekt.dir}/client/target` after a successful build.

<p align="right">(<a href="#top">back to top</a>)</p>

## Roadmap
Martin Vogel's avatar
Martin Vogel committed
- [ ] Attachment Chunking
- [ ] Improved Certificate Handling 
- [ ] Self-Service-Portal Client
See the [open issues](https://git.fitko.de/fit-connect/planning/-/boards/44?search=SDK) for a full list of proposed features (and known issues).

<p align="right">(<a href="#top">back to top</a>)</p>
[FIT-Connect Contact Page](https://docs.fitko.de/fit-connect/contact/) for further information

<p align="right">(<a href="#top">back to top</a>)</p>

Source code is licensed under the [EUPL](https://joinup.ec.europa.eu/page/eupl-text-11-12).
*Rechtlicher Hinweis: Dieses Software Development Kit (SDK) ist dazu bestimmt, die Anbindung einer Software an die FIT-Connect-Infrastruktur zu ermöglichen.
Hierfür kann das SDK in die anzubindenden Software integriert werden.
Erfolgt die Integration des SDK in unveränderter Form, liegt keine Bearbeitung im Sinne der EUPL bzw. des deutschen Urheberrechts vor.
Die Art und Weise der Verlinkung des SDK führt insbesondere nicht zur Schaffung eines abgeleiteten Werkes.
Die unveränderte Übernahme des SDK in eine anzubindende Software führt damit nicht dazu, dass die anzubindende Software unter den Bedingungen der EUPL zu lizenzieren ist.
Für die Weitergabe des SDK selbst - in unveränderter oder bearbeiteter Form, als Quellcode oder ausführbares Programm - gelten die Lizenzbedingungen der EUPL in unveränderter Weise.*
Martin Vogel's avatar
Martin Vogel committed
<p align="right">(<a href="#top">back to top</a>)</p>