From dbef03aab3b12057b2e0a2ad84abd1fc94ca6cb2 Mon Sep 17 00:00:00 2001 From: Christof Rabensteiner Date: Fri, 25 Oct 2019 10:36:33 +0200 Subject: Spec: Add & Describe MOA ZS Architecture --- docs/spec.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'docs/spec.md') diff --git a/docs/spec.md b/docs/spec.md index 9bbc98f..c2b3cf3 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -3,7 +3,26 @@ ## Introduction MOA ZS is a web application middleware that allows a sender application (app) to send delivery requests to delivery services. -MOA ZS uses Apache CXF as a web service framework and the Spring Framework as inversion of control container. +The goal of MOA ZS is to manage all aspects of the electronic delivery process from a senders perspective, such as: + +- Accepting delivery requests from a sender +- Looking up participants in the participant registry ("Teilnehmerverzeichnis") +- Forwarding requests to delivery services +- Handling responses and notifications (e.g. signature verification, archiving) + +The following figure shows, with which electronic delivery participants MOA ZS communciates and which interfaces it uses: + +![Architecture](figures/architecture.png "Architecture") + +- The sender application sends a `mzs:DeliveryRequest` (specified in [app2mzs.wsdl](../src/main/resources/mzs/app2mzs.wsdl)) to MOA ZS. +- MOA ZS sends a `tnvz:QueryPersonRequest` to the participant registry to find out if the receiver is registered (specified in [zuse2tnvz_p2.wsdl](../src/main/resources/zusetnvz/zuse2tnvz_p2.wsdl)). + This request is optional and depends on parameters from the `mzs:DeliveryRequest` and from the MOA ZS configuration. + If the receiver is registered, the participant registry returns an identifier for this receiver. +- MOA ZS converts the `mzs:DeliveryRequest` to a `msg:DeliveryRequest` and forwards `msg:DeliveryRequest` to the delivery service (specified in [app2zuse_p2.wsdl](../src/main/resources/zusemsg/app2zuse_p2.wsdl)). +- The delivery service sends delivery notifications and status updates to MOA ZS via the [zuse2app_p2.wsdl](../src/main/resources/zusemsg/zuse2app_p2.wsdl) service. +- MOA ZS then handles notifications and status updates by verifying their signatures, archiving them, and by (optional) forwarding the notifications to the sender application (specified in [mzs2app.wsdl](../src/main/resources/mzs/mzs2app.wsdl)). + +MOA ZS uses Apache CXF as a web service framework and the Spring Framework as inversion of control container. The application is written in Java and requires JDK 12 as runtime environment. ## Changelog -- cgit v1.2.3