Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
ДОМОЙПОДПИСКАГДЕ КУПИТЬСТАТЬИRambler's Top100   
 
 
 
    
ЖУРНАЛ
   
Главная
Архив новостей
Новый номер
Архив статей
Адреса в интернет

РУБРИКАТОР
   
• Колонка редактора
• Только на сервере
• Локальные сети
• Бизнес
• Корпоративные сети
• Услуги сетей связи
• Защита данных
• Системы
   учрежденческой связи

• Электронная
   коммерция

• Новые продукты

РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Тематический план
Отдел рекламы

E-MAIL


Rambler's Top100

  

Связующее ПО для Java

Бэрри Нэнс

Переход на Java может оказаться более сложным, чем вы рассчитываете, поскольку при этом часто требуется существенная переработка связующего ПО. Мы проанализировали 17 различных продуктов, чтобы выяснить, смогут ли они обеспечить нормальную работу вашей сети.

Обычно Java-приложения не работают со связующим ПО, не основанным на Java, а обходные пути, такие как добавление Java-интерфейса к существующему связующему ПО, могут привести к возникновению труднопреодолимых проблем. Клиентские мини-приложения Java не могут вызывать Java-методы, а взаимодействие с не основанным на Java связующим ПО из серверных Java-приложений проблематично, если оно не является объектно-ориентированным или "загоняет" разработчика Java в "джунгли" преобразования типов данных. Если вы отправитесь на поиски связующего ПО, желая получить продукт, работающий с Java, то обнаружите, что существует не так много вариантов, как хотелось бы. Хуже того, те продукты, которые вы найдете, возможно, к тому же работают совсем не так, как это вам представлялось.

Большой выбор отдельных видов Java-продуктов не облегчает переход в среду Java. И поскольку даже самым простым Java-приложениям необходимо сохранять данные и вновь извлекать их, а разработка JDBC-драйверов (Java Database Connectivity) осуществляется проще чем разработка других видов связующего ПО, они в изобилии представлены на рынке. Однако все еще остается редкостью связующее ПО, поддерживающее технологии обмена сообщениями, например, JMS (Java Messaging Specification); обработки и мониторинга транзакций, например, JTS (Java Transaction Service); push-службы; интерфейс JRMI (Java Remote Method Interface); интерфейс именования и справочников, например, JNDI (Java Naming and Directory Interface). Компоненты общего назначения Java Beans и Enterprise Java Beans пока отсутствуют, несмотря на существование некоторых инструментальных средств, поддерживающих их разработку.

Хотя некоторые поставщики перенесли интерфейс для Java в свое связующее ПО, он может очень серьезно ограничить выбор Java-компиляторов и платформ для выполнения приложений. Первый пример -- это Transaction Server фирмы Microsoft: выбрав его для управления транзакциями в вашей Java-среде, вы будете вынуждены использовать компилятор Microsoft J++ для преобразования Java-приложений в компоненты ActiveX.

Мы исследовали работу 17 продуктов, относящихся к категории связующего ПО для Java. Среди них -- девять драйверов JDBC; один push-продукт (Castanet 2.1 фирмы Marimba); четыре монитора транзакций, поддерживающих стандарт JTS; два продукта, ориентированных на обмен сообщениями (бета-версия MQSeries Client for Java фирмы IBM и MSMQ 1.0 фирмы Microsoft); один сервер Java-приложений -- Tengah 3.0 фирмы WebLogic, поддерживающий JNDI, JRMI, JDBC и другие сервисы Java. Надо отметить, что фирма Oracle тоже предлагает сервер приложений -- Application Server 4.0, но на момент написания данного обзора он находился на ранней стадии бета-тестирования и еще не был готов к нашим испытаниям.

Серверы Microsoft Windows NT Server, IBM OS/2 Warp Server и UnixWare образовали второй (бизнес-логика) и третий (базы данных) уровни тестовой среды в нашей лаборатории. Первый уровень (пользовательский интерфейс) представлял собой набор из 25 машин под управлением Windows NT Workstation, Windows 95, IBM OS/2 и Apple Computer Macintosh System 7, на которых были запущены Web-браузеры Navigator фирмы Netscape Communications и Internet Explorer корпорации Microsoft. В качестве серверов использовались компьютеры NS-8000 фирмы Gateway 2000 с двумя 333-МГц процессорами Pentium II, ОЗУ объемом 512 Мбайт и тремя 9-Гбайт накопителями SCSI RAID емкостью 9 Гбайт. Все серверы и клиенты работали в единой локальной сети Fast Ethernet.

