Веб-приложение для взаимодействия с клиентом? - PullRequest
1 голос
/ 12 апреля 2009

Я разрабатываю веб-приложение, содержащее некоторую информацию, которую необходимо перенести в клиентское (не браузерное) приложение (т.е. Outlook). Предполагая, что приложение на стороне клиента имеет своего рода API, мне нужно, чтобы веб-приложение инициировало на стороне клиента (в зависимости от пользователя, нажимающего на ссылку), чтобы получить информацию и передать ее в клиентское приложение через его API.

Моей первой мыслью было бы написать элемент управления ActiveX, чтобы я мог передать ему защищенный код, а затем использовать эту информацию для обратной связи с веб-приложением через созданный мной веб-сервис, а затем элемент управления ActiveX может реализовать интерфейс в клиентское приложение (т.е. Outlook). Исходя из того, что я прочитал, это возможно с ActiveX.

Моя проблема в том, что ActiveX не будет работать в браузерах Mozilla или Chrome, что создает реальную проблему, так как мне нужно, чтобы это было мультиплатформенным. Я читал о NPAPI, который якобы является эквивалентной нативной технологией. Я также читал о плагинах для Firefox и Chrome, которые предположительно поддерживают ActiveX, но они не являются родными. Мне нужно иметь встроенную поддержку «из коробки», чтобы пользователям не нужно было делать ничего особенного, просто нажмите и запустите. Итак, вот мои вопросы:

1) Является ли ActiveX моей единственной опцией для IE?

2) Нужно ли разрабатывать ActiveX и NPAPI для поддержки всех клиентов?

3) Есть ли лучший способ сделать это, о котором я не знаю? Я открыт для других технологий, поскольку основное внимание уделяется удобству работы с пользователем.

Спасибо за понимание!

Ответы [ 4 ]

0 голосов
/ 25 декабря 2009

ActiveX работает только в IE, но NPAPI работает в Firebreath, Chrome и т. Д.

Вы можете использовать проект FireBreath, который предоставляет относительно простую в использовании абстракцию для создания единого интерфейса плагина, который будет работать как элемент управления ActiveX или элемент управления NPAPI.

Домашняя страница проекта находится здесь: http://www.firebreath.org

Несмотря на отсутствие официального релиза, он действительно очень близок к версии 1.0 только для Windows; это звучит как все, что тебя волнует.

Информацию о «быстром запуске» можно найти на этой вики-странице: http://www.firebreath.org/display/documentation/Creating+a+New+Plugin+Project - есть скрипт на python, который сгенерирует пример проекта, вы можете начать работу, вероятно, через 30 минут с помощью основного плагина.

Кроме того, присоединяйтесь к списку рассылки - я являюсь основным разработчиком и заверяю вас, что мы оперативно ответим на запросы, если у вас возникнут проблемы с началом работы. =]

0 голосов
/ 12 апреля 2009

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

0 голосов
/ 12 апреля 2009

В зависимости от того, какую информацию вы передаете, возможно, вы можете заставить Outlook открывать и обрабатывать его при загрузке. Например, Outlook обычно устанавливается в качестве приложения по умолчанию для файлов .ics (Internet Calendar). Когда я загружаю файл .ics, Outlook запускается и открывает файл как запись календаря.

Итак, одна безумная идея - написать небольшое приложение, которое пользователь установит в своей системе. Это приложение будет зарегистрировано как программа по умолчанию для вашего уникального типа файла. Если вы хотите передать информацию, просто загрузите файл в виде вложения. Ваша программа будет вызвана для ее обработки. Затем ваша программа может использовать Outlook API для отправки данных в Outlook любым удобным для вас способом.

Если взаимодействие не подходит для одного файла, вы все равно можете использовать фиктивный файл. Его цель - запустить небольшую клиентскую программу и дать ей инструкции. После этого ваша программа может связаться с вашей веб-службой с одной стороны, а через Outlook API - с другой. В этой среде вы сможете делать все, что угодно, особенно если вы создаете надстройку Outlook.

Я не программировал Outlook для нескольких версий. Вполне возможно, что с помощью Outlook 2007 и Visual Studio Tools для Office вы сможете комбинировать некоторые из этих элементов. Основным преимуществом является то, что вам вообще не нужно беспокоиться о браузере.

0 голосов
/ 12 апреля 2009

я боюсь, что одним из ваших возможных решений будет разработка плагина для каждого из браузеров, с которым вы хотите, чтобы это приложение работало, точно так же, как Google сделал с gears

однако вы всегда можете попробовать проделать трюк с Java-апплетом, но я не знаю, позволит ли политика безопасности браузера общаться с такими приложениями, как outlook, я верю, что это будет

ура

...