Technische Umsetzung

Übersicht

Der E131.Dienst ist eine Softwarekomponente, die im Netzwerk zur Verfügung steht und die Datenspeicherung und die Berechnung der Prüfsumme übernimmt. Es handelt sich hierbei um ein WCF, welcher in diesem Fall in einem Windows Service gehostet ist. Als Datenspeicher dient in erster Linie die Festplatte, um die Daten strukturiert in einer SQLCE Datenbank ablegt und als Protokoll in eine Textdatei schreibt. Zusätzlich kann dieses Protokoll parallel auf zusätzliche Medien geschrieben werden. ZB kann dies auf einer SD Karte oder einen USB Stick erfolgen, um die jederzeitige Überprüfbarkeit durch die FinanzPolizei zu vereinfachen.

E131 2.0.14299.36 Unsigniert

Übersicht

WCF-Host, der als Windows Dienst läuft. Zusätzlich wird die Datei E131.core.dll, EntityFramework.dll, EntityFramework.xml sowie Microsoft SQL CE 4 benötigt.

Aufrufparameter „-i“

Mit dem Aufrufparameter „-i“ wird der Windows Dienst installiert

Aufrufparameter „-u“

Mit dem Aufrufparameter „-u“ wird der Windows Dienst deinstalliert

Aufrufparameter „-test“

Mit dem Aufrufparameter „-test“ kann WCF getestet werden, ohne den Windows Service zu installieren. Dabei wird der eingestellte Service-URL ausgegeben.

Konfigurationsdatei E131.WinService.exe.config

Beispiel:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="sdf" value="c:\e131" />
        <add key="key" value="datenschlüssel"/>
        <add key="iv" value="initialvektor"/>
        <add key="uid" value="atu1234567890"/>
        <add key="log0" value="c:\e131"/>
        <add key="log1" value="c:\sicherung1"/>
        <add key="log2" value="d:\usbstick"/>
        <add key="log3" value="e:\skydrive"/>
    </appSettings>
    <system.serviceModel>
        <services>
            <service name="E131.core.GEP">
                <endpoint address="http://localhost:1200/E131Service" binding="basicHttpBinding" contract="E131.core.IGEP" />
            </service>
        </services>
    </system.serviceModel>
</configuration>

 

Es wird eine klassische .net Konfigurationsdatei verwendet. Die veränderbaren Werte werden kursiv dargestellt.
Die Sektion <appSettings> enthält die allgemeinen Applikationseinstellungen.

  • sdf ist das Verzeichnis der strukturierten Speicherung. Hier wird eine SQL CE Datenbank mit dem Datinamen E131.core.DataContext.sdf verwendet.
  • key und iv dienen zur Ver-/Entschlüsselung und sind beliebige Zeichenfolgen
  • uid ist die UID-Nummer und dient zur Identifizierung des Betriebes
  • log0 ist das Verzeichnis der ersten Log-Datei. Als Dateiname wird E131.[UID].[JAHR].txt verwendet.
  • log1logx sind weitere optionale Verzeichnisse für Log-Dateien (zB auf USB-Stick)

Die Sektion <system.serviceModel> enthält den Service-Endpunkt.

Datensicherung

Sowohl die ausführbaren Dateien, als auch die Datendateien sollten in die Datensicherung mit aufgenommen werden.
Besonders wichtig dabei sind die Datenbank und die erste Log-Datei.