Для оценки этих продуктов мы разработали маленькие тестовые Java-приложения, а затем проверили, насколько легко включить каждый из перечисленных продуктов в нашу тестовую среду. В каждом классе мы поставили целью найти продукт, накладывающий наименьшие ограничения, самый простой в конфигурировании, наиболее безопасный и производительный. Кроме того, для JDBC-продуктов мы использовали такой критерий, как независимость от СУБД.

Сервер Tengah компании WebLogic показал себя в наших исследованиях наиболее универсальным продуктом, благодаря отличной реализации функций, относящихся к нескольким категориям связующего ПО, в том числе JTS и JDBC. Действительно, только этот сервер обеспечил в нашей лаборатории сервисы JRMI и JNDI. Наши надежды на то, что какой-либо монитор транзакции, основанный на Java, обеспечит нам JRMI и JNDI, не оправдались.

В отдельных категориях связующего ПО можно выделить несколько продуктов за их гибкость и превосходную производительность. JDBC-драйверы фирмы OpenLink оказались компактными и быстрыми, средство организации очередей сообщений MQSeries фирмы IBM отлично работает в многоплатформенной среде, а сочетание продуктов TUXEDO и Jolt компании BEA Systems представляет собой мощный инструмент распределенной обработки транзакций (Distributed Transaction Processing -- DTP).

Сервер Java-приложений Tengah 3.0 фирмы WebLogic

Сервер Tengah предоставляет в рамках единого хорошо разработанного пакета массу служб, в том числе JDBC, JRMI, JTS и JNDI. На нас произвело впечатление то, что он полностью обеспечивает несколько функций связующего ПО для Java. Особенно нам понравились многопоточный подход Tengah к реализации служб связующего ПО, балансировка нагрузки при выполнении транзакций и возможность динамического размещения приложений. Графическая консоль управления довершает благоприятное впечатление, выполняя с центрального узла мониторинг и конфигурирование многочисленных приложений для этого сервера. Tengah выделяется среди другого основанного на Java связующего ПО тем, что предоставляет гармоничный, согласованный и исчерпывающей набор необходимых служб.

Многопоточная архитектура Tengah позволяет объединять ресурсы, кэшировать результаты запросов к базе данных и делить соединения с базой данных между несколькими Java-приложениями. При росте рабочей нагрузки и увеличении числа серверов Tengah в нашей сети, продукт масштабировался достаточно хорошо. Он удивил нас своей высокой производительностью, которой так часто не хватает Java-программам. WebLogic объявила, что для увеличения надежности и отказоустойчивости Tengah поддерживает многосерверную кластеризацию. Мы не тестировали кластеризацию специально, но не заметили, чтобы Tengah реплицировал между серверами информацию о сеансе или состоянии.

По нашему указанию сервер Tengah использовал для защиты обмена сообщениями в нашей сети шифрование по протоколу SSL (Secure Sockets Layer). Мы сконфигурировали его таким образом, чтобы сетевой трафик аутентифицировался с помощью цифровых сертификатов, предоставляемых Microsoft Certificate Server.

Чтобы оценить поддержку JRMI и свободу размещения программных модулей, обеспечиваемую JNDI в наших испытаниях, мы перемещали компоненты приложения на различные серверы. В каждом тесте Tengah сообщал о местонахождении объектов нашего тестового Java-приложения через JNDI и успешно вызывал их, независимо от местонахождения последних в сети TCP/IP. Используя имеющуюся в продукте возможность динамического размещения приложений, мы перемещали компоненты приложения без остановки его работы. Tengah распределял транзакции между серверами приложений не прерывая работы и позволял нам разделить нагрузку по обработке транзакций между различными компонентами бизнес-логики на этих серверах.

Мы использовали программу управления событиями сервера Tengah для вывода сообщений о событиях, источниками которых являлись наши Java-приложения. В ходе тестирования было введено в бизнес-логику сервера приложений правило -- ожидать уведомления от клиентского мини-приложения Java, что оно закончило сбор информации и сохранило эту информацию в базе данных. Tengah сообщал о каждом событии подписчикам этого события, запуская бизнес-логику запросов к базе данных и вычисления результатов. Каждый подписчик сообщает о своем интересе к определенным событиям, указывая его тип.

Вместе с сервером Tengah фирма WebLogic поставляет класс многоуровневого JDBC-драйвера. Через JDBC-драйверы сервера Tangah мы легко обращались к базам данных Oracle, MS SQL Server и Adaptive Server.

JDBC-драйверы

High Performance Data Access Drivers 3.0 фирмы OpenLink Software

JDBC-драйверы фирмы OpenLink произвели на нас большое впечатление своей скоростью, широкими возможностями и малыми размерами. В наших тестах файл с классом JDBC-драйвера для уровня бизнес-логики, имевший размер всего лишь около 45 Кбайт, быстро загружался в виртуальную Java-машину (Java Virtual Machine -- JVM) и быстро работал. Производительность драйверов OpenLink повышается благодаря применению фирменного оптимизированного транспортного протокола и технологии LMS (Logical Message Assembly).

Используя драйвер OpenLink уровня представления данных, мы успешно подключали наши мини-приложения Java к нескольким реляционным СУБД, в том числе к Oracle, DB2, MS SQL Server и Adaptive Server. Этот драйвер корректно работал с потоками, когда мы запрограммировали связь с базой данных с помощью нескольких одновременно работающих потоков Java. OpenLink дала нам несколько весьма необходимых расширений к JDBС, в том числе курсоры обратной прокрутки (backward-scrollable cursors), курсоры, управляемые ключами (keyset cursors), закладки (bookmark) и поддержку функций SQLExtendedFetch и SQLSetPos.

Конфигурировать драйверы OpenLink оказалось делом простым. Мы лишь задали уровень защиты и другие параметры путем простого обновления "Session Rules Book" в OpenLink Request Broker.

SequeLink Java Edition 4.0 фирмы INTERSOLV

Благодаря набору фирменных технологий оптимизации, доступ к содержимому базы данных посредством JDBC-драйвера уровня представления данных компании INTERSOLV оказался почти таким же быстрым, как и у OpenLink. К ним относится схема "экономичной транспортировки", в которой пустующее пространство пакета сообщения заполняется данными, выбранными впрок, предвосхищая, таким образом, последующие обращения к базе данных. Другой механизм позволяет с целью минимизации трафика отсрочить выполнение клиентских вызовов API. Файл с классом драйвера, размер которого чуть меньше 250 Кбайт, загружается медленнее, чем файл OpenLink.

Подобно интерфейсу UDBC (Universal Database Connectivity) компании OpenLink, универсальный клиент фирмы INTERSOLV обеспечивает доступ к базам данных Oracle, DB2, MS SQL Server и Adaptive Server через один единственный драйвер. JDBC-драйвер SequeLink, написанный полностью на Java, корректно работает с потоками, надежен и безопасен. Он использует шифрование и многоуровневую аутентификацию для обеспечения конфиденциальности и аутентичности пакетов доступа к базе данных, а Java-компонент proxy не дешифрирует пакеты, направляя их на сервер базы данных и получая обратно.

jdbcKona фирмы WebLogic

Хотя драйвер jdbcKona не был самым быстрым и маленьким среди прочих, испытанных нами Java-драйверов для доступа к данным, однако он показал себя самым интеллектуальным среди них. Работающий поверх интерфейса JDBC драйвер jdbcKona оперирует понятиями "набор данных", "запись" и "значение". В соответствии с представлениями jdbcKona, база данных содержит записи, которые, в свою очередь, содержат объекты-значения. В последних хранятся атрибуты типа данных и собственно значения данных. Благодаря jdbcKona нам не нужно было уделять много внимания в наших программах таким деталям, как структура или тип элемента данных. В качестве полезного расширения к стандарту JDBC, jdbcKona дает возможность просматривать отобранные данные в прямом и обратном порядке. Он обеспечивает доступ к последовательностям записей Oracle через объект Sequence.

JAGGServer фирмы BulletProof

Фирма BulletProof, известная своей средой разработки JDesignerPro, вместе с ней поставляет Java-компонент для доступа к данным под названием JAGGServer. Созданные нами при помощи JDesignerPro приложения содержали автоматически вставленные вызовы к серверу JAGGServer, а также автоматически сгенерированные SQL-запросы. В наших испытаниях JAGGServer продемонстрировал некоторые практичные и полезные расширения стандарта JDBC. Вызов хранимых процедур через сервер JAGGServer оказался простым, так как осуществлялся программами, работающими на серверной стороне. Продукт позволяет разделять соединения с базой данных между клиентами, что дает возможность множеству клиентов осуществлять SQL-запросы посредством небольшого числа соединений.

Pure Java JDBC Drivers for Informix and SQL Servers фирмы WebLogic

Испытания показали, что Pure Java JDBC Drivers for Informix and MS SQL Servers работает быстрее, чем JAGGServer фирмы BulletProof, но не так быстро, как JDBC-драйверы компании OpenLink или INTERSOLV. Продукт Pure Java JDBC Drivers for Informix and SQL Servers представляет собой JDBC-драйвер среднего размера (около 120 Кбайт без дополнительных функций компрессии или шифрования). Он обеспечил нашим тестовым программным средствам доступ к базам данных MS SQL Server и Adaptive Server, но не к DB2 и Oracle. Наш тест для проверки работы с потоками, порождающий несколько одновременных Java-потоков для выполнения доступа к данным, показал, что Pure Java JDBC Driver for Informix and MS SQL Servers корректно работает с потоками.

DB2 JDBC Driver корпорации IBM

IBM поставляет с СУБД DB2 два различных JDBC-драйвера -- один для Java-приложений, работающих на серверной стороне, другой для клиентских мини-приложений Java, запускаемых из браузера. Каждый из них использует собственный подход для связи с базой данных. Драйвер для серверной стороны оказался немного быстрее и компактнее драйвера для клиентской стороны. Он использует программный интерфейс DB2, реализованный в виде модулей CAE (Client Application Enabler) СУБД DB2. В противоположность ему драйвер, выполняющийся на клиентской стороне, задействует протокол TCP/IP для передачи своих запросов на специальный сервер для мини-приложений Java, выполняющийся на Web-сервере. Таким образом, наше тестовое мини-приложение подключалось к базе данных, не требуя загрузки на клиенте транспортных компонентов СУБД, не основанных на Java. Подобный подход к использованию JDBC, разделяемый несколькими поставщиками средств JDBC, позволяет организовать работу ПО СУБД DB2 и Web-сервера на разных компьютерах.

VisiChannel for JDBC фирмы Inprise

Драйвер VisiChannel for JDBC от Inprise поразил нас использованием протокола Internet Inter-ORB Protocol (IIOP) для общения с сервером базы данных при выполнении SQL-запросов. VisiChannel преобразует SQL-запросы драйвера JDBC-драйвера уровня представления данных в ODBC-запросы (Open Database Connectivity). На сервере специальный модуль-приемник (listener), поддерживающий спецификацию ODBC, преобразовывает запросы в вызовы процедур реляционной СУБД.

JDBC Driver for Oracle7 and Oracle8 корпорации Oracle

Как и IBM, корпорация Oracle предлагает два различных JDBC-драйвера для своей СУБД. Первый -- JDBC/OCI представляет собой драйвер уровня сервера приложений, которому необходимо присутствие транспортного протокола SQL*Net СУБД Oracle. Второй драйвер Thin JDBC является драйвером уровня представления данных и формирует свои собственные пакеты SQL*Net при помощи облегченной реализации версии SQL*Net для TCP/IP. Для связи с сервером базы данных ему необходим только протокол TCP/IP. JDBC/OCI подходит для Java-программ, выполняющихся на серверной стороне, в то время как Thin JDBC предназначен для использования на клиентской стороне внутри виртуальной Java-машины браузера.

Лабораторные испытания показали, что JDBC/OCI работает быстрее, чем Thin JDBC, хотя и меньше его по размеру (последний своим размером -- около 300 Кбайт -- опровергает название "Thin" -- тонкий). Он загружается в два раза дольше, чем полностью написанные на Java JDBC-драйверы фирм OpenLink и INTERSOLV (4 с вместо 2 с), и несколько дольше выполняет доступ к содержимому базы данных (1,5 с вместо 1,2 с).

jConnect for JDBC 3.0 компании Sybase

jConnect понравился нам своей высокой степенью интеграции с сервером БД Sybase, однако мы обнаружили, что SQL-запросы он обрабатывает несколько медленнее JDBC-драйвера фирм OpenLink и INTERSOLV. Представляя собой файл класса объемом 220 Кбайт, он загружается в виртуальную Java-машину браузера довольно медленно. Однако это мешает ему работать быстрее, чем JAGGServer и jdbcKona. Будучи драйвером уровня представления данных, jConnect использует TDS (Tabular Data Streaming) -- фирменный протокол Sybase -- для доступа к базам данных Adaptive Server, SQL Anywhere и MS SQL Server.

Средства обмена сообщениями и управления очередями сообщений с поддержкой Java

Бета-версия MQSeries Client for Java фирмы IBM

Это основанное на Java связующее ПО фирмы IBM расширяет возможности ее популярного продукта MQSeries, ориентированного на обмен сообщениями. Во время подготовки этой статьи оно находилось на поздней стадии бета-тестирования. Полностью написанный на Java, этот компонент обеспечивает те же API для обмена сообщениями, что и программные интерфейсы MQSeries для языков COBOL и СU, но в форме библиотеки классов. MQSeries -- лучший инструмент для гетерогенных платформ, содержащих смесь Java и других операционных сред.

Мы испробовали MQSeries Client for Java как в мини-приложениях, запускающихся из браузера, так и в Java-программах на серверной стороне. В каждой из этих ролей, вместе с MQSeries, этот продукт доказал, что представляет собой превосходную инфраструктуру для обмена сообщениями в сети между программными компонентами на основе Java. Использование продукта MQSeries 5.0 и его Java-клиента свелось к установке каналов MQSeries и очередей, а также к добавлению небольшого числа Java-операторов в наши тестовые программы.

Нам понравилось, что в нем имеется выбор между подключением через прослушивающий процесс (listener) MQSeries и использованием протоколов IIOP архитектуры CORBA, однако программный интерфейс IIOP оказался намного сложнее, чем собственный протокол MQSeries.

У MQSeries отсутствуют встроенные средства защиты сетевых сообщений и приложения для обмена ими. Кроме того, администрирование MQSeries выполняется в текстовом режиме при помощи командной строки, что иногда требовало знания некоторых особенностей технологии, но в то же время было увлекательно.

MSMQ 1.0 фирмы Microsoft

Заставить MSMQ -- связующее ПО для обмена сообщениями компании Microsoft -- работать с программными средствами Java как на серверной, так и на клиентской стороне, было достаточно проблематично. Мы обнаружили, что поддержка взаимодействия MSMQ с браузерами ограничивается использованием сценариев ASP (Active Server Pages) на языках VScript или JScript, а это означает, что обмен сообщениями с браузером требует разработки сложного коммуникационного диалога между мини-приложением и процессом на серверной стороне.

Скомпилированные на сервере J++-программы могут вызывать функции MSMQ для отправления и получения сообщений, но серверные Java-программы, использующие MSMQ, могут работать только на компьютерах под управлением Windows NT. По заявлению Microsoft, есть фирмы, специализирующиеся на разработке MSMQ-совместимых средств обмена сообщениями для других операционных систем, однако эта возможность не была готова к моменту наших испытаний.

Усугубляет ситуацию и то, что MSQM требует установки SQL Server 6.5 на машине с сервером MSMQ. Последний сохраняет информацию об очередях (но не сами сообщения, которые находятся в файлах, отображаемых в памяти) в этой реляционной СУБД фирмы Microsoft. Как сообщила компания, в будущих версиях MSMQ вместо MS SQL Server будет использоваться новая технология Active Directory Service. В пользу Microsoft говорит то, что администрирование MSMQ в сети оказалось легким и безболезненным, благодаря интерфейсу MSMQ Explorer.

Мониторы транзакций для технологии Java

Jolt 1.1 фирмы BEA Systems

Дополнительный Java-модуль Jolt фирмы BEA Systems к ее популярному монитору транзакций TUXEDO обеспечил нашему тестовому мини-приложению Java быстрый и беспрепятственный доступ к богатству возможностей продукта TUXEDO по обработке транзакций и обмену сообщениями. Мы нашли, что сочетание TUXEDO и Jolt представляет собой превосходный инструмент, обеспечивающий целостность базы данных при выполнении транзакций с использованием ненадежных или медленных каналов связи. Более того, интеграция Jolt с нашим лабораторным ПО, основанным на Web, прошла легко, поскольку от нас не потребовалось детального знакомства с транзакционной семантикой. Jolt превращает сигнализацию Java-клиента о начале и окончании транзакций в вызовы среды DTP для обработки в TUXEDO. Мы пришли к выводу, что Jolt и TUXEDO обладает большей мощью и масштабируемостью, чем JTS-компонент Tengah. Однако управление защитой и конфигурирование межсетевых экранов оказались проще в Jaguar CTS фирмы Sybase, чем в Jolt. Его масштабируемость является следствием того, что TUXEDO "работает везде", поддерживая широкий круг платформ. Это позволяет выбирать именно те аппаратные средства для сервера, которые нужны практически для любых Web-приложений, ориентированных на выполнение транзакций.

Помимо подключения мини-приложения к процессу мониторинга транзакций, Jolt обеспечивает безопасность обмена сообщениями в сети, используя стандарты шифрования RC4 и DES. Он также позволяет мини-приложениям подписываться на получение от сервера уведомлений о событиях. Например, с помощью нескольких дополнительных операторов, добавленных к нашему мини-приложению и программе на сервере приложений, мы смогли воспользоваться функцией подписки на уведомление о событиях, чтобы сервер приложений мог сообщить мини-приложению об окончании выполнения транзакции.

Распределение уведомлений о событиях по категориям в зависимости от типа транзакции избавляет от необходимости программировать сервер приложения таким образом, чтобы он знал точно, какому клиенту нужны определенные события. Jolt сам выполнит за вас "грязную" работу.

Используя определения классов и репозиторий определения сервисов, имеющиеся в Jolt, мы дали тестовым Java-программам и мини-приложениям возможность работать с TUXEDO. Этот репозиторий определений сервисов TUXEDO (включающий имена сервисов, входные и выходные параметры) загружается в виртуальную Java-машину во время выполнения. Используя средство Jolt для построения шаблонов экранов, мы быстро разработали мини-приложение Java, использующее определения классов и репозиторий для работы с TUXEDO.

На клиентскую машину загружается программа обработки фирменного протокола связующего ПО, располагающаяся между клиентом (браузером) Jolt и сервером BEA Jolt, и заменяющая протокол HTTP на Jolt Transaction Protocol фирмы BEA. Это обеспечивает возможности связи между Web-приложениями, выходящие за рамки ориентированного на работу с документами протокола HTTP. В одном из тестов эта программа передала материал за 15 с, в то время как для передачи подобного материала протоколу HTTP потребовалось 18 с.

TXSeries 4.2 корпорации IBM

Не вполне законченная и имеющая пока ограниченное использование версия TXSeries, с которой мы работали, включает клиентские Java-интерфейсы для API мониторов транзакций CICS и Encina, поддержку транзакций, инициируемых браузером и сервером, и Java-клиент DE-Light, чей API довольно точно соответствует стандарту программирования транзакций X/Open для начала и окончания транзакций и выполнения запросов о них. Java-клиент DE-Light обеспечивает полную реализацию шлюза DE-Light, но не поддерживает полного набора возможностей стандарта DCE (Distributed Computing Environment) или Encina. В частности, эта версия предлагает только часть атрибутов и типов данных IDL (Interface Definition Language).

Сам по себе продукт TXSeries -- это средство распределенной обработки транзакций, которое может действовать подобно мониторам CICS или Encina. Он обладает хорошей масштабируемостью на многих платформах и обеспечивает выравнивание нагрузки, планирование, отказоустойчивость, кроме того в нем реализована центральная консоль управления.

При его использовании с продуктом DSSeries фирмы IBM достигается самая высокая степень защиты по сравнению с другими проверенными нами продуктами. Вместе с TXSeries IBM поставляет программное обеспечение DSSeries, которое гарантирует защиту на основании протокола Kerberos и открытых ключей, а также обеспечивает работу службы справочника, использующей протокол LDAP.

Компонент CICS Gateway for Java продукта TXSeries предоставляет простые возможности DTP, которыми мы легко воспользовались в нашем мини-приложении Java. Вызывая небольшие Java-классы (JGateConnection, ECIRequest и EPIRequest), поставляемые со шлюзом, наше тестовое приложение смогло инициировать транзакции, управляемые TXSeries. Компонент шлюза вел себя как коммуникационный "расчетный центр", переадресовывая запросы ECI и EPI к серверам CICS. Продукт CICS Gateway for Java, сам представляющий собой Java-программу, загружается на клиент с компьютера, на котором находится Web-сервер, но может общаться с серверами CICS через сети TCP/IP или SNA. Наши испытания показали, что CICS Gateway for Java может быть высоко эффективным, обеспечивая быструю автоматическую работу, при одновременном подключении до 500 Java-клиентов. CICS Gateway for Java работает только под управлением операционных систем AIX и OS/2 фирмы IBM и Solaris фирмы Sun.

Другой компонент TXSeries -- продукт CICS Internet Gateway. Он преобразует потоки данных между форматами HTML и терминала 3270, позволяя Web-браузерам выводить экраны 3270 так, как если бы это были Web-страницы. Этот шлюз делает приложения TXSeries доступными для любого, кто работает с Web-браузером, однако Java он не поддерживает.

Jaguar CTS 1.1.1 фирмы Sybase

