У Microsoft всегда есть API и SDK для своих систем, которые легко использовать на .NET языках.
Доступ к таким системам на базе Microsoft из приложений Node.js, особенно тех, которые не размещены на платформе Microsoft Windows, может быть более сложным.
Я знаю, что вы можете возразить, сказав, что обычно есть веб-сервисы, опубликованные вместе с API и SDK, но от всего сердца, готовы ли вы сразу же использовать их быстро и эффективно? Держу пари, что вы ожидаете некоторой задержки в обучении.
Не было бы проще, если бы интеграционная платформа позволяла создавать, извлекать, обновлять и удалять данные в основных бизнес-системах с помощью простых SQL-запросов? На первый взгляд это может показаться опасным — не угрожают ли такие CRUD-операции целостности данных?
Дело в том, что такая возможность существует – с помощью Connect Bridge платформа, которую я буду использовать в этом уроке от Connecting Software. Это коммерческий инструмент, но вы можете получить доступ к его пробной версии бесплатно. Почему бы вам не попробовать?
Начало работы
Запросите вашу пробную версию Connect Bridge, загрузите и активируйте вашу лицензию, выполнив следующее обучающий видеоролик.
Нам также понадобится машина с установленным Node.js. Мы будем демонстрировать на машине с ОС Linux под управлением дистрибутива CentOS 7.x.
Подготовка окружающей среды
Я предполагаю, что вы выбрали свой любимый дистрибутив Linux. Первый шаг — установить Node.js в вашей среде. В CentOS я использовал свой любимый менеджер пакетов Yum. Если вы не знаете, как установить Node.js в вашей ОС, обратитесь к страница руководства по развёртыванию node.js.
Теперь вам нужно будет подключиться к целевой системе, например, Microsoft Exchange. Для этого запустите Connect Bridge Management Studio и выполните следующие действия.
- Добавьте учетную запись для Exchange (Учетные записи - Добавить учетную запись). Для добавления учетной записи необходимо выбрать соединитель Microsoft Exchange и использовать свои учетные данные для входа в Exchange.
- Откройте опцию Новый запрос, а затем Браузер соединений. Найдите коннектор Exchange и разверните его до тех пор, пока не увидите DefaultConnection. Щелкните правой кнопкой мыши на DefaultConnection и выберите строку Get Connection (Получить соединение). Скопируйте строку ODBC соединения, так как она вам понадобится, чтобы передать её в скрипт.
- Используйте опцию Новый запрос, чтобы протестировать запрос, который получит доступ к тому, что вам нужно в Exchange. PАренда обратите внимание, что хотя это выглядит так, как будто мы используем базу данных напрямую, это не так. Connect Bridge обращается к API и затем представляет его как базу данных. После того, как вы получили ваш запрос, скопируйте его, так как вам нужно будет передать его в скрипт.
Решение
Обновление: Упомянутая ниже услуга Connect Bridge "Детская площадка" больше не доступна. В ближайшее время эта статья будет соответствующим образом обновлена.
Тем временем, если вы хотите использовать Connect Bridge для ваших интеграционных проектов Node.js, не стесняйтесь оставить комментарий ниже или свяжитесь напрямую с нами. эксперты.
Продедукция для этого решения выглядит следующим образом:
- Создайте папку для решения. Я назвал ее ‘nodearticle’ по понятным причинам.
- Создайте файл манифеста для приложения nodejs. Имя файла: package.json. Найдите содержимое файла ниже.
{
"имя": "nodejsExchangeDemo",
"версия": "0.0.1",
"описание": "демонстрация доступа к календарю обменов в узлах",
"главный": "app.js",
"автор": {
"имя": "",
"электронная почта": ""
},
"зависимости": {
}
}
3. Для этого нам нужно, чтобы машина была подключена к Интернету. Откройте вашу любимую оболочку. И выполните следующую команду для установки модуля зависимостей для нашего приложения под названием connect-bridge-node.
npm установка соединения-мост-узел -сохранение
После этого действия в нашем файле-манифесте package.json должна появиться зависимость от узла connect-bridge-node.
4. На следующем этапе мы немного используем сам исходный код модуля connect-bridge-node (написанный мной). Мы скопируем файл test.js из файла github-репозиторий модуля. и модифицировать его так, чтобы он выглядел следующим образом (мы объясним код в самих комментариях к коду):
//требуйте зависимости от модуля и передайте параметры подключения.
// чтобы получить ваши реквизиты узла соединения-моста, пожалуйста, следуйте
// глава "Как мне узнать мои полномочия?" в
//эта статья
var cbnode = require('connect-bridge-node')('pg.connecting-software.com', 4433, 'michalhainc0036',
'29e)5d2bc9044e2c42878A4A63BC6777', 'EX2010_PLAYGROUND_michalhainc0036');
// обработчик ошибок для операций соединения моста
функция onError(err) {
console.error(err);
}
// подключенный обработчик событий - выполняется при успешном подключении.
// к интеграции Connect Bridge
//служебная инстанция
функция onConnected() {
console.log('Connected to Connect Bridge');
console.log('Вставка записи в календарь Exchange...');
// после успешного подключения мы
//Создайте одну встречу и позвоните в OnRecordInserted/
//после этого отступление
cbnode.execute("INSERT INTO [Назначение] (Тема, Начальная дата, Конечная дата, Местоположение) "+
"ЦЕННОСТИ (?, ?, ?, ??);",
//параметры для заявления о вставке
["мое назначение", "2015-10-11 10:00", "2015-10-11 10:00", "Братислава"],
onRecordInserted, onError);
}
функция onRecordInserted() {
//первые 100 назначений из календаря 1ТП23Т/
//с нашего счета на игровой площадке CB
//мы получим только определенное поле/
console.log("Получение первых 100 встреч из календаря Exchange...").
cbnode.execute( "SELECT TOP 100 Subject, Location, StartDate, EndDate "+
"ОТ [Назначение];",
//пустой массив параметров
[], onRecordsRetrieved, onError );
}
// отключенный обработчик событий - выполняется при успешном отключении.
// из интеграции Connect Bridge
//служебная инстанция
функция onDisconnected() {
console.log('Disconnected');
}
// обработчик полученных записей событий - выполняется, когда записи данных являются
//получен из Connect Bridge для ранее выполненного SQL-оператора
функция onRecordsRetrieved(result)
{
console.log(result);
cbnode.disconnect(onDisconnected, onError);
}
//начало подключения к серверу интеграции Connect Bridge
cbnode.connect(onConnected, onError);
5. Запустите ваше app.js через командную строку, используя следующую команду
приложения узла
6. Скрипт app.js вставит одну встречу в ваш календарь CB Playground Exchange. И получит первые 100 встреч из вашего календаря после этого.
7. Вы должны увидеть следующий вывод, если все прошло хорошо:

8. И voi-la, должна быть ваша встреча, показанная в Outlook Web Access сервера CB Playground Exchange:

Как мне узнать мои документы?
Вот краткий обзор, чтобы узнать ваши полномочия:
Скачать Connect Bridge Клиентский пакет для игровой площадки (у вас есть гиперссылка, указывающая на нее в вашем регистрационном электронном письме). Если у вас еще нет аккаунта на бесплатной игровой площадке, пожалуйста, не стесняйтесь регистрироваться.
Извлечь содержимое пакета, найти файл CBQueryAnalyzer.bat и запустить его.

Приложение Query Analyzer спросит вас о регистрации драйвера ODBC (требуется только для приложения, а не для вашего проекта узла app.js).
Щелкните правой кнопкой мыши соединение EX2010 на панели соединений слева. Выберите ‘Изменить соединение’.’

Перейдите на вкладку ‘Дополнительно’ и скопируйте подчеркнутые учетные данные в скрипт app.js. за исключением параметра порта, который должен быть в нашем случае 4433.

