OLTP в Сети: Проектирование многоуровневых архитектур для транзакционных Internet-приложений
Использование Jaguar CTS для on-line обработки транзакций в Internet/intranet-приложениях
Введение
Все читали об Internet и его "бесконечном потенциале" по изменению бизнеса и построению компьютерных систем. Удивляющий рост Сети является испытанием способности соответствовать по крайней мере некоторым из этих ожиданий. Но прежде, чем Сеть сможет перешагнуть страницы маркетинговых брошюр и инвентарных сводок, мы должны ответить на один основной вопрос: каким образом мы должны перепроектировать инфраструктуру, разработанную для просмотра статических текста и изображений, в устойчивую архитектуру, способную поддерживать крупномасштабную диалоговую обработку запросов?
Нам необходимо объединить обещанный Web универсальный доступ и размещение с автоматизацией деловых процессов. Нам нужно привлекать новых клиентов и облегчать их работу, чтобы оставаться на переднем крае конкурентоспособности. Ниже рассматриваются новые подходы к решению этих проблем. Далее мы предлагаем:
- Краткий обзор современных типов Internet-приложений и технологий их построения.
- Управляемую Диалоговую Обработку Запросов в Сети (WebOLTP) и ее специфические требования.
- Обсуждение появляющихся новых архитектурных решений и моделей для WebOLTP.
- Доступ к современным технологиям создания ПО промежуточного уровня и их способности удовлетворять уникальные требования WebOLTP.
- Серверы транзакций и их важная роль в обеспечении WebOLTP.
- Jaguar CTS фирмы Sybase – сервер транзакций для Internet.
Бизнес-приложения в Internet
Большинство Internet и intranet приложений определяются как "статические" или "динамические" в зависимости от содержания и доступа к данным (смотри Рис. 1). Сегодня большинство приложений в Internet - это публикации, предлагающие статическое содержание и обеспечивающие предсказуемый, универсальный доступ. Компании, разрабатывающие свои первые Web-приложения, обычно публикуют информацию о продукте в Internet или данные о служащих в корпоративных сетях intranet.
Последняя волна Internet-приложений - публикация баз данных. Эти системы предоставляют простой статический доступ к динамическим данным. Примерами являются контроль складских остатков через Internet или пересмотр статуса заказа через intranet. Оба этих класса приложений (наряду с простыми приложениями накопления данных) могут развиться в транзакционные бизнес-приложения. Компаниям – поставщикам информационных систем придется создавать и управлять приложениями в Сети, которые имеют динамический доступ к корпоративным БД и обрабатывают разнородную информацию.
Имея целью Управляемую Диалоговую Обработку Запросов (Online Transaction Processing - OLTP) , а Web как способ доступа, Sybase предлагает название этого нового типа приложений – “WebOLTP”. Такие приложения становятся не простыми программами для просмотра данных, а приложениями для обработки в реальном режиме времени важной деловой информации, например, операций в банке, прием заказов, работа с клиентами.
Рисунок 1. Большинство Internet и Intranet приложений классифицируются как “статические” или “динамические” в зависимости от содержания и вида доступа
Современная ифраструктура Internet
Современная ифраструктура Internet представлена на Рис.2. и включает в себя:
- Web-броузер, служащий для отображения страниц в формате HTML (Hypertext Mark-up Language)
- Web-сервер, который занимается хранением и управлением HTML-страниц
Рисунок 2. Базовая и расширенная архитектура Web.
Стандартные средства связи между броузером и сервером на основе протокола HTTP (Hypertext Transfer Protocol).
Базовая инфраструктура была разработана и до сих пор вполне подходит для публикации статической информации, например, данных маркетинговых исследований.
Как показано на Рис.3, базовая инфраструктура Internet за последнее время была раширена в смысле большей динамичности приложений (интерактивных возможностей пользователей) за счет:
- Простых форм запросов и форматирования данных на основе JavaScript для броузера
- API для Web сервера, таких как, например, NSAPI и ISAPI, позволяющих броузерам вызывать приложения на стороне сервера.
- Серверов динамической обработки, которые преобразуют данные из БД в страницы в формате HTML (например, "Dynamo").
Расширенная инфраструктура Web за счет динамической обработки данных, т.е. способности сервера возвращать данные броузеру в соответствии с запросом пользователя или в другой интерактивной форме, предоставляет возможность создания совершенно нового и важного класса приложений от систем поддержки принятия решения через intranet до персональных новостей в Internet.
Рисунок 3. Новая архитектура для WebOLTP
Однако, даже с учетом этих расширений большинство реализаций Internet-инфраструктур неспособны обрабатывать крупные транзакции. До настоящего времени, различные компании пытались соединять базы данных и Web-серверы вместе. Но без инструментальных средств разработки и администрирования, результаты оказываются в лучшем случае неудобными и сложными в сопровождении.
Введение в WebOLTP
WebOLTP – имя, которое было предложено компанией Sybase, для описания приложений, выполняющих транзакции в Internet, intranet, extranet или традиционных корпоративных сетях. Отличительные черты WebOLTP при ставнении с OLTP-технологией на мэйнфреймах или в системах клиент/сервер :
- “Тонкие клиенты”
- В традиционных системах клиент/сервер для запуска приложений необходимо, чтобы клинтское ПО было заранее установлено. В архитектуре с “тонким” клиентом специализированное программное обеспечение не обязательно устанавливать на клиенте, поскольку исполняемые компоненты могут загружаться с Web site для последующего взаимодействия с клиентом. Таким образом, “тонкий” клиент или клиент с “нулевой инсталляцией” получает два ключевых преимущества при работе в сети: универсальный доступ и уменьшение затрат на инсталляцию и управление. Однако, из-за наличия броузеров и HTML, тонким клиентам для динамического управления бизнес-приложениями необходимо использование дополнительных средств, таких как Java-апплеты.
- Большие объемы при большом количестве соединений
- В отличие от приложений клиент/сервер и их предшественников, пользователи WebOLTP могут существенно расширить границы отдела или компании, используя extranets или Internet. С этими новыми приложениями "самообслуживания", доступ больше не ограничивается небольшим количеством клерков, регистрирующих заказы, но вместо этого становится открытым для тысяч пользователей, одновременно выполняющих транзакции. Это потребует хорошо масштабируемую архитектуру сервера для построения WebOLTP приложений.
- Непредсказуемые нагрузки
- Приложения с отчетливо выраженным кругом потребителей работают с достаточно ясно определенными наборами действий и нагрузок. Использование WebOLTP-приложений, благодаря открытому кругу пользователей в них, должно привести к непредсказуемым нагрузкам. По мере того, как любое Web-приложение становится доступно, менеджерами Web-узлов обычно затрудняются предсказать, когда и сколько пользователей пытаются загружаться. Чтобы справляться с неожиданными скачками загрузки при сохранении приемлемого времени отклика, требуется наличие хорошо регулируемых и адаптирующихся систем.
- Короткий жизненный цикл приложения
- Каждая следующая генерация приложений кажется обреченной на более короткий жизненный цикл, чем предшествующая. Хотя жизненные циклы, по-видимому, немного удлинятся по мере развития технологии Internet, современные приложения для Сети требуют всего лишь несколько недель или месяцев на разработку, и разрабатываться только в последние 12-18 месяцев. Web-менеджеры стараются корректировать содержимое узла ежедневно и обновлять их графику по крайней мере каждые 9-12 месяцев. Поскольку текущие ожидания потребителя заставят WebOLTP-приложения последовать этому примеру, технология для построения этих систем должна быть очень легкой для использовать и развертывания.
- Появление WebOLTP-архитектуры
- Новая архитектура и модель использования призваны удовлетворить строгие требования к WebOLTP-приложениям. Возникновение 3-уровневой или многоуровеневой архитектуры (см. Рис. 4) отвечает потребностям WebOLTP с точки зрения масштабируемости (scalability) и динамического доступа при сохранении всех преимуществ базовой архитектуры.
- Инфраструктура Web
- В этой новой модели, пользователи находят и запускают приложения, использующие традиционные HTML страницы и Web-серверы. Но вместо просто загрузки статической страницы, динамическая "апплета" загружается в индивидуальный броузер. К тому же апплета поддерживает высокоскоростные протоколы, которые позволяют ей соединяться непосредственно с сервлетами ("servlets") - ПО, работающим на промежуточном уровне. Обычно сервлеты обеспечивают доступ к одной или более баз данных, реализуют бизнес-логику и возвращают результаты апплете для отображения на клиенте.
Рисунок 4. Трехуровневая архитектура
Хотя многие представители промышленности и ряд поставщиков усиленно “проталкивают” эту архитектуру, по-прежнему ведутся многочисленные споры о точной роли каждого компонента и о ключевых технических требованиях по обеспечению масштабируемости и простоты использования систем на основе WebOLTP.
- Апплеты
- Апплеты являются динамически загружаемыми программами, которые управляют логикой представления данных. В архитектуре WebOLTP апплеты также содержат часть кода, отвечающего за коммуникации, что позволяет им напрямую соединяться с сервлетами, работающими на промежуточном уровне.
Существует два метода для построения апплетов. Первый основан на использовании Java и JavaBeans, второй – на основе технологии ActiveX. Безотносительно того, какая технология используется, апплеты реализуют следующие преимущества:
- Небольшой объем, что обеспечивает быструю загрузку
- Большую интерактивность и более дружественный интерфейс по сравнению с обычными HTML-страницами
- Легкость в разработке и сопровождении
- Протоколы, отличные от HTTP
- На сегодня единственным широко распространенным протоколом в Сети является Hypertext Transfer Protocol – HTTP. Являясь частью исходной инфраструктуры WWW, HTTP прекрасно подходит для работы со статическими HTML-страницами. Однако он не совсем удобен для интерактивной обработки бизнес-транзакций, поскольку является странично-ориентированным и не поддерживает информацию о состояниях и соединениях. Все это является существенными недостатками, когда речь заходит о приложениях WebOLTP.
Для того, чтобы обойти эти слабые места, фактически все эксперты и поставщики предлагают альтернативные протоколы для связи броузера и ПО промежуточного уровня. Ключевые требования для этих новых протоколов включают способность:
- Поддерживать информацию о пользователях и транзакциях
- Эффективно формировать результирующую выборку и управлять ею
- Поддерживать транзакции
- Предоставлять надежные механизмы шифрования данных
- Среда промежуточного уровня
- С появлением многоуровневой архитектуры, на промежуточный уровень (или уровни) была перенесена основная тяжесть прикладной обработки. Этот факт делает промежуточный уровень одним из наиболее критических и проблематичных компонентов WebOLTP архитектуры.
- СУБД
- Системы управления базами данных остаются важными компонентами всех OLTP систем, в том числе и WebOLTP. Для оптимизации СУБД в архитектуре WebOLTP необходимо:
- Поддержка нестабильных нагрузок с отслеживанием таких свойств, как запрос очередей и приоритетов
- Высокая скорость соединения с СУБД из Java-приложений
- Очереди приложений и управление ресурсами как средства сокращения общего объема ресурсов в системе и достижения стабильной производительности в рамках Internet-транзакции
- Обеспечение безопасности, как например, уполномоченная авторизация, т.е. соответствие, для определенных WebOLTP-приложений
- Распределенная обработка запросов, которая позволила бы обрабатывать все многообразие типов данных, встречающихся в среде WebOLTP.
- Варианты ПО промежуточного уровня
- Возможно наиболее спорной областью WebOLTP-архитектуры является вопрос, какая технология больше всего подходит для выполнения и управления бизнес-логикой на промежуточном уровне. Приведем основные требования к ПО промежуточного уровня:
- Масштабируемость и производительность при работе с большим количеством пользователей, сессий, транзакций и соединений с БД
- Высокопроизводительное соединение броузера и back-end хранилища данных
- Поддержка быстрой разработки и развертывания WebOLTP-приложений на промежуточном уровне
- Поддержка как синхронного, так и асинхронного управления транзакциями.
На сегодняшний день существует три наиболее распространенных варианта технологий для построения ПО промежуточного уровня: CORBA на основе брокеров объектных запросов (Object Request Brokers - ORBs); мониторы обработки транзакций (Transaction Processing Monitors - TP-Monitors) и серверы Web-приложений.
Каждая из этих технологий имеет свои сильные стороны, но ни одна из них идеально не подходит для требований WebOLTP на промежуточном уровне.
Объекты CORBA имеют превосходные возможности построения многоуровневой архитектуры с вызовом сильно распределенных объектов и прочисми сервисами. К сожалению, сложность общего решения и недостаток надежных средств поддержки ограничивает их применение только квалифицированными разработчиками, которые не боятся “испачкать руки”. К тому же, большинство ORB сегодня имеют примитивные механизмы исполнения на стороне сервера, что также ограничивает эффективность и масштабируемость.
TP мониторы, с другой стороны, имеют устойчивые и отработанные механизмы выполнения, которые предоставляют превосходную эффективность и масштабируемость. Однако, подобно объектам ORB, их общая сложность и собственный интерфейс API зачастую делает TP мониторы трудными в использовании и дорогими с точки зрения установки, управления и поддержки.
Серверы Web-приложений представляют последние решения в области программного обеспечения промежуточного уровня. Технология сервера Web-приложений появилась в результате попытки трансформировать Netscape и Web-серверы Microsoft в серверы приложений; рычагами к этому послужило последнее поколение соответствующих API -(NSAPI и ISAPI). Серверы Web-приложений вообщем являются специализированными (заказными) разработками на основе одного из инструментальных средств создания Web-узла.
Этот мощный набор инструментальных средств действительно ведет к повышению производительности разработчика. Но с другой стороны, масштабируемость существенно ограничена прямым обращением сервера приложений к Web-серверам и отсутствием поддержки не-HTTP протоколов связи.
Чтобы преодолеть слабые стороны существующих систем и удовлетворить требованиям WebOLTP на промежуточном уровне, обеспечивающим масштабируемость и простоту использования, был предложен новый класс системного ПО: серверы транзакций.
- Серверы Транзакций
- Серверы Транзакции объединяют самые лучшие возможности СФЕР и мониторов TP с компонент-основанной разработкой: это дает возможность быстрому созданию масштабируемых WebOLTP приложений. Первыми доступными серверами транзакций станут Sybase Jaguar CTS (Компонентный сервер транзакций) от Sybase, Inc. и Microsoft Transaction Server (прежде известные как Viper). Поскольку спрос на WebOLTP растет, вскоре, по-видимому, должны появиться другие продукты этого класса.
Рисунок 5. Серверы транзакций объединяет самые лучшие возможности TP мониторов и ORB.
Серверы транзакций характеризуются следующими отличительными свойствами:
- Предлагают встроенные возможности управления транзакциями.
- Обеспечивают механизм запуска и управления сервлетами (servlets).
- Поддерживают вызовы распределенных объектов для обеспечения связи в многоуровневых приложениях.
- Поддерживают средства быстрой разработки ПО для промежуточного уровня, включая компонентную разработку.
Сервер транзакций Powersoft Jaguar CTS
Powersoft Jaguar CTS - новый сервер транзакций, разработанный специально для WebOLTP (см. Рисунок 6). Компания Sybase, Inc. осуществила первую поставку Jaguar CTS SDK в феврале 1997 и планировала начать распространение Web SDK начиная со второго квартала 1997. Основные возможности Jaguar CTS включают в себя:
- Масштабируемый, независимый от платформы механизм выполнения.
- Быстрая связь между всеми уровнями.
- Компонентная разработка с поддержкой всех ведущих моделей компонентов, включая: ActiveX, JavaBeans, C++ и объекты CORBA.
- Полная поддержка защиты в Internet, включая SLL шифрование и аторизацию, а также списки управления доступом к уровню приложений.
- Гибкое управление транзакциями с поддержкой как обычной синхронной, так и асинхронной диалоговой обработки запросов.
Рисунок 6. Powersoft Jaguar CTS - новый сервер транзакций, разработанный специально для WebOLTP.
Исполняемый модуль Jaguar CTS
Исполняемый модуль Jaguar CTS разработан таким образом, чтобы обеспечить надежную, масштабируемую производительность для большого количества пользователей WebOLTP. Это означает:
- Наличие масштабируемого, многопоточного ядра, поддерживающего работу в многопроцессорной системе.
- Расширенное управление сеансами и соединениями.
- Система администрирования и текущего контроля типа броузера.
Одним из ключевых моментов в достижении Jaguar CTS высокой производительности является устойчивое, многопоточное ядро, работающее в многопроцессорной системе. При проектировании и разработке ядра Jaguar CTS компания Sybase использовала знания и технологии, накопленные за предшествующие шесть лет, полученные из опыта тысяч инсталляций предыдущих поколений серверных программ.
Это наследие позволяет ядру Jaguar CTS продемонстрировать следующие главные особенности:
- Эффективный многопоточный режим, который использует собственные потоки операционной системы там, где это возможно.
- Встроенную поддержку потоков на платформах без собственных реализаций этого механизма.
- Специфические для компонентной реализации потоковые режимы, включая одиночные, выделенные и свободные потоки.
- Превосходная многопроцессорная масштабируемость.
- Расширенные параметры настройки для оптимизации эффективности в зависимости от используемых платформ и рабочих нагрузок.
В дополнение к обеспечению эффективности ядро Jaguar CTS выполняет еще одну важную функцию: оно скрывает от разработчиков приложений сложности потоковой обработки, блокировок и управления памятью. Почему это так важно? Представьте себе, что кто-то из крупных разработчиков, столкнувшись с задачей перехода к WebOLTP, будет учиться писать многопользовательские сервер-приложения. Сегодняшние разработчики приложений клиент/сервер, как правило, имеют опыт написания однопользовательских (для клиентской машины) приложений. Однако, находящаяся на стадии становления многоуровневая архитектура предполагает размещение большей части бизнес-логики на промежуточном уровне, где к ней обращаются и используют множество пользователей.
Многие системы, включая ORB и Web-серверы приложений, предоставляют разработчикам самим разбираться с потоками, блокировками и проблемами управления памятью. Чтобы еще хуже, эти проблемы должны решаться по-разному для каждой OS платформы.
Ядро Jaguar CTS значительно уменьшает эти проблемы, давая разработчикам доступ к легким в использовании, независимым от платформы средствам обеспечения многопоточной обработки, блокировок и управления памятью. Вместе взятые, эти средства улучшают производительность разработки, ускоряют отладку и увеличивают надежность при обеспечении общей производительности системы.
- Управление сеансами и соединениями
- По сравнению с традиционными системами клиент/сервер или универсальными СУБД, WebOLTP приложения - особенно Internet или extranet приложения - будут обслуживать намного большие группы пользователей. Это выдвигает перед разработчиком ряд проблем. Но при наличии эффективного управления сеансами и соединениями разработчики могут действительно управлять этими большими группами пользователей. “Управление сеансами” означает управление связями между броузером и сервером транзакций; “управление соединениями” означает управление связями между сервером транзакций и СУБД. Работая вместе, диспетчеры сеансов и соединений Jaguar CTS преобразуют большое количество сеансов броузера в намного меньшее число соединений с СУБД, улучшая таким образом общую масштабируемость системы при обеспечении более устойчивого времени отклика при переменных рабочих нагрузках.
Диспетчер сеансов Jaguar CTS Session Manager, очевидно, управляет связями броузер-Jaguar CTS. В отличие от большинства систем, сеансы Jaguar CTS не зависят от коммуникационного протокола. Это позволяет, например, начинать сеанс, используя общий протокол Сети HTTP, а затем подключать быстродействующий протокол поточной обработки данных, называемы по имени TDS (Tabular Data Stream). Управление этим взаимодействием внутри одного сеанса дает возможность серверу поддерживать информацию о “состоянии” и правах пользователя.
Диспетчер соединений Jaguar CTS Connection Manager, очевидно, управляет связями между Jaguar CTS и СУБД. Одной из главных особенностей Connection Manager является “объединение соединений” (connection pooling). Используя connection pooling, администратор Jaguar CTS может сформировать пул соединений с одной или большим количеством СУБД. Пользователи Jaguar CTS затем могут задействовать эти соединения в разделенном режиме. Connection pooling уменьшает общую нагрузку на стороне СУБД, управляя количеством одновременных соединений и уменьшая издержки соединения в расчете на одного пользователя. Эти возможности улучшают масштабируемость и уменьшают время ответа конечному пользователю. В дополнение к возможности создавать пул соединений, Connection Manager интегрируется с диспетчером транзакций Jaguar CTS Transaction Manager (см. раздел Управление транзакциями) и автоматически соотносит сеансы Jaguar CTS и транзакции системы управления базами данных.
- Система администрирование и текущего контроля
- Jaguar CTS поставляется с собственными простыми в использовании средствами системного администрирования и мониторинга. Написанный полностью на языке Java, Jaguar CTS Manager может быть запущен или в броузере, или как автономное Java-приложение на любой платформе, которая поддерживает Java. Jaguar CTS Manager позволяет администраторам:
- Запускать / закрывать Jaguar CTS сервер.
- Конфигурируйте основные параметры эффективности Jaguar CTS, типа памяти, количества потоков, сеансов и соединений.
- Отслеживать производительность сервера и выполнение сервлет.
Поскольку зачастую границы между разработкой, тестированием, развертыванием и текущим администрированием размыты, система упрвления Jaguar CTS интегрирован с Jaguarом CTS Package Manager, описанный ниже. Например, разработчики могут динамически развертывать новый компонент на Jaguar CTS и сразу же контролировать изменения производительности. Это позволяет администраторам использовать одно средство для управления приложениями на протяжении их полного жизненного цикла.
- Соединяемость Jaguar CTS
В многоуровневой среде быстродействие соединения определяется в большей степени временем ответа конечному пользователю, чем любым другим фактором. Jaguar CTS предоставляет быстродействующее соединение с броузерами и back-end хранилищами данных при обеспечении оптимизированной соединяемости. Основные возможности соединяемости включают:
- Обобщенную мультипротокольную поддержку броузеров и других клиентов Сети. Поддерживаемые протоколы включают HTTP, TDS (для быстродействующей обработки потоков данных) и протокол CORBA IIOP.
- Соединяемость со всеми основными СУБД, включая Sybase SQL Server и SQL Anywhere, Oracle7.x и MS SQL Server через стандарты ODBC, JDBC и Sybase Open Client .
- Соединяемость с mainframe и 20 другими источниками данных через семество продуктов доступа к данным EnterpriseConnect компании Sybase.
- Быстродействующая соединяемость из Java как для апплетов, так и сервлетов.
- Высокоскоростной обмен результирующими выборками между всеми уровнями.
- Эффективное HTTP-туннелирование там, где необходимо обеспечить совместимость с firewall.
- Поддержка мультипротокольного режима работы
- Многочисленные протоколы и стандарты протоколов - одна из самых горячих тем относительно Internet. Одни поставщики предлагают использовать расширенный протокол HTTP, в то время как другие рекомендуют работать с IIOP или DCOM. Jaguar CTS избавляет разработчиков от этих сложностей и неопределенностей, предоставляя обобщенную мультипротокольную поддержку между клиентами Сети и Jaguar CTS. Сервер Jaguar CTS может “говорить” на многих протоколах одновременно и даже объединять различные протоколы внутри одного сеанса. Это позволяет Jaguar CTS как поддерживать стандартные протоколы, так и обрабатывать потоки результирующих выборок, испльзуюз быстродействующий протокол TDS. Также легко могут быть добавлены новые протоколы, чтобы удовлетворить требования пользователей или выполнять новые стандарты. Во всяком случае, Jaguar CTS делает прозрачность протоколов одной из основных парадигм для разработчиков приложений.
- Соединяемость с СУБД
- Jaguar CTS обеспечивает соединяемость почти со всеми back-end источниками данных. Основные СУБД включают Sybase SQL Server, SQL Anywhere, Oracle7, Microsoft SQL Server и Informix Online; соединяемость с этими источниками обеспечивается за счет стандартных интерфейсов ODBC и JDBC. Соединяемость с более чем двадцатью mainframe и другими источниками данных - включая DB2 IBM, IMS и VSAM - обеспечивается через EnterpriseConnect. Соединениями и транзакциями в базах данных управляют диспетчеры транзакций и соединений Jaguar CTS.
- Соединяемость с Java через jConnect
- Благодаря важному значению Java в многих WebOLTP инсталляциях, в Jaguar CTS уделено особое внимание скорости соединения между Java апплетами, Java сервлетами и back-end СУБД. JDBC предлагает стандартный метод для Java-приложений, чтобы связываться с хранилищами данных. К сожалению, до настоящего времени большинство поставщиков не имеет своих Java-драйверов JDBC. Эти не-Java драйверы предусматривают установку и конфигурацию, сводящие на нет одно из основных преимуществ решений на основе Java. Кроме того, не-Java драйверы часто плохо работают, потому что они требуют по крайней мере одного дополнительного прохода процесса и часто дополнительные проходы сети, а также преобразования протоколов.
Напротив, Jaguar CTS использует новый JDBC драйвер, известный как jConnect для JDBC. Написанный полностью на Java, jConnect быстр, имеет маленький размер (менее 200КБ кода), поддерживает связи как между апплетами и сервлетами, так и между сервлетами и СУБД.
- Компонентная разработка Jaguar CTS
- Из-за короткого жизненного цикла большинства WebOLTP-приложений, быстрая разработка и развертывание приложений обязательны для любого сервера транзакций. С самого начала Jaguar CTS создавался с целью облегчить труд разработчиков. В этом плане Jaguar CTS имеет такие возможности как:
- Поддержка мультикомпонентных моделей.
- Интеграция RAD инструментальных средств.
- Уникальный Package Manager для сборки связанных компонентов.
- Встроенная обработка результирующей выборки.
- Интеграция компонентов третьих фирм.
- Поддержка мультикомпонентных моделей
- Jaguar CTS изначально был разработан для поддержки обобщенных, мультикомпонентных моделей. Это позволяет с одного сервера Jaguar CTS одновременно выполнять сервлеты, сформированные в соответствии с любой популярной компонентной или объектной моделью, включая:
- ActiveX
- Java и JavaBeans
- C / C++ (собственные объекты)
- CORBA (IDL)
Те же самые компонентные модели поддерживаются и для клиентских приложений (апплет). Jaguar CTS решает все проблемы удаленного вызова, позволяя апплетам обращаться за данными и возвращать данные компонентам Jaguarа CTS (сервлетам), даже если они были сформированы на основе различных компонентных моделей. Например, апплета, написанная на Java может вызывать сервлеты, созданные на основе ActiveX или объектов C++, работающие на сервере Jaguar CTS в том же самом сеансе.
- Интеграция инструментальных средств быстрой разработки приложений
- Разработчики могут использовать любой инструментарий для разработки апплет и сервлет Jaguar CTS, включая:
- PowerBuilder, Power++ и PowerJ от Powersoft - подразделения инструментальных средств Sybase.
- Microsoft VisualJ++, Visual Basic и VisualC++.
- Популярные инструментальные средства разработки Java, включая Cafe Symantec.
Приложения интегрируются в среду Jaguar CTS, используя wizard’ы и Package Manager
- Jaguar CTS Package Manager
- WebOLTP приложения состоят из ряда элементов, включая HTML страницы, апплеты и сервлеты, которые должны совместно управляться и работать. Большинство инструментальных средств, однако, реализуют только какой-либо один фрагмент общей картины, предоставляя разработчикам или администраторам самим вручную координировать работу всего комплекса. Jaguar CTS решает эту проблему, предоставляя разработчикам уникальное средство, обладающее большими возможностями, - Package Manager, который позволяет группировать все связанные элементы и компоненты вместе для простого управления и развертывания. Package Manager обладает такими свойствами как:
- Легкий в использованиии графический интерфейс пользователя Java, который позволяет разработчикам динамически развертывать компоненты.
- Импортирует компоненты из библиотек типов (Type Libraries) ActiveX, интерфейсных файлов Java или CORBA IDL.
- Позволяет разработчикам определять транзакции и процедуры защиты для каждого компонента или пакета.
- Интегрируется с Jaguar CTS Manager для runtime мониторинга и администрирования.
- Обработка результирующих выборок
- Одна из действительно сильных сторон систем клиент/сервер - это способность хорошо обрабатывать результирующие выборки. В двухуровневых системах клиент/сервер, чтобы отобразить и обработать результаты выборки из базы данных, разработчик просто применяет средства управления связанными данными (или PowerBuilder DataWindow) к схеме БД. Эти средства затем автоматически генерируют заданную по умолчанию логику представления, чтобы отобразить полученные результаты.
Почти во всех многоуровневых системах это не такая простая задача. Разработчик должен сначала исследовать бизнес-логику, заложенную в ПО промежуточного уровня, чтобы определить, каков будет получен результат, если он вообще возможен. Разработчик должен затем вручную программирует обработку циклов и графику представления для клиентской части.
Jaguar CTS действительно решает эту фундаментальную проблему. Во-первых, Jaguar CTS имеет мощный встроенный API обработки результирующих выборок, доступный всем клиентским апплетам. Во-вторых, Jaguar CTS позволяет разработчикам определять результат, который возвращается компонентом. Таким образом, существующие DataWindow и другие средства управления связанными данными могут автоматически генерировать логику представления для тонких клиентов.
- Интеграция компонентов третьих фирм
- Так как Jaguar CTS поддерживает стандартные компонентные модели, то для работы с ним могут быть приобретены компоненты третьих фирм из широкого диапазона имеющихся в настоящее время на рынке. Это улучшает производительность разработчика и ведет к более функциональным приложениям. Доступные компоненты включают:
- Имеющиеся ActiveX и Java компоненты типа электронных таблиц, программ проверки орфографии и инструментальных средств составления диаграмм.
- Все внешние сервисы типа электронной торговли и передачи сообщений.
- Существующие C / C++ приложения.
- Защита в Jaguar CTS
- Защита - одна из первых проблем, которая приходит на ум при обсуждении WebOLTP приложений. В Jaguar CTS эту важная задача решается с помощью:
- Поддержки стандарта Интернет secure socket layer (SSL) для шифрования данных.
- Установление подлинности пользователя через “public keys” в SSL.
- Защита уровня приложений на основе списков управления доступом (access control list - ACL).
- Firewall программа легализации.
- Шифрование и авторизация
- Jaguar CTS обеспечивает шифрование и авторизацию на основе промышленного secure socket layer (SSL). Все соединения броузеров и сервера Jaguar CTS могут использовать SSL. Кроме того, Jaguar CTS распространяет SSL и на все соединения Jaguar CTS с СУБД, где SSL обеспечивается собственно back-end СУБД. SSL поддержка может также быть избирательно отключена для повышения производительности в безопасных внутренних сетях.
- Защита на уровне приложений
- Jaguar CTS ограничивает возможность выполнение сервлет уполномоченными пользователями на основе списков управления доступом. Доступ может быть ограничен пакетом, компонентом или даже отдельным методом компонента. Защита поддерживается через Jaguarа CTS Manager, о котором было упомянуто ранее.
- Firewall легализация
- Jaguar CTS был проверен и сертифицирован для работы с ведущими firewall-средствами. Где поддержка firewall для специфических протоколов Jaguar CTS не доступна, сервер Jaguar CTS обеспечивает эффективные возможности HTTP-туннелирования.
- Управление транзакциями в Jaguar CTS
- Jaguar CTS предлагает очень гибкое управление транзакциями с поддержкой как обычной синхронной, так и асинхронной обработки запросов (См. Рисунок 7). Подобно остальным частям Jaguar CTS, управление транзакциями открыто и поддерживает множество координаторов транзакций и СУБД.
Рисунок 7. Управление транзакциями в Jaguar CTS.
- Синхронное управление транзакциями
- Диспетчер транзакций Jaguar CTS Transaction Manager с помощью “неявных транзакций” скрывает почти всю сложность координации и управления транзакциями от разработчиков приложений. Управляя неявными транзакциями, разработчики при развертывании компонента определяют, является ли он “транзакционным”. Во времени работы Jaguar CTS Transaction Manager автоматически управляет границами транзакции и гарантирует непротиворечивость транзакции во всех транзакционных компонентов и основной СУБД. При двухфазном коммите (two-phase commit), когда необходимо координировать изменения на множестве СУБД, Jaguar CTS автоматически и непосредственно вызывает Microsoft DTC или XA координатор транзакций.
- Формирование очереди в базах данных для асинхронного управления транзакциями
- Хотя синхронная обработка транзакций подходит для многих приложений, увеличивающийся доля WebOLTP бизнес-транзакций порождает множество физических транзакций в ряде новых и старых систем. Например, новая WebOLTP система ввода/регистрации заказов могла бы брать заказы непосредственно от заказчиков через Интернет. Когда заказ размещен, это порождает транзакции в системе доставки и, соответственно, в системе составления счетов (см. Рисунок 7). Каждый шагобязательно выполнится, но только, если пользователь может подождать. Однако непрактично вынуждать пользователя Интернет ждать завершения всех операций во всех подсистемах, потенциально не всегда доступных. Чтобы решить эту проблему, Jaguar CTS предлагает вариант обработки типа “запустил и забыл” (“fire and forget”), с использованием нового сервиса dbQ.
С помощью dbQ пользователь просто помещает заказ в систему регистрации, подтверждает его и возвращается к своей работе (или серфингу, шахматам etc.). DbQ, используя надежную передачу сообщений, гарантирует, что системы доставки и учета получат данные о новом заказе. В отличие от универсальных систем передачи сообщений, dbQ использует продвинутую технологию формирования очереди в базе данных, чтобы обеспечить выполнение изменений в системе регистрации заказов и передать сообщение в системе доставки как об успешном завершении, так и об откате транзакции. Основные возможности dbQ включают:
- Резидентные очереди в базах данных для обеспечения транзакционной целостности, улучшенной производительности и более простого администрирования.
- Поддержка ActiveX, JavaBeans и компонентов C++.
- Гибкая доставка сообщений, включая fan-in/fan-out, приоритеты и уведомления.
- Поддержка многих СУБД, включая Sybase SQL Server, SQL Anywhere, Microsoft SQL Server и Oracle
- Надежная доставка сообщения к другим системам передачи сообщений, включая MQSeries IBM
WebOLTP в реальном мире
Каким образом корпорации могут использовать эту новую технологию? Рассмотрим несколько примеров.
Крупный дистрибьютор продовольственных товаров разрабатывает приложение для публикации в Интернет информации о ценах и запасах товаров таким образом, чтобы те, кто доставляет товары, могли обеспечивать более персонализированное обслуживание заказчиков и даже выписывать счета-фактуры, когда продукты уже доставлены. При более чем 10,000 маршрутов ежедневно и приблизительно 100,000 выданных счетов, такой подход даст возможность дистрибьютору поддерживать и улучшать отношения с клиентами при максимальной эффективности персонала и офисных систем и более равномерной загруженности в отличие от нынешней неравномерности. Компания планирует оборудовать средства доставки бортовым устройством, которое свяжет их с системой прейскурантов и товарных остатков по Сети. В конечном счете, система даст возможность ввести персональные ценовые соглашения, что будет способствовать привлечению заказчиков и достижению конкурентных преимуществ.
В другой отрасли, большая национальная сеть книжных магазинов разрабатывает Интернет-приложение для поиска имеющихся книг и регистрации заказов. В настоящее время если заказчик, посещающий один из магазинов сети, не может найти нужную книгу, представитель подразделения обслуживания заказчиков может предложить заказать книгу и вызывать заказчика, когда она прибудет. Однако, при большом количестве складов по всей стране весьма вероятно, что книга имеется где-нибудь в наличии, т.е. ее можно было бы продать и спланировать доставку прямо по адресу заказчика. Разрабатываемое в настоящее время Интернет-приложение позволит представителям подразделения обслуживания заказчиков отыскивать нужную книгу по всем магазинам сети, размещать заказ на нее, отсылать команды на доставку в то место, где она есть и которое ближе к покупателю.
Большой государственный университет в настоящее время(постоянно) разрабатывает приложение, которое упростит и рационализирует громоздкий процесс в университетских городках по всей стране. Студенты будут скоро способны регистрировать для классов над Интернетом. Сначала, конечно, они будут хотеть проверять, где они стоят в терминах требований за их майоров. Затем они будут способны выбрать их ходы в течение текущего (актуального) семестра и подтверждать их регистрацию документов. С завершенным, студенты будут двигаться в другой экран, который перечисляет книги для хода, приобретение те они хотят, и упорядочение подбирать их или их поставленные. Если они хотят обвинять(наполнять) книги их счету студента, они могут делать это; или, в случае необходимости, они могут упорядочивать, чтобы переместить фонды от их банковского счета до их счета студента, чтобы покрыть приобретение.
Если имеются финансовые выдачи(проблемы) помощи, которые должны быть обработаны, они будут способны адресовать над Сетью также. Для таковых нас, кто потратили(провели), часы, ждущие в строке, чтобы регистрировать для ходов, чтобы приобрести книги, или выработать подробности наших финансовых программ помощи, значение этой новой системы немедленно очевидны.
Резюме
Количество и разнообразие деловых приложений, которые скоро появятся, колоссально. Jaguar CTS и другие, находящиеся на стадии становления, технологии Сети устраняют преграды по развертыванию серьезных деловых приложений в Интернет, которые стояли перед разработчиками предшествующие пару лет. Поскольку организации и заказчики начинают понимать удобство, индивидуальный сервис и экономию средств от применения WebOLTP, Интернет-приложения будут иметь логарифмический рост количества приложений, предлагающих крупномасштабную обработку транзакций.