Мастер-Тур:Веб-сервисы (только для версии 11)
Версия статьи от 21.11.2012.
Статья находится на стадии разработки.
Поддерживается только Мастер-Тур 11. |
Содержание
Введение
Веб-сервисы MasterTourService предназначены для переноса с Microsoft SQL сервера на IIS ресурсозатратных операций, к которым относятся, напимер, расчет туров, наценок и доплат. Также использование MasterTourService позволяет равномерно распределять нагрузку за счет использования нескольких сервисов, развернутых на разных серверах.
Для повышения безопасности доступ к административным модулям также осуществляется через веб-сервисы.
Аппаратные и программные требования
Минимальные требования к серверу приложений, компьютеру, на котором будут развернуты веб-сервисы MasterTourService:
- Windows Server 2008 R2
- Microsoft .NET Framework 4
- IIS 7.0
Подготовка к установке
Веб-сервисы MasterTourService работают с Мастер-Туром и Microsoft SQL сервером по протоколу net.tcp, поэтому перед их непосредственной установкой необходимо выполнить несколько подготовительных шагов.
Включение служб Net.Tcp
Необходимо запустить службы, обеспечивающие работу по протоколу net.tcp.
- Убедиться, что включен компонент Windows Communication Foundation Non-HTTP Activation.
Для этого нужно перейти: Панель управления → Программы → Включение или отключение компонентов Windows → Microsoft .NET Framework 3.5.1 - Запустить 2 службы (services.msc в меню Пуск):
- Служба общего доступа к портам Net.Tcp (Net.Tcp Port Sharing Service, NetTcpPortSharing)
- Адаптер прослушивателя Net.Tcp (Net.Tcp Listener Adapter, NetTcpActivator)
После включения компонента может понадобиться перезагрузка компьютера.
Создание сайта на IIS
Рекомендуется создать на серверном IIS новый сайт с отдельным пулом для последующей установки MasterTourService — это упростит работу и обслуживание веб-сервисов.
- Запуск диспетчера служб IIS
- Набрать inetmgr в меню Пуск
Или перейти: Панель управления\Система и безопасность\Администрирование\Диспетчер служб IIS
- Набрать inetmgr в меню Пуск
- Добавление сайта
- Настройка протокола net.tcp
- Выбрав нужный сайт, перейти: Действия → Привязки
В окне «Привязки сайта» нажать «Добавить».
В открывшемся окне «Добавление привязки сайта» выбрать тип привязки — net.tcp, прописать произвольный порт, например, 4465:* и нажать «ОК».
- При успешном добавлении у иконки сайта появляется знак вопроса, отображается предупреждение о множественных привязках, а также информация о привязке выводится в соответствующие колонки.
У сайта может быть только одна привязка для протокола net.tcp.
- Выбрав нужный сайт, перейти: Действия → Привязки
- Выбрав нужный сайт, перейти: Действия → Дополнительные параметры…
В окне «Дополнительные параметры» добавить через запятую net.tcp в поле «Активные протоколы» и нажать «ОК».
Открытие порта Net.Tcp
В брандмауэре Windows необходимо открыть порт TCP, выбранный для привязки net.tcp у созданного сайта, для входящих и исходящих подключений на сервере и всех клиентских машинах.
Настройка доменной аутентификации NT trusted
Данный пункт предварительной настройки нужно выполнить, если предполагается использование доменной аутентификации.
- Настройка SPN
- Параметры для настройки SPN будут уточнены позже. В данный момент настройка производится сотрудниками компании Мегатек.
- Настройка пула
- Пул приложения MasterTourService в IIS должен быть запущен из-под доменного пользователя.
Выбрав пул, перейти: Действия → Дополнительные параметры…, выбрать Удостоверение → Особая учетная запись и ввести учетную запись, для которой был настроен SPN.
- Пул приложения MasterTourService в IIS должен быть запущен из-под доменного пользователя.
Импорт сборок в базу данных
На базе данных, на которую будут настроены веб-сервисы MasterTourService, необходимо выполнить 2 скрипта:
Скрипты нужно выполнять под пользователем, который является владельцем базы данных.
- Import_Standart_Assembly.sql — импорт стандартных сборок .NET Framework, обеспечивающих поддержку протокола net.tcp.
- C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Web.dll
- C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMDiagnostics.dll
- C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\System.Runtime.Serialization.dll
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.dll
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.Selectors.dll
- C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Messaging.dll
- C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\Microsoft.Transactions.Bridge.dll
- Create_Assembly_Function.sql — импорт Megatec.SQLCLRClient.dll для работы с триггерами, а также создание специальных функций.
Перед выполнением в скрипте нужно указать путь к сборке:
create assembly [Megatec.SQLCLRClient]
from 'D:\MasterTour\Megatec.SQLCLRClient.dll'
with permission_set = unsafe
go
Установка
Автоматическая установка
Генерация файлов
Инсталлятор Мастер-Тура
Ручная установка
Установка сертификатов
Доступ к сертификатам
Веб-сервисы MasterTourService
Таблица с описаниями функций MasterTourService и примерами их вызова из бд.