Подход к автономной разработке приложений

У нашей компании есть люди, которые участвуют в каждом катастрофическом событии здесь, в США и некоторых частях Канады. Например, они были довольно распространены в Катрине сразу после события.

Мы создаем приложение для улучшения их работы в этой области, которое может быть либо ASP.NET, либо WPF, и требование отключения заставляет нас полагать, что это будет приложение WPF. Наши люди должны иметь возможность создавать свои рабочие места, предоставлять все страховые и измерительные данные и сохранять их как бы в базе данных независимо от того, доступен ли Интернет.

Проблема, которую мы пытаемся решить, заключается в том, что в случае катастрофы наши люди должны иметь возможность использовать наше новое приложение, даже когда Интернет недоступен.(Они были отключены от сети в течение 3 дней в Катрине)

Кому-нибудь еще приходилось выполнять подобные требования и предложения о том, как они подошли к работе на устройствах с небольшой площадью, сохраняя при этом данные, как если бы они все еще были подключены к серверным службам и базе данных? Мы также должны обеспечить безопасность и сделать это достаточно хорошо, чтобы их введенные данные загружались в подключенную базу данных без проблем.

Нашей долгосрочной целью является выпуск этого приложения для планшетов Android и iPad, а также для ноутбуков. Нашим первоначальным желанием использовать ASP.NET было немедленное применение для среды планшетов. В старом приложении они запускают локальный сервер, запускают удаленные подключения на планшетах и ​​запускают приложение через терминальный сервер. Не красиво. Не красиво.

Я чувствую, что это серьезный вопрос, который не является субъективным, поэтому, надеюсь, он не будет удален.

Нашей текущей архитектурой на стороне сервера является Entity Framework с шаблоном репозитория, службами WCF для удовлетворения запросов CRUD, возвращающих составные объекты передачи данных, и прокси для использования клиентами.

Мне интересно узнать мнение других разработчиков и узнать об этой дизайнерской загадке.

В обсуждение добавлена ​​дополнительная информация

Много полезной информации предоставлено!!! Обязательно присмотрюсь к Microsoft Sync. Для отключенной базы данных я бы размещал только таблицы списков (перечисления) в исходной базе данных. Вакансии и, при необходимости, предмет, который мы называем сухими книгами, будут добавлены для каждого клиента, которому мы помогаем.(хотя я надеюсь, что Интернет вернется к тому времени, когда мы будем убирать и сушить дома). Это таблицы, которые затем заполнятся обратно на хост, как только у нас будет стабильная связь. В случае с Катриной мы также потеряли подключение к Интернету в наших офисах, а это означало, что офис также не обеспечивал связи в течение нескольких дней.

Прошлой ночью я понял, что наш клиентский прокси — ключ ко всему! Клиент остается в неведении о том, находится ли он в сети или в автономном режиме, и оставляет процесс синхронизации в этой библиотеке. Мы открываем, сколько данных мы говорим о сегодня. Я также хочу прояснить, что ASP.NET был желательным, но толстый клиент (фактически WPF с XAML) может оказаться нашим конечным состоянием.

Теперь -- несколько обновлений. Отключенная работа будет идти в отдельные дома по единой франшизе. На самом деле наш головной офис отправляет определенные франшизы на определенные мероприятия. Таким образом, у нас снижается вероятность (если вообще существует) проблемы обновления записи несколькими людьми. Причина в том, что они создают записи для каждой работы (дом/офис/бизнес человека), и только эта франшиза будет иметь дело с этим. Конечно, это также означает, что если они отключены в течение нескольких дней, то устройство, которое создает задание (запись о том, кто, где, состояние, страховая компания и т. д.), также является единственным устройством, которое знает о задании. Но с этим можно жить. На самом деле у нас может быть возможность синхронизировать устройства франшизы на концентраторе.

Я с нетерпением жду новых историй о том, как вы реализовали свою автономную среду.

Спасибо!!!

Глядя на новую технологию от Microsoft

Мне было предложено посмотреть видео с TechEd 2012, и я подумал, что могу найти ответ. Разговор был об использовании ASP.NET и MVC4 вместе с двумя библиотеками для автономного поведения. Сначала я думал, что это будет здорово, но потом, когда это продолжалось, это меня немного беспокоило.

Во-первых, использование бэкэнда JavaScript для поддержки отключенного ввода-вывода не вызывает доверия. Как компилятор (и тот, кто написал два интерпретируемых языка), мне действительно не нравится, когда критическая бизнес-модель зависит от интерпретативного javascript. И сценарий при этом! Это может быть я, но это просто заставляет меня содрогаться.

Затем они показывают свою «отличную» (???) модель программирования, в которой ваша ViewModel существует как просто javascript. Меня не волнует приложение (asp.net и javascript), которое может быть и может быть (из-за отсутствия intellisense) написанным в блокноте.

Не в обиду любителям asp, но хорошо написанная программа на C#, прошедшая синтаксическую проверку и проверку типов, придает мне большую уверенность в программном обеспечении, чем программа, написанная с надеждой и молитвой о том, что пространство имен класса было правильно типизировано без каких-либо средств перекрестная проверка. Я видел слишком много часов отладки в поисках ошибки, которая оказалась в огромном пространстве имен с транспонированным, т.е. в его имени. Я обсудил свои мысли с другими старшими разработчиками в моей группе, и мы все согласны с этой технологией.

Но мы продолжаем искать. (Я чувствую, что это больше похоже на дневник, чем на вопрос) :)

5
задан SASS_Shooter 5 July 2012 в 14:51
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: