AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Datenaustausch mit der "Cloud"
Thema durchsuchen
Ansicht
Themen-Optionen

Datenaustausch mit der "Cloud"

Ein Thema von Nersgatt · begonnen am 16. Jul 2012 · letzter Beitrag vom 16. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 13:42
Moin,

ich habe eine konzeptionelle Frage.
Wir haben eine (Delphi-) Software die Daten mit mobilen Geräte austauscht. Dies sind vor allem Geräte, die mit Windows mobile oder Windows CE laufen. Die Anwendung darauf ist mit VB.net geschrieben. Die Geräte haben eine GSM-Karte und kommen so ins Internet.
Nun ist es so, dass bei den Kunden eine Serversoftware von uns installiert wird. Dazu werden dann über DynDNS, NO-IP, etc. Portweiterleitungen eingerichtet, damit die mobilen Geräte den Server erreichen.

Und genau mit diesem Punkt haben wir immer wieder Probleme. Unsere Kunden sind kleine Firmen. Da gibts folgende Probleme:
  1. Die haben keine Netzwerkadmin, sondern entweder ne Fremdfirma, die sowas einrichtet. Oder das macht der Sohn des Schwagers aus 2. Ehe, weil der sich total gut mit Computerkrams auskennt.
  2. Und die haben keinen Ciscorouter dort stehen, sondern irgendeine Kiste, die beim DSL-Vertrag halt dabei war.
  3. Die Serversoftware ist im Prinzip ein Indy-FTP-Server mit ein paar Spezialitäten. Wir haben festgestellt, dass es bei einigen Mobilfunkprovidern aufgrunddessen Probleme gibt. Da wird FTP gesperrt. Insbesondere in der Schweiz haben wir das Problem. Und mit der Telekom in D hatten wir das Problem bei einer bestimmten Vertragsvariante.
  4. Die Kunden haben keine Leistungsfähige Internetverbindung, sondern oftmals nur DSL 2000 oder gar noch schlechter. Ländlicher Raum.

Nun besteht folgende Idee:
Wir mieten uns irgendwo einen Server (Cloud). Darauf lassen wir einen Server laufen, mit dem die Clients per REST kommunizieren können. Dort können sie also ihre Daten abliefern, bzw. sich neue Stammdaten abholen. Der Server beim Kunden würde sich auch mit diesem REST-Server verbinden und dort die Daten der Mobilgeräte abholen oder dort Stammdaten bereitstellen.
Ich erhoffe mir daraus, dass ich das Problem 1 und 2 löse (keine Portumleitung nötig). Und das Problem 3 (REST = HTTP statt FTP).

Hat jemand schon mal sowas gemacht?
Kann man sich z.B. bei Amazon einen Server (bzw. eine Serverinstanz) mieten, womit ich dann machen kann, was ich will? In diesem Fall eine eigene Software = REST-Server installieren? Und hätte diese Serverinstanz dann eine öffentliche IP?
Und wie wäre das ganze skalierbar? Wir arbeiten sehr saisonal. D.H. unsere Kunden arbeiten 3 Monate im Jahr auf 120% Volldampf und den Rest des Jahres dümpeln die so rum. Bei der Anzahl Clients (Mobilgeräte) muss man in der Hauptzeit von deutlich 3-stelligen Zahlen ausgehen. Von den Geräten muss der Server die Daten annehmen und ausliefern (wobei die Datenmengen im Kilobytebereich liegen).

Wie wäre das Softwaremäßig anzugehen? Ich habe schon bei diversen Vorträgen Datasnapserver gesehen, die REST-Services bereitstellen. Aber so richtig habe ich das nicht verstanden, weil es mich damals wohl auch nicht so recht interessiert hat. Würde man dann einen Dienst erstellen, der auf dem Server läuft?
Was kostet mich der Spaß?

Hinweise, Tipps, andere Wege?

Danke!
Jens
Jens
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 13:58
Ich würde überlegen, keine Instanzen bei Amazon zu mieten (teuer wenn sie dauernd laufen, Verwaltungsaufwand), sondern direkt einen Datenbankdienst oder einen Filestorage. Dann brauchst du dich um Skalierung wenig zu kümmern.

Zugegriffen wird darauf über eine REST-Schnittstelle.

EDIT: Allerdings könnte es Probleme mit dem Datenschutz geben, da Amazon ein US-Unternehmen ist. Da musst du dich auf jeden Fall nochmal schlau machen.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG (16. Jul 2012 um 14:01 Uhr)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 14:03
graue Theorie (Stand letztes Jahr)
Bei Amazon kannst Du für einige Zeit kostenlos testen(1 Jahr?), brauchst glaub ich ne Kreditkarte, um den Account anzulegen.

Du kannst da machen, was Du willst, aber Du zahlst (später) den gesamten Traffic. Also auch den Traffic, der beim Setup des Servers (von außen) entsteht. Es gibt aber irgendeine Plattform, wo Du Dir fertige Serverimages kopieren kannst (also innerhalb der amazon cloud, kostenfrei?).

Man kann also erstmal recht locker experimentieren, wenn ich das richtig in Erinnerung hab.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 14:22
Die Cloud-Unterstützung bringt Delphi ab der Enterprise Edition bereits direkt mit, ja. Das Prinzip ist hier z.B. erklärt:
http://www.youtube.com/watch?v=BRFbiRcLtkc
http://docwiki.embarcadero.com/RADSt...g_mit_DataSnap
...

Das ganze lässt sich relativ schnell und einfach umsetzen. Ich habe das zwar bisher nur mit XE gemacht, aber mit XE2 soll es ja sogar noch schöner gehen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 14:53
Frage die mich immer wieder interessiert:

Warum Cloud? Warum nicht einen eigenen Rootserver anmieten. Beim Rootserver weist du wo er steht. Bei Cloud bekomme ich immer irgendwie Bauchschmerzen.



Habe einige Rootserver für meine Internetseiten und für Backup der Kundendaten. Eigendlich laufen die recht Wartungsarm.

Ich überlege mir schon seit Wochen, ob ich nun die Kundendaten nicht mehr lokal speichere, sondern auf den Internetservern und diesen Dienst meinen Kunden vermiete. Vorteil ist natürlich, daß man von überall auf die Daten zugreifen kann. Nachteil: Ich muss mich um die Sicherheit der Daten kümmern.

Die Frage ist auch, wie kann ich offline weiterarbeiten, falls mal das Internet ausfällt? Alles noch nicht ausgegoren. Aber dennoch kam mir nie die Idee, die Daten in die Cloud auszulagern.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 14:56
Filestorage (Amazon S3) in Verbindung mit der Cloudunterstützung von Delphi klingt höchst interessant. Passt wie Ar... auf Eimer.
Und ist erstaunlich günstig. Auf jeden Fall eine Richtung, in die ich weiter forschen werde.
Danke!

@bernau: warum mit Kanonen auf Spatzen schießen? In meinem Fall würde mir das Filestorage ausreichen. Und wenn ich mal die Kosten pro Monat überschlage, komme ich auf erstaunlich niedrige Beträge.
Und außerdem spare ich den Verwaltungsaufwand für den Server.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 15:46
Die Frage ist auch, wie kann ich offline weiterarbeiten, falls mal das Internet ausfällt? Alles noch nicht ausgegoren.
Wieso? Genau das ist doch mit Multi-Tier Anwendungen mit DataSnap möglich.

Sprich ich habe z.B. die Struktur Client <--> lokaler Server <--> Netzwerkserver <--> Internetserver <--> Datenbankserver. Fällt nun der Internetserver aus, übernimmt der Netzwerkserver die Verwaltung und reicht die Daten weiter, wenn der Internetserver wieder erreichbar ist. Ebenso bezogen auf den Client.