Jaguar CTS предоставляет больше функций управления транзакциям на основе Java, чем Microsoft Transaction Server, и почти столько же, сколько комбинация TUXEDO--Jolt компании BEA. В отличие от Microsoft Transaction Server, продукт Jaguar CTS управляет распределением пула соединений JDBC и ODBC между Java-программами серверной части, и работает как с классами Java, так и с компонентами ActiveX. Подобно Jolt, Jaguar CTS заменяет HTTP собственным протоколом, обработчик которого он загружает на клиент с браузером (мини-приложением). Однако комбинация TUXEDO и Jolt обеспечивает, кроме того, автоматическое переключение при сбоях на резервные серверы и позволяет производить выравнивание нагрузки в сети -- возможности, отсутствующие в текущей версии Jaguar CTS.

Хотя продукт поддерживает не только Java, мы сосредоточились именно на его роли как связующего ПО для Java, предназначенного для управления Java-классами и компонентами JavaBeans. Jaguar CTS хорошо управлял потоком транзакций в многоуровневом Java-приложении. Нам кажется, что появление в следующей версии Jaguar CTS средств преодоления сбоев и балансировки нагрузки сделают его превосходным DTP-продуктом.

Подобно Microsoft Transaction Server, продукт Jaguar CTS обеспечивает управление потоками, позволив нам сконцентрировать свое внимание на бизнес-логике, а не на потоках и процессах. Мы просто посредством графического интерфейса Jaguar Manager указываем во время инсталляции объекта, будет ли он иметь единственный поток или будет многопоточным. Jaguar CTS позволяет также выбирать между явным и неявным управлением транзакциями. Когда мы убрали из нашей программы операторы "начало транзакции" и "конец транзакции" и с помощью Jaguar Manager просто указали, какие методы управления связываются с транзакцией (implicit transaction control), то Jaguar CTS определил начало транзакции как первый метод, вызванный для этого объекта, а конец транзакции как завершение процесса, включающего эти методы.

Поскольку имеются несколько поставщиков межсетевых экранов, поддерживающих протокол Sybase TDS, в Jaguar CTS нам понравилось, что он использует TDS для связи между браузерами и серверами.

С помощью Jaguar Manager мы устанавливали наши объекты, конфигурировали защиту и указывали те компоненты, которые, по нашему мнению, Jaguar Server (встроенный Web-сервер) должен был бы предоставлять нашим удаленным пользователям. Jaguar Manager -- это Java-приложение, которое представляет возможности Jaguar, например, компоненты и защиту, в виде иерархического дерева. С помощью Jaguar Manager мы могли одновременно администрировать и несколько серверов Jaguar Server и их компоненты. Добавляя к пакету компоненты посредством Jaguar Manager можно указать, должны ли создаваться с его помощью классы-заглушки Java или компоненты ActiveX для использования в клиентском приложении в качестве proxy-объектов.

Transaction Server 2.0 фирмы Microsoft

Transaction Server фирмы Microsoft успешно управлял потоками, процессами, соединениями с базой данных и транзакциями в нашей сети. Однако в отличие от других DTP-продуктов, он требует преобразовывать бизнес-логику Java-приложений в компоненты ActiveX, используя компилятор Microsoft J++, и управляет только процессами, работающими под Windows NT. Очевидно Microsoft предполагает, что вы используете Visual Basic или С/С++ на сервере, а Java -- только на клиенте. Поддержка Java, осуществляемая Transaction Server на серверной стороне, слаба и предполагает использование единственной платформы. Мы же предпочитаем многоплатформенные DTP-продукты.

Transaction Server изолировал наши процессы и потоки Java друг от друга, не требуя специального программирования этого в приложении. В отличие от классического управления потоками внутри прикладных программ, которое предполагает, что программист кодирует создание, размещение и окончание потоков вручную, Transaction Server автоматически обеспечивает пул потоков для наших прикладных компонентов. Нам понравилось, что здесь нет необходимости программировать управление потоками в бизнес-логике.

Transaction Server управляет пулом ODBC-соединений, которые могут использоваться не Java-клиентами. Однако Java-программы пользуются этим пулом только посредством драйверов-мостов ODBC--JDBC на уровне сервера БД. Как нам кажется, первым шагом Microsoft по пути поддержки Java на серверной стороне должна стать интеграция JDBC-соединения с системой управления пулом ODBC-соединений.

