Wiki-Quellcode von Einreichungswebservice
Zuletzt geändert von MACH ProForms GmbH am 02.07.2024
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
![]() |
3.1 | 1 | ## Architekturskizze |
2 | |||
3 | Bei jeder im Folgenden beschriebenen Variante des Webservices wird eine einheitliche Architektur verwendet. Da der Webservice derzeit ausschließlich über HTTP erreichbar ist, wird ein Reverse-Proxy benötigt, um die die Verschlüsselung der Daten zu gewährleisten. Nachfolgend wird die Kommunikationsstrecke vom Absenden eines Antrages bis hin zur Annahme und Weiterverarbeitung durch den Webservice visuell dargestellt. | ||
4 | |||
5 | ![[Architekturskizze Submissionwebservice|@Submissionwebservice_architecture.svg]] | ||
6 | |||
![]() |
5.1 | 7 | _**Hinweis:**_ Bei der Kommunikation vom MACH formsolutions Plattform in das interne Netzwerk wird standardmäßig der SSL-Port 443 verwendet. Die interne Weiterleitung des Reverse-Proxies an den Webservice erfolgt auf den Port, welcher bei der Installation des Webservices angegeben wurde. |
![]() |
3.1 | 8 | |
![]() |
1.1 | 9 | ## Standard-Webservice |
10 | |||
11 | Bei dieser Variante wird auf dem zugrundeliegenden Server innerhalb des zutreffenden Arbeitsverzeichnisses ein Ordner für den jeweiligen Assistenten angelegt. Innerhalb dieses Ordners wird je Transaktion ein weiteres Verzeichnis hinzugefügt, welches die zugehörigen Dateien (PDF, XML, FDF, weitere Metadaten) beinhaltet. Sollten Anlagen bei der Einreichung an den Webservice versendet werden, so werden diese ebenfalls entpackt gespeichert. | ||
12 | |||
13 | Mit dem Startparameter --single-folder werden alle Anträge direkt im ausführenden Ordner abgelegt. Anlagen werden hierbei nicht entpackt. | ||
14 | |||
15 | ### Nicht enthalten: | ||
16 | |||
![]() |
4.1 | 17 | * Schreiben einer CSV-Datei |
18 | * Flattening der PDF-Dokumente | ||
![]() |
1.1 | 19 | |
![]() |
4.1 | 20 | --- |
![]() |
1.1 | 21 | |
22 | ## Standard-Webservice mit flexibler CSV-Generierung | ||
23 | |||
24 | Bei dieser Variante wird für jeden Assistenten im zutreffenden Arbeitsverzeichnis ein Ordner angelegt, welcher keine weiteren Unterverzeichnisse enthält. Bei der Ablage der Dateien ist zu unterscheiden, ob es sich um eine Einreichung mit oder Anlagen handelt. | ||
25 | |||
26 | ### Einreichung ohne Anlagen | ||
27 | |||
28 | Für jede Einreichung wird das zugehörige PDF-Dokument sowie eine generierte CSV-Datei in der oben beschriebenen Ordnerstruktur abgelegt. | ||
29 | |||
30 | ### Einreichung mit Anlagen | ||
31 | |||
![]() |
4.1 | 32 | Für jede Einreichung wird mindestens eine CSV-Datei erzeugt. Bei dieser Variante werden keine eingereichten PDF-Dokumente gespeichert, sondern ausschließlich die entpackten Anlagen der Einreichung. Der Dateiname der auf der Platte abgelegten Anlagen bildet sich wie folgt: |
![]() |
1.1 | 33 | |
34 | ```javascript | ||
35 | <Formularnummer\>-\<TransaktionsId\>-\<Anlagenname\>. | ||
36 | ``` | ||
37 | |||
![]() |
4.1 | 38 | Sollten mehrere Anlagen hochgeladen werden, so werden pro Anlage eine generierte CSV-Datei sowie die Anlage selbst gespeichert. Die Bildung des Dateinamens sieht wie folgt aus: |
![]() |
1.1 | 39 | |
40 | ```javascript | ||
41 | \<Formularnummer\>-\<Transaktionsid\>-\<Anlagennummer\>-\<Anlagenname\>, wobei der Platzhalter \<Anlagennummer\> | ||
42 | ``` | ||
43 | |||
44 | entsprechend hochgezählt wird. | ||
45 | |||
46 | ### Aufbau der CSV-Datei | ||
47 | |||
![]() |
4.1 | 48 | Die generierte CSV-Datei beinhaltet folgende Daten: |
![]() |
1.1 | 49 | |
![]() |
4.1 | 50 | * Dateinamen der zugehörigen Anlage oder des zugehörigen PDF-Dokuments |
51 | * Alle im Antrag vorhandenen Felder. Hierbei kann die Reihenfolge der Felder über eine Konfigurationsdatei (Properties-Datei) durch den Administrator bestimmt und entsprechend angepasst werden. Die Konfigurationsdatei ist innerhalb des Ordners für den jeweiligen Assistenten unter dem Namen `*"\<identifier\>.properties"*` zu finden. Hierbei dient `*"\<identifier\>"*` als Platzhalter und repräsentiert den Namen des Assistenten. Ein exemplarischer Aufbau dieser Properties-Datei stellt sich wie folgt dar: | ||
52 | |||
![]() |
1.1 | 53 | ```javascript |
54 | transId=01 | ||
55 | fileUrl=02 | ||
56 | Wie_hat_Ihnen_die_Präsentation_gefallen=03 | ||
57 | input=04 | ||
58 | staat=05 | ||
59 | AS_PLZ=06 | ||
60 | AS_Ort=07 | ||
61 | AS_Bundesland=08 | ||
62 | AS_Strasse=09 | ||
63 | AS_Hausnummer=10 | ||
64 | file=11 | ||
65 | ``` | ||
66 | |||
![]() |
4.1 | 67 | > _**Hinweis:**_ |
68 | > | ||
![]() |
1.1 | 69 | > Im obigen Beispiel repräsentiert der erste Wert die technische Bezeichnung, wodurch der zugehörige Wert die auftretende Reihenfolge in der CSV-Datei angibt. |
70 | |||
71 | ### Nicht enthalten: | ||
72 | |||
![]() |
4.1 | 73 | * Eingangsdatum des Antrags |
74 | * Startparameter --single-folder entfällt | ||
75 | * kein Anlagenverzeichnis | ||
76 | * Es wird keine XML-Datei erzeugt | ||
![]() |
1.1 | 77 | |
![]() |
4.1 | 78 | --- |
![]() |
1.1 | 79 | |
![]() |
2.1 | 80 | ## Standard-Webservice mit CSV-Generierung inklusive Anlagenverzeichnis |
![]() |
1.1 | 81 | |
82 | Bei dieser Variante wird für jeden Assistenten im entsprechenden Arbeitsverzeichnis ein Ordner angelegt, welcher keine weiteren Unterordner enthält. Bei einer Einreichung wird ein geflattetes PDF sowie eine generierte CSV-Datei gespeichert. Der Dateiname der generierten Dateien bildet sich wie folgt: Formularnummer + Transaktions-ID. Alle Einreichungen werden in einer flachen Hierarchie unterhalb des Ordners mit dem entsprechenden Assistentennamen abgelegt. | ||
83 | |||
84 | ### Aufbau der CSV-Datei | ||
85 | |||
![]() |
4.1 | 86 | Die generierte CSV-Datei beinhaltet folgende Daten: |
![]() |
1.1 | 87 | |
![]() |
4.1 | 88 | * Dateinamen des zugehörigen PDF-Dokuments |
89 | * Eingangsdatum der Einreichung | ||
![]() |
1.1 | 90 | |
![]() |
4.1 | 91 | > _**Hinweis:**_ |
92 | > | ||
![]() |
1.1 | 93 | > Bei dieser Variante kann die Reihenfolge der enthaltenen Felder nicht über eine Konfigurationsdatei (Properties-Datei) bestimmt werden. |
94 | |||
![]() |
4.1 | 95 | > _**Besonderheit:**_ |
96 | > | ||
![]() |
1.1 | 97 | > In der CSV-Datei werden insgesamt zehn Felder für die Anlagen vorgehalten. Diese Anlagen werden dann separat gespeichert. Die Verlinkung von der CSV-Datei zu den Anlagen findet über einen Pfad statt, welcher den Ablageort der entsprechende Anlage repräsentiert. |
98 | |||
![]() |
4.1 | 99 | ### Nicht enthalten: |
![]() |
1.1 | 100 | |
![]() |
4.1 | 101 | * Erzeugen eines XML-Files |
102 | * Möglichkeit der Sortierbarkeit der Anträge | ||
103 | * Startparameter --single-folder | ||
![]() |
1.1 | 104 | |
![]() |
3.1 | 105 | ## Support |
![]() |
1.1 | 106 | |
![]() |
4.1 | 107 | Der Einreichungswebservice unterliegt nach Inbetriebnahme keiner weiteren Pflege durch MACH ProForms. Versionsänderungen, Funktionserweiterungen oder sonstige Supportanfragen sind daher kostenpflichtig und müssen gesondert beauftragt werden. |