David's Interblag "use strict;"

7Okt/150

Meine erste verkaufte Anwendung

Was immer wieder zu verwunderten Nachfragen bei Personalern führte, war ein Eintrag in meinem Lebenslauf, der wie folgt aussah:

Jun. 2002 - Erste verkaufte Anwendung, erstellt mit Borland Delphi 6

Datenbankanbindung (dBase IV) und –Web-Upload für Sage „GS-Auftrag“ als Schnittstelle zu einem PHP-Webshop für ein mittelständisches bayerisches Unternehmen auf dem Gebiet der Hydraulik- und Forsttechnik.

Inzwischen habe ich mich entschlossen, diesen Eintrag ersatzlos zu streichen, möchte über diese ungewöhnliche Geschichte dennoch bloggen.

2002 besuchte ich die gymnasiale Mittelstufe und hatte mich (blöderweise) für die Differenzierungsfächer Biologie und Chemie entschieden. Bereits damals lag mein Interessensschwerpunkt zwar stärker auf der Informatik. Jedoch befürchtete ich, dass die Mathematik, die die Informatik zwangsweise voraussetzt, mir zuviel abverlangen könnte, zumal ich kein guter Mathematikschüler war. Mein damaliger Beratungslehrer, der in späteren Jahren auch mein Informatiklehrer und eine sehr prägende Figur wurde, empfahl mir daher "Bio-Chemie-Diff".

Mein Herz schlug in den Jahren 2001 und 2002, wie oben erwähnt, unweigerlich für die Programmierung. Ich hatte den Ehrgeiz (und die Zeit!) so viele Programmiersprachen wie möglich zu lernen. Also begann ich mit Pascal, später Delphi, lernte parallel Perl und JavaScript. Später Visual Basic und C#. Meiner Kreativität waren damals kaum Grenzen gesetzt. Verstand ich z.B. nicht wie eine Datenbank funktionierte, entwickelte ich einfach selber eine. Zwar eine sehr primitive und fehleranfällige auf Textdateibasis. Aber ich lernte viele wichtige Lektionen durch bloßes Ausprobieren, zum Beispiel warum Datenbanken heute so konzipiert sind, wie sie sind. Dasselbe mit Socketverbindungen, Netzwerkprotokollen (die ich anfangs händisch implementierte), Stringverarbeitung, Betriebssystemzugriffen, WebServices (SOAP) usw.

Borland Delphi war ein mächtiges Produkt. Es bot "out-of-the-box" die Möglichkeit Windowsanwendungen mit ansprechender GUI in wenigen Handgriffen zu entwickeln. Im Gegensatz zu dem damaligen Konkurrenten Visual Basic, wurde kein Runtime Environment, also Zusatzsoftware, die zusätzlich auf dem Zielcomputer installiert werden musste, benötigt. Anwendungen konnten als einzelne .EXE-Datei ausgeliefert werden und funktionierten auf nahezu jeder Windowsversion!

Im Juni 2002 befand ich mich mit meinen Eltern im Sommerurlaub in Oberbayern. Da wir dort regelmäßig Urlaub machten, wussten unsere Freunde vor Ort, dass ich ein kleiner Geek war. Wie der Zufall es so wollte, führte einer dieser Freunde gerade einen neuen Webshop auf PHP-Basis ein. Dort sollten Kunden seinen Warenbestand, vornehmlich Ersatzteile für Hydraulik- und Forsttechnik, einsehen und kaufen können. Man diskutierte am Tisch, wie man denn den Datenbestand seiner Auftrags- und Lagerverwaltung, der sich im Intranet des Unternehmens befand, mit dem Webshop synchronisieren sollte.

Der Blick fiel auf mich. Ich erklärte, dass ich in Delphi die Möglichkeit habe, Dateien mittels Dateitransfer (FTP) auf einen entfernten Webserver hochzuladen. Um den Warenbestand korrekt abzubilden, müsste ich vier oder fünf Datenbanktabellen anzapfen, den Inhalt konvertieren, in eine CSV-Datei schreiben und hochladen.

Meine erste verkaufte Anwendung machte also folgendes: Sie öffnete jede Nacht die vorgegebenen dateibasierten Datenbanktabellen (dBase IV) - ich erinnere mich heute nur noch an die sog. "Rabattmatrix" - konvertierte den Zeichensatz von ANSI zu ASCII, schrieb den Inhalt sequentiell in CSV-Dateien und pumpte diese dann zum FTP-Server des Webshops. Nachdem der Upload vollständig war, rief sie noch eine URL auf, die dem Webshop mitteilte, dass er nun mit dem Import beginnen kann.

Nach drei veranschlagten, aber fünf benötigten Tagen war die Anwendung fertig: Schlank, kompakt und funktional. Da ich damals den Windows-Scheduler noch nicht kannte, entwickelte ich selbst einen rudimentären Scheduler, der periodisch prüfte, ob die eingestellte Uhrzeit bereits erreicht wurde. Die FTP-Logindaten wurden verschlüsselt in einer INI-Datei hinterlegt. Damals wusste ich eben auch noch nicht, dass das FTP-Protokoll in seiner ursprünglichen Art die Logindaten unverschlüsselt überträgt. FTPS war mir gänzlich fremd. Aus heutiger Sicht hätte ich die Logindaten also ebenso gut unverschlüsselt in die INI-Datei schreiben können, da ein Angreifer die Loginsequenz nur hätte mitprotokollieren müssen.

Ironischerweise war das, was ich 2002 programmiert habe, ungefähr das, womit ich heute meine Brötchen verdiene: Datenintegration und -migration. Natürlich verwende ich heute bessere Werkzeuge (ETL-Tools, SQL-Datenbanken, Reporttools), aber im Grundsatz ist das schon sehr ähnlich.

Die Anwendung wurde irgendwann 2006 oder 2007 abgeschaltet, als das Unternehmen eine Softwarelösung kaufte, die den Warenbestand ohnehin "in der Cloud" hielt.

veröffentlicht unter: Delphi Kommentar schreiben
Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Leave a comment

CAPTCHA-Bild

*

Noch keine Trackbacks.