aboutsummaryrefslogtreecommitdiff
path: root/docs/spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/spec.md')
-rw-r--r--docs/spec.md21
1 files changed, 20 insertions, 1 deletions
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