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.