Dynamic Standard Framework ( kurz dsf )

Oktober 20, 2020 - Lesezeit: 40 Minuten

Das dsf ist ein Applikation-Server und zugleich ein Entwicklungsframework. Es dient als Serverbackend für die Entwicklung von servergestützten Applikationen.

Es stellt einen breiten Satz von Funktionen zur Verfügung, um den Entwickler bei der Erstellung von Webapplikationen zu unterstützen. Der Applikation-Server läuft sowohl unter Windows als auch unter Linux mit Mono, so dass man unabhängig vom Server-Betriebssystem ist.

So abstrahiert es zum Beispiel die Anbindung der Datenbank, so dass eine für den Entwickler transparente Anbindung der Datenbank stattfindet. Aktuell werden folgende Datenbanksysteme unterstützt: MSSQL, MYSQL sowie SQLite.

Die Konfiguration des Servers findet über eine Reihe von Einstellungsdateien statt, die sich im Konfigurationsverzeichnis ( „/config“ ) befinden.

 

Über die Konfiguration können z.B. Interfaces geöffnet werden, applikationsspezifische sowie serverspezifische Einstellungen angelegt, Account-Einstellungen, Rechte eingesehen und Services definiert werden ( wiederkehrende Aufgaben ähnlich Cron Jobs).

 

Für die Interfaces werden momentan 6 Protokolle unterstützt
( http,  websocket, Imap, Smtp, Telnet  sowie dsfp ein von Symolo entwickeltes Protokoll ).

Über ein ausgeklügeltes CommandsSystem können Funktionalitäten des Servers dynamisch aufgerufen werden.

 

Zusätzlich bietet der Server die Möglichkeit C#-Quelltext live in das System zu kompilieren.

So können Business-Objekte sowie Funktionalitäten und Commands direkt während der Laufzeit in das System übernommen werden. Durch spezielle http-Runtime-Commands können Funktionen implementiert werden, die direkt über ein http-interface über eine URL aufgerufen werden können.

 

Durch ein umfangreiches Logging-System kann man sich vom Server über wichtige Abläufe innerhalb des Servers informieren sowie Informationen in eigenen Commands analysieren.

 

Durch ein dynamisches Brodcastsystem kurz DMB ist es möglich sich am Server zu registrieren und dieser kann dann an alle registrierte Klients die Nachrichten verteilen. Besonderheit ist, dass das System über TCP implementiert ist und somit sichergestellt ist, dass die Nachrichten den Klient erreichen, sowie über Routergrenzen hinweg kommuniziert werden kann.


Testen - Wichtiger als man vielleicht denkt

Oktober 20, 2020 - Lesezeit: ~1 Minute

Heute möchte ich kurz über einen Teil der Softwareentwicklung sprechen, der oftmals zu kurz kommt, obwohl es der wichtigste überhaupt ist.

Das TESTEN

Die Entwicklung und Programmierung kann noch so schnell gegangen sein und die allerneusten Methoden verwenden, wenn nichts funktioniert, bringt es niemandem etwas.

Eine ungetestete Software ist so wie ein Auto ohne Tüv. Kann laufen, muss es aber nicht.

Also haben Sie ein Augenmerk darauf, dass sie fähige Mitarbeiter die Software inhouse testen lassen. Ein Entwickler kann zwar dafür Sorge tragen, dass die Software läuft, aber ob sie so läuft wie Sie das wollen und benötigen, dass kann er nicht unbedingt wissen.


Corona-Wahnsinn

Oktober 20, 2020 - Lesezeit: ~1 Minute

Ja die Corona-Zahlen steigen (das hat auch jeder erwartet, dass es es gen Herbst passieren wird.). Halten wir uns alle an die Sicherheitsauflagen: Maskenpflicht und Abstandsregeln etc. und wir werden auch die steigenden Zahlen aktuell wieder in den Griff bekommen.


freedb.org abgeschaltet

Oktober 10, 2020 - Lesezeit: ~1 Minute

War ja klar das das passiert. Hier eine Alternativeinstellung:

https://www.au-ja.de/guide-replace-freedb-with-gnudb-in-cdex-eac-xcdroast-1.phtml


give it a try

Oktober 8, 2020 - Lesezeit: ~1 Minute

huh -> https://www.youtube.com/watch?v=lMGo-9tKb90 -> love it


Cover Image

Was ist eine Nummer in Javascript

September 21, 2020 - Lesezeit: 6 Minuten

um schnell mal zu überprüfen ob ein Wert eine Zahl ist in Javascript gibt es jede Menge Möglichkeiten. Nun sind Programmierer immer ein bisschen schreibfaul. Also entscheidet man sich für die kürzeste Methode einen Wert auf eine Zahl zu prüfen:

    isNaN(valueToCheck)

Alternativ kann auch folgende Prüfung verwendet werden:

   typeof valueToCheck == 'number'

Ist aber länger, also irgendwie uncool. Sollte aber besser verwendet werden. Sonst könnte folgendes Szenario problematisch werden:

    {
      "Auftragsnummer" : "200123",
      "Menge" : 2
   }

Auftragsnummer ist per Definition ein Text, auch wenn in dem Text eine Nummer steckt:

   isNaN("200123"// Text wird als Nummer interpretiert // liefert gültige Nummer
    isNaN(2)        // liefert gültige Nummer
    isNaN("TEST")   // liefert KEINE gültige Nummer

    typeof "200123" == 'number'   // liefert KEINE gültige Nummer
    typeof 2 == 'number'          // liefert gültige Nummer

Kommt natürlich wieder auf das Szenario an. Aber das Verhalten kann zu komischen Programmabläufen führen. Typensicherheit (soweit man in Javascript davon reden kann ;) ist aber immer hilfreich.


Über

Symolo - systems of mobile logistics
Wir sind Anbieter für Softwarelösungen im Logistikbereich und darüber hinaus.
https://symolo.de