Skip to content
This repository has been archived by the owner on Nov 17, 2022. It is now read-only.

it-at-m/digiwf-alw-integration

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

DigiWF ALW-Integration

Spring-Boot-Starter project to integrate the ALW-System into DigiWF
Report Bug · Request Feature

About The Project

The goal of this library is to enable async communication with the ALW System dispatched by an EventBus of your environment.

Features:

  • Can be used to dispatch requests/responses of the ALW Personeninfo Feature asynchronously through an eventbus.
  • Can inform the receiver through an eventbus if the request was successful or if there was a problem.
  • Performs a functional ping to the ALW System to check connectivity.

(back to top)

Built With

The documentation project is built with technologies we use in our projects:

  • Spring-Boot
  • Spring-Cloud-Stream
  • Apache Kafka

(back to top)

Roadmap

See the open issues for a full list of proposed features (and known issues).

(back to top)

Set up

Follow these steps to use the starter in your application:

  1. Use the spring initalizer and create a Spring Boot application with Spring Web dependencies https://start.spring.io
  2. Add the digiwf-alw-integration-starter dependency.

With Maven:

   <dependency>
        <groupId>io.muenchendigital.digiwf</groupId>
        <artifactId>digiwf-alw-integration-starter</artifactId>
        <version>${digiwf.version}</version>
   </dependency>

With Gradle:

implementation group: 'io.muenchendigital.digiwf', name: 'digiwf-alw-integration-starter', version: '${digiwf.version}'
  1. Add your preferred binder (see Spring Cloud Stream). In this example, we use kafka.

Maven:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-stream-binder-kafka</artifactId>
</dependency>

Gradle:

implementation group: 'org.springframework.cloud', name: 'spring-cloud-stream-binder-kafka'
  1. Configure your binder.
    For an example on how to configure your binder, see DigiWF Spring Cloudstream Utils Note that you DO have to configure spring.cloud.function.definition=functionRouter;sendMessage;sendCorrelateMessage;, but you don't need typeMappings. These are configured for you by the digiwf-alw-integration-starter. You also have to configure the topics you want to read / send messages from / to.

  2. Configure these items for your event bus:

spring.cloud.stream.bindings.sendMessage-out-0.destination: <YOUR CUSTOM REQUEST TOPIC>
spring.cloud.stream.bindings.sendCorrelateMessage-out-0.destination: <YOUR CUSTOM RESPONSE TOPIC>
spring.cloud.stream.bindings.functionRouter-in-0.group: <YOUR GROUP>
spring.cloud.stream.bindings.functionRouter-in-0.destination: <YOUR CUSTOM REQUEST TOPIC> # For a roundtrip use the same value as in "spring.cloud.stream.bindings.sendMessage-out-0.destination" 
  1. Configure details of your ALW System:
digiwf.alw.personeninfo:
  base-url: <YOUR ALW SYSTEM URL>
  rest-endpoint: <YOUR PERSONENINFO ENDPOINT>
  timeout: <YOUR CONNECTION TIMEOUT>
  username: <YOUR BASIC AUTH USER>
  password: <YOUR BASIC AUTH PASSWORD>
  functional-ping:
    enabled: true
    azr-number: <YOUR SAMPLE AZR NUMBER>
  1. Define a map as a named resource bean (see BEAN_ALW_SACHBEARBEITUNG of SachbearbeitungMapperConfig ) to support mapping of the ALW System responses to directory-ous.

For an example, please refer to the example project. There you can:

(back to top)

Documentation

For a detailed documentation see docs

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please open an issue with the tag "enhancement", fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Open an issue with the tag "enhancement"
  2. Fork the Project
  3. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  4. Commit your Changes (git commit -m 'Add some AmazingFeature')
  5. Push to the Branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

More about this in the CODE_OF_CONDUCT file.

(back to top)

License

Distributed under the MIT License. See LICENSE file for more information.

(back to top)

Contact

it@m - opensource@muenchendigital.io

join our slack channel

(back to top)

About

Integration of the ALW-System used by DigiWF

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages