AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Architekturfrage: Programm als Internetseite
Thema durchsuchen
Ansicht
Themen-Optionen

Architekturfrage: Programm als Internetseite

Ein Thema von Panthrax · begonnen am 5. Jun 2013 · letzter Beitrag vom 11. Jun 2013
Antwort Antwort
Panthrax

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

AW: Architekturfrage: Programm als Internetseite

  Alt 5. Jun 2013, 13:50
Phoenix, vielen Dank. Die Beispiele erfüllen die richtige Aufgabe. Mir ist jedoch nicht klar, wie ich das nun auf für den Dienst angepassen kann? Vielleicht ist diese Bibliothek auch etwas groß geschossen?

MJustin, der Ist-Zustand verwendet eine TCP-IP-Verbindung, bei der beide Partner voneinander wissen und unaufgefordert Daten senden können. Im Soll-Zustand ist die Oberfläche dann eine Internetseite, hier muss entsprechend eine Anfrage an den Dienstgeber gesendet werden ("get http;//..."), damit dieser eine Gelegenheit erhält mit dem aktuellen Messwertsatz zu antworten. Eine andere Möglichkeit ist mir nicht bekannt.

Von anderer Stelle habe ich diesen Vorschlag erhalten: JavaScript aktualisiert den Inhalt eines HTML-Div-Elements. Verwendet wird JQuery 2. Beim Ausführen ist nur eine Zeitüberschreitung zu sehen, da hinter der Adresse zum Abfragen des Messwertes natürlich kein Dienst antwortet. Der Quelltext dort zeigt aber wie es gehen könnte.
http://jsfiddle.net/PTQ99/2/

Weil ich es nicht ausdrücklich geschrieben hatte: Der Dienstgeber wird so gekapselt, dass er über eine URL angesprochen werden kann ("http://Dienst..."). Dafür werden möglicherweise die Indys verwendet. Er antwortet dann mit XML oder HTML; es ist noch unentschieden, ob die XSL-Verarbeitung beim Dienstgeber oder im Browser (neuer Dienstnehmer) passieren soll. Unklar ist, wie man der Internetseite nun ausreichend Leben einhaucht, damit einige Daten automatisch aktualisiert werden, bspw. die Messwerte.

Gibt es noch andere Ansätze?
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."

Geändert von Panthrax ( 5. Jun 2013 um 13:54 Uhr) Grund: Rechtschreibfehler
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Architekturfrage: Programm als Internetseite

  Alt 5. Jun 2013, 14:37
JavaScript aktualisiert den Inhalt eines HTML-Div-Elements. Verwendet wird JQuery 2. Beim Ausführen ist nur eine Zeitüberschreitung zu sehen, da hinter der Adresse zum Abfragen des Messwertes natürlich kein Dienst antwortet. Der Quelltext dort zeigt aber wie es gehen könnte.
jQuery 2.x ist brandneu und unterstützt ältere Browser nicht mehr - die 1.x Version wird noch gepflegt.

Das "Fiddle" greift alle 100 Millisekunden auf den Server zu, d.h. der Client erzeugt zehn HTTP GET Anforderungen pro Sekunde. Bei Ajax Long Polling steuert der Server die Zeit bis zum Update, indem er die Response mehr oder weniger lang zurückhält - zum Beispiel solange bis tatsächlich (neue) Daten vorhanden sind. Ajax Long Polling geht auch mit der jQuery Ajax Funktion gut.

Update:

Im Soll-Zustand ist die Oberfläche dann eine Internetseite, hier muss entsprechend eine Anfrage an den Dienstgeber gesendet werden ("get http;//..."), damit dieser eine Gelegenheit erhält mit dem aktuellen Messwertsatz zu antworten. Eine andere Möglichkeit ist mir nicht bekannt.
Siehe oben - man im Browser WebSocket verwenden, das ohne GET arbeitet. Der Server kann dazu über den gleichen Port auch aktiv Daten an den Client (Webbrowser) senden, über TCP Streams in beiden Richtungen. Problem: es gibt m.W. für Indy nur eine "experimentelle" WebSocket Implementierung. Eine kommerzielle WebSocket Lösung andererseits gibt es auch, aber sie ist nicht Indy-basiert.

Für die Gestaltung der Oberfläche noch ein Tip: http://dvdchief.com/delphi/ ist eine freie, open source Template Engine wie Smarty für PHP, mit der man HTML Seiten anhand von Templates erstellen kann. Getestet habe ich es noch nicht, aber es ist die erste mir bekannte Lösung für Delphi.
Michael Justin
habarisoft.com

Geändert von mjustin ( 5. Jun 2013 um 14:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz