Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.004 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 13:52
Dann muß aber dieser Port ach innen offen sein, damit die mobilen Geräte den Server dort beim Kunden ansprechen können.
Und grade das wollte der Kunde nicht.

Nja, im Grunde kommt da in den Kundenserver kein DataSnap-Server, sondern DataSnap-Client rein, denn schließlich gehen dann die Anfragen von ihm aus.
Genauso wie in die mobilen Geräte ein DataSnap-Client reinkommt
und bei euch in der Cloud ist der eigentliche DataSnap-Server.

Zum Kunden-Server (welcher nun eigentlich ein DataSnap-Client ist), müßtest du entweder einen Callback einrichten, damit der CloudServer den Server-Clienten benachrichtigen kann, wenn von den mobilen Clienten eine Anfrage kommt.
Oder der Server-Client des Kunden muß euren Cloud-Server ständig pollen, um anzufragen, ob ein Client grade was will, um es dann abzuarbeiten.

Wenn beim Kunden firmenintern ein DataSnap-Server benötigt wird, dann brauchst im Kundenserver dann womöglich wieder eine Verbindung von diesem DS-Clienten, zum eigentlichen DS-Server des Kunden,
oder ihr habt die Zugriffe auf's Kundensystem dann doppelt (einmal im firmeninternen DS-Server und für Außen nochmel in dem DS-Clienten, der mit dem Cloud-Server redet)




Aber ganz im Ernst, wenn der Kunde eine Verbindung nach von außen will, dann sollte er auch einen Port dafür öffnen.
Port 80 nicht, aber statt Port 211 kannst du dennoch einen anderen Port nutzen.
Aber du solltest im DataSnap unbeding eine Authentifizierung und am Besten noch eine verschlüsselte Datenübertragung nachrüsten.




Wenn der Kunde aber nicht ganz soviel Angst hat, dann könnte man auch einen anderen Weg gehen, welcher etwas einfacher ist, als dein geplantes Vorgehen.

Im Kundenserver wird Port 211 (oder ein Anderer) aufgemacht und dort läuft der DataSnap-Server,
aber die Zugriffe sind nur für die IP eurer Cloud offen. (die DS-Verbindungen aber immernoch verschlüsseln)

Bei euch, in der Cloud, läuft ein DataSnap-Server mit einem DataSnap-Clienten dran.

Mobiles Gerät spricht euren Cloud-DataSnap-Server an, der leitet die Anfrage direkt an den DataSnap-Clienten in eurer CloudServerApp weiter, welcher die Anfrage direkt an den Kunden-DataSnap-Server weiterreicht.

> Der Vorteil hier ist, daß man dann auch problemlos den Cloudserver weglassen kann und, wenn der Kunde weniger Angst hat, dann können die mobilen Geräte direkt mit dem Kundenserver reden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Okt 2013 um 14:10 Uhr)
  Mit Zitat antworten Zitat