Я строю систему распределенного меню для поддержки операционной стороны крупного предприятия.Идея состоит в том, что пользователи могут использовать это приложение для запуска веб-приложений (онлайн или офлайн), виртуализированных приложений, находящихся на удаленном сервере, а также локально установленных устаревших толстых клиентских приложений, которые мы не можем позволить себе изменить (читай: C / C ++, На основе Java.)
Некоторые дополнительные требования:
- Сетевое развертывание
- Автоматическое обновление, когда при запуске приложения обнаруживается новыйверсия на сервере
- Автономная поддержка - отсутствие сетевого подключения не будет препятствовать работе пользователя локально установленных толстых клиентов или автономных веб-приложений
- Синхронизация данных RESTful (т. е. в меню используется косвеннаяполучить доступ к инструментам / сервисам, запросив REST-сервис для безопасного рандеву
- Кросс-платформенный, кросс-браузерный с минимальный или установка без клиента (например, не требует JVM, которая постоянно выдает ошибкипользователь может обновить )
- Интуитивно понятный пользовательский интерфейс, аналогично стекам в Mac OS X или меню, которые доступныn выбрано
на стороне сервера. На данный момент я остановился на ServiceStack в качестве моей инфраструктуры веб-службы RESTful, поддерживаемой SQLБаза данных Server Enterprise.На данный момент серверная сторона не является критически важной задачей.В конце концов мне нужно будет рассмотреть вопросы безопасности, авторизации ролей и т. Д., Но на данный момент у меня есть хороший дескриптор на сервере.
Кандидатские решения на стороне клиента. Клиент являетсядругая история.Я изучил широкий спектр подходов к этой проблеме, ни один из которых не является идеальным (в основном из-за безопасности изолированной программной среды браузера). Я ищу лучшие альтернативы этим:
- Автономное веб-приложение
- Google Installable Web Apps
- Поддерживает большинство моих сценариев использования, но AFAIK не может выполнить локально установленный собственный код
- Чтобы смягчить это,Я рассмотрел NaCl , но он накладывает ограничения на собственный исполняемый код, и это выходит за рамки моего бюджета и контроля
- HTML5 Offline WebПриложение
- Это было бы моим предпочтением, но возможно ли из этого выполнить толстый клиентский код без ограничений NaCl, указанных выше?
- Расширение браузера
- Плагин для браузера
- Толстый клиент веб-службы
- на основе XUL
- Из всех моих усилий я пошел дальше всего с XUL.У меня есть приложение на базе XUL, которое отправляет запросы AJAX в мой веб-сервис для динамического заполнения меню
- Пока это работает хорошо, но есть некоторые проблемы:
- Java Web Start
- .NET на основе пользовательского MIME-типа
- Не уверен, как начать с этого, или куда это приведет меня.
- Appcelerator Titanium
- Может быть жизнеспособной альтернативой.Я еще не изучал это.
Престижность, если вы сделали это так далеко!По сути, это приложение заменяет устаревшее меню, построенное из сценариев, для поддержки и обновления которого требуется армия.Я уверен, что есть какое-то решение SOA для этой проблемы, но бюджет не поддержит крупные инвестиции в предварительное проектирование и долгосрочное обслуживание.
Пожалуйста, укажите мне, если есть альтернативыс кандидатами, которых я исследовал до сих пор.Каково идеальное решение моей проблемы с учетом вышеуказанных требований?
РЕДАКТИРОВАТЬ: Я заинтригован этой веб-частью быстрого запуска SharePoint .У кого-нибудь есть опыт работы с этим или знаете, как это осуществить с SP?