Die Logik dahinter muss man sich allerdings sehr gut überlegen. Einfach ist das nicht. Aber wenn man das dann erst einmal so umgesetzt hat, hat man ein extrem flexibles und robustes System um die Ausfallzeiten beim Arbeiten an den Clients so gering wie möglich zu halten. Der Kunde soll schließlich immer weiterarbeiten können trotz z.B. eines Internetausfalls.

Warum Cloud?
  • Einfache und schnelle Anbindung, Delphi kann das ja z.B. wie schon erwähnt direkt
  • Sehr gute Skalierungsmöglichkeiten (viele Zugriffe abfedern, ...)
  • In der Regel sehr viel günstiger als eigene Server, je nach Anwendungszweck
  • Kaum eigener Aufwand was die Verwaltung der Server angeht
  • Hochverfügbarkeit, also sehr gut gegen Datenverlust gesicherte Daten (unabhängig von einer eigenen zusätzlichen Sicherung), die zudem selbst bei Festplattenausfällen noch aus gespiegelten Daten verfügbar sind
  • ...
Insofern stellt sich eher die Frage: Warum nicht Cloud?

Klar, der Serverstandort ist ein wichtiger Punkt bei gewissen Daten, aber sonst?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 15:50
Sicher gibt es bei Cloud-Lösungen einiges zu bedenken, was gar nicht mit der Implementierung selbst zu tun hat. Ein schlagendes Argument ist aber eindeutig die hohe Verfügbarkeit, die Skalierbarkeit und die fehlende Notwendigkeit zur Adminstration.

(Shameless plug Wer wissen will, wie es mit Microsoft Azure geht, möge doch mal bei den Delphi-Tagen vorbeischauen...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 17:34
Wieso? Genau das ist doch mit Multi-Tier Anwendungen mit DataSnap möglich.

Sprich ich habe z.B. die Struktur Client <--> lokaler Server <--> Netzwerkserver <--> Internetserver <--> Datenbankserver. Fällt nun der Internetserver aus, übernimmt der Netzwerkserver die Verwaltung und reicht die Daten weiter, wenn der Internetserver wieder erreichbar ist. Ebenso bezogen auf den Client.
Das hört sich allerdings wiederum interessant an. Aber wenn ich von verschiedenen Standorten auf den Internetserver zugreifen will, dieser ausfällt und mit dem Netzwerkserver des jeweiligen Standortes weitergearbeitet wird, was passiert, wenn die Netzwerkserver mit dem Internetserver abgleicht, und an verschiedenen Standorten der gleiche Datensatz geändert wurde?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Datenaustausch mit der "Cloud"

  Alt 16. Jul 2012, 17:42
Das hört sich allerdings wiederum interessant an. Aber wenn ich von verschiedenen Standorten auf den Internetserver zugreifen will, dieser ausfällt und mit dem Netzwerkserver des jeweiligen Standortes weitergearbeitet wird, was passiert, wenn die Netzwerkserver mit dem Internetserver abgleicht, und an verschiedenen Standorten der gleiche Datensatz geändert wurde?
Ohne tiefer ins Detail zu gehen:
Wir lösen das so, dass Verantwortlichkeiten definiert sind. Ich weiß also z.B., dass Anlage A gerade für Bereich A und B zuständig ist. Reißt nun die Verbindung ab, kann ich darauf auch weiterarbeiten. Ich kann aber nicht in fremde Bereiche gehen, da ich mir die Verantwortlichkeit dafür nicht vom Server geben lassen kann.
Am Server wiederum besteht die Möglichkeit die Verantwortlichkeit gewaltsam zu entreißen (z.B. wenn Anlage A ausgefallen ist).

Auf diese Weise lässt sich das ganze regeln, vorausgesetzt man kann eine solche Struktur auf die Gegebenheiten anwenden.

Dazu kommt dann noch eine ausgefeilte Logik, falls es doch zu Konflikten kommen sollte. Diese müssen dann natürlich ggf. manuell aufgelöst werden, aber es wird versucht auch das automatisch zu machen. Bei einem notwendigen manuellen Eingriff müssen die vorliegenden Daten natürlich so aufbereitet werden, dass ein normaler User damit klar kommt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:29 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