AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Erstellung eines Datasnap-Servers mit einem unabhängigen Java-Script Clients

Erstellung eines Datasnap-Servers mit einem unabhängigen Java-Script Clients

Ein Thema von Julius123 · begonnen am 13. Feb 2018 · letzter Beitrag vom 14. Feb 2018
Antwort Antwort
Julius123

Registriert seit: 13. Feb 2018
2 Beiträge
 
#1

Erstellung eines Datasnap-Servers mit einem unabhängigen Java-Script Clients

  Alt 13. Feb 2018, 10:17
Hallo,

Ich möchte gerne einen Datasnap-Service erstellen, der einfach gesagt Funktionen bereitstellt, die ein beliebiger Client ausführen kann. Dabei ist es wichtig, dass der Server sowohl mit http, als auch mit tcp/ip auskommt.

Wenn ich die Architektur richtig verstanden habe, dann gibt es 2 Arten von Datasnap Services in Delphi. Der eine Service verwaltet nur die Rest Api, der 2. ist in der Lage Webseiten aufzubauen. Mir reicht eigentlich lediglich die RestApi.

Der Aufbau dieser Services ist eigentlich gleich, bis auf das TWebModule beim 2. Service. Und da wird es für mich interessant, da die Anfragen, die der JavaScript Client schickt Cors-Anfragen sind. In Kombination mit dem WebModule ist es einfach mit diesen umzugehen, da ich diese im Ereignis BeforeDispatch einfach abfangen kann. Aber eigentlich brauche ich ja kein WebModule, da ich ja nur eine RestApi bauen möchte, die einem Client Funktionen bereitstellt.

Ich bin nun ein bisschen überfordert mit den vielen Komponenten, die Delphi für Datasnap bereit stellt. Egal ob HTTPService oder WebDispatcher, alle machen gefühlt das gleiche, aber keiner kann mir wirklich genau sagen, was Sinn macht, und vor allem wie Datasnap gennerell mit Cors Anfragen umgeht, (so wie ich es verstanden habe gar nicht).

Ich würde mich freuen, wenn mich jemand des bezüglich aufklären könnte.

Gruß
Julius
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
222 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Erstellung eines Datasnap-Servers mit einem unabhängigen Java-Script Clients

  Alt 13. Feb 2018, 18:01
Besser meine Antwort als keine. Seit dem Bienen, Hummeln und Wespen auf den Blumen usw... weiß man nie genau was man bekommt.

Ich habe kein Delphi Enterprise weswegen ich aus der sich verbalssenden Erinnerung schreibe und die Doku habe ich mir zu Gemüte geführt. Deswegen Vorsicht. Es wird bestimmt jemand hier spezifischere Aussagen können tätigen.

Der Datasnap ist ein Application Server resp. kombiniert mit ehem. Middleware Technologie.

Der Websnap habt mit dem mal gar nichts zu tun. Der kommt aus dem Umfeld Webbroker Application. Die ist jene welche erlaubt Webpages zu erzeugen. Intraweb setzt bspw. auf dem auf. Das Modul von dem du spricht verwirrt schon länger und ich denke ist überflüssig.

Ich vermute das Webmodule wird mitgeneriert um zu zeigen, dass auch Websites (zumeist Intranet Anwendungen) genauso integriert resp. gehostet werden können.

In dem Umfeld wird eine Applikationslogik entweder in einer
a) executable, Standalone Server
b) Service (Windows Service)
c) Webserver in Form eines Modulas (IIS, Apache Windows, Apache unter Linux usw...)

gehostet.

Ein Modul wurde früher am (IBM)Host bspw... immer vom OS geladen resp. dort gehostet. Das war unter MTS Windows oder COM+ auch nicht anders. IBM hat immer 'unter Kontrolle vom OS' ausgeführt. Im Rahmen der Objektorientierung insbesondere kam hinzu dass beinahe jede Anwendung resp. jeder Anwendungstyp zum eigenen hostenden OS werden kann. Der Webserver ist eine 'Mischung' aus beiden.

Allein kommt hinzu, dass die hostende Anwendung zumeist Authentifzierungsdaten muss verwalten. Der Datasnap selbst verfügt zusätzlich noch über die Möglichkeit Berechtigungen bspw. viel filigraner zu verwalten aber autark.

Ursprünglich hatte der Datasnap 'nur' Datenmengen und Funktion über TCP und HTTP (DBX units). Der REST läuft losgelöst davon wird aber gemeinsam in einem oben genannten 'Container' genauso gehostet wie eine Datasnap Application.

Wenn du einen Datasnap Server generierst (Wizard), dann wird für eine Client Library verfügbar auf den mobilen OSes bspw... auch der Code für die Aufrufe generiert.

Der REST Teil von dem du spricht, der wirkt irgendwie isoliert davon. In dem Punkt kann ich keine seriöse Aussage machen. Der geht soviel ich mich erinnere nur über http.

Ich bilde mir ein, dass die REST Client Library am klassischen Datasnap mit Delphi XE2 kam und mit dem REST Teil von dem du sprichst mal potentiell wenig bis gar nichts.

Aber in dem Punkt kann mich meine Erinnerung täuschen.

Die Information von mir ist allein da, da sonst keiner hat geantwortet und damit du dich nicht verläufst.


Hallo,

Ich möchte gerne einen Datasnap-Service erstellen, der einfach gesagt Funktionen bereitstellt, die ein beliebiger Client ausführen kann. Dabei ist es wichtig, dass der Server sowohl mit http, als auch mit tcp/ip auskommt.

Ich würde mich freuen, wenn mich jemand des bezüglich aufklären könnte.

Gruß
Julius

Geändert von MichaelT (13. Feb 2018 um 18:17 Uhr)
  Mit Zitat antworten Zitat
Julius123

Registriert seit: 13. Feb 2018
2 Beiträge
 
#3

AW: Erstellung eines Datasnap-Servers mit einem unabhängigen Java-Script Clients

  Alt 14. Feb 2018, 14:37
Auf jeden Fall schon mal danke für die Antwort.

Was mir jetzt leider immer noch fehlt ist die Antwort auf die Frage, warum der Datasnap Server mit CORS nicht klar kommt. Im Netz habe ich zwar eine Lösung gefunden, jedoch setzt die eben vorraus, dass ich eben eine Rest-Anwendung bauen muss (inkl WebModul, Page Producer, usw), ein DataSnap-Server ist anders aufgebaut. Seine Funktionalität reicht mir theoretisch aus, jedoch habe ich hier keine Lösung, damit auch dieser mit CORS auskommt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:

Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2017 by Daniel R. Wolf