![]() |
Datasnap über Dritt-Server
Hallo Zusammen,
um mit Datasnap zu arbeiten muss von aussen ein Port auf den Datasnapserver geöffnet werden. Einige meiner Kunden hosten ihre ERP-Lösung, mit der meine App für die Lagerverwaltung und Aussendienst (iOS, bald auch Android) kommuniziert, in Rechenzentren.Diese wollen aber verständlicher Weise keinen Port öffnen. Meine Idee ist nun den umgekehrten Weg zu gehen. Der Datasnap-Server im Rechenzentrum stellt die Verbindung zu einem Server in der Cloud über Port 80 her (Port 80 ist nach aussen offen). Auf diesem Cloud-Server läuft wiederum ein Datasnap-Server, mit dem sich die Mobilen Einheiten verbinden können. Die Kommunikation läuft dann also über Mobile-Einheit - CloudServer - KundenServer und umgekehrt. Durch so eine Lösung könnte ich die Problematik des geöffneten Ports lösen. Weiters ist seitens des Kunden keine fixe IP-Adresse notwendig. Leider habe ich für diese Logik noch keinen Lösungsansatz gefunden. Ich hoffe, dass das mit den Datasnap-Komponenten in Delphi (noch XE4 - bald XE5) machbar ist. Bin schon auf Eure Lösungsvorschläge gespannt. Danke für jeden Tipp!! Gebhard |
AW: Datasnap über Dritt-Server
Lass doch den Datasnap-Server über Port 80 oder 8080 laufen....
|
AW: Datasnap über Dritt-Server
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. |
AW: Datasnap über Dritt-Server
Am Kunde liegt es nicht, sondern am Rechnenzentrumsbetreiber. Der öffnet keinen Port von aussen. Punkt.
Der sagt einfach: macht es wie Teamviewer - mobiles Gerät und Datasnapserver melden sich am Cloudserver an und schon läufts! Daher kommt auch die Idee mit dem Dritt-Server in der Cloud. |
AW: Datasnap über Dritt-Server
Zitat:
|
AW: Datasnap über Dritt-Server
Und lass ihn als ISAP-Dll laufen wenn Du mehr als 10 Benutzer erwartest ;)
|
AW: Datasnap über Dritt-Server
Wie sieht es eigentlich mit sowas wie einem VPN-Kanal aus, der vom KundenServer zum CloudServer aufgebaut wird?
So würde der DataSnap-Server in der Cloud laufen und könnte "direkt" auf die Resourcen (Datenbank, Netzlaufwerke) des Kunden zugreifen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 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