У 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
- Откройте опцию New Query (Новый запрос), а затем Connection Browser (Браузер соединений). Найдите коннектор Exchange и разверните его, пока не увидите DefaultConnection. Щелкните правой кнопкой мыши DefaultConnection и выберите Get Connection string. Скопируйте строку подключения 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.
