Приложение Silverlight вне браузера с локальной автономной базой данных и WCF-RIA - PullRequest
1 голос
/ 14 января 2011

У меня есть следующий сценарий:

Мы разрабатываем приложение silverlight 4 для наших клиентов, которое будет использоваться как приложение вне браузера. Приложение работает в автономном режиме, то есть приложение и база данных находятся на локальном компьютере пользователя. Приложение использует WCF-RIA-сервисы для подключения к локальной базе данных. База данных будет SQL Server Express, SQL Server CE или MySQL. Мы используем MVVMLight и MEF.

Внешний веб-сервер используется только для обновления приложения время от времени или добавления новых модулей в приложение. Чтобы добиться этого, мы делаем нечто подобное, как показано в блоге Джереми Ликнесса (http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/25/silverlight-out-of-browser-dynamic-modules-in-offline-mode.aspx)

Причины, по которым мы делаем такой сценарий, сложны. Но, если коротко, то это в основном по соображениям совместимости с более поздней онлайн-версией, и мы не хотим использовать WPF. Поэтому нам нужно, чтобы это работало со службами Silverlight и WCF-RIA.

Хорошо, это сценарий, и вот вопрос:

Нужен ли нам локальный веб-сервер в этом сценарии? Приложение программно устанавливается вне браузера, база данных является локальной и подключается через WCF-RIA.

Если да, какой веб-сервер будет достаточно? Он должен быть установлен и настроен с помощью начальной настройки, выполняемой клиентом. Заказчику не нужно ничего делать с настройкой веб-сервера.

Есть другие идеи или комментарии по этому сценарию? Любые другие возможные решения для этого?

Спасибо за вашу помощь
Dirk

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Я не могу дать полный ответ на вашу проблему, так как в настоящее время мы сталкиваемся с той же проблемой.(WPF не кроссплатформенный, очень специфичное оборудование для некоторых клиентов)

Но я могу поделиться некоторыми мыслями о нашем типе Thick-Silverlight-Client:

  1. Сохранитьразвертывание и т. д. просто, мы используем процесс автономного размещения (устанавливается как фоновый процесс)
  2. Мы не можем использовать RIA, поскольку фоновый процесс должен выполняться с использованием Mono VM (но для решения только для MS см. МожетСлужбы RIA WCF должны быть размещены самостоятельно? )

Архитектурные идеи для автономных «Клиентов»:

В зависимости от ваших требований, для каждого клиента устанавливается связь с «основным»-сервер по сообщениям (NServiceBus) может быть излишним.Но если вы хотите использовать клиентскую базу данных в автономном режиме и в режиме silverlight для пользовательского интерфейса, вам следует рассмотреть возможность использования архитектуры, управляемой событиями.

Существует слайд-шоу по сочетанию "Event-Driven-Architecture" и "CQRS" сSilverlight.Но я бы не стал использовать его как образец, больше как вдохновение.http://www.slideshare.net/dennisdoomen/cqrs-and-event-sourcing-an-alternative-architecture-for-ddd

0 голосов
/ 15 января 2011

silverlight не должен был использоваться таким образом, я думаю.Так было бы, когда вы разрабатываете приложение в visual studio и используете Cassini, чтобы увидеть результат - все работает локально - но вам все еще нужен веб-сервер.Может быть, больше информации здесь - http://www.infoq.com/news/2010/06/WPF-vs-Silverlight

...