====== Technik ====== ===== Technischer Aufbau KDV-easyTicket ===== \\ - **Access-Runtime 2010 oder höher**: Dieses Programm ermöglicht, dass das KDV-easyTicket laufen kann. Es wird i.d.R. in //C:\Programme\Microsoft Office\Office 14\// abgelegt. - **VGANWST.ACCDE**: Beinhaltet die Programmmasken für die Anzeige Ihrer Schülerdaten. Es werden hier keine Daten gespeichert. Speicherort: //C:\easyTicket// . - **DB01.udl**: Zeigt der Anwendung wo die Daten zu finden sind. Klicken Sie doppelt auf diese Datei oder über einen Editor, um den Pfad zu sehen. Speicherort: //C:\easyTicket// . - **Daten01.accdb**: Eine leere Datei mit Datenstruktur. - **DatenTransfer.accdb**: Enthält eine aktuelle leere Datenbank mit sog. Datenmakros. Nötig für Programmupdates, die auch Datenmakros anbetreffen. - **Schulname_xx.accdb**: Ihr Serviceunternehmen übergibt Ihnen diese Datei. Sie kann beliebig heißen. Sie enthält die beim Serviceunternehmen gespeicherten Schülerdaten. Diese Datei enthält nur Daten, keinen Programmcode. Diese Daten werden über die VGANWST.ACCDE zur Anzeige gebracht. Speicherort: i.d.R. //C:\easyTicket// . \\ Hinweis: Die o.g. Dateinamen sind Standardnamen und können auch anderslautende Namen besitzen.\\ \\ Folgende Grafik veranschaulicht dies: \\ {{..:user:schema_programmtechnischer_aufbau.png|}} ===== Systemvoraussetzungen ===== Handelsüblicher PC ab 4 GB Hauptspeicher, \\ Windows 7 oder höher, \\ 300 MB freier Speicherplatz für Access-Runtime 2010 oder höher, \\ 10 MB für die Anwendung, \\ 10 MB für die Daten, \\ Internetzugang Port 80, \\ FTP Zugang Port 21 \\ ===== FTP Übertragung ===== Die Übertragung der Schülerdaten und der Datenabgleich geschehen über sogenannte FTP-Verzeichnisse. \\ Diese Verzeichnisse sind Benutzer- und passwortgeschützt.\\ Folgende Unterverzeichnisse werden benutzt: * VomSchultraeger: Die verschlüsselten Schülerdaten werden hier hin übertragen. Das Serviceunternehmen holt diese Daten von dort ab und verarbeitet sie. * ZumSchultraeger: Die Daten für den Datenabgleich werden vom Serviceunternehmen hier abgestellt. Die Anwendung schaut in diesem Verzeichnis nach [[erp:schultraegerprogramm:user:programmstart|Abgleichsdaten]] und verarbeitet sie.\\ \\ Das FTP-Protokoll scheint immer mal wieder Probleme zu bereiten. Meist wird nicht berücksichtigt, dass Port 21 allein eben nicht ausreicht. Bei FTP-Verbindungen werden immer zwei Kanäle geöffnet.\\ Der eine Dient als Kanal für Kommando-/Kontrolldaten, der zweite für die Übertragung der tatsächlichen Daten. Zudem muss man unterscheiden, ob die gewünschte Verbindung dem aktiven oder passiven FTP-Verbindungsaufbau entspricht.\\ \\ **Aktives FTP**\\ Der Client startet eine Verbindungsanfrage, ausgehend von einem der lokalen Ports zwischen 1024-65535 zum Server-Port 21. Für die Datenübertragung erfolgt nun eine Anfrage des Servers. Er verwendet dazu den Port 20 und richtet sie an einen der Client-Ports im Bereich 1024-65535. (Bei Paketfiltern, welche Stateful Paket Inspection (SIP) beherrschen, ist es nicht notwendig Ports auf IP-Adressen im LAN zu forwarden. SIP erkennt ftp-Verbindungen und leitet für die bestehende Verbindung die entsprechenden Ports weiter.) \\ \\ **Passives FTP**\\ Der Client startet eine Verbindungsanfrage, ausgehend von einem der lokalen Ports zwischen 1024-65535 zum Server-Port 21. Der Aufbau des Datenkanals erfolgt von einem der lokalen Ports zwischen 1024-65535 zu einem der Serverports zwischen 1024-65535. Der Server baut keine (aktive) Verbindung zum Client auf. \\ \\ Nochmal in Kurzform: \\ **Aktives FTP**: - Client-Ports 1024 - 65535 (TCP) intern -> Server-Port 21 (TCP) Nach erfolgreichem Verbindungsaufbau teilt der Client dem Server mit auf welchem (unpriviligiertem) Port x er einen Verbindungsaufbau für die Datenübertragung erwartet. Daraufhin initiiert der Server, ausgehend von Port 20 eine Verbindung zu Port x \\ - Client-Ports 1024 - 65535 (TCP) intern <= Server-Port 20 (TCP) **Passives FTP**: * Client-Ports 1024 - 65535 (TCP) intern -> Server-Port 21 (TCP). Nach erfolgreichem Verbindungsaufbau teilt der Server dem Client mit, welcher (unpriviligierter) Port x für die Datenübertragung bereitsteht. Client-Ports 1024 - 65535 (TCP) intern -> Server-Ports 1024 - 65535 (TCP). ===== HTTP Übertragung ===== Der Übertragungsweg über HTTP verwendet zumeist Port 80. Die Einstellungen, z.B. wenn ein Proxy vorgeschaltet wurde, werden aus den Internet-Explorer-Einstellungen übernommen.\\ \\ Die Daten werden an unseren Web-Service übergeben, der die Daten entgegen nimmt und in einem Verzeichnis (VomSchultraeger) abstellt.\\ Ihr Verkehrsserviceunternehmen holt die Daten über denselben Web-Service ab.\\ Umgekehrt stellt Ihr Verkehrsserviceunternehmen Servicedaten (neue Haltestellendaten, Gültigkeitszeiträume usw.) über den Webservice Daten in einem Verzeichnis (ZumSchultraeger) bereit. Die Daten werden von easyTicket via Webservice abgeholt und eingelesen.