Тестовый центр PC Week Labs исследует, как средства разработки приложений клиент-сервер строят связь с тонкими Internet-клиентами
В традиционные средства разработки приложений клиент-сервер включаются Web-совместимые расширения, сокращающие затраты на многоплатформную поддержку на базе Web и избавляющие разработчиков от необходимости изучать новые языки, такие, как Java.
С выходом в июне этого года NetExpress фирмы Micro Focus КОБОЛ присоединился к семейству широко известных средств корпоративной разработки, предоставляющих клиентам возможность работы через Web. К этим продуктам относятся также PowerBuilder фирмы Sybase, Developer/2000 корпорации Oracle и даже (с помощью независимых фирм) Visual Basic корпорации Microsoft. Разработчикам теперь нет необходимости использовать лишь Java для создания приложений типа “однажды написано - работает везде”. Они вздохнут с облегчением, узнав, что смогут и в этот раз положиться на известную группу партнеров по технологии - поставщиков, хорошо знакомых с требованиями, предъявляемыми к коммерческим приложениям.
Технологии, демонстрирующие наибольший потенциал по части активного использования Web, такие, как Java, не были изначально задуманы с целью максимального удовлетворения потребностей корпораций в сверхнадежном коде, имеющем богатые возможности работы с базами данных. В этом обзоре Тестовый центр PC Week Labs исследует возможности для менеджеров оседлать волну бета-версий продуктов, обеспечивающих работу с Web.
Такой путь полон риска, однако разработчикам корпоративных сред с различным аппаратным обеспечением на клиентских рабочих местах не остается ничего другого, как обратиться к Web-технологиям, поскольку они решают многие из давно существовавших проблем.
Создание приложений клиент-сервер, например, часто затруднялось из-за отставания или половинчатой разработки многоплатформного клиентского ПО. Кроме того, пользователи, не использующие Windows, зачастую чувствовали себя как приговоренный перед казнью, пока производители гонялись за движущейся мишенью интерфейсов прикладного программирования корпорации Microsoft.
Для тех, чья основная рабочая платформа - Unix, Macintosh или OS/2, медленная и нестабильная эмуляция Windows или дорогостоящие ПК на базе Windows были единственными путями получения доступа к растущему числу Windows-приложений. Таким образом, создавалось ощущение второсортности пользователей данных платформ (что и в самом деле постепенно становилось реальностью).
Именно поэтому браузеры и другие средства и технологии на основе стандартов быстро завоевали умы и сердца покупателей и производителей, так же как и средства поддержки разнородных рабочих групп. Производители средств разработки приложений клиент-сервер достигли успехов практически полностью за счет возможности передать на сторону решение проблемы поддержки различных ГИП для различных ОС. Решение данной проблемы стало стратегически приоритетной задачей для таких компаний, как Netscape Communications и Sun Microsystems.
Теперь менеджеры, занимающиеся корпоративной разработкой, должны сориентироваться в появившемся многообразии краткосрочных усилий и долгосрочных преимуществ.
Три пути в Web
Существуют три пути соединить средство разработки приложений с ближайшим цифровым устройством для Internet-серфинга: соединение, преобразование и свободное творчество.
Соединение предполагает, что Web рассматривается как символьный поток ввода-вывода, а вся логика приложения размещается на сервере. Это минимизирует технический риск, но одновременно препятствует дальнейшему росту производительности из-за неиспользования процессоров настольных систем.
Преобразование означает компиляцию кода на языке программирования, отличном от Java, в файл Java-класса, содержащий инструкции двоичного кода, которые понимает виртуальная машина Java. Возникающий в результате файл класса может быть использован в дальнейшем как обычный Java-аплет любым браузером, совместимым с Java.
Существуют три пути соединить средство разработки приложений с ближайшим цифровым устройством для Internet-серфинга: соединение, преобразование и свободное творчество.
Соединение предполагает, что Web рассматривается как символьный поток ввода-вывода, а вся логика приложения размещается на сервере. Это минимизирует технический риск, но одновременно препятствует дальнейшему росту производительности из-за неиспользования процессоров настольных систем.
Преобразование означает компиляцию кода на языке программирования, отличном от Java, в файл Java-класса, содержащий инструкции двоичного кода, которые понимает виртуальная машина Java. Возникающий в результате файл класса может быть использован в дальнейшем как обычный Java-аплет любым браузером, совместимым с Java.
Существуют три пути соединить средство разработки приложений с ближайшим цифровым устройством для Internet-серфинга: соединение, преобразование и свободное творчество.
Соединение предполагает, что Web рассматривается как символьный поток ввода-вывода, а вся логика приложения размещается на сервере. Это минимизирует технический риск, но одновременно препятствует дальнейшему росту производительности из-за неиспользования процессоров настольных систем.
Преобразование означает компиляцию кода на языке программирования, отличном от Java, в файл Java-класса, содержащий инструкции двоичного кода, которые понимает виртуальная машина Java. Возникающий в результате файл класса может быть использован в дальнейшем как обычный Java-аплет любым браузером, совместимым с Java.
Данный подход увеличивает технологический риск, поскольку теперь производитель средств разработки должен отслеживать эволюцию интерфейсов прикладного программирования Java и их реализацию на различных клиентских платформах. В то же время подход с преобразованием заставляет процессор клиентской системы работать и таким образом уменьшает загрузку сети и сервера приложений.
Свободное творчество - в смысле сочинение сложной и неслишком неубедительной истории - означает предоставление клиенту некоторых из наиболее активных элементов приложения в виде подключаемых модулей для браузера. Этот путь за счет использования преимуществ “родного” кода ведет к достижению максимальной производительности в
2 - 10 раз превышающей производительность Java-приложений.
Использование подключаемых модулей исключает необходимость сетевого трафика, связанного с передачей двоичного кода Java при просмотре активной Web-страницы, и ставит все важные технологии под контроль производителя.
Данный подход влечет за собой высокие расходы, связанные с разработкой и сопровождением различных исполняемых модулей для различных платформ. Многие корпоративные разработчики склонны рассматривать подключаемые модули как наихудшее, что только можно себе представить, объединяющее в себе все, что традиционно затрудняет разработку многоплатформного клиентского ПО, с необходимостью дополнительного изучения законов функционирования Web.
Компания Micro Focus ранее выпустила Visual Object COBOL, предоставив разработчикам на КОБОЛе возможности доступа к Web. Синтаксис КОБОЛа был расширен таким образом, что инструкции ACCEPT и DISPLAY приобрели возможность осуществлять ввод из HTML-форм и вывод в виде динамически формируемых HTML-документов. Разработчики на Visual Object COBOL имеют две возможности получения информации: либо получая данные через измененные системные переменные, либо посылая данные непосредственно в стандартный входной поток программы.
Для обыкновенной версии языка необходимо всего два дополнительных расширения - это новый оператор External-Form и новая ключевая фраза “Identified by”. Эти интуитивно понятные расширения дают возможность разработчикам на КОБОЛе с минимальными (и легко понятными) изменениями подсоединить знакомую программу к новым точкам взаимодействия с пользователем.
Остальное взаимодействие между КОБОЛом и Web осуществляется посредством пересылки HTML-документов, использующих стандартные теги, которые обеспечивают взаимодействие с управляющими элементами на экране клиента, например редактируемыми текстовыми полями и кнопками.
Выпустив NetExpress, Micro Focus предоставляет разработчикам дополнительные возможности за счет интеграции работы с Web в единую среду разработки. Хорошо известная система отладки Animator теперь умеет осуществлять отладку как сценариев CGI (Common Gateway Interface), так и кода, написанного на КОБОЛе. Система создания форм расширяет режим WYSIWIG редактирования HTML-документов возможностью определения “строк описания” КОБОЛа, которые задают элементы данных, одновременно генерируя CGI-код. Система Form Express анализирует исходный код на КОБОЛе и генерирует HTML-форму с полями ввода для необходимых элементов данных, автоматически перенося наследуемые приложения на платформу Web.
Micro Focus также снабжает разработчиков дополнительными возможностями для связи их приложений на КОБОЛе с платформно-специфическими технологиями, такими, как динамически подключаемые библиотеки. Это улучшает производительность серверных приложений за счет их интеграции с Internet Information Server корпорации Microsoft. В NetExpress также поддерживаются промежуточные подходы, например взаимодействие КОБОЛа и Java, однако это сразу же уводит нас от соединения в сторону свободного творчества, поскольку итоговое решение существенно зависит от конкретного производителя и конкретной платформы.
Для разработчиков, склонных к подходу типа соединение, предназначена система Web.pb фирмы Sybase, открывающая приложения PowerBuilder для работы с интерфейсом пользователя на базе Web, а также с технологиями разработки, объединенными корпорацией Microsoft под общим названием Active Server Pages, при этом написанные на любом языке серверные приложения способны генерировать HTML-страницы в процессе работы.
Альтернативные пути
Разработчики, использующие PowerBuilder и чувствующие себя стесненными в рамках интерфейса на базе HTML, могут предложить пользователям более удобный интерфейс с платформно-специфическими подключаемыми модулями и модулями просмотра Data Window. Как уже обсуждалось ранее, подобный подход моментально сужает круг поддерживаемых платформ.
Типичным представителем промежуточного преобразования кода с целью обеспечения работы в Web является система Applet Designer корпорации TVObjects, помогающая разработчику создавать файлы Java-классов с функциями и поведением, как у проекта на Visual Basic. Это сразу значительно расширяет возможности разработчиков в подавляющем большинстве организаций, поскольку Visual Basic необычайно широко используется.
Подход TVObjects заключается в генерации исходного кода на Java для последующей работы с ним обычными средствами разработки на Java. Это позволяет экспертам программирования на Java улучшать или исправлять результирующий код, что, однако, требует дополнительных шагов по конфигурированию средств разработки, а также дополнительных усилий при тестировании и распространении окончательного продукта.
Другой подход опускает генерацию исходного кода на Java, сразу создавая двоичный код, содержащий Java-инструкции, как если бы виртуальная машина Java была бы одной из платформ, на которую рассчитан компилятор. ObjectAda фирмы Aonix работает подобным образом с исходным кодом Aда, давая программистам возможность работать практически так же, как с Java.
Питер Коффи (PC Week Labs)