
Ich habe dies bei Stack Overflow gefragt, würde aber auch gerne Ihre Meinung hören, da es sowohl mit Verwaltung als auch mit Codierung zu tun hat.
Wir haben eine .net 2-Tier-Anwendung, bei der ein Desktopprogramm mit einer Datenbank kommuniziert. Wir unterstützen MS SQL Server 2000, 2005, 2008 und Oracle 9, 10 und 11.
Die Anwendung wird nicht als Schrumpffolie verkauft, aber so ähnlich. Für uns ist es sehr wichtig, dass die Installation und Konfiguration so einfach wie möglich ist, da die Installationsanweisungen normalerweise in schriftlicher Form an die interne IT-Abteilung des Kunden übermittelt werden. Unsere Anwendung wird von der IT-Abteilung normalerweise nicht als unternehmenskritisch angesehen, daher müssen wir deren Arbeit auf ein Minimum beschränken.
Jetzt erreichen uns die ersten Wünsche nach einer Webanwendung, die auf denselben Daten aufbaut. Die Webanwendung wird von uns gehostet und als SaaS-Anwendung bereitgestellt.
Die Herausforderung besteht nun darin, Daten zwischen der Webanwendung und der internen Datenbank des Kunden hin und her zu verschieben. So wie ich das sehe, haben wir einige Anforderungen:
- Wir müssen darauf vorbereitet sein, mit der Situation umzugehen, dass die Kundendatenbank von der DMZ aus nicht zugänglich ist. Ich denke, die einfachste Lösung ist, dass die gesamte Kommunikation innerhalb des LAN des Kunden initiiert wird.
- So wenig Firewall-Konfiguration wie möglich. Am besten ist es, wenn wir ohne spezielle Konfiguration auskommen, solange der ausgehende Datenverkehr vom LAN des Kunden nicht blockiert wird. Wenn wir etwas an der Firewall ändern müssen, müssen wir dokumentieren können, dass die Änderung sicher ist.
- Es muss nicht in Echtzeit sein. Es ist in Ordnung, die Daten etwa alle zehn Minuten stapelweise zu verschieben.
- Daten werden in beide Richtungen verschoben, jedoch nicht in dieselben Tabellen. Daher müssen wir keine Zusammenführungen unterstützen.
- Es wäre schön, wenn wir nicht komplett unser eigenes Framework entwickeln müssten.
Ich freue mich auf Ihre Vorschläge.
Antwort1
Ich bin mir nicht sicher, warum diese Frage angesichts ihres Alters erst jetzt auf der Titelseite aufgetaucht ist, aber wenn Sie noch nach Vorschlägen suchen ... warum richten Sie nicht ein VPN von innerhalb des Client-Netzwerks zu Ihren Servern ein? Mit etwas wie OpenVPN erhalten Sie ein Tool, das:
- Für den Betrieb ist nur ein einziger Port erforderlich;
- Erfordert keine Firewall-Konfiguration, solange ausgehender Datenverkehr vom Client-Standort aus initiiert werden kann;
- Sobald die Verbindung hergestellt ist, können Sie Daten ganz einfach hin und her verschieben.
Sie können diese so einrichten, dass ein hohes Maß an Isolation zwischen Kunden gewährleistet ist.
Antwort2
wenn ich Ihr Problem richtig verstehe, besteht die schnelle und stabile Lösung für diesen Bedarf darin, dass Sie die gesamte Lösung über Adobe Flex erstellen können.
Erstellen Sie für Ihre Kunden einen AiR-Internetclient auf dem Desktop. Diesem Client müssen die erforderlichen Berechtigungen für Daten auf dem Client-Rechner erteilt werden {im Falle von Einschränkungen}, und dieser Client kommuniziert sicher und regelmäßig mit Ihrem Webdienst, wie von Ihnen gewünscht.