Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#1

Architekturfrage: Programm als Internetseite

  Alt 5. Jun 2013, 10:12
Hallo.

Gesucht sind Möglichkeiten, die Oberfläche eines Programms als Internetseite darzustellen.

Der Soll-Zustand besteht hieraus:
  • statische Inhalte darstellen
  • Echtzeitwerte darstellen
  • Formulare absenden, Antworten empfangen
  • benötigte Steuerelemente: Tasten, Text

Die Ist-Zustand:
  • Das Programm liegt bereits in einer Dienst-Architektur vor.
  • Dienstgeber und -nehmer kommunizieren in einem proprietären, XML-basierten Protokoll auf einer TCP-IP-Verbindung.
  • Der Dienstgeber enthält sämtliche Funktion und Zustände des Systems, und verwaltet für jede aufgebaute Verbindung eine Sitzung, in der er auch unaufgefordert Daten (Messwerte) an die Dienstnehmer sendet.
  • Der Dienstnehmer ist nur die Schnittstelle zum Menschen. Er „übersetzt“ zwischen dem Menschen an der Oberfläche und dem Dienstgeber an der TCP-IP-Verbindung. (Darstellung, Aufnehmen von Eingaben, Auslösen von Funktionen)
  • Ein Sitzung beginnt mit einer Anmeldung. Sie hat mehrere Schritte. Und sie endet mit einer Abmeldung. Eine Sitzung ist vergleichbar mit einem Installationsdialog durch den geblättert wird, mit der Besonderheit, dass für jeden Schritt Messwerte empfangen werden, auf die der Nutzer mit dem Aufrufen verschiedener Funktionen reagiert, bevor er zum nächsten Schritt blättert.
  • Geht die TCP-IP-Verbindung verloren, ist die Sitzung verloren.
  • Alles läuft in einem lokalen Netzwerk.

Schwierigkeiten:
  • Welche Möglichkeiten gibt es, die Oberfläche auf eine Internetseite zu bringen? – Ansatz: Das XML kann durch XSL angemessen dargestellt werden.
  • statische Inhalte darstellen – Ansatz: Diese können direkt im XSL untergebracht werden.
  • Echtzeitwerte darstellen: Der Dienstgeber kann nicht unaufgefordert die Messwerte senden. – Ansatz: JavaScript erfragt häufig die Messwerte und aktualisiert die Oberfläche. JavaScript-Bibliotheken zu verwenden wäre denkbar. Wie macht man das möglichst einfach?
  • Der Dienstgeber bemerkt das Ausfallen eines Dienstnehmers nicht. – Ansatz: Sitzungen erhalten eine Verfallsdauer.
  • Die einzelnen Anfragen müssen eine Sitzung zuordenbar sein. - Ansatz: Einfach eine Sitzungskennung?

Die Echtzeitwerte darzustellen sehe ich als die größte Schwierigkeit, da es mir am wenigsten klar ist, wie man das durch möglichst wenig Arbeitsaufwand bewerkstelligt. Die Netzwerklast kann vernachlässigt werden. Und die Verzögerung sollte nicht zu groß werden. Gibt es JavaScript-Bibliotheken, die helfen können?
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat