Обзор
Однако возраст версии 3.5 платформы для разработки Web-приложений фирмы Apple уже дает о себе знать
Тимоти Дик (PC Week Labs)
Новый пакет WebObjects 3.5 фирмы Apple Computer, содержащий мастера для создания приложений и инструменты администрирования через Web, привлечет внимание крупных корпораций и разработчиков ПО, заинтересованных в гибкой платформе Web-разработки.
WebObjects имеет весьма солидный возраст по сравнению с большинством других серверов приложений Web, и испытания в Тестовом центре PC Week Labs лишний раз доказали зрелость и надежность этого продукта. WebObjects основывается на плодотворных идеях, ранее использованных в среде разработки OpenStep фирмы NeXT, и имеет богатую возможностями и легко настраиваемую открытую архитектуру.
Однако если говорить конкретно о последней версии продукта, выпущенной в конце прошлого года, то создается впечатление, что создатели WebObjects склонны почивать на лаврах и забывают, что у них есть конкуренты.
WebObjects 3.5 стоит от $7500 до $50 000 в зависимости от количества пользователей узла и типа оборудования центрального сервера. За каждую лицензию разработчика придется выложить дополнительно $1499.
К числу новшеств версии 3.5 относится мастер многоступенчатой разработки приложений Direct-to-Web. Когда мы выбрали ряд таблиц в базе данных (БД) под Oracle8, мастер их проанализировал, а затем автоматически создал простое, но вполне законченное пользовательское приложение, позволяющее подключаться к БД и затем производить в ней поиск, изменять или удалять записи. Весь процесс свелся к нескольким щелчкам мышью, а в результате получилось приложение, которое сразу же можно было применять в деле (при желании в него можно внести любые коррективы).
WebObjects имеет средство администрирования Monitor (см. копию экрана), ранее предлагаемое в качестве опытного образца, а теперь ставшее полноценной частью системы. Оно позволяет наладить работу группы серверов WebObjects и сбалансировать их загрузку, причем это достигается гораздо быстрее и с меньшей вероятностью ошибок, чем в прежнем методе, требовавшем ручного редактирования файла конфигурации WebObjects.
Monitor пока что не лишен ошибок. Прежде чем этот инструмент (как и WebObjects в целом) полноценно заработал в нашей лаборатории, нам пришлось установить ряд как документированных, так и недокументированных “заплат”. Тем не менее после наладки с его помощью можно было запускать и локальные, и удаленные приложения WebObjects и управлять ими.
Средство разработки WebObjects под названием Builder представляет собой довольно богатую возможностями среду, использующую HTML и работающую в режиме WYSIWYG, однако, к сожалению, в ней почему-то нет команды Undo (отменить).
Неплохо было бы также в Buider ввести Java-отладчик, тем более что для поддержки программирования на ObjectiveC, объектно-ориентированной версии Си, в WebObjects включены бесплатные компилятор с языка Си gcc и отладчик gdb, выходящие под лицензией ассоциации GNU.
WebObjects можно использовать на платформах Solaris, HP-UX, Mach (с аппаратурой фирмы NeXT) или Windows NT.
Благодаря открытой архитектуре WebObjects де-факто стал чем-то вроде стандарта для производителей ПО, создающих вертикальные приложения для таких сфер, как банковские операции, розничная торговля и службы регистрации вызовов.
Серверы WebObjects фирмы Apple доступны из различных точек корпоративной сети
Помимо этого, покупая WebObjects, пользователи приобретают доступ ко многим серверам приложений сторонних производителей. Если близкие по цене конкурирующие продукты, скажем, NetDynamics 4.0 фирмы NetDynamics или Kiva Enterprise Server корпорации Netscape Communications, имеют лишь несколько расширений для работы с приложениями, отличными от СУБД, то аналогичный список WebObjects почти в 10 раз больше, что значительно облегчает его пользователям интеграцию с Web унаследованных данных.
Хотя при тестировании WebObjects продемонстрировал хорошие способности к автоматическому восстановлению после сбоев и балансировке нагрузки, применяемый в нем подход уже устарел и обладает меньшим быстродействием, предъявляет повышенные требования к системным ресурсам и более уязвим к сбоям, чем средства, используемые в продуктах Netscape и NetDynamics.
Следует заметить, что каждое из созданных WebObjects-приложений мы были вынуждены запускать на своих серверах в виде отдельного процесса, в то время как в конкурирующих продуктах задействована модель параллельных потоков, более выгодная с точки зрения экономии памяти и повышения быстродействия.
В WebObjects также труднее контролировать использование ресурсов серверов, поскольку каждый из процессов, связанных с выполнением приложений, использует отдельные БД и механизм кэширования. Следовательно, эти процессы не способны совместно работать с одними и теми же ресурсами, например информацией из БД или сведениями о состоянии системы, если это явно не запрограммировано в коде приложений. В то же время продукты других фирм обеспечивают автоматическое разделение ресурсов.
Поскольку компоненты бизнес-логики в WebObjects не могут пользоваться общей информацией, WebObjects постоянно функционирует в “прилипчивом” режиме балансировки загрузки, в котором каждый из Web-клиентов все время вынужден общаться только с одним процессом, первым откликнувшимся на его первый запрос. В такой конфигурации нет гибкости, присущей полностью открытой модели, где любой запрос можно адресовать произвольному серверу.
Сервер, который должен обрабатывать запрос, поступивший от нового клиента, выбирается в WebObjects случайным образом. В отличие от этого, Kiva Enterprise Server и NetDynamics используют более “интеллектуальный” способ маршрутизации и отыскивают наименее загруженный из серверов кластера.
Фирма Apple предлагает бесплатный набор дополнений к WebObjects, компенсирующий некоторые недостатки продукта. С его помощью можно создавать в процессах WebObjects параллельные потоки, а также он позволяет приложениям WebObjects разделять информацию о состоянии.
РЕЗЮМЕ ДЛЯ РУКОВОДИТЕЛЕЙ
WebObjects 3.5
Пользователи системы WebObjects фирмы Apple, вероятно, захотят установить у себя ее более новую версию, однако она вряд ли заинтересует компании, уже применяющие серверы Web-приложений конкурирующих производителей.
Ускоренный процесс создания приложений с помощью новых мастеров; средства администрирования через Web; очень гибкая, настраиваемая архитектура; совместимость со многими продуктами третьих производителей.
Медленная и ресурсоемкая реализация многозадачности; упрощенная и не очень гибкая модель балансировки загрузки; отсутствие Java-отладчика.
Фирма Apple Computer, Купертино, шт. Калифорния, телефон в Москве: (095) 956-3974, www.apple.com/webobjects.
Методика оценки: www.pcweek.com/reviews/meth.html.