Pixel

Software Updates

aus Entwicklung

Wir legen seit jeher grossen Wert auf Stabilität. Diese ist nicht nur von den verschiedenen Browsern abhängig, mit welchen eine Website angesehen wird, sondern auch vom Hoster. Viele Hoster in der Schweiz machen sehr oft Updates. Code in der Sprache PHP ist zum Beispiel der Sprache PHP selbst ausgeliefert. Diese wird ständig weiter entwickelt. Das ist gut, nur werden zuweilen alte Befehle nicht mehr unterstützt. Das würde heissen, man muss den ganzen Code scannen und alte Befehle auf neue ummünzen. Das ist schon x Mal passiert und wird weiter passieren. Man könnte sich einen eigenständigen Server ins Netz stellen, der die PHP Version zur Verfügung stellt, mit welcher der eigene Code geschrieben wurde. Das gäbe aber irgendwann Sicherheitsprobleme, da einige der Weiterentwicklungen natürlich auf die Sicherheit im Internet abzielen. Das macht auch Sinn. Schweizer Hoster übertreiben es aber meistens und stellen ältere Versionen ab. Man muss stets auf dem neuesten Stand sein.

Kunden von Web-Entwicklungen verstehen oft zu Recht nicht, weshalb man Updates machen muss. Es läuft ja. Da haben die Kunden recht. Als vor vielen Jahren die PHP-Gemeinschaft beispielsweise entschied, den Programmier-Befehl split() gegen explode() auszutauschen, merkten wir sehr schnell: wir müssen alles umschreiben. Und das sofort. Das gab uns damals so zu denken, dass wir uns für einen anderen Weg entschieden: Abstraktion.

Geldmacherei: man kann in der Tat auf die Idee kommen, hinter den ständigen Updates sei ein Profit-Gedanke. Vielleicht hilft der Gedanke, dass Programmierer in der Regel Faultiere sind. Sprich: man programmiert etwas, damit das von alleine läuft. Selbst eingefleischte Programmierer fassen ungern eigenen alten Code an. Man macht in diesem Beruf etwas mit dem Gedanken, sich nicht mehr darum kümmern zu müssen. Dazu programmiert man geflissentlich und sauber. Nicht um gut da zu stehen, sondern weil man keine Lust hat, Code nochmals zu schreiben, der ja schon lief.

Eigene Abstrahierung

Eigene Abstrahierung heisst, man verwendet eigene Befehle im Code. Damit sind Funktionen gemeint, die Standard-Dinge ausführen, wie z.B. eine Verbindung zu einer Datenbank herstellen. Kundschaft Schweiz nimmt nicht die aktuellen PHP-Befehle in ihrem Code, sondern hält den aktuellen PHP-Code in den Dateien, die aktualisiert werden müssen. Damit reduziert sich der Update-Aufwand immens. Das heisst aber auch, dass man auf die Updates der Grundfunktionen angewiesen ist. K-CMS zum Beispiel erhält mit jeder neuen PHP-Version aktuelle Befehle, falls die PHP-Version auf dem Host geändert hat. So ist sichergestellt, dass eine Web-Applikation weiter läuft. Es kostete uns zwar Jahre, die zu realisieren, aber es hat sich gelohnt.

Updates

K-CMS als Basis für alle Entwicklungen der Kundschaft Schweiz verzichtet auf die Verwendung von neueren, komplexen PHP-Befehlen im Business-Code. Eine Funktion eines Programms ändert sich nicht, nur weil die Sprache sich ändert. Es gibt den sogenannten Business-Layer: was soll etwas können und was braucht es dazu? Diese Fragen klärt diese Business-Ebene. Darunter liegt ein Framework-Layer, also eine Ebene, die es dem Programmierer ermöglicht, gewisse Dinge zu realisieren. Dieser Ebene wird weitgehend vertraut und es muss ihr auch vertraut werden. Doch genau hier liegt der Hund begraben: Frameworks ändern. Je nach Anbieter, stehen ältere Versionen irgendwann nicht mehr zur Verfügung.
Ziel darf es sein, weitgehend unabhängig von Frameworks zu sein. Die Abstraktion ist eine gute Methode, diese zu erreichen. Damit müssen nur noch die Teile gewartet werden, die als Schnittstelle zum Framework zu bezeichnen sind.

Wir hoffen, wir konnten etwas Licht in die Welt der Programmierer werfen, um zu verstehen, warum man updaten muss. Bei der Abstraktion merkt man das als Kunde gar nicht mehr.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert