- PVSM.RU - https://www.pvsm.ru -
В недавней статье [1] сама собой затронулась тема обмена сообщениями между компаниями, обеспечивающими авиаперевозки с точки зрения поисковика билетов.
Здесь же я попробую рассказать об обработке этих сообщений, а также об особенностях работы в компании Amadeus на Лазурном берегу.
Тема достаточно обширная, поэтому я сперва набросаю лишь несколько ключевых слов, и вместе мы посмотрим, что вызовет интерес.
С какого-то момента стало понятно, что для успешного развития авиаперевозок необходимо создать более-менее универсальный способ общения между заинтересованными сторонами. Авиакомпании должны договариваться с аэропортами, агентства — продавать билеты, а клиенты должны платить и не жаловаться.
Развитием этого понимания стало создание Люфтганзой, Эйрфрансом и Иберией компании Амадеус, со штаб-квартирой в Мадриде, дата-центром в Эрдинге и разбросанными центрами разработки.
Вселенная системы дистрибуции расширяется, и влечёт вполне понятные последствия. Например, дата-центр через пару лет достигнет предела доступной мощности, хотя уже пользуется тремя поставщиками электроэнергии. В планах трансконтинентальная экспансия.
Созданная как GDS [2], компания Амадеус в настоящее время включает помимо системы резервации: управление расписаниями, инвентаризация полётов, управление аэропортом (чекин, посадка), подсчёт прибыли и пр. Так же есть попытки работать с резервацией отелей и прокатных машин.
Деятельность индустрии регулируется Международной ассоциацией воздушного транспорта [3]. Задумана ассоциация была для контроля за ценами международных перевозок. Но с 2003 года идут переговоры о создании бесконтрольного рынка. В настоящее время задачи ассоциации следующие:
Амадеус обслуживает более 104400 точек агентских продаж и более 36600 офисов продаж более 460 авиакомпаний. 26 компании по прокату автомобилей с 36000 пунктами проката.
Амадеус работает в модели бизнеса, основанной на транзакциях. То есть клиенты платят за использованные юниты функциональности. Например, каждый раз, когда происходит резервирование билета, Амадеус получает какой-то фиксированный пирожок. Подобная плата может быть взята за печать документа, обмен билета, регистрации пассажира и пр. Конечно же, клиенты отдельно платят за разработку новой функциональности.
Продукты компании распределяются на три роли:
Подробности можно посмотреть на официальном сайте [5].
Доступ к продуктам осуществляется посылкой сообщений в автоматическом режиме либо с терминалов клиентов. Терминалом может быть текстовая консоль или web-сайт. При поиске или заказе билетов через интернет-поисковики запросы с серверов приходят к нам примерно в таком же виде, как если бы запрос делали вручную с терминала агентства или аэропорта. Сообщение может быть в виде TTY, EDIFACT или XML-запросом к веб-сервису.
В ответ система может отсылать электронную почту с PDF документами, печатать билеты на принтерах в аэропортах, слать SMS и просто показывать HTML-странички.
При резервировании билета создаётся PNR. Эта запись содержит основную информацию о пассажире: имя, особые требования, номер рейса, отель, машина, поезд, вот это всё. Все записи последовательно нумеруются.
Пример PNR:
RP/MUC1A0701/ RF THOMAS TEST 1.SRC/TEST 2 LH4143 Y 27OCT 5 NCEFRA HK1 0645 1 0745 0925 737 E 0 R NON-SMOKING FLIGHT SEE RTSVC 3 LH4138 Y 03NOV 5 FRANCE HK1 1600 1 1640 1805 737 E 0 R NON-SMOKING FLIGHT SEE RTSVC 4 AP 809-0239424 5 TK TL26OCT/MUC1A0701 6 FP CASH
На сайте checkmytrip.com [6] можно запросить вашу PNR введя фамилию и номер брони (6 символов).
Жизнь рейса выглядит так:
Все эти сообщения сохраняются и доступны для поиска и пересылки. В случае чего спецслужбы могут запросить блокировку доступа к архиву конкретного рейса для расследования.
Помимо служебных сообщений предоставляется сервис обмена персональными сообщениями между сотрудниками агентств. Был случай судебного запроса истории переписки с целю расследования сексуального домогательства.
Поток сообщений может достигать нескольких тысяч в секунду, и мы гарантируем целостность последовательности, приоритет, доставку и хранение (если требуется). Персональные данные по необходимости шифруются, номера кредиток в логах не видны.
Авиакомпаниям хочется быть огороженными друг от друга, чтобы в случае инцидента с хранилищем одних, не страдали другие. А с другой стороны, им необходимо иметь доступ к архиву партнёров и отсылать сообщения кому-нипоподя.
Большой бизнес, понятное дело, не очень поворотлив. Если что-то работает, то лучше не трогать. Поэтому протоколы и понятия, казавшиеся адекватными на заре отрасли, с переменным успехом дожили до настоящего времени. Но над этим работает достаточно большое количество людей, стараясь обеспечить современный уровень услуг и необходимую безопасность.
Спервоначалу ядром системы было готовое программно-аппаратное решение от IBM. Впрочем, написанное на ассемблере в бородатое время до сих пор верно работает, хоть и требует значительных ресурсов на поддержку: решение дорогое, специалисты редкие. Сейчас новыми продуктами занимается центр разработки, и используются современные инструменты.
Основной язык программирования сильно нагруженных сервисов — C++. Для графических интерфейсов есть Java, web-сервисы с различными серверными решениями. Широко используется Python для создания скриптов регрессивного тестирования. На серверах трудится Linux.
Перед тем, как код попадает в продакшн, проходит обкатка на нескольких уровнях тестовых систем, которые представляют собой копии работающей системы различной степени достоверности. В эти копии направляется сохранённый реальный трафик, так что системы работают как бы в прошлом, с известным сдвигом во времени. Один из уровней — система тренинга, предназначенная для обучения персонала клиентов.
Все системы имеют разную степень критичности. Поддержкой занимаются люди, которые производят обновление системы на различных уровнях, а так же разработчики. В командах существует график недельных дежурств, в которые выдаётся мобильный телефон. В эти дежурства происходит добровольное ограничение передвижения: время реагирования на проблему включено в контракт, и в случае чего могут позвонить среди ночи на выходных, и есть какое-то малое время на подключение к чату с обсуждением сложившейся проблемы. Пример такой проблемы: AirFrance не может продавать билеты, или вообще всё сломалось [7].
Во время загрузки новой версии (критического) приложения комната разработчиков иногда напоминает центр управления полётами (в каком-то смысле так и есть). Мы следим за трафиком сообщений в реальном времени, и если что готовимся откатить обновление назад или подставить костыль. Иногда случаются казусы с базой данных, если обновляется схема. Отдел, который заведует установкой не всегда в курсе, что они устанавливают, поэтому разное бывает. Ещё случаются обновления конфигурации, как например появление нового клиента, с последующей настройкой маршрутизации и всего-всего.
Центр разработки, в котором трудится ваш непокорный слуга, находится на Лазурном берегу, в парке София Антиполис — местной кремниевой долине. IT-компаниям были предложены специальные условия в этом регионе (льготное электричество, например), чем воспользовались многие известные фирмы: Intel, ARM, Inria, AirFrance, Amadeus, прочие. Кстати, имеются открытые вакансии.
На Амадеус трудится огромное количество приезжих, поэтому официальный язык внутри — английский. Хотя в столовой и за кофе французы предпочитают говорить по-французски. Но достаточно одного человека, не говорящего по-французски, и на собрании из десятков людей все переключаются на английский без проблем.
Из окна видны южные Альпы, деревушки на склонах холмов и Лигурийское море. По лесам бегают зайцы и кабанчики. Видел из окна автобуса пасущихся на газоне поросят. Скоро зима, горы наденут снежные шапки и настанет лыжный сезон. Раз в год выпадает снежок на дорогах вокруг города, чем вызывает катаклизм, потому что к гололёду никто не готов. Даже поезда.
Автор: 0x656b694d
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/kremnievaya-dolina/43857
Ссылки в тексте:
[1] статье: http://habrahabr.ru/company/buruki/blog/192384/
[2] GDS: http://ru.wikipedia.org/wiki/GDS
[3] Международной ассоциацией воздушного транспорта: http://ru.wikipedia.org/wiki/Международная_ассоциация_воздушного_транспорта
[4] EDIFACT: http://en.wikipedia.org/wiki/EDIFACT
[5] официальном сайте: http://www.amadeus.com/airlineit/solutions/sol_1altea_1suite_1full.html
[6] checkmytrip.com: http://checkmytrip.com/
[7] вообще всё сломалось: http://www.watoday.com.au/travel/travel-news/checkin-system-meltdown-qantas-issues-handwritten-boarding-passes-20111130-1o5p7.html
[8] Источник: http://habrahabr.ru/post/194394/
Нажмите здесь для печати.