Tuxedo (транзакции для Unix , расширенный для распределенных операций) - это платформа промежуточного программного обеспечения, используемая для управления распределенной обработкой транзакций в распределенных вычислительных средах. Tuxedo - это система обработки транзакций или связующее ПО, ориентированное на транзакции, или сервер корпоративных приложений для различных систем и языков программирования. Разработанный AT&T в 1980-х годах, он стал программным продуктом корпорации Oracle в 2008 году, когда они приобрели BEA Systems . Tuxedo теперь является частью Oracle Fusion Middleware .
Разработчики) | Корпорация Oracle |
---|---|
Стабильный выпуск | 12.2.2 / 30 апреля 2016 г . |
Написано в | C , C ++ , COBOL , Java , Python , Ruby , PHP |
Операционная система | Кроссплатформенность |
Тип | Сервер приложений |
Лицензия | Проприетарный |
Веб-сайт | www |
История
С самого начала в 1983 году AT&T разработала Tuxedo для обеспечения высокой доступности и предоставления чрезвычайно масштабируемых приложений для поддержки приложений, требующих тысячи транзакций в секунду в общедоступных распределенных системах. Первоначальная разработка была нацелена на создание и администрирование систем поддержки операций для телефонной компании в США , для которых требовались возможности оперативной обработки транзакций (OLTP).
Концепции Tuxedo заимствованы из Операционной системы поддержания петли (LMOS). Tuxedo поддерживал перенос приложения LMOS с систем мэйнфреймов, использующих систему управления информацией (IMS), с IBM на гораздо более дешевые распределенные системы, работающие (собственная AT&T) на Unix . [1]
Первоначальная команда Tuxedo состояла из членов команды LMOS, включая Хуана М. Андраде, Марка Т. Каргеса, Терренса Дуайера и Стивена Фелтса. [2] В 1993 году Novell приобрела подразделение Unix System Laboratories (USL) компании AT&T, которое в то время отвечало за разработку Tuxedo. В сентябре 1993 года он был назван «самым известным» монитором обработки распределенных транзакций, работающим на 25 различных платформах. [3] В феврале 1996 года BEA Systems заключила эксклюзивное соглашение с Novell о разработке и распространении Tuxedo на платформах, отличных от NetWare , при этом большинство сотрудников Novell, работающих с Tuxedo, присоединились к BEA. [4] [5] В 2008 году корпорация Oracle приобрела BEA Systems , и TUXEDO продавался как часть линейки продуктов Oracle Fusion Middleware . [6] [7]
Tuxedo использовался в качестве межплатформенного программного обеспечения для транзакций в ряде инструментов разработки многоуровневых приложений. Open Group использовала некоторые интерфейсы Tuxedo в качестве основы своих стандартов, таких как X / Open XA и XATMI. [8]
Разработчики Tuxedo опубликовали статьи об этом в начале 1990-х годов. [9] [10] Позже он стал основой некоторых исследовательских проектов. [11] [12] [13]
Функции
- API на основе стандартов - SCA , The Open Group XATMI, Object Management Group CORBA
- Типы связи - синхронный, асинхронный, разговорный, незапрашиваемые уведомления, публикация / подписка.
- Типизированные буферы
- FML / FML32 - Буферы с самоописанием, похожие на Abstract Syntax Notation One или Fast Infoset
- XML
- STRING и многобайтовые строки MBSTRING
- Двоичные капли CARRAY
- VIEW / VIEW32 внешне описанные записи
- ЗАПИСЬ, представляющая структуры записи COBOL
- Управление транзакциями - Глобальные транзакции - Протокол двухфазной фиксации - X / Open XA
- / D - Кластеризация - Домены
- / WS - удаленные клиенты
- WTC - Соединитель для смокингов Weblogic
- Клиенты Java - Jolt [14]
- Интеграция с Java EE (J2EE) - адаптер Tuxedo JCA [15]
- Двунаправленные веб-службы SOAP и REST - SALT [16]
- / Q - временные (в памяти) и постоянные очереди (также называемые надежными очередями)
- Маршрутизация, зависимая от данных (DDR)
- Брокер событий (также называемый обменом сообщениями публикации и подписки)
- Безопасность - аутентификация, авторизация, аудит и подписание и шифрование сообщений на основе инфраструктуры открытого ключа
- Программное администрирование и поддержка SNMP
- Мониторинг производительности системы и приложений - TSAM Plus [17]
- Балансировка нагрузки, порождение и распад серверов
- Возможность подключения к мэйнфрейму - TMA [18]
- Поддерживает приложения C , C ++ , COBOL , Python , Ruby , PHP и Java на большинстве платформ Unix , Linux , Microsoft Windows и других проприетарных платформах, таких как OpenVMS и IBM i .
Ядро обмена сообщениями
Tuxedo - это, по сути, система маршрутизации сообщений и организации очередей. Запросы отправляются именованным службам, и Tuxedo использует средства межпроцессного взаимодействия на основе памяти для постановки запросов на серверы. Запрашивающая сторона не знает, где находится сервер, который фактически обрабатывает запрос, и как он реализован. По сути, Tuxedo предоставил элементы сервис-ориентированной архитектуры (SOA) за десятилетия до того, как эта фраза была придумана. Tuxedo может использовать содержимое сообщения, чтобы определить, какие серверы следует использовать для получения запроса посредством маршрутизации, зависящей от данных.
Кластеризация
Сердце системы Tuxedo - это Доска объявлений (BB). Это сегмент разделяемой памяти, который содержит конфигурацию и состояние домена Tuxedo. Серверы, службы, транзакции и клиенты зарегистрированы в BB, обеспечивая глобальное представление об их состоянии на всех машинах в домене. Чтобы координировать обновления BB, на каждой машине запускается процесс, называемый связью с доской объявлений (BBL), чтобы поддерживать локальную копию BB в актуальном состоянии. На главной машине выполняется процесс, называемый «Выдающаяся связь с доской объявлений», который координирует обновления BB. Это позволяет каждой машине видеть, какие серверы, службы, транзакции и клиенты находятся на каждой машине в домене.
Другой процесс на каждой машине, называемый мостом, отвечает за передачу запросов от одной машины к другой. Это позволяет Tuxedo распределять нагрузку по различным машинам в домене и позволяет серверам и службам работать на нескольких машинах. Кроме того, BBL и Bridge контролируют друг друга и перезапускают друг друга в случае отказа одного из них. В случае выхода из строя главной машины другая машина, назначенная резервной главной, может взять на себя функцию главной машины. Кроме того, поскольку машины в одном домене могут иметь разные архитектуры (x86, IA32, SPARC, P-Series и т. Д.), Bridge также отвечает за обработку различий в таких вещах, как порядок байтов .
В Oracle Exalogic Tuxedo используются возможности RDMA InfiniBand для обхода моста. Это позволяет клиенту службы на одной машине напрямую обращаться к серверу на другой машине.
Гибкие форматы буферов
Приложения Tuxedo могут использовать различные форматы сообщений в зависимости от типа передаваемых данных. Одним из самых популярных форматов является формат буфера FML, который очень похож на двоичный формат XML или ASN.1. Буферы FML могут содержать произвольное количество именованных полей произвольного типа. Поля могут быть повторяющимися и вложенными. Поскольку это двоичный формат с самоописанием, обработка полей требует очень небольших накладных расходов по сравнению с синтаксическим анализом, необходимым для поддержки чего-то вроде XML. Буферы VIEW - это, по сути, записи, структуры C или тетради COBOL. Буфер VIEW имеет внешнее описание, которое позволяет Tuxedo получать доступ к его полям, если это необходимо для таких вещей, как маршрутизация, зависящая от данных. Другие форматы буферов включают XML, CARRAY (непрозрачные двоичные данные), STRING и MBSTRING (строковый буфер, содержащий многобайтовые символы). Tuxedo может автоматически и прозрачно преобразовывать буферы FML в буферы XML и из них.
Также имеется поддержка типов буферов, разработанных пользователем (например, буферы JamFlex, определенные Tuxedo-версией набора инструментов Panther RAD ).
Концентраторы связи
Для удаленных клиентов (Java, CORBA или / WS) Tuxedo предоставляет концентраторы связи, называемые приемниками / обработчиками, которые обрабатывают удаленную сетевую связь. Клиенты подключаются к этим концентраторам связи, которые действуют как прокси для клиентов. Когда клиенты делают запросы, слушатель / обработчик использует локальную инфраструктуру Tuxedo для выполнения запроса от имени клиента. Затем Tuxedo распределяет нагрузку между серверами в домене, предлагающими услугу, даже если сервер не находится на локальном компьютере. Это контрастирует с большинством серверов приложений Java EE, где балансировка нагрузки выполняется клиентом, выполняющим запросы к разным машинам с кластером.
Шлюзы
Чтобы облегчить совместное использование сервисов между доменами, Tuxedo предоставляет доменные шлюзы. Доменный шлюз позволяет импортировать и экспортировать услуги из удаленных доменов. Это позволяет локальному домену видеть службы в удаленных доменах, как если бы они были локальными службами. Шлюзы домена несут ответственность за распространение контекста безопасности и транзакции в удаленный домен. Помимо соединения доменов Tuxedo, существуют доменные шлюзы для систем мэйнфреймов, использующих TCP / IP , системную сетевую архитектуру IBM (SNA) или протоколы OSI , а также серверы приложений Java Platform, Enterprise Edition . Для шлюзов мэйнфреймов каждая система видит сервисы, импортированные из удаленной системы, как локальные, и использует инфраструктуру локальной системы для взаимодействия с этими сервисами. Это означает, что Tuxedo рассматривает транзакцию CICS как службу Tuxedo, а CICS видит службу Tuxedo как транзакцию CICS.
Восстановление после сбоя
BBL на каждой машине отслеживает состояние всех серверов и может автоматически перезапускать отказавшие серверы. Он также может обнаруживать зависшие серверы и при необходимости отключать / перезапускать их. Процесс BRIDGE в кластерной среде контролирует BBL, поэтому единых точек отказа нет. Любые транзакции, на которые повлиял сбой сервера или компьютера и которые не завершили этап подготовки, откатываются. Транзакции, которые завершили фазу подготовки, но не фазу фиксации, будут зафиксированы как часть последовательности загрузки Tuxedo.
Мониторинг и координация транзакций
Приложения Tuxedo могут запрашивать, чтобы все вызовы служб и связанные с ними обновления любых ресурсов, контролируемых менеджерами ресурсов (например, базами данных), управлялись транзакцией. Как только приложение начинает транзакцию, все последующие вызовы служб и вложенные вызовы включаются как часть этой транзакции, даже те службы, которые выполнялись в удаленных доменах. Затем Tuxedo координирует обработку фиксации с менеджерами ресурсов, чтобы обеспечить атомарные обновления всех затронутых ресурсов. Транзакции могут управляться приложением или автоматически управляться конфигурацией Tuxedo, т. Е. Транзакциями, управляемыми контейнером.
Подсистема массового обслуживания
Tuxedo предоставляет подсистему очередей под названием / Q. Это средство предоставляет временные и постоянные очереди, которые позволяют приложениям явно ставить и удалять сообщения из именованных очередей. Очереди можно упорядочить по времени доступности сообщений, времени истечения срока действия, приоритету, LIFO, FIFO или их комбинации. Очередями управляет XA-совместимый диспетчер ресурсов, позволяющий операциям с очередями участвовать в распределенных транзакциях. Предоставляется сервер автоматической пересылки очереди, который удаляет записи из очереди и вызывает связанные службы Tuxedo, помещая ответное сообщение в связанную очередь ответов.
Подсистема событий
Подсистема событий в Tuxedo обеспечивает поддержку как незапрошенных, так и посреднических событий. Незапрашиваемые события позволяют приложениям Tuxedo отправлять внеполосные уведомления клиентам, которые не обязательно ждут ответа. Посреднические события позволяют приложению подписаться на интересующие события, и когда другое приложение публикует событие, все приложения, подписанные на это событие, получают его. Это позволяет приложениям использовать модель, управляемую событиями, вместо более типичной модели запрос / ответ. Также это обеспечивает модель обмена сообщениями публикации и подписки, которую можно комбинировать с / Q.
Дополнительные продукты
Oracle предлагает ряд дополнительных продуктов к Tuxedo.
Повторный хостинг мэйнфреймов
В марте 2010 года Oracle анонсировала два новых продукта. [19] Среда выполнения приложений для CICS и пакетной обработки вместе с соответствующей рабочей средой Oracle Tuxedo Application Rehosting Workbench позволяет переносить IBM Customer Information Control System (CICS) и пакетные приложения на Tuxedo в распределенных системах. Благодаря предоставлению инструментов автоматического преобразования, расширению макросов препроцессора API, эквивалентному CICS, и среде выполнения пакетной обработки, подобной JES-2, миграция приложений для мэйнфреймов значительно упрощается.
СОЛЬ
Этот продукт предоставляет двунаправленный шлюз SOAP / HTTP (S) веб-служб. Этот шлюз позволяет внешним клиентам SOAP получать доступ к службам Tuxedo без внесения каких-либо изменений в службу Tuxedo. Точно так же приложения Tuxedo могут вызывать внешнюю веб-службу, как если бы это была локальная служба Tuxedo. Последняя версия SALT поддерживает WS-AtomicTransactions и модули для веб-сервера Apache, HTTP-сервера Oracle и веб-сервера Oracle iPlanet, что позволяет создавать динамический веб-контент путем вызова служб Tuxedo. В версии 12.1.3 SALT добавлена поддержка сервисов RESTful .
TSAM Plus
Этот продукт предоставляет возможности централизованного мониторинга для нескольких доменов Tuxedo. Агенты TSAM Plus развернуты на машинах в домене Tuxedo. Эти агенты собирают метрические данные из запущенных процессов Tuxedo на основе настроенной политики и отправляют данные обратно в TSAM Plus Manager, где они используются исторически или в реальном времени. TSAM Plus предоставляет информацию о конфигурации, пути вызова, шаблоне вызова, выполнении службы, транзакции и других показателях мониторинга. TSAM Plus также контролирует Tuxedo ART CICS и пакетные приложения. Дополнительный компонент TSAM Plus - это подключаемый модуль для Oracle Enterprise Manager Cloud Control, который обеспечивает полную работу, настройку, администрирование и управление приложением Tuxedo.
Адаптеры для мэйнфреймов Tuxedo (TMA)
Этот продукт предоставляет набор процессов шлюза, которые выполняются в Tuxedo и взаимодействуют с мэйнфреймом, используя его собственные протоколы. Этот шлюз обеспечивает двунаправленную интеграцию между мэйнфреймами и платформами Tuxedo и позволяет Tuxedo отображаться как удаленная область CICS или IMS для мэйнфрейма, а удаленная область CICS или IMS - как другой домен Tuxedo для локального приложения Tuxedo.
Адаптер JCA
Адаптер Tuxedo JCA предоставляет адаптер ресурсов, совместимый с JCA 1.5, который можно развернуть в любом контейнере JCA Java EE (J2EE) 1.5 или более поздней версии. Адаптер поддерживает интерфейс JCA Common Client или CCI, а также интерфейс JATMI, поддерживаемый компонентом Oracle WebLogic Tuxedo Connector Oracle WebLogic Server. Приток и отток сообщений поддерживаются наряду с поддержкой распределенных транзакций.
Очередь сообщений смокинга
Предоставляет возможности корпоративного обмена сообщениями, сочетающие в себе функции Oracle MessageQ с Tuxedo. Это расширяет существующее средство организации очереди сообщений / Q в Tuxedo, предоставляя такие вещи, как уведомление о доставке, автономный обмен сообщениями, а также возможность хранения и пересылки.
Рекомендации
- ^ Филип А. Бернштейн; Эрик Новичок (2009). Принципы обработки транзакций . Морган Кауфманн. С. 330–336. ISBN 978-1-55860-623-4.
- ^ "Хуан М. Андраде" . Биография автора . Pearson Education InformIT . Проверено 11 октября 2011 года .
- ^ Пол Корзенёвский (13 сентября 1993 г.). «Увеличьте нагрузку на вашу локальную сеть с помощью обработки транзакций в режиме онлайн» . InfoWorld . 15 (37). п. 70 . Проверено 11 октября 2011 года .
- ^ «Novell и BEA Systems, Inc. завершили переход TUXEDO на BEA» . Пресс-релиз . BEA Systems, Inc. 28 февраля, 1996. Архивировано из оригинала на 1 июля 2003 года . Проверено 11 октября 2011 года .
BEA является эксклюзивным разработчиком и дистрибьютором системы TUXEDO для UNIX, NT и всех платформ, отличных от NetWare, а Novell будет разрабатывать приложения на основе TUXEDO для NetWare. Кроме того, большинство сотрудников Novell TUXEDO, включая персонал по разработке и маркетингу, присоединились к BEA, и BEA приняла на себя все контракты с партнерами, дистрибьюторами и клиентами TUXEDO. BEA обладает исключительными правами на товарный знак TUXEDO.
- ^ Пол Крилл (5 февраля 1996 г.). «Novell сдает в аренду Tuxedo Development» . InfoWorld . 18 (6). п. 12 . Проверено 11 октября 2011 года .
- ^ Хуан М. Андраде, Марк Т. Карджес, Терренс Дуайер и Стивен Фелтс (1996). Система TUXEDO: программное обеспечение для создания распределенных бизнес-приложений и управления ими . Эддисон-Уэсли. п. XXXIV. ISBN 978-0-201-63493-8.CS1 maint: использует параметр авторов ( ссылка )
- ^ «Номер 1 в области промежуточного программного обеспечения: Oracle раскрывает роль BEA в стратегии продукта для промежуточного программного обеспечения следующего поколения» (пресс-релиз). Корпорация Oracle. 1 июля 2008 . Проверено 11 октября 2011 года .
- ^ Карл Холл (2 февраля 1996 г.). Создание клиент-серверных приложений с использованием TUXEDO . Джон Вили и сыновья. п. 35. ISBN 978-0-471-12958-5.
- ^ Хуан М. Андраде, Марк Т. Карджес, мистер Макблейн (24 февраля 1992 г.). Открытая онлайн-обработка транзакций с помощью системы TUXEDO . Международная конференция компьютерного общества IEEE, (COMPCON) Сборник статей . 37 . С. 366–371. DOI : 10.1109 / CMPCON.1992.186740 . ISBN 978-0-8186-2655-5.CS1 maint: использует параметр авторов ( ссылка )
- ^ EP Felt (20 января 1993 г.). Распределенная обработка транзакций в системе TUXEDO . Труды Второй Международной конференции по параллельным и распределенным информационным системам . 2 . С. 366–371. DOI : 10,1109 / PDIS.1993.253082 . ISBN 978-0-8186-3330-0.
- ^ Х. Кауфманн, Х.-Ж. Щек (18 декабря 1996 г.). Расширение TP-мониторов для параллелизма внутри транзакций . Четвертая международная конференция по параллельным и распределенным информационным системам . 4 . IEEE. С. 250–261. DOI : 10,1109 / PDIS.1996.568686 . ISBN 978-0-8186-7475-4.CS1 maint: использует параметр авторов ( ссылка )
- ^ Т. Алтиок, Вэй Сюн, М. Гюндук (9 декабря 2001 г.). Инструмент планирования мощности для промежуточного программного обеспечения Tuxedo, используемого в системах обработки транзакций . Материалы Зимней симуляционной конференции . 1 . IEEE. С. 502–507. CiteSeerX 10.1.1.78.2871 . DOI : 10,1109 / WSC.2001.977330 . ISBN 978-0-7803-7307-5.CS1 maint: использует параметр авторов ( ссылка )
- ^ Инь Вэнь, Хэ Цзинша (9 декабря 2001 г.). Применение промежуточного программного обеспечения Tuxedo в банковской системе . IEEE 3-я Международная конференция по коммуникационному программному обеспечению и сетям . 3 . С. 594–597. DOI : 10.1109 / ICCSN.2011.6013904 . ISBN 978-1-61284-485-5.CS1 maint: использует параметр авторов ( ссылка )
- ^ «Документация по Oracle Tuxedo 12c R2» . docs.oracle.com .
- ^ «Документация по Oracle Tuxedo JCA 12cR1 (12.1.1)» . docs.oracle.com .
- ^ «Документация Oracle SALT 12.1.3» . docs.oracle.com .
- ^ «Документация по Oracle TSAM Plus 12cR2 (12.1.3)» . docs.oracle.com .
- ^ «Документация по Oracle Tuxedo 12c R2» . docs.oracle.com .
- ^ «Oracle выпускает новые продукты для ретрансляции мэйнфреймов для Oracle Tuxedo 11g» . Пресс-релиз . Корпорация Oracle. 31 марта 2010 . Проверено 11 октября 2011 года .
дальнейшее чтение
- Системные лаборатории UNIX (февраль 1992 г.). TUXEDO System Release 4.1: Справочное руководство по менеджеру транзакций . Прентис Холл.
Внешние ссылки
- Веб-сайт Oracle Tuxedo