Серверы приложений ведущих производителей
Архитектура современных корпоративных приложений
Лидеры рынка серверов приложений
WebLogic Server 7.0 (BEA Systems)
Borland Enterprise Server 5.0 (Borland Software Corporation)
WebSphere Application Server 4.0 (IBM)
Orbix E2A Application Server (IONA Technologies)
ColdFusion MX и JRun 4 (Macromedia)
Oracle9i Application Server (Oracle Corporation)
Enterprise Application Server 4.1 (Sybase)
Sun ONE Application Server 7 (Sun Microsystems)
Серверы приложений являются одной из ключевых составляющих IT-инфраструктуры значительной части современных крупных предприятий и, следовательно, быстро развивающейся категорией программного обеспечения. В случае если компания имеет дело с большим объемом обрабатываемых данных, с организацией доступа к ним через Интернет, она рано или поздно сталкивается с необходимостью внедрения сервера приложений. В настоящей статье дан краткий обзор продуктов данной категории.
Архитектура современных корпоративных приложений
ерверы приложений — это программное обеспечение, предназначенное для создания многозвенных систем с выделенными сервисами бизнес-логики, реализованными, как правило, в виде компонентов. Чаще всего серверы приложений выполняются под управлением серверных операционных систем (различных версий UNIX, Windows NT Server, Windows 2000 Server). Компоненты, реализующие бизнес-логику распределенного приложения и выполняющиеся под управлением сервера приложений, могут представлять собой COM- или CORBA-объекты, Java-сервлеты либо Enterprise JavaBeans (EJB) — Java-компоненты, реализующие, как правило, транзакционную логику. Помимо собственно хостинга компонентов многие серверы приложений позволяют реализовать приложения, устойчивые к сбоям, а также поддерживают создание кластеров. Стоимость продуктов такого класса варьируется в очень широком диапазоне и нередко зависит от того, поддерживаются ли в данной версии сервера приложений вышеупомянутые возможности.
В настоящее время серверы приложений являются основой многих корпоративных решений, например распределенных приложений, реализующих следующие схемы:
- «предприятие — потребитель» (B2C, business-to-consumer), такие как онлайновая продажа товаров, бронирование билетов и мест в гостиницах, услуги страхования;
- «предприятие — предприятие» (B2B, business-to-business), такие как виртуальные торговые площадки, позволяющие заключать торговые сделки между предприятиями;
- «предприятие — сотрудник» (B2E, business-to-employer), такие как корпоративные порталы.
Отметим, что нередко в корпоративных решениях применяются конфигурации, содержащие несколько серверов приложений. Как правило, подобные решения обладают многозвенной архитектурой, при этом серверы приложений обычно располагаются между сервером баз данных и Web-сервером либо между сервером баз данных и клиентскими приложениями. Нередко функциональность Web-сервера реализуется и в самом сервере приложений.
Современные серверы приложений в большинстве случаев характеризуются возможностью построения кластеров и распределения нагрузки, а также средствами восстановления после сбоев, поскольку требования к надежности и производительности приложений, использующих продукты подобного класса, обычно весьма высоки.
Говоря о корпоративных решениях, нельзя не отметить проблему интеграции как различных приложений внутри одного предприятия, так и приложений, используемых на разных предприятиях. Эта проблема актуальна сейчас не только на Западе, но и в нашей стране, переживающей последствия так называемой островковой автоматизации. Одним из достаточно универсальных и простых способов ее решения является реализация функций приложений, к которым следует предоставить доступ извне, в виде Web-сервисов XML, что позволяет обращаться к ним другим приложениям, поддерживающим Web-сервисы, независимо от того, на каких платформах эксплуатируются данные приложения и с помощью каких средств разработки они созданы. В настоящее время популярность этой технологии интеграции быстро растет и большинство производителей серверов приложений и средств разработки так или иначе реализовали поддержку Web-сервисов и связанных с ними технологий.
Технологии и стандарты
а современном рынке серверов приложений доминирует стандарт Java 2 Enterprise Edition (J2EE), версия 1.3 которого описывает минимальный набор требований к производительности и возможностям серверов приложений, сертифицированных на соответствие этому стандарту с целью обеспечения взаимной переносимости приложений с одного сервера на другой (по крайней мере, так должно быть в идеале — и сам язык Java, и Java как платформа изначально были средствами создания приложений, переносимых из одного окружения в другое). Заметим, что в последние годы интерес к Java был обусловлен не особенностями его как языка программирования и не возможностями создания аплетов и простейших приложений для конечных пользователей, а появлением таких технологий и спецификаций, как J2EE (Java 2 Enterprise Edition), включая спецификации JSP (Java Server Pages) и J2ME (Java 2 Micro Edition). Именно эти технологии сделали Java наиболее популярной на сегодняшний день платформой для создания корпоративных решений, поддерживаемой почти всеми производителями программного обеспечения.
Особого разговора заслуживает предусмотренная в современных средствах разработки Java-приложений возможность создания EJB (Enterprise Java Beans) — объектов, выполняющихся под управлением серверов приложений, поддерживающих спецификацию J2EE. В настоящий момент эта возможность реализована во всех продуктах, лидирующих на рынке средств разработки Java-приложений, и является, наверное, самой важной с точки зрения применимости средства разработки Java-приложений при создании корпоративных решений.
Отметим, однако, что помимо J2EE-совместимых серверов существуют и довольно широко используются и серверы приложений, таковыми не являющиеся. В первую очередь к ним относятся серверы .NET, как правило, производства компании Microsoft.
По данным аналитиков Meta Group, к 2004 году при всем существующем многообразии средств разработки программных продуктов технология J2EE сохранит за собой 40% рынка распределенного корпоративного программного обеспечения, а платформа Microsoft .NET будет использоваться при производстве примерно 30% корпоративного ПО. Оставшаяся часть рынка будет принадлежать унаследованным системам на базе мэйнфреймов и распределенным системам на основе CORBA (Common Object Request Broker Architecture).
Именно доминирование небольшого количества стандартов и тенденции интероперабельности отличают современный рынок серверов приложений от рынка десятилетней давности, когда на серверы приложений не существовало никаких стандартов и переносимость приложений между различными серверами была в основном предметом теоретических дискуссий и первых попыток создания стандартов, в той или иной степени описывающих API подобных серверов.
Из технологий, поддерживаемых современными серверами приложений, следует в первую очередь отметить средства интеграции приложений, созданных на различных платформах, в том числе поддержку Web-сервисов, средства разработки приложений, наличие продуктов специализированного назначения, основанных на данном сервере приложений (например, средств управления информационным наполнением), поддержку беспроводных мобильных устройств.
Из тестов производительности J2EE-серверов наиболее популярным и достоверным считается тест ECperf, хотя в некоторых источниках в качестве средства тестирования иногда упоминается приложение PetShop (онлайновый зоомагазин), представляющее собой учебный пример, придуманный в свое время компанией Sun Microsystems и реализованный на соответствующей платформе (J2EE или .NET).
Лидеры рынка серверов приложений
огласно данным ряда аналитических отчетов, лидерами рынка серверов приложений на данный момент являются компании BEA и IBM, производящие J2EE-серверы (доля рынка серверов приложений, занятая этими компаниями, составляет около 30%). Из других наиболее известных продуктов, относящихся к категории серверов приложений, следует отметить J2EE-серверы компаний Oracle, Sun Microsystems, Borland, Sybase, Macromedia (доля рынка, принадлежащая каждой из этих компаний, составляет до 10%); ряд J2EE-серверов, относящихся к категории продуктов Open Source, таких как Apache Tomcat, а также семейство серверов .NET компании Microsoft. Ниже мы кратко рассмотрим особенности продуктов перечисленных компаний.
WebLogic Server 7.0 (BEA Systems)
BEA WebLogic Server — один из самых популярных в отрасли серверов приложений, полностью совместимых со спецификацией J2EE 1.3.
WebLogic Server 7.0 содержит большое количество средств, повышающих производительность труда разработчиков и администраторов, в частности WebLogic Builder — графическое средство создания и распространения J2EE-приложений; средства компиляции отчуждаемых J2EE-компонентов; средства создания и использования Web-сервисов XML; упрощенные средства администрирования; средства интеграции с унаследованными системами и другими бизнес-приложениями. Этот продукт интегрируется со многими средствами разработки Java-приложений, в частности с WebGain Visual Cafe (принадлежащим теперь, видимо, компании TogetherSoft), Borland JBuilder, WebSphere Studio Application Developer.
Отметим, что BEA WebLogic Server — единственный J2EE-совместимый сервер приложений, который может выполняться на мэйнфреймах, а также обладает средствами интеграции с приложениями для мэйнфреймов, включая осуществление в реальном времени распределенных транзакций, затрагивающих эти приложения.
Из инструментов, поставляемых отдельно, но использующихся совместно с BEA WebLogic Server, в первую очередь следует отметить BEA WebLogic Workshop — средство разработки Web-сервисов для WebLogic Server.
Borland Enterprise Server 5.0 (Borland Software Corporation)
Не будучи лидером рынка, Borland Enterprise Server, тем не менее, довольно широко применяется в телекоммуникационном и банковском секторах. Этот продукт обладает некоторыми уникальными технологическими особенностями, такими как Borland Application Partitioning. Данная технология позволяет определить детальные характеристики сервисов, EJB- и Web-контейнеров, серверных и Web-серверных приложений, описать собственный набор сервисов для каждой конфигурации (partition), осуществить репликацию конфигураций, выделить для каждой конфигурации самостоятельный системный процесс. Все это упрощает конфигурирование распределенных систем и управление ими и в целом повышает надежность и доступность приложений, созданных на основе этого сервера.
Borland Enterprise Server доступен в виде трех редакций:
- Borland Enterprise Server AppServer Edition — сервер приложений, поддерживающий одновременно спецификации J2EE 1.3 и CORBA;
- Borland Enterprise Server VisiBroker Edition — сервер приложений, поддерживающий спецификацию CORBA 2.5;
- Borland Enterprise Server Web Edition — сервер, включающий модифицированные Web-сервер Apache и Web-контейнер Tomcat (в частности, в Apache встроен дополнительный модуль, конвертирующий HTTP-запросы в CORBA IIOP), а также Borland Web Engine, осуществляющий интеграцию Borland Web Server и Borland Web Container и построенный на базе Borland VisiBroker.
WebSphere Application Server 4.0 (IBM)
Как было сказано выше, IBM WebSphere Application Server 4.0 представляет собой J2EE-совместимый сервер приложений, занимающий лидирующие позиции на рынке продуктов подобного класса и доступный для широкого спектра платформ.
Основными особенностями этого сервера приложений являются:
- поддержка Web-сервисов;
- поддержка крупнейших ERP-систем, в том числе SAP и PeopleSoft (для этой цели имеются соответствующие адаптеры, представляющие собой EJB, которые обеспечивают доступ к объектам из этих ERP-систем), а также Microsoft SQL Server, Oracle, Informix, IBM DB2 Universal Database, Sybase (IBM DB2 Universal Database 7.1 входит в состав продукта WebSphere Application Server 4.0);
- наличие средств повышения производительности, в частности средств кэширования Java Naming and Directory Interface (JNDI), позволяющих сократить время обращения к серверам именований, а также средств пулинга объектов и ресурсов (например, соединений с базами данных);
- наличие средств обеспечения безопасности, в частности интерфейса для доступа к Tivoli Policy Director, а также механизма Open Servlet Engine, позволяющего перенаправлять запросы транзакций с Web-сервера, находящегося за пределами брандмауэра, на WebSphere Application Server.
WebSphere Application Server, Enterprise Edition существует для платформ AIX, Solaris, Windows NT и Windows 2000 и по сравнению со стандартным вариантом WebSphere Application Server, имеет в своем составе набор дополнительных служб: WebSphere Application Server, Advanced Edition, WebSphere Enterprise Services, IBM TXSeries и IBM MQSeries. WebSphere Enterprise Services предназначены для расширения функциональности WebSphere Application Server в случае, если разработчиков приложений по каким-либо причинам не устраивает функциональность EJB и Web-сервисов. Среди них имеются средства поддержки EJB, содержащих бизнес-правила; инструменты для поддержки обмена сообщениями с помощью специально предназначенного для этой цели EJB-компонента; возможность выполнения CORBA-объектов, вызовов компонентов EJB из CORBA-приложений, обращения к CORBA-приложениям из сервлетов; средства применения COM-серверов и обращения к Java-классам через COM-интерфейсы.
Отметим, что IBM также поставляет на рынок основанные на этом сервере приложений специализированные решения для создания приложений электронной коммерции — WebSphere Commerce Suite и WebSphere Commerce Suite MarketPlace Edition, а также решения для создания корпоративных и вертикальных порталов.
Разработку приложений для IBM WebSphere можно производить с помощью средств IBM, таких как VisualAge for Java, и средств разработки других производителей. Из средств создания приложений для WebSphere IBM отметим также наличие WebSphere Studio Workbench, который предоставляет открытую интегрированную среду разработки, позволяющую интегрировать инструменты разработки приложений независимых поставщиков.
В ближайшее время ожидается выпуск пятой версии WebSphere Application Server. Она будет поддерживать спецификацию J2EE 1.3 и обладать расширенными средствами интеграции с корпоративными приложениями, унаследованными системами, различными источниками данных, а также более совершенными средствами администрирования и безопасности.
Orbix E2A Application Server (IONA Technologies)
Orbix E2A Application Server Platform представляет собой сервер приложений, поддерживающий одновременно технологии CORBA и J2EE. Особенностями этого продукта являются:
- поддержка спецификации J2EE 1.3;
- средства распространения приложений Transparent Enterprise Deployment, позволяющие добавлять к приложению дополнительные сервисы в процессе его выполнения путем переконфигурации без внесения изменений в исходный код;
- средства поддержки других компонентных технологий.
Orbix E2A Application Server Platform доступен в четырех редакциях:
- J2EE Technology Edition — в этой редакции поддерживается создание J2EE-приложений;
- Standard Edition — в этой редакции поддерживаются CORBA, J2EE, применение Web-сервисов;
- Orbix E2A Mainframe Edition позволяет разработчикам на языках COBOL, PL/I, Java и C++ представлять свои приложения в виде служб, доступных с помощью Web-сервисов, J2EE- или CORBA-клиентов, выполняющихся практически на всех платформах;
- Enterprise Edition — в этой редакции поддерживаются J2EE, CORBA, создание и применение Web-сервисов, представление приложений для мэйнфреймов в качестве сервисов, платформа Microsoft .NET.
ColdFusion MX и JRun 4 (Macromedia)
Об этих серверах приложений вы сможете прочесть в отдельной статье, посвященной продуктам Macromedia. Здесь мы лишь отметим, что Macromedia ColdFusion MX предназначен для создания Web-приложений и ориентирован на совместную работу с инструментальными средствами Macromedia. В частности, серверный код и объекты для этого сервера можно создавать в среде Dreamweaver MX, а клиентскую часть — с помощью Flash MX. ColdFusion MX может быть использован как сам по себе, так и совместно с J2EE-серверами приложений — для этой цели можно применять продукты семейства ColdFusion MX for J2EE Application Servers, выход которых ожидается в ближайшее время.
Из особенностей JRun 4, который, в отличие от ColdFusion MX, является J2EE-совместимым сервером приложений, стоит отметить наличие шлюза Flash-J2EE, позволяющего осуществить доступ из элементов Flash к компонентам EJB и Java-классам, развернутым на сервере JRun.
Семейство серверов Microsoft .NET (Microsoft Corporation)
Наиболее часто применяемыми серверами приложений, не имеющими отношения к спецификации J2EE, являются продукты семейства корпоративных серверов Microsoft .NET, предназначенные, как и другие серверы приложений, для создания и развертывания интегрированных масштабируемых корпоративных приложений. Все эти серверы характеризуются поддержкой XML и стандартов Интернета, поддержкой кластерной архитектуры, высокой степенью взаимной интеграции, а также интеграции с операционной системой Windows и средствами разработки Microsoft.
К семейству корпоративных серверов Microsoft .NET сама компания Microsoft относит:
- Microsoft SQL Server — сервер баз данных (по существу, данный продукт достаточно сложно отнести к серверам приложений в их традиционном понимании), являющийся одним из лидирующих продуктов данного класса для платформы Windows и обычно применяющийся совместно со многими другими серверами Microsoft .NET;
- Microsoft Application Center — средство управления кластерами серверов для осуществления горизонтального масштабирования;
- Microsoft BizTalk Server 2002 — сервер интеграции приложений и создания инфраструктуры их взаимодействия, основанный на обмене документами между приложениями, принадлежащими разным организациям;
- Microsoft Exchange Server — сервер сообщений и групповой работы; обычно продукты подобного назначения выделяют в отдельную категорию и не относят к серверам приложений;
- Microsoft Host Integration Server — шлюз, соединяющий локальные сети на базе Windows с хост-системами (в том числе давно находящимися в эксплуатации), в частности с мэйнфреймами IBM и с AS/400;
- Microsoft Commerce Server — готовое решение для создания приложений электронной коммерции на базе Microsoft SQL Server 2000, содержащее наиболее часто применяемые сервисы, принятые в решениях подобного класса;
- Microsoft Internet Security and Acceleration Server 2000 — многоуровневый сетевой экран и кэширующий сервер, использующий средства защиты, управления и контроля, встроенные в операционную систему Windows 2000;
- Microsoft Mobile Information Server — масштабируемый сервер приложений для мобильной телефонии, предназначенный для корпоративных заказчиков и операторов мобильной связи, нуждающихся в предоставлении доступа к данным и приложениям с любых беспроводных мобильных устройств;
- Microsoft SharePoint Portal Server — корпоративный портал, позволяющий организовать систему документооборота внутри предприятия;
- Microsoft Сontent Manager Server — серверный продукт, предназначенный для управления информационным наполнением Web-сайтов.
Иными словами, Microsoft не производит серверы приложений общего назначения, однако вместо этого выпускает широкий спектр специализированных серверных продуктов, предназначенных для решения конкретных бизнес-задач (создания портала, разработки сайта электронной коммерции и т.д.) и создания решений на их основе, в целом практически исчерпывающий все современные направления применения серверов приложений.
Oracle9i Application Server (Oracle Corporation)
Oracle9i Application Server (Oracle9iAS) — это J2EE-совместимый сервер приложений, предназначенный для создания широкого спектра корпоративных приложений, начиная от динамических Web-сайтов и заканчивая корпоративными порталами и системами, интегрирующими разнородные корпоративные приложения.
Особенностью данного сервера приложений является наличие в его составе широкого набора специальных сервисов и готовых специализированных решений, использующих СУБД Oracle9i и Oracle9iAS, таких как:
- Oracle9iAS Portal — готовое структурное решение для быстрого развертывания и поддержки работы информационного портала организации, поддерживающее применение портлетов — компонентов портала, содержащих механизмы работы с определенными информационными источниками;
- Oracle9iAS Personalization — механизм выдачи оперативных рекомендаций, основанный на технологиях Data Mining. Используя данные из различных источников, в том числе из клиентской базы данных, а также сведения о пользовательской активности, модуль создает динамический профиль для каждого клиента, который затем используется для выдачи индивидуальных рекомендаций;
- Oracle9iAS Wireless — программное обеспечение, предназначенное для создания и развертывания приложений беспроводного доступа, в том числе и беспроводных порталов;
- Email Server — решение для организации сервера электронной почты, доступ к которому возможен из любых клиентских программ, поддерживающих Интернет-стандарты POP3 и IMAP. Архитектура, лежащая в основе продукта, ориентирована на множество одновременно работающих пользователей и большой объем хранимых почтовых сообщений;
- Oracle Message Broker (OMB), основанный на межплатформенной спецификации Java Message Service API, позволяет корпоративным приложениям устойчиво взаимодействовать в реальном времени. Интеграция осуществляется путем обмена сообщениями о происходящих событиях и реакции на них других систем. Сообщения могут направляться и через средства обмена сообщениями третьих фирм, такие как IBM MQSeries.
- Oracle9iAS InterConnect — средство доступа к ERP-системам и иным корпоративным приложениям через ряд поставляемых адаптеров к приложениям и системам Oracle. Адаптеры для приложений сторонних производителей поставляются как отдельные продукты (в настоящее время доступны адаптеры для SAP R/3, PeopleSoft, монитора транзакций CICS и для FTP);
- Oracle Workflow — средство автоматизации стандартных бизнес-процессов организации, ориентированное на разработчиков корпоративных приложений, базирующихся на технологиях Oracle;
- Oracle Internet Directory (OID) — сервер каталогов, реализующий протокол LDAP версии 3, основанный на СУБД Oracle и тесно интегрированный с сетевыми службами Oracle;
- Oracle Dynamic Services — набор инструментов для представления внешних систем в виде документированных управляемых сервисов, которые можно прозрачно включать в создаваемые приложения.
Enterprise Application Server 4.1 (Sybase)
Sybase Enterprise Application Server (EAServer) — это J2EE-совместимый сервер приложений для создания порталов и корпоративных решений. Этот продукт, как и другие подобные продукты, предоставляет широкий набор инструментов для развертывания Web-приложений и распределенных систем, в состав которых входит технология генерации динамических Web-страниц PowerDynamo, компонентный транзакционный сервер Jaguar CTS, реляционная СУБД Adaptive Server Anywhere, пакет Application Integrator для доступа к хранимым SQL-процедурам (Stored Procedures), а также интегрированная среда разработки PowerBuilder.
Особенностью данного сервера приложений является универсальная по отношению к клиентским компонентам программного обеспечения поддержка широкого спектра технологий построения распределенных систем, включая CORBA, XML, HTML, DHTML, ActiveX, PowerBuilder, COM, а также средства интеграции различных приложений. Многие пользователи этого продукта отмечают высокое качество управления транзакциями и надежные средства обеспечения безопасности. Sybase EAServer позволяет использовать бизнес-логику унаследованных приложений, интегрируя их программный код в среду EAServer при помощи технологии Application Integrators.
Sun ONE Application Server 7 (Sun Microsystems)
Sun ONE Application Server 7, Platform Edition, планируемый к выпуску этой осенью, представляет собой сервер приложений, совместимый со спецификацией J2EE 1.3. В состав этого продукта, поддерживающего JSP, Java-сервлеты, EJB, входит HTTP-сервер, что позволяет создавать на его основе Web-приложения, не прибегая к Web-серверам других производителей. Продукт интегрируется со средствами создания приложений Sun ONE Studio 4 и Sun ONE Application Framework.
Согласно утверждениям Sun, Sun One Application Server позволяет без изменений исполнять написанные для него приложения на любых других J2EE-совместимых серверах приложений.
Sun ONE Application Server 7 поддерживает создание и применение Web-сервисов XML — для этой цели в состав продукта включен Java Web Services Pack.
Данный продукт предоставляется бесплатно в версиях для Linux, Windows, HP-UX и AIX как для разработчиков, так и для компаний, его эксплуатирующих. В Sun надеются, что за счет бесплатного распространения сервера приложений компании удастся воспрепятствовать тому, чтобы Microsoft .NET стала наиболее распространенной платформой для создания Web-сервисов. Техническая поддержка этого продукта является платной услугой.
Из продуктов Sun, применяемых совместно с Sun ONE Application Server, следует отметить Sun ONE Web Server — Web-сервер для создания Web-приложений; Sun ONE Portal Server — средство создания корпоративных порталов; Sun ONE Integration Server, EAI Edition — средство интеграции различных приложений, включая унаследованные и устаревшие системы; Sun ONE Directory Server — службу каталогов, предназначенную для хранения сведений о профилях пользователей и их правах доступа к данным и приложениям.
В заключение отметим, что существующие на сегодняшний день возможности серверов приложений ведущих производителей отражают современные тенденции развития корпоративных приложений, такие как повышенные требования к масштабируемости, производительности, надежности и доступности; многозвенная архитектура приложений с горизонтальным масштабированием; все более широкое применение Web-сервисов XML и все возрастающая потребность в интеграции различных приложений, включая унаследованные системы и средства управления предприятиями ведущих производителей.
КомпьютерПресс 10'2002