2011-01-14 11 views
1

Ich habe folgendes Szenario:Out Of Browser Silverlight-Anwendung mit lokaler Offline-Datenbank und WCF-RIA

Wir haben eine Silverlight 4-App für unsere Kunden zu entwickeln, die als Out-of-Browser-App verwendet werden. Die App arbeitet offline, d. H. App und Datenbank befinden sich auf dem lokalen Computer des Benutzers. Die App verwendet WCF-RIA-Dienste, um eine Verbindung zur lokalen Datenbank herzustellen. Die Datenbank wird ein SQL Server Express, SQL Server CE oder MySQL sein. Wir verwenden MVVMLight und MEF.

Ein externer Webserver wird nur dazu verwendet, die App von Zeit zu Zeit zu aktualisieren oder der App neue Module hinzuzufügen. Um dies zu erreichen, machen wir etwas ähnliches, wie es im Jeremy Likness Blog (http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/25/silverlight-out-of-browser-dynamic-modules- in-offline-mode.aspx)

Die Gründe, warum wir so ein Szenario machen, sind komplex. Aber um eine lange Geschichte kurz zu halten, ist es hauptsächlich aus Gründen der Kompatibilität für eine spätere Online-Version und wir wollen WPF nicht verwenden. Wir müssen also mit Silverlight und WCF-RIA-Diensten arbeiten.

Ok, das ist das Szenario und hier ist die Frage:

Haben wir in diesem Szenario einen lokalen Webserver benötigen? Die App wird programmatisch als Out-of-Browser installiert, die Datenbank ist lokal und über WCF-RIA verbunden.

Wenn ja, welcher Webserver wäre ausreichend? Es sollte über eine Ersteinrichtung, die vom Kunden ausgeführt wird, installiert und konfiguriert werden. Der Kunde sollte nichts mit der Konfiguration des Webservers zu tun haben.

Haben Sie noch weitere Ideen oder Kommentare zu diesem Szenario? Gibt es andere mögliche Lösungen dafür?

Danke für Ihre Hilfe
Dirk

Antwort

0

Silverlight nicht auf diese Weise sein sollte verwendet, denke ich. Es wäre also so, als würde man eine App im Visual Studio entwickeln und Cassini verwenden, um das Ergebnis zu sehen - alles läuft lokal -, aber Sie brauchen immer noch einen Webserver. Vielleicht mehr Info hier - http://www.infoq.com/news/2010/06/WPF-vs-Silverlight

+0

Danke für Ihre Antwort. – Dirk

+0

Wie gesagt, wir können WPF nicht verwenden. – Dirk

+0

Wir möchten unsere SL4 App offline nutzen. So weit wir jetzt gekommen sind, versuchen wir, ein Szenario mit IIS Express und SL4 mit einem WCF-RIA-Dienst einzurichten (wie wir es mit einem "normalen" Remoteserver tun würden). Dies funktioniert gut, wenn VS 2010 ausgeführt wird, aber nicht, wenn wir versuchen, die App und den IIS-Server zu starten, wenn VS 2010 nicht ausgeführt wird. – Dirk

0

Ich kann nicht mit einer vollständigen Antwort auf Ihr Problem bieten, wie wir derzeit mit dem gleichen Problem konfrontiert sind. (WPF nicht in der plattformübergreifende, sehr spezifische Hardware auf einigen Clients)

Aber ich kann einige unserer Gedanken auf unsere Art von Thick-Silverlight-Client-Freigabe:

  1. zu halten Bereitstellung usw. einfach wir wie der Hintergrundprozess unter Verwendung verwenden Mono VM (aber für MS-only Lösung sehen Can WCF RIA Services be self hosted?)

Architektur Gedanken auf Standalone hat verwenden, um ein selbstHostProzess (als Hintergrundprozess installiert)

  • Wir RIA nicht laufen "Kunden":

    Je nach Ihren Anforderungen kann die Implementierung eines Servers für jeden Client, der mit dem "Haupt" -Server über Nachrichten (NServiceBus) kommuniziert, übertrieben sein. Aber wenn Sie eine Client-Datenbank verwenden möchten, wenn Sie offline und silverlight für ui möchten, sollten Sie eine ereignisgesteuerte Architektur in Erwägung ziehen.

    Es gibt eine Slideshow zum Kombinieren von "Event-Driven-Architecture" & "CQRS" mit Silverlight. Aber ich würde es nicht als eine Blaupause mehr wie eine Inspiration verwenden. http://www.slideshare.net/dennisdoomen/cqrs-and-event-sourcing-an-alternative-architecture-for-ddd