AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datasnap über Dritt-Server

Ein Thema von braunbaer · begonnen am 16. Okt 2013 · letzter Beitrag vom 16. Okt 2013
Antwort Antwort
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#1

Datasnap über Dritt-Server

  Alt 16. Okt 2013, 13:28
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
Gebhard Blank
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 13:34
Lass doch den Datasnap-Server über Port 80 oder 8080 laufen....
Philip
  Mit Zitat antworten Zitat
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
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 14:14
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.
Gebhard Blank
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 14:19
Lass doch den Datasnap-Server über Port 80 oder 8080 laufen....
von aussen ist alles dicht!
Gebhard Blank
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 15:18
Und lass ihn als ISAP-Dll laufen wenn Du mehr als 10 Benutzer erwartest
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Datasnap über Dritt-Server

  Alt 16. Okt 2013, 15:49
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 00:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz