Мастер-Тур:Веб-сервисы (только для версии 11)

Материал из Megatec
Версия от 19:06, 21 ноября 2012; Belyaev (обсуждение | вклад) (Новая страница: «Версия статьи от {{REVISIONDAY}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}. <span style="color:#FF0000;font-size:120%">Статья находится н…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Версия статьи от 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.

  1. Убедиться, что включен компонент Windows Communication Foundation Non-HTTP Activation.
    Для этого нужно перейти: Панель управления → Программы → Включение или отключение компонентов Windows → Microsoft .NET Framework 3.5.1
  2. После включения компонента может понадобиться перезагрузка компьютера.
    
  3. Запустить 2 службы (services.msc в меню Пуск):
    • Служба общего доступа к портам Net.Tcp (Net.Tcp Port Sharing Service, NetTcpPortSharing)
    • Адаптер прослушивателя Net.Tcp (Net.Tcp Listener Adapter, NetTcpActivator)

Создание сайта на IIS

Рекомендуется создать на серверном IIS новый сайт с отдельным пулом для последующей установки MasterTourService — это упростит работу и обслуживание веб-сервисов.

  1. Запуск диспетчера служб IIS

    • Набрать inetmgr в меню Пуск
      Или перейти: Панель управления\Система и безопасность\Администрирование\Диспетчер служб IIS

    Диспетчер служб IIS

  2. Добавление сайта

    • Перейти: сайты → Действия → Добавить веб-сайт…
      Добавить веб-сайт…

    • Указать желаемые каталог, имя и порт http в окне «Добавление веб-сайта». Автоматически будет создан отдельный пул с именем сайта.
      Добавление веб-сайта

    • Проверить, что версия среды .NET Framework у созданного пула v4.0 или выше.
      Пул веб-сервисов

  3. Настройка протокола net.tcp

    • Выбрав нужный сайт, перейти: Действия → Привязки
      Привязки

      В окне «Привязки сайта» нажать «Добавить».
      Привязки сайта

      В открывшемся окне «Добавление привязки сайта» выбрать тип привязки — net.tcp, прописать произвольный порт, например, 4465:* и нажать «ОК».
      Добавление привязки сайта

    • При успешном добавлении у иконки сайта появляется знак вопроса, отображается предупреждение о множественных привязках, а также информация о привязке выводится в соответствующие колонки.
      Сайт с привязкой net.tcp

    • У сайта может быть только одна привязка для протокола net.tcp.
      
    • Выбрав нужный сайт, перейти: Действия → Дополнительные параметры…
      Дополнительные параметры…

      В окне «Дополнительные параметры» добавить через запятую net.tcp в поле «Активные протоколы» и нажать «ОК».
      Активные протоколы

Открытие порта Net.Tcp

В брандмауэре Windows необходимо открыть порт TCP, выбранный для привязки net.tcp у созданного сайта, для входящих и исходящих подключений на сервере и всех клиентских машинах.

Настройка доменной аутентификации NT trusted

Данный пункт предварительной настройки нужно выполнить, если предполагается использование доменной аутентификации.

  1. Настройка SPN
    • Параметры для настройки SPN будут уточнены позже. В данный момент настройка производится сотрудниками компании Мегатек.
  2. Настройка пула
    • Пул приложения MasterTourService в IIS должен быть запущен из-под доменного пользователя.
      Выбрав пул, перейти: Действия → Дополнительные параметры…, выбрать Удостоверение → Особая учетная запись и ввести учетную запись, для которой был настроен SPN.

Импорт сборок в базу данных

На базе данных, на которую будут настроены веб-сервисы MasterTourService, необходимо выполнить 2 скрипта:

Скрипты нужно выполнять под пользователем, который является владельцем базы данных.
  1. 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
  2. Create_Assembly_Function.sql — импорт Megatec.SQLCLRClient.dll для работы с триггерами, а также создание специальных функций.
    Перед выполнением в скрипте нужно указать путь к сборке:
  3. create assembly [Megatec.SQLCLRClient]
    from 'D:\MasterTour\Megatec.SQLCLRClient.dll'
    with permission_set = unsafe
    go
    


Установка

Автоматическая установка

Генерация файлов

Инсталлятор Мастер-Тура

Ручная установка

Установка сертификатов

Доступ к сертификатам

Веб-сервисы MasterTourService

Таблица с описаниями функций MasterTourService и примерами их вызова из бд.