Thomas Risi Softwareentwicklung

RTD-Server

Was ist die RTD-Funktion?

Mit Excel-2002 (Office XP) wurde eine neue Tabellenfunktion eingeführt, nämlich die RTD-Funktion. Die RTD-Funktion eröffnet Ihnen die Möglichkeit, Echtzeitdaten in Ihrer Arbeitsmappe zu verwenden. Diese Daten kommen von irgendwo her (z.B. aus dem Internet, Ihrem lokalen Netzwerk, anderen Anwendungen, Messgeräten, usw.) und werden in der Excel-Anwendung ständig aktualisiert. Es gibt viele interessante Anwendungsfelder, und diese Funktion kann Ihnen vieles erleichtern. So können z.B. umfangreiche Berechnungen auf einen (oder auch mehrere) anderen Rechner ausgelagert werden (asynchrone Datenverarbeitung), oder die Arbeit eines Teams in einer zentralen Datei zusammengefasst werden, usw.

Sie haben die RTD-Funktion entdeckt und wollen sie ausprobieren? Nun, da werden Sie keinen Erfolg haben, denn diese Funktion erwartet eine Referenz auf einen Server (Programm), der dann die eigentlichen Funktionen ausführt. Die RTD-Funktion stellt nur die Grundfunktionen zum Aufruf dieses Servers bereit. Der eigentliche Server muss immer individuell erstellt werden, und ist für den jeweiligen Einsatzzweck optimiert. Microsoft liefert keinen Server mit Excel aus!

Server-Programme müssen also extra programmiert werden. Die Erstellung erfolgt mit Programmiersprachen wie Visual Basic (nicht mit VBA), Visual C++ oder Delphi. Excel stellt ein spezielles Interface (IRtdServer) zur Verfügung, das von allen Servern implementiert werden muss. Dieses Interface ermöglicht die Kommunikation mit Excel, und verspricht eine besonders hohe Performance.


Weitere Informationen zum Thema

Immer wieder treten einige Missverständnisse bzgl. RTD-Server auf. Hier nun einige zusätzliche Infos.

Der Begriff Server hat hier keinen Bezug zur Hardware. Server bezeichnet hier einfach ein Programm, das seine Dienste zur Verfügung stellt. RtdServer laufenentweder lokal auf dem Rechner, der auch Excel installiert hat, oder auf einem entferntenComputer. Sie werden als Exe-Datei in einem eigenen Prozess ausgeführt, oder voneinem Ersatzprozess gehostet. Dadurch wird der Excel-Prozess auch nicht weiter belastet. Derartige Programme sind meist winzig, aber eben auf eine spezielle Aufgabe optimiert.

Wieviele solcher RTD-Server können nun gleichzeitig laufen? Auf moderen Rechnern können tausende solcher Prozesse gleichzeitig ablaufen, ohne das System zu überlasten. Man kann, wie bereits oben erwähnt, auch Szenarien aufbauen, die hunderte von Remote-Rechnern verwenden. So könnten unheimlich komplexe Berechnungen auf viele Computer (Prozessoren) verteilt werden, und nur die Ergebnisse werden wieder bei Excel abgeliefert. Wobei jeder rechnende Computer nur einen Teil seiner Rechenleistung zur Verfügung stellt. Es ist wirklich alles möglich.

Damit ein solches verteiltes Szenario aufgebaut werden kann, ist es nicht erforderlich, das Excel auf allen beteiligten Rechnern installiert ist. Im Prinzip reicht es, das Excel nur auf dem lokalen Rechner installiert ist. Ein RtdServer benötigt auf dem entfernten Rechner also kein Excel um seine Dienste zu verrichten. Wichtig ist nur das passende Interface.

RTD-Server sind ungeheuer flexibel. Man kann sie mit allen möglichen Techniken (z.B. COM, .NET, WebServices) verknüpfen. In Verbindung mit WebServices wird man dann auch unabhängig bzgl. des Betriebssystems.


Demoserver zum Ausprobieren

Damit Sie es selbst ausprobieren können, habe ich einige RTD-Server (RTDTimer, RTDCpu) erstellt. Sie können diese Programme downloaden und verwenden.