Balance Сheck — различия между версиями

Материал из Mid Office Manager Help
Перейти к: навигация, поиск
(Создание пары ключей защиты канала связи)
Строка 17: Строка 17:
  
 
Далее описывается, как настроить подключение приложения {{cb}} к серверу {{an}}, а также как настроить на сервере {{an}} самоподписанный сертификат для SSL-подключения.
 
Далее описывается, как настроить подключение приложения {{cb}} к серверу {{an}}, а также как настроить на сервере {{an}} самоподписанный сертификат для SSL-подключения.
 
'''Чтобы создать подключение приложения Red к серверу {{an}}:'''
 
# Откройте окно '''Sabre Red Workspace'''.
 
# В меню последовательно выберите '''Инструменты''' и '''Параметры'''.
 
# В левой панели окна '''Параметры''' разверните узел '''Настройки для приложений Red''' и выберите узел '''CreditCheck Preferences'''.
 
# В правой панели задайте значения следующих полей:
 
#* '''MOM server address'''  — сетевой адрес сервера {{an}}, например ''<nowiki>https://localhost:8445</nowiki>''.
 
#* '''Login'''  — имя пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
 
#* '''Password'''  — пароль пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
 
#:  [[image:RedAppSettings.png|550px]]
 
# Щелчком кнопки '''ОК''' закройте окно '''Параметры'''.
 
 
После такой настройки {{cb}} сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет.
 
  
 
'''Чтобы настроить безопасный канал связи между сервером приложений Red и сервером {{an}}:'''<br>
 
'''Чтобы настроить безопасный канал связи между сервером приложений Red и сервером {{an}}:'''<br>
Перед настройкой сервера нужно создать файл с парой ключей для шифрования канала связи. Подробнее о создании пары ключей см. [[#Создание пары ключей защиты канала связи | Создание пары ключей защиты канала связи]].
+
Для выполнения приведенных далее инструкций нужна Java-утилита keytool.exe, которая находится в подпапке /jre/bin версии сервера и клиента {{an}} со средой JRE.
  
 +
Если вы используете клиент или сервер {{an}} без среды JRE, то нужно использовать утилиту keytool.exe входящую в состав Java JDK или JRE. В этом случае на машине должен быть установлен как минимум один из этих пакетов. Утилита keytool.exe обычно находится в подпапке bin установочной папки Java.
 
<ol>
 
<ol>
 +
<li>Создайте файл с парой ключей для шифрования канала связи в следующей последовательности:
 +
<ul>
 +
<li>Выполните в командной строке следующую команду:
 +
<pre>keytool -genkeypair -alias redapp -keyalg RSA -keysize 2048 -validity 3650
 +
  -keystore c:\mom\server\redapp.jks </pre>
 +
 +
где <br>
 +
<''путь_к_файлу_хранилища''> — путь к файлу с парой ключей шифрования, например c:\keystore\redapp.jks<br>
 +
</li>
 +
<li>В ответ на вопросы команды ''Enter keystore password:'' и ''Re-enter new password:'' введите и подтвердите пароль хранилища ключей.
 +
<br>
 +
На остальные вопросы отвечать не нужно — в ответ просто нажимайте '''Enter'''.
 +
{{warn|Не задавайте никакого пароля в ответ на вопрос '''Enter key password for <redapp> (RETURN if same as keystore password): ''' — пароль ключа обязательно должен совпадать с паролем на хранилище!}}
 +
</li>
 +
<li>Убедитесь, что в указанном месте создан файл хранилища ключей с расширением .jks и при необходимости скопируйте его на машину с сервером {{an}}.</li>
 +
</ul>
 +
</li>
 +
 
<li> В подпапке <tt>..\server\config\xtrip\server</tt> папки сервера {{an}} откройте файл '''boot.properties''' для редактирования. </li>
 
<li> В подпапке <tt>..\server\config\xtrip\server</tt> папки сервера {{an}} откройте файл '''boot.properties''' для редактирования. </li>
 
<li> В конец файла boot.properties добавьте следующие строки:
 
<li> В конец файла boot.properties добавьте следующие строки:
Строка 48: Строка 54:
 
com.gridnine.xtrip.server.tomcat.redapp.sslProtocol = TLSv1
 
com.gridnine.xtrip.server.tomcat.redapp.sslProtocol = TLSv1
 
com.gridnine.xtrip.server.tomcat.redapp.clientAuth = false
 
com.gridnine.xtrip.server.tomcat.redapp.clientAuth = false
com.gridnine.xtrip.server.tomcat.redapp.keystoreFile = <путь к хранилищу ключей >
+
com.gridnine.xtrip.server.tomcat.redapp.keystoreFile = c://mom//server//redapp.jks
 
com.gridnine.xtrip.server.tomcat.redapp.keystorePass = <пароль ключа>
 
com.gridnine.xtrip.server.tomcat.redapp.keystorePass = <пароль ключа>
 
com.gridnine.xtrip.server.tomcat.redapp.default = false </pre>
 
com.gridnine.xtrip.server.tomcat.redapp.default = false </pre>
 
где <ul>
 
где <ul>
<li><''путь к хранилищу ключей''> — путь к файлу, в котором хранится самоподписанный ключ для шифрования защищенного канала связи, например ''c://keystore//redapp.jks''</li>
 
 
<li><''пароль ключа''> — пароль, который нужен для извлечения ключа для шифрования канала связи, например P@ssw0rd1. </li>
 
<li><''пароль ключа''> — пароль, который нужен для извлечения ключа для шифрования канала связи, например P@ssw0rd1. </li>
 
</ul>
 
</ul>
Строка 58: Строка 63:
 
<li> Перезапустите сервер {{an}}.</li>
 
<li> Перезапустите сервер {{an}}.</li>
 
</ol>
 
</ol>
 +
 +
'''Чтобы создать подключение приложения Red к серверу {{an}}:'''
 +
# Откройте окно '''Sabre Red Workspace'''.
 +
# В меню последовательно выберите '''Инструменты''' и '''Параметры'''.
 +
# В левой панели окна '''Параметры''' разверните узел '''Настройки для приложений Red''' и выберите узел '''CreditCheck Preferences'''.
 +
# В правой панели задайте значения следующих полей:
 +
#* '''MOM server address'''  — сетевой адрес сервера {{an}}, например ''<nowiki>https://localhost:8445</nowiki>''.
 +
#* '''Login'''  — имя пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
 +
#* '''Password'''  — пароль пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
 +
#:  [[image:RedAppSettings.png|550px]]
 +
# Щелчком кнопки '''ОК''' закройте окно '''Параметры'''.
 +
 +
После такой настройки {{cb}} сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет.
  
 
== Как пользоваться приложением {{cb}} ==
 
== Как пользоваться приложением {{cb}} ==
Строка 156: Строка 174:
 
         <li>Сохраните и закройте файл '''log4j.properties'''.</li>
 
         <li>Сохраните и закройте файл '''log4j.properties'''.</li>
 
         <li>Перезагрузите сервер {{an}}.</li>
 
         <li>Перезагрузите сервер {{an}}.</li>
</ol>
 
 
== Создание пары ключей защиты канала связи ==
 
В этом разделе приводится инструкция по созданию файла-хранилища с парой ключей c помощью Java-утилиты keytool.exe. Эта утилита находится в подпапке /jre/bin версии сервера и клиента {{an}} со средой JRE.
 
 
Если вы используете клиент или сервер {{an}} без среды JRE, то нужно использовать утилиту keytool.exe входящую в состав Java JDK или JRE. В этом случае на машине должен быть установлен как минимум один из этих пакетов. Утилита keytool.exe обычно находится в подпапке bin установочной папки Java.
 
 
'''Чтобы создать файл с парой ключей для связи:'''
 
<ol>
 
<li>Выполните в командной строке следующую команду:
 
<pre>keytool -genkeypair -alias redapp -keyalg RSA -keysize 2048 -validity 3650
 
  -keystore <путь_к_файлу_хранилища> </pre>
 
 
где <br>
 
<''путь_к_файлу_хранилища''> — путь к файлу с парой ключей шифрования, например c:\keystore\redapp.jks<br>
 
</li>
 
<li>В ответ на вопросы команды ''Enter keystore password:'' и ''Re-enter new password:'' введите и подтвердите пароль хранилища ключей.
 
<br>
 
На остальные вопросы отвечать не нужно — в ответ просто нажимайте '''Enter'''.
 
{{warn|Не задавайте никакого пароля в ответ на вопрос '''Enter key password for <redapp> (RETURN if same as keystore password): ''' — пароль ключа обязательно должен совпадать с паролем на хранилище!}}
 
</li>
 
<li>Убедитесь, что в указанном месте создан файл хранилища ключей с расширением .jks и при необходимости скопируйте его на машину с сервером {{an}}.</li>
 
 
</ol>
 
</ol>
  

Версия 11:44, 31 марта 2015

При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно Mid Office Manager, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение Balance Check позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.

Содержание

Предварительные условия

Для нормальной работы приложения требуется следующее:

  1. Доступ к серверу Mid Office Manager. Сервер Mid Office Manager не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет.
  2. Приложение Balance Check должно быть надлежащим образом установлено в среде Red Workspace.
  3. Настроенное подключение к серверу Mid Office Manager в параметрах приложения Red. В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
  4. Настроенные на сервере Mid Office Manager параметры для создания защищенного канала. В параметрах Mid Office Manager надо задать параметры защищенного канала между серверами Mid Office Manager и Red.
  5. Надлежащим образом настроенные профили и договоры на сервере Mid Office Manager.

Далее описывается, как настроить подключение приложения Balance Check к серверу Mid Office Manager, а также как настроить на сервере Mid Office Manager самоподписанный сертификат для SSL-подключения.

Чтобы настроить безопасный канал связи между сервером приложений Red и сервером Mid Office Manager:
Для выполнения приведенных далее инструкций нужна Java-утилита keytool.exe, которая находится в подпапке /jre/bin версии сервера и клиента Mid Office Manager со средой JRE.

Если вы используете клиент или сервер Mid Office Manager без среды JRE, то нужно использовать утилиту keytool.exe входящую в состав Java JDK или JRE. В этом случае на машине должен быть установлен как минимум один из этих пакетов. Утилита keytool.exe обычно находится в подпапке bin установочной папки Java.

  1. Создайте файл с парой ключей для шифрования канала связи в следующей последовательности:
    • Выполните в командной строке следующую команду:
      keytool -genkeypair -alias redapp -keyalg RSA -keysize 2048 -validity 3650 
        -keystore c:\mom\server\redapp.jks 

      где
      <путь_к_файлу_хранилища> — путь к файлу с парой ключей шифрования, например c:\keystore\redapp.jks

    • В ответ на вопросы команды Enter keystore password: и Re-enter new password: введите и подтвердите пароль хранилища ключей.
      На остальные вопросы отвечать не нужно — в ответ просто нажимайте Enter.
      Alert.png Не задавайте никакого пароля в ответ на вопрос Enter key password for <redapp> (RETURN if same as keystore password): — пароль ключа обязательно должен совпадать с паролем на хранилище!
    • Убедитесь, что в указанном месте создан файл хранилища ключей с расширением .jks и при необходимости скопируйте его на машину с сервером Mid Office Manager.
  2. В подпапке ..\server\config\xtrip\server папки сервера Mid Office Manager откройте файл boot.properties для редактирования.
  3. В конец файла boot.properties добавьте следующие строки:
    # Tomcat settings for interaction with RedApps
    com.gridnine.xtrip.server.tomcat.redapp.port = 8445
    com.gridnine.xtrip.server.tomcat.redapp.protocol = org.apache.coyote.http11.Http11Protocol
    com.gridnine.xtrip.server.tomcat.redapp.proxyName =
    com.gridnine.xtrip.server.tomcat.redapp.proxyPort =
    com.gridnine.xtrip.server.tomcat.redapp.secure = true
    com.gridnine.xtrip.server.tomcat.redapp.scheme = https
    com.gridnine.xtrip.server.tomcat.redapp.URIEncoding = utf-8
    com.gridnine.xtrip.server.tomcat.redapp.SSLEnabled = true
    com.gridnine.xtrip.server.tomcat.redapp.sslProtocol = TLSv1
    com.gridnine.xtrip.server.tomcat.redapp.clientAuth = false
    com.gridnine.xtrip.server.tomcat.redapp.keystoreFile = c://mom//server//redapp.jks
    com.gridnine.xtrip.server.tomcat.redapp.keystorePass = <пароль ключа>
    com.gridnine.xtrip.server.tomcat.redapp.default = false 
    где
    • <пароль ключа> — пароль, который нужен для извлечения ключа для шифрования канала связи, например P@ssw0rd1.
  4. Перезапустите сервер Mid Office Manager.

Чтобы создать подключение приложения Red к серверу Mid Office Manager:

  1. Откройте окно Sabre Red Workspace.
  2. В меню последовательно выберите Инструменты и Параметры.
  3. В левой панели окна Параметры разверните узел Настройки для приложений Red и выберите узел CreditCheck Preferences.
  4. В правой панели задайте значения следующих полей:
    • MOM server address — сетевой адрес сервера Mid Office Manager, например https://localhost:8445.
    • Login — имя пользователя Mid Office Manager, в контексте которого будут выполняться запросы информации в Mid Office Manager из приложения.
    • Password — пароль пользователя Mid Office Manager, в контексте которого будут выполняться запросы информации в Mid Office Manager из приложения.
    RedAppSettings.png
  5. Щелчком кнопки ОК закройте окно Параметры.

После такой настройки Balance Check сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет.

Как пользоваться приложением Balance Check

После установки приложения Balance Check и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса.

Попытка выписки билета для клиента, на счете которого недостаточно средств

Попробуем выписать билет для клиента Client1. Вот профиль в Mid Office Manager клиента Client1 с идентификатором 1234567, для которого мы будем пытаться выписать билет:

ClientProfile.png

Далее предпринимается попытка выписать билет для Client1 в среде Red Workspace:

IssueTicketLong.png

Как видите, попытка терпит неудачу из-за недостатка средств на счете клиента: Цена билета 40 523 руб. (строка TOTAL), а на счете клиента всего 15 000 руб.:

IssueTicketShort.png

Приложение эффективно блокирует выписку билета корпоративному клиенту, если на его счете недостаточно средств.

Balance Check также позволяет отслеживать баланс субагентств и блокировать продажи, выходящие за рамки баланса субагентства.

Если на счете корпоративного клиента или субагентства достаточно средств, выписка билета проходит, как обычно, а Balance Check выполняет проверку прозрачно, то есть незаметно для пользователя.

Проверка текущего баланса

В предыдущем разделе речь шла о контроле баланса при выписке билета, но в случае субагента приложение Balance Check позволяет узнать его текущий баланс независимо от выписки билета. Для этого достаточно выполнить команду BALANCE:

CheckBalanceSubagent2.png

С балансом корпоративного агента ситуация иная: в случае собственной продажи корпоративному клиенту Balance Check предоставляет информацию о балансе только при определенных условиях: для этого нужно наличие PNR с идентификатором клиента DK. Без DK невозможно идентифицировать клиента, а, значит, и определить его баланс расчетов. В таком случае при попытке проверить баланс Balance Check вернет сообщение об ошибке:

CheckBalanceNoPNR.png

или

ClientBalanceDKNotFound.png

А вот пример успешной проверки баланса корпоративного клиента (в PNR указан идентификатор DK):

CheckBalanceClient2.png

Info.png При необходимости можно настроить среду Red Workspace так, чтобы она в принудительном порядке требовала задавать идентификатор DK в каждой записи PNR. Чтобы сделать поле DK обязательным для заполнения в каждом PNR в PCC надо активировать уровень доступа менеджера агентства командой SI9 и ввести команду W/DK¥ON. Отключить эту возможность повторным применением команды SI9, а затем командой W/DK¥OFF. Подробнее см. статью tjrfo080 в Format Finder.

Общая схема работы приложения Balance Check

Приложение Balance Check автоматически инициируется при запросе на выписку билета в среде Red Workspace или при выполнении специальной команды для проверки доступного баланса. Приложение всегда проверяет баланс при попытке выполнить команду, которая начинается с W‡ или EW‡.

Далее описываются основные этапы работы приложения Balance Check.

  1. В процессе взаимодействия с Sabre Red Workspace приложение получает данные из записи PNR, в том числе информацию о пассажире и маршруте, сконфигурированном принтере, записях LNIATA, DK и PQ, а также квалификаторы и привязки пассажиров.
  2. Приложение упаковывает данные и передает их в Mid Office Manager и ожидает получить из Mid Office Manager информацию о доступном балансе и всех применимых сборах, а также разрешение или запрет на выписку билета. Обмен данными с Mid Office Manager системой осуществляется в формате XML.
  3. Mid Office Manager определяет тип продажи (субагентская продажа или продажа корпоративному клиенту), а также субагентство или корпоративного клиента, и вычисляет доступный баланс соответствующего контрагента и сравнивает с ценовой квотой.
    Подробнее о том, как Balance Check различает собственные и субагентские продажи см. Как Balance Check различает собственные и субагентские продажи.
  4. Mid Office Manager вычисляет сервисный сбор. Для поддержки гибкой структуры сборов в Mid Office Manager должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red.
  5. Mid Office Manager возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.
  6. Приложение отображает доступный баланс в терминале Sabre Red Workspace, добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета.

Как Balance Check различает собственные и субагентские продажи

В этом разделе описывается, как Balance Check различает собственные (корпоративному клиенту) и субагентские продажи в п.3 в предыдущем разделе.

На основе информации приложения Mid Office Manager (адрес сервера Mid Office Manager, имя входа и пароль) система определяет два профиля агентств — основное агентство (назовем его АгентствоГЛ) и субагентство (АгентствоСУБ) (это может быть один и тот же профиль). Информация об этих агентствах позволяет определить тип продажи — собственная (для корпоративного клиента) или субагентская. Определение профилей выполняется в следующей последовательности:

  • АгентствоГЛ определяется по следующему алгоритму: система пытается сопоставить имя входа (логин) из параметров Red-приложения и имя входа Mid Office Manager с профилем агента. (Если имя входа не связано ни с каким профилем, выполнение прекращается с ошибкой.) АгентствоГЛ определяется как основное место работы, указанное в профиле агента.
  • АгентствоСУБ определяется по следующему алгоритму: отбираются все точки продаж, у которых значение в поле Агентство на вкладке Точка продаж совпадает с АгентствоГЛ. У этих точек продаж просматриваются все пульты и отбираются те, у которых PCC совпадает с PCC, возвращенным командой *S, выполненной из Red-приложением. При наличии нескольких подходящих пультов с одинаковыми PCC они отфильтровываются по полю LNIATA (если оно заполнено). Из валидаторов оставшихся пультов отбираются те, у которых поле Владелец бланка совпадает с владельцем бланка, полученным путем выполнения команды *S*P в Red-приложении. Соответствующее этому валидатору значение в поле Агентство считается агентством АгентствоСУБ. (Если в результате указанных операций получено несколько валидаторов, выбирается первый из списка.)

Если найденные АгентствоКЛ и АгентствоСУБ совпадают, значит это прямая продажа клиенту и определяется баланс для профиля корпоративного клиента. Если АгентствоКЛ и АгентствоСУБ не совпадают, значит это субагентская продажа и определяется баланс для профиля субагентства (в данной терминологии АгентствоКЛ).

Журнал работы приложений Red

При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала Red-приложений, который может быть полезным для настройки приложения Fee and Commission Calculator, называется redapp.log и находится в подпапке logs установочной папки сервера Mid Office Manager.

По умолчанию журнал неактивен или вообще отсутствует, а события Red-приложений в журнале не регистрируются. Для включения регистрации событий Red-приложений нужно предпринять ряд действий.

Чтобы включить регистрацию событий Red-приложений в Mid Office Manager:

  1. В подпапке ..\client\config\xtrip\server папки сервера Mid Office Manager откройте файл log4j.properties в текстовом редакторе.
  2. Найдите раздел, начинающийся со строки # Loggers configuration, например:
    # Loggers configuration
    
    log4j.rootLogger = OFF, null
    log4j.logger.com.gridnine.xtrip = ALL, xtrip
    log4j.logger.com.gridnine.xtrip.TIMING = ALL, xtrip
    
  3. Добавьте в раздел # Loggers configuration следующую строку:
     log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, xtrip-redapp
  4. В конце файла log4j.properties добавьте следующие строки:
    log4j.appender.xtrip-redapp = org.apache.log4j.FileAppender
    log4j.appender.xtrip-redapp.file = ${applicationRoot}/logs/redapp.log
    log4j.appender.xtrip-redapp.encoding = UTF-8
    log4j.appender.xtrip-redapp.layout = org.apache.log4j.PatternLayout
    log4j.appender.xtrip-redapp.layout.conversionPattern = %d [%15.15t] %-5p %40.40c : %m%n
    log4j.appender.xtrip-redapp.append = false
    
  5. Сохраните и закройте файл log4j.properties.
  6. Перезагрузите сервер Mid Office Manager.

Ссылки по теме

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Печать/экспорт
Инструменты