Thomas Wölfers Baustatik-Blog

Thomas Wölfers Baustatik Blog

So schnell sollte die Baustatik starten


Ihm Rahmen des technischen Supports sehe ich hin und wieder Kundenrechner, bei denen ich mich wirklich wundere, das die in der täglichen Praxis im Einsatz sind. Diese Hobel sind zum Teil derart langsam, ich hätte die schon vor Jahren an die frische Luft gesetzt.

Das äußert sich natürlich in der benötigten Zeit fürs rechnen, aber auch schon ganz einfach beim Start der Baustatik. Die sollt nämlich innerhalb weniger Sekunden vom Doppelklick aus Icon in den betriebsbereiten Zustand wechseln. Wenn das nicht so ist, ist was im Argen.

Mein Arbeitsrechner im Büro ist beispielsweise auch nicht mehr der Neueste und war auch nicht das Beste was man kaufen konnte, als der vor einigen Jahren angeschafft wurde. Und so sieht der Startvorgang bei mir aus:


Wenn das bei Ihnen länger dauert:

  • Sicherstellen, dass nicht sehr viele Reiter offen sind. (Jeder offene Reiter = ein Dokument das geladen und angezeigt werden muss)
  • Sicherstellen, dass Sie ein aktuelles Windows verwenden.
  • Sicherstellen, dass Sie eine SSD-Festplatte verwenden.
  • … das ist eigentlich schon alles

Probleme mit der Baustatik unter Windows 7 behoben


Letzte Woche Freitag haben wir die neueste Version der Baustatik veröffentlicht. Dabei handelte es sich um ein "großes" Update, bei dem auch die von uns mitgelieferten Pakete von Microsoft wie das .NET Framework upgedatet werden mussten.

Benutzer die noch Windows 7 einsetzen(*) hatten an verschiedenen Stellen Probleme mit dieser Programmversion. Im großen und ganze funktionierte alles, nur die Dienste, bei denen mit unserer Webseite "services.die.de" kommuniziert werden musste funktionierten nicht. So bekam man beispielsweise beim Abruf von neuen Lizenzen, beim abbuchen von Zeit mit dem TimeServer oder auch beim auflisten von online verfügbaren Makros eine Fehlermeldung. Die sagen ungefähr so aus:

image

image

image

Alles in allem kein besonders großes Drama: Die Lizenzen kann man auch manuell herunterladen und die Zeitumbuchung ist auch telefonisch möglich. Trotzdem ärgerlich.

Die Probleme treten ab jetzt nicht mehr auf. Sie müssen dazu nichts installieren.

Was war passiert?

Mit dem Update wurde auch das verwendete .NET Framework upgedatet. Vorige Versionen der Baustatik verwendeten Version 4.6.1, die aktuelle Version verwendet 4.8. Die vorherige Version des Framework verwendete für die Verschlüsselung Version 1.2 von TLS. Das ist die Verschlüsselung, die bei der Kommunikation mit unserem Webserver verwendet wurde. Auf dem Webserver war eingestellt, das mindestens Version 1.2 verwendet werden muss. Das war auch kein Problem, da das die kleinste von allen verwendete Version war.

Beim Framework 4.8 (eigentlich schon seit 4.7, aber das haben wir nie verwendet) wollte man klüger sein und eben keine fest eingestellt Version mehr verwenden. Statt dessen verwendet man die "Default" Version des zugrunde liegenden Betriebssystems. Damit will man sicherstellen, das automatisch bessere Versionen verwendet werden, wenn die über das Betriebssystem verfügbar gemacht werden.

Im Fall von Windows 7 wurde das Gegenteil erreicht: Windows 7 kann zwar auch Version 1.1 und 1.2, aber der "Default" ist 1.0. Das ist dann auch die Variante die die Baustatik beim kommunizieren mit unserem "Services" Server verwendete – und da dieser nur Verbindungen per 1.2 annahm, wurden die Verbindungen abgelehnt. Daher die Fehlermeldungen und Probleme.

Wir haben auf dem Webserver  nun eingestellt, das auch (schlecht verschlüsselte) Verbindungen per TLS 1.0 erlaubt sind. Dadurch haben Anwender mit Windows 7 kein Problem mehr.

Was bedeutet das?

Für Kunden mit aktuellen Windows-Versionen ändert sich nichts: Dort wird sowieso von Haus aus mit TLS 1.2 kommuniziert. Wer noch Windows 7 einsetzt, kommuniziert mit schlechter Verschlüsselung. Das kann man aber ändern: Man kann die Default-Verschlüsselung von Windows 7 auch auf einen anderen Wert als TLS 1.0 stehen. Wie das geht steht mit einem dazu passenden Wizard hier:

Update to enable TLS 1.1 and TLS 1.2 as default