Испытания показали, что управление компонентами в Transaction Server является прозрачным с точки зрения их местоположения. Фактически они могут находиться в сети на любом компьютере с ОС Windows NT Server. Приложениям не нужно следить за тем, на каком из серверов или сетевых дисков или в каком каталоге находится тот или иной компонент.

Мы использовали Transaction Server Explorer, интегрируемый модуль MMC (Microsoft Management Console), который своим интерфейсом повторяет Windows 95 Explorer, чтобы описывать пакеты, вставлять компоненты в каждый пакет и назначать пакетам и компонентам необходимые атрибуты. Посредством пользовательского интерфейса Transaction Server Explorer мы легко управляли транзакциями, следили за уровнем активности, настраивали поддержку транзакций, устанавливали защиту и создавали пакеты транзакций. Transaction Server Explorer управляет защитой как на уровне процессов, так и на уровне компонентов. Простым нажатием правой кнопки мыши на объекте и выбором во всплывающем окне объекта элемента "Свойства" (Property) можно назначить процессу уровень защиты и включить проверку авторизации при вставке компонента в пакет с помощью дружественного графического пользовательского интерфейса.

Пакет распространения данных для Web Castanet 2.1 фирмы Marimba

В нашем исследовании Castanet показал себя идеальным серверным продуктом для распространения Java-приложений и компонентов. Для безопасной передачи файлов на выбранные серверы в нем используются SSL и цифровые сертификаты. Продукт не продемонстрировал особой скорости при передаче новых файлов, но для существующих он передавал только обновляемые байты, уменьшая используемую полосу пропускания сети и увеличивая скорость передачи.

Работать с Castanet так же просто, как и настраивать каналы. При этом необходимо указать интервал обновления для каждого канала и определить Java-программы и другие данные, подлежащие распространению. Основные понятия продукта Castanet -- канал, передатчик (transmitter) и приемник (tuner) -- понятны и просты в использовании. Канал Castanet -- это приложение, услуга или набор данных, которые распространяются через сеть. Castanet Transmitter представляет собой сервер, управляющий дистрибуцией данных, а Castanet Tuner -- клиентское ПО для получения передаваемого материала.

В нашей лаборатории мы использовали канал для периодического обновления Java-программ и других файлов на Web-узле. Сastanet послушно доставлял наши материалы в указанные каталоги Web-узла. Каждый приемник устанавливал контакт с передатчиком канала, запрашивая, есть ли новая информация, и в случае ее появления перекачивал обновление на наш Web-узел.

В качестве заключения нашего исследования связующего ПО для Java напрашиваются два совершенно очевидных вывода. Несмотря на обилие JDBC-драйверов, Java нуждается в более широком выборе продуктов связующего ПО, и они должны предложить разработчикам Java нечто большее, чем всего лишь тонкая оболочка или интерфейс, что свойственно имеющемуся связующему ПО.





  
9 '1998
СОДЕРЖАНИЕ

колонка редактора

• Linux славой не испортишь

локальные сети

• Четыре устанавливаемые в стойку сервера

• Нелегкий выбор инсталлятора СКС

• Не спешите отказываться от NetWare

• Сетевая печать в рабочих группах

бизнес

• Джуди Эстрин: от предпринимателя до директора по развитию технологий фирмы Cisco

корпоративные сети

• Средства поддержки коллективных работ объединят усилия ваших сотрудников

• Объектное расширение реляционной СУБД: Зачем и Как (Часть I. Зачем?)

• Списки доступа на маршрутизаторах Cisco

услуги сетей связи

• Управление сетями Frame Relay

• Внедрение услуг интеллектуальной сети в России

• 1:0 в пользу АТМ

интернет и интрасети

• Интернет-торговля Часть II

• Решение проблем с помощью серверов-посредников Web

• Групповое вещание в сетях IP и старые мифы

• Связующее ПО для Java

• Серверы Интернет "быстрого приготовления"

защита данных

• Шесть биометрических устройств идентификации отпечатков пальцев

• Пусть ваши пальцы зарегистрируются сами

новые продукты

• Передача речи по IP: у Nortel самые серьезные намерения; Универсальный АТМ-анализатор; Новые решения Ericsson в области центров обработки вызовов; Pentium II Xeon: мощный "мотор" для платформы Intel; Миниатюрный синхронный мультиплексор SDM-1;

только на сервере

• NetWare For Small Business 4.11: большие возможности для малого бизнеса

• Будущее Sybase: процветание или упадок?



 Copyright © 1997-2001 ООО"Антонюк Консалтинг". Тел. (095) 234-53-21. Факс (095) 974-7110. вверх