Das connect kit steht unter den Betriebssystemen Windows und Linux zur Verfügung. Die Systemvoraussetzungen und die Installation sind nach Betriebssystem getrennt aufgeführt.
Das connect kit läuft unter Windows ab Version XP und benötigt mindestens .NET4.0 für die Ausführung. Betriebssystemversionen vor Windows 8 müssen das .NET4 Framework zunächst installieren (siehe .NET Framework 4 im Microsoft Download Center).
Das connect kit wird über ein Setup-Programm ausgeliefert.
Ein Doppelklick auf dieses startet die Installation des connect kits.
Nach der optionalen Wahl des Installationsordners (1) kann man das connect kit installieren (2).
Note
Wenn bereits eine ältere Version des connect kits installiert ist, wird man darauf hingewiesen, dass dieses vorher deinstalliert wird. Das connect kit darf während eines Updates nicht gestartet sein. Wenn das connect kit als Service installiert wurde (siehe unten), muss der Service vor dem Update beendet werden.
Die für den Betrieb des connect kits benötigten Dateien wie Konfiguration, Logs, Schlüsselpaare etc. werden unter C:\Users\USERNAME\AppData\Roaming\connectkit (“USERNAME” = Name des Benutzers) abgelegt. Die Dateien in diesem Ordner bleiben bei einer erneuten Installation oder nach einer Deinstallation erhalten. Alle Dateiangaben in den Erläuterungen der Settings beziehen sich auf diesen Basisordner als Ausgangspunkt.
Das connect kit kann auch als Service installiert werden, so dass es auch ausgeführt werden kann, wenn kein User auf dem System angemeldet ist. Für die Installation als Service gibt es im Startmenü einen Shortcut:
Die Installation als Service braucht Administrator Rechte. Das connect kit benötigt zum Betrieb einen Benutzer auf dem System (da die Dateiablage des connect kits einen Benutzer benötigt - siehe Dateiablage). Dieser muss bei der Installation als Service mit angegeben werden (1):
Der Name muss als Down-Level Logon Name angegeben werden, wie er z.B. über das Commandlinetool whoami bestimmbar ist.
Für die Ausführung des connect kits auf POSIX-basierten Systemen wird das Mono Paket (siehe Mono-Project) ab Version 4.2 und die Common-Intermediate-Language benötigt.
sudo apt-get install mono-complete
Die Installation unter Linux erfolgt mit Hilfe des Debian Package Managers (dpkg). Installation des Paketes:
sudo dpkg -i connectkit_0.7_amd64.deb
Unter OSX ist sowohl Installation als auch Betrieb mit Linux identisch (Installationspaket pkg siehe Releases).
Die für den Betrieb des connect kits benötigten Dateien wie Konfiguration, Logs, Schlüsselpaare etc. werden unter ~/.config/connectkit abgelegt. Die Dateien in diesem Ordner bleiben bei einer erneuten Installation oder nach einer Deinstallation erhalten. Alle Dateiangaben in den Erläuterungen der Settings beziehen sich auf diesen Basisordner als Ausgangspunkt.
Das connect kit wird über das Startmenü von Windows gestartet.
In Abhängigkeit von der Windowsversion meldet das connect kit ggf., dass es mit Administratorrechten ausgeführt werden muss. Dies liegt daran, dass es für die Kommunikation einen Port öffnen muss. Alternativ können dem connect kit generelle Rechte für das Öffnen von Ports geben werden, die es nicht nötig machen, es als Administrator auszuführen (Befehl netsh siehe Configuring HTTP and HTTPS in der MSDN Dokumentation) .
Das connect kit läuft in einem sog. Terminalfenster in der es seine Version und die Adresse ausgibt, unter der es erreichbar ist.
Zum Beenden muss man dieses Terminalfenster auswählen und eine Taste drücken.
Wenn das connect kit als Service installiert wurde (siehe oben), muss es über den Windows-Systemdienst (services.msc) gestartet und beendet werden:
Unter Linux wird das connect kit mit dem Befehl
connectkitRun
gestartet.
Das connect kit gibt seine Version und die Adresse aus, unter der es erreichbar ist. Mit einer Tasteneingabe wird das connect kit wieder beendet.
Das connect kit kann unter Linux auch als Service gestartet werden. Der Start erfolgt mit dem Befehl
connectkitService start
Beendet wird er mit
connectkitService stop
Nach dem Start des connect kits kann man dessen Startseite im Browser aufrufen. Hier gibt es einen Verweis auf die Einstellungsseite (1), das Portal (2) sowie die Möglichkeit, die connect API direkt anzusprechen (3).
Note
Die aktuelle Startseite des connect kits kann von der Darstellung im Bild abweichen
Die Einstellungen für das connect kit können hier gesetzt werden.
Hier muss Username und Passwort des connect kit Users im connect eingetragen werden.
(2a) Die genutze Adresse des externen connect.
Diese Adresse kann (für z.B. Testzwecke) angepasst werden. Hierfür im DropDown (2b) “URL” auswählen und die Adresse unter (2c) einstellen. Nach dem Speichern muss das connect kit neu gestartet werden, damit die Änderung wirksam wird und die URL unter (2a) erscheint.
Host- und Portangabe unter dem das connect kit auf dem lokalen System angesprochen werden soll.
Das Intervall für die Synchronisation mit dem Adressbuch des connect in Minuten.
Das Adressbuch wird in der Datei contacts.xml im Unterordner connect_contacts abgelegt.
Einstellungen für die Archivierung ausgehender und eingehender Dokumente. Die archivierten Daten werden im Ordner Archive abgelegt. Der Dateiname der Dokumente entspricht folgendem Benennungsschema:
ID des Empfängers/Senders + “_” + Typ der Datei + “_” + Zeit/Datum der Archivierung im Format 2013-09-30_13-00-00 + “_” + Unique ID
Bei verschlüsselt abgelegten Dateien wird die ID des Schlüsselpaars mit “_” + ID noch ergänzt, damit eine spätere Entschlüsselung einfach möglich ist.
Das Austauschen von Angeboten zwischen zwei Parteien erfolgt über ein asymmetrisches Verschlüsselungsverfahren (RSA Verschlüsselung mit 1024 Bit Schlüssellänge). Hierbei wird ein Angebot an einen Empfänger mit dessen öffentlichen Schlüssel verschlüsselt und in connect abgelegt. Beim Empfang durch das connect kit wird das Angebot mit dem privaten Schlüssel entschlüsselt. Die Ver- und Entschlüsselung findet vollständig im connect kit statt (siehe Programmcode dazu). Die Verschlüsselung betrifft nur Angebotsdaten (alle API-Aufrufe, die mit send und fetch beginnen).
Damit die Kommunikation mit einem Empfänger verschlüsselt erfolgen kann, muss dieser ein gültiges Schlüsselpaar haben. Der öffentliche Schlüssel wird in connect abgelegt und kommt über die Adressbuchsynchronisation zu allen beteiligten connect kits.
Für die Erzeugung muss die Einstellungsseite (1) aufgerufen werden und unter dem zweiten Reiter (2) der Button “Schlüsselpaar erstellen” (3) angeklickt werden:
Das connect kit erzeugt dabei einen privaten und öffentlichen Schlüssel für die Kommunikation mit connect User. Der öffentliche Schlüssel wird in den Adressdaten des Users in connect abgelegt. Der private Schlüssel wird im connect kit im Unterordner “keys” abgelegt. Wenn dies Beides funktioniert hat, wird die Erzeugung mit folgender Meldung quittiert:
Wenn man nun die Settingsseite erneut aufruft, kann man sehen, dass die Verschlüsselung aktiv ist:
Warning
In der Entwicklungsphase des connect kits ist es noch möglich, Angebote unverschlüsselt zu verschicken. Dies wird in der finalen Version nicht mehr möglich sein.
Die lokalen privaten Schlüssel, die für die Entschlüsselung von Angebotsdaten benötigt werden, liegen um Unterordner “keys”:
Note
Dieser Ordner und die darin befindlichen Dateien sollten nicht entfernt werden. Das Löschen von Dateien in diesem Unterordner verhindert ggf. das verschlüsselte in connect liegende Angebote entschlüsselt werden können.
Wann man ein neues Schlüsselpaar nutzen will, kann man einfach ein Neues erzeugen. Dieses wird dann aktiv. Die alten Schlüsselpaare werden aufgehoben, falls es noch Angebote in connect gibt, die noch nicht abgerufen und entschlüsselt wurden.
Nach dem Setzen der Einstellungen werden diese angezeigt. Das connect kit muss dann neu gestartet werden, damit die Einstellungen wirksam werden.
Warning
Für einen User in connect darf es immer nur eine connect kit Installation geben. Das connect kit darf nicht auf mehreren Rechnern im Firmennetzwerk laufen, da die Dateiablage und Schlüsselverwaltung zentral und userbezogen ist. Daher muss das connect kit auch immer vom gleichen User gestartet werden.
Hier kann der Pfad und das Verzeichnis für den automatischen Dateiversand (siehe unten) eingestellt werden. Der zunächst in grauer Schrift angezeigte Pfad ist die Defaulteinstellung. Dieser Pfad kann in dem Feld direkt überschrieben werden. Nach Bestätigung mit “Ordner setzen” prüft das connect kit, ob der Pfad existiert. Wenn ja, wird die Einstellungen übernommen. Nach dem erneuten Start des connect kits wird die Unterverzeichnisstruktur (siehe unten) angelegt. Existiert der angegeben Pfad oder Ordner nicht, wird eine Fehlermeldung ausgegeben.
Zeigt die Einstellungen des Users in connect an und bietet die Möglichkeit, die unterstützen Schemas für Dokumente in connect anzugeben.
Die Adresse des zentralen connect ist https://connectcenter.agof.de. Unter https://connectcentertest.agof.de gibt es eine Testinstallation von connect (siehe connect Dokumentation Zentrale Adressen ).
Um auf dieses Test-connect umzustellen, muss die URL als connect Adresse eingetragen werden (siehe 2. connect Server).
Die Hauptfunktion des connect kits besteht darin, Aufrufe an connect durchzureichen. Die Aufrufe werden über den Subpath /api/ an das center weitergereicht. Die Dokumentation aller Aufrufe des connect finden sich in dessen Dokumentation.
Das connect kit leitet unter dem Subpath /api/ alle Aufrufe an connect weiter.
Im obigen Beispiel werden die User von connect ausgelesen (siehe getOVKParticipants).
Unter /swagger/ (http://127.0.0.1:8888/swagger/) lassen sich die API-Aufrufe von connect live im Browser ausprobieren.
Außerdem sind unter
die WSDLs die Hauptbereiche der connect API abrufbar.
Prüft die Validität eines Dokuments gegen ein XSD Schema. Das connect kit prüft das übergebene XML gegen das im Dokument angegebene Schema und gibt ggf. eine Fehlermeldung zurück.
Aufruf | /validateDocument/ |
---|---|
Methoden | POST (multipart/form-data encoded) |
Rückgabe | Infos zur Validierung. Bei erfolgreicher Validierung: http-Status = 200 und Attribut “status” im XML-Response Body = 0. Bei fehlgeschlagener Validierung: http-Status = 432 und Attribut “status” > 0 sowie Fehlermeldung des XSD-Validators im “InfoText” Tag. |
document | Inhalt des XML-Dokumentes das validiert werden soll (multipart/form-data encoded) |
<CheckResponse status="1">
<InfoText>Die angegebene XSD konnte gefunden werden</InfoText>
</CheckResponse>
Zugehöriges XSD-Schema: checkResponse.xsd.
Die Rückgabecodes und Fehlermeldungen im Response entsprechen denen, die beim Versand von Angeboten auftreten können (siehe Fehlermeldungen der Versandvalidierung).
Prüft die Version des connect kits und gibt evtl. Probleme aus.
Aufruf | /checkConnectKitVersion/ |
---|---|
Methoden | GET |
Rückgabe | Zustand des connect kits. Bei einem aktuellen connect kit ist das “status” Attribut = 0 ansonsten > 0 |
<CheckResponse status="1" expireDate="2015-01-01"/>
Nummer | Bedeutung |
---|---|
0 | connect kit ist aktuell |
1 | Unterstützung für das connect kit läuft aus. Datum der Deaktivierung im Webservice wird im Attribut “expireDate” ausgegeben. |
2 | connect kit wird nicht mehr vom Webservice unterstützt. |
Zugehöriges XSD-Schema: checkConnectKit.xsd.
Als Alternative zum direkten Versand über den Webservice unterstützt das connect kit auch einen automatisierten Versand über das Dateisystem. Dabei werden Dateien, die in ein bestimmtes Verzeichnis gelegt werden, automatisch vom connect kit verarbeitet. Voraussetzung ist eine definierte Kennzeichnung im Dateinamen.
Im eingestellten Versandverzeichnis (siehe Einstellung Ordner Automatischer Dateiversand) connect kits gibt es das Verzeichnis AutoFileTransfer mit folgender Unterverzeichnisstruktur:
Um eine Datei an einen bestimmten Empfänger zu verschicken, muss der Dateiname einem Benennungsschema entsprechen. Der Aufbau ist dabei wie folgt:
ID des Empfängers + “_” + Typ der Datei + “_” + Beliebige eigene Benennung + ”.xml”
ID des Empfängers => Entspricht der UserID des Empfängers in connect Adressbuch (siehe getOVKParticipants)
Sobald eine Datei im Ordner AutoFileTransfer/In ablegt wird, versucht das connect kit Empfänger und Angebotstyp aus dem Dateinamen zu bestimmen. Sofern dies eindeutig gelingt, wird die Datei zunächst in den Ordner Progress verschoben und um eine UniqueID erweitert (hierdurch kann man identisch benannte Dateien parallel verarbeiten). Im Anschluss versucht das connect kit die Datei an das zuständige connect zu verschicken. Wenn das gelingt, wird es im Ordner Sent archiviert.
Wenn Empfänger und Dateityp nicht bestimmbar sind, oder die Datei aus anderen Gründen nicht versandt werden konnte, wird es in den Ordner Error verschoben.
Sowohl bei erfolgreicher als auch fehlerhafter Verarbeitung wird eine Logdatei im jeweiligen Zielordner angelegt (Benennung wie der Dateiname der Datei + Prefix “_log.txt”), die Informationen zur Verarbeitung der Datei enthält.
Der Ablauf des Versands im Überblick:
Sollte der Versand einer Datei durch z.B. Absturz des Rechners unterbrochen werden, wird die Verarbeitung beim nächsten Start des connect kits wieder aufgenommen. Das connect kit prüft beim Start, ob im Progress Ordner noch Dateien liegen und verarbeitet diese entsprechend.
Neben dem Versand von Dateien, können auch alle in connect anliegenden Dateien für den connect kit User abgerufen werden. Um diese Aktion zu initiieren, muss man eine Datei im “In” Ordner erstellen (oder einfach hineinkopieren), die “fetchAll” heißt. Die Datei selbst kann leer sein, es kommt nur auf den Dateinamen an.
Sobald sich diese Datei im “In” Ordner befindet, wird sie wieder gelöscht und alle in connect vorliegenden Dateien des connect kit Users werden heruntergeladen und im Ordner “Download” abgelegt. Die Dateibenennung erfolgt dabei nach folgendem Schema:
ID des Absenders + “_” + Typ der Datei + “_” + Datum der Datei + “__” + Dateiname + ”.xml”
Der Bereich Dateiname ist nur vorhanden, wenn die Datei über den automatischen Versand an connect verschickt wurde oder beim Einstellen der Datei über den Webservice das Attribut attr_filename entsprechend gesetzt wurde (siehe Parameterbeschreibung von sendOffer).
Bei jedem Start des connect kits wird im Unterordner logs eine Protokollierungsdatei angelegt, in der alle Aktivitäten des connect kits protokolliert werden. Die Dateibenennung erfolgt nach dem Schema “JJJJ-MM-DD__HH-MM-SS.txt” (z.B. 2013-09-30__12-00-00.txt).
Die Aktionen werden zeilenweise geloggt. Die Zeilen sind spaltenweise formatiert (per Tabulator getrennt). Damit lässt sich die Datei einfach mit z.B. Excel öffnen und filtern.
Name | Erläuterung | Beispiel | Typ |
---|---|---|---|
Date | Datum im Format “DD:MM:JJ” (Tag:Monat:Jahr) | 09.01.14 | Text |
Time | Zeitpunkt im 24h Format “HH:MM:SS” (Stunde:Minute:Sekunde) | 14:30:20 | Text |
Runmode | Wenn vorhanden die Namen der in connect aufgerufenen Funktionen (siehe Dokumentation), ansonsten sprechende Erläuterung der Aktion | sendOffer | Text |
Sender ID | Bei Kommunikation zwischen zwei Parteien die ID des Senders in connect (siehe id User). | 4 | Zahl |
Receiver ID | Bei Kommunikation zwischen zwei Parteien die ID des Empfängers in connect. | 2 | Zahl |
Receiver name | Der Name des Empfängers. | Agentur 1 | Text |
Typ | Typ des Dokuments beim Versand (mögliche Typen siehe Beschreibung getDocumentsList). | offer | Text |
Transaction ID | Eindeutige TransaktionsID eines Dokuments (siehe Rückgabe von z.B. sendOffer) | 618 | Zahl |
Response Code | HTTP Statuscode bei einer Webanfrage (siehe HTTP-Statuscode). Alle Rückgaben außer 200 deuten auf ein Problem oder einen Fehler hin. Die Bedeutung der jeweiligen Codes stehen bei den Funktionen in der Dokumentation. | 200 | Zahl |
Response Content | Der Inhalt einer Webanfrage. Dies ist häufig nicht die vollständige Rückgabe, sondern nur eine Zusammenfassung. Wenn z.B. eine Angebotsliste in XML empfangen wurde, steht hier nur “XML”. | XML | Text |
is Testuser | Gibt an, ob der Empfänger einer Kommunikationsaktion ein Testuser ist. Dies macht nur für den Testbetrieb beim Betrieb eines lokalen connect Sinn. Mögliche Werte: leer oder “1” | 1 | Zahl |
URL | Bei einer Webanfrage die aufgerufene URL inkl. GET-Parameter (beim Login wird aus Sicherheitsgründen das Passwort entfernt). POST-Parameter werden nicht geloggt. | https://connectcenter.agof.de /sendOffer | Text |
Spalten, die für die jeweilige Aktion nicht sinnvoll sind, bleiben leer (Beispielprotokoll).
Das connect portal ist eine Weboberfläche für diverse Funktionen des connect kits. Es wird über den Subpath /portal aufgerufen (also z.B. http://127.0.0.1:8888/portal)
Beim Aufruf der Portalseite wird zunächst die Userliste angezeigt. Die User kommen aus dem lokalen Userverzeichnis des connect kits (Synchronisation mit dem zentralen Adressbuch siehe Adressbuchsynchronisation).
Hier werden die für den User des connect kits eingestellten Dokumente eingezeigt (siehe getDocumentsList).
Hier werden die Stammdaten der Vermarkter angezeigt. Man kann sie nach ihrem Typ anzeigen (1) oder einen bestimmten Vermarkter auswählen (2).
Die Möglichkeiten Stammdaten im zentralen connect einzustellen (3) ist nur möglich, wenn das connect kit von einem Vermarkter betrieben wird.
Hier werden Nachrichten angezeigt, die über connect verschickt wurden. So wird beispielsweise beim confirmFetch eines Angebotes eine Nachricht an den Absender verschickt, dass der Empfänger das Dokument abgerufen hat.
Die Nachrichten können heruntergeladen und gelöscht werden.