(*) Sollten Sie wirklich nicht länger tun. Der Support von Microsoft endet Anfang 2020. Tun Sie selbst einen Gefallen und kümmern Sie sich möglich bald um ein Windows-Update. Und bei der Gelegenheit: Direkt auch eine SSD-Festplatte besorgen. Smile


Niederlassung zieht um


Die Oberhausener Niederlassung zieht um – und ist darum ein bisschen schlechter zu erreich als normal. Ab Ende der Woche sollte aber wieder alles völlig störungsfrei laufen. Bis dahin: Wenn es ein Kontaktproblem gibt, bitte einfach in München melden.


Wo wir in den (sozialen) Netzwerken sind


Sie finden uns in den wichtigsten Netzwerken:

Ich muss gestehen das ich mit einigen davon nicht viel anfange kann. Ganz vorne in meinem Unverständnis lag Google-Plus: Das ist aber dankbarerweise von Google ganz von selbst geschlossen worden.

Wofür P-Interest gut sein soll ist mir ebenfalls völlig unklar, aber es tut natürlich nicht weh, auch dort hin- und wieder eine Spur zu hinterlassen.


Brettsperrholz und Brettschichtholz


Man kann ja nicht alles wissen: Bis heute dachte ich, das Brettsperrholz einfach nur eine andere Bezeichnung für Brettschichtholz ist. Ist es aber nicht – es gibt einen wichtigen Unterschied. Beim Brettschichtholz sind die Fasern parallel, beim Brettsperrholz sind sie orthogonal. Gut, weiss ich dann jetzt auch und kann ich mir auch merken Smile

Brettsperrholz haben wir übrigens seit letztem Sommer in der Baustatik drin…


Windows 7: Es wird Zeit umzusteigen


Noch etwa ein Viertel der Baustatik Anwender verwenden Windows 7: Das sollte sich aber besser demnächst ändern, denn heute in einem Jahr – also am 14.01.2020 – wird es von Microsoft keine weiteren Updates dafür mehr geben. Auch keine Sicherheitsupdates. Jetzt wäre also ein guter Zeitraum, Rechner die noch mit Windows 7 betrieben werden mit einer aktuellen Version von Windows auszustatten.


So verläuft der Prozess einer Änderung an der Baustatik


Im Rahmen der Softwareentwicklung finden bei uns einige Prozesse statt, die meiner Ansicht nach ganz interessant sind: Darum hier eine kurze Beschreibung des Ablaufs.

Gearbeitet wird grundsätzlich im Visual Studio. Alle Quellcode-Dateien (der Baustatik, wir haben aber auch noch andere Projekte, zum Beispiel die der Webseite) sind dabei auf knapp 100 Projekte einer Visual Studio "Solution" verteilt.

 image

Nach jedem Änderungsschritt wird die Änderung in unser Revision-Control System (wir verwenden Visual Studio Online mit TFS) "eingecheckt" – das bedeutet, die Änderung respektive die geänderte Datei landet in der Datenbank des RCS.

image

Das hat mehrere Konsequenzen: Zum einen sind ab diesem Zeitpunkt die neuen Änderungen auch für alle anderen im Team erreichbar – zum anderen löst dieser Vorgang einige andere Prozesse aus.

Handelt es sich bei der eingecheckten Datei um einen übersetzbaren Quellcode – also ein Teil des "Baustatik" Programms in von Menschen lesbarer Form – dann führt das auf einem unserer Server automatisch dazu, das eine neue Version der Baustatik hergestellt wird. Diese Version enthält dann bereits die Änderung: Wenn der Herstellungsprozess klappt, dann ist sichergestellt, das durch die Änderung zumindest formal nicht "kaputt gemacht" wurde.

image

Wenn doch irgendwas dabei nicht klappt, dann kann man auch gleich nachsehen, was das war:

image

Ging alles glatt, dann wird hinterher ein Testdurchlauf angeworfen. Der läuft auf einem anderen unserer Server – der lustigerweise in der Küche unseres Münchner Büros steht. Egal an welchem Standort die Änderung durchgeführt wurde – der Testlauf findet immer in der Küche in München statt. Smile

Beim Testlauf werden einige Tausend Baustatik-Dokumente neu berechnet und die Ergebnisse dieser Berechnung werden mit Referenz-Ergebnissen verglichen. Wenn alles OK ist, dann dürfen die "neuen" Ergebnisse natürlich nicht von den Referenzen abweichen. Das Resultat dieses Testlaufs wird dann an alle Beteiligten per Email verteilt aber auch über eine interne Webseite veröffentlicht.

image

Trat ein Fehler auf, dann kann man den auch sofort anzeigen lassen, natürlich mit Details, die den Fehler genau beschreiben.

image

Handelt es sich aber nicht um eine Quellcode-Datei, sondern um einen Teil der Dokumentation zum Programm, die ja auf der Webseite verfügbar ist, dann passiert ein bisschen etwas anderes.

In einem solchen Fall wird ein Prozess in unserem Azure-Cluster ausgelöst: Dieser Prozess holt dann die geänderte Datei aus der Quellcode-Verwaltung ab, bringt sie in das richtige Format für den Webserver und kopiert sie dann an die passende Stelle im Webserver – dadurch ist die Dokumentation immer auf dem neuesten Stand. Ganz ohne das einer der Dokumentierenden irgendwas dafür tun muss.

image


Warum Sie uns auch sehr große Dateien schicken können


Diese Frage kam in letzter Zeit häufiger mal auf: Ein Kunde wunderte sich, warum er uns eine sehr große Baustatik-Datei schicken konnte – die war etwas größer als 70 MB – obwohl doch der Firmen Email-Server auf eine maximale Größe von 20 MB eingestellt ist und größerer Email-Anhänge verweigert.

Die Datei wurde dabei mit dem bekannten Mechanismus der Baustatik verschickt: Also über den Befehl "Dokument versenden" im Datei-Menü.

Unser Trick: Ganz einfach, wir versenden die Dokumente nicht per Email. Smile

Statt dessen passiert folgendes: Die Baustatik kommuniziert mit unserem Webserver ( eigentlich mit: https://services.die.de ) und transferiert die Daten des Dokumentes (natürlich verschlüsselt) direkt an unseren Server.

Unser Webserver speichert das Dokument dann in verschlüsseltem Zustand und schickt dann von sich aus dem in der Baustatik ausgewählten Empfänger eine Mail mit den ebenfalls in der Baustatik vorgenommenen Angaben. Diese Mail wird natürlich über unseren Mail-Server verschickt.

Der Mailserver des Kunden kommt hingegen an keiner Stelle zum Zuge – und darum ist der Versand von Dokumenten durch die Baustatik nicht irgendwelchen Maximalgrößen unterworfen. Einfache Sache, eigentlich….


Änderung unserer Download-URL


Wenn Sie ein Update, ein Demo oder eine Hochschulversion von uns herunterladen – oder wenn der Baustatik-Update-Dienst das für Sie automatisch tut – dann wurden die Daten bisher von einem Server namens “downloads.die.de” heruntergeladen. Das ist ab sofort anders. Der neue Name lautet “diesoftware.blob.core.windows.net”.

Warum ist das so, und wieso der komische Name?

Die Sache ist etwas kompliziert, und darum muss ich für die Erklärung auch ein bisschen ausschweifen. Als Internet Infrastruktur verwenden wir Microsoft Azure. Dort betreiben wir zum Beispiel den Webserver der unsere normale Webseite ausliefert und auch den zweiten für die Blogs: Von dem haben Sie den Text erhalten, den Sie gerade lesen.

Eine weitere Komponente die wir von Azure nutzen ist der “Blob” Storage – dort liegen alle sonstigen Dateien, die Sie von uns herunterladen können. Also zum Beispiel die aktuelle Version des Baustatik Installationsprogramms, die Updates für die Baustatik, das Archiv aller alten Baustatik Versionen und diverse weitere Programme, die Sie von uns herunterladen können.

Der echte Name dieses Blob-Servers lautet “diesoftware.blob.core.windows.net”. Über einen DNS-Eintrag machen wir diesen Server unter dem Name “downloads.die.de” verfügbar – einfach darum, damit wir unseren Domänen-Namen “die.de” im Server-Namen verwenden können.

Nun ist es so, das uns die Sicherheit unserer Kunden am Herzen liegt, und darum verwenden wir bei jeglicher Kommunikation im Web SSL. (Was das genau bedeutet hatte ich hier schon mal beschrieben.). Seitens Azure ist das auch kein Problem bei “normalen” Webservern wie www.die.de – darum sehen Sie in der Adressleiste auch immer ein https vor dem www.die.de, oder aber ein vom Browser eingeblendetes Schloss. Bei den Blob-Storage Servern geht das aber leider nicht – zumindest nicht im Zusammenhang mit sogenannten “Custom domains”. Das bedeutet: Man kann zwar SSL verwenden, aber nur dann, wenn man den “echten” Server-Namen verwendet, aber eben nicht, wenn man den “eigenen” Namen will. Microsoft sagt schon seit geraumer Zeit, das das mal möglich sein soll – aber auch nach mehreren Jahren gibt es da noch immer keinen konkrete Zeitplan.

Wir wollten nun aber nicht länger auf SSL verzichten – und darum ist es notwendig, das wir ab sofort den “echten” Servernamen verwenden.

Mit anderen Worten: Wir haben uns entschieden in Zukunft auf den “schönen” Namen zu verzichten und lieber den “sicheren” zu verwenden.