Файл: Понятие прикладных протоколов и серверы приложений (Протоколы прикладного уровня).pdf
Добавлен: 04.07.2023
Просмотров: 182
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Протоколы прикладного уровня
1.1 Общие понятия. Протокол. Стек протоколов
1. 3. Протоколы прикладного уровня OSI
1. 4. Протоколы прикладного уровня NetWare
1. 5. Прикладной уровень стека TCP/IP
2.1. Архитектура современных корпоративных приложений
Для веб-приложений эти компоненты обычно работают на той же машине, где запущен веб-сервер. Их основная работа — обеспечивать создание динамических страниц. Однако современные серверы приложений нацелены гораздо больше не на то, чтобы генерировать веб-страницы, а на то, чтобы выполнять такие сервисы как кластеризация, отказоустойчивость и балансировка нагрузки, позволяя таким образом разработчикам сфокусироваться только на реализации бизнес-логики.
Обычно этот термин относится к Java-серверам приложений. В этом случае сервер приложений ведет себя как расширенная виртуальная машина для запуска приложений, прозрачно управляя соединениями с базой данных с одной стороны и соединениями с веб-клиентом с другой.
Преимущества серверов приложений
- Целостность данных и кода
- Выделяя бизнес логику на отдельный сервер, или на небольшое количество серверов, можно гарантировать обновления и улучшения приложений для всех пользователей. Отсутствует риск, что старая версия приложения получит доступ к данным или сможет их изменить старым несовместимым образом.
- Централизованная настройка и управление
- Изменения в настройках приложения, таких как изменение сервера базы данных или системных настроек, могут производиться централизованно.
- Безопасность
- Сервер приложений действует как центральная точка, используя которую, поставщики сервисов могут управлять доступом к данным и частям самих приложений, что считается преимуществом защиты. Её наличие позволяет переместить ответственность за аутентификацию с потенциально небезопасного уровня клиента на уровень сервера приложений, при этом дополнительно скрывая уровень базы данных.
- Поддержка транзакций
- Транзакция представляет собой единицу активности, во время которой большое число изменений ресурсов (в одном или различных источниках) может быть выполнено атомарно (как неделимая единица работы). Конечные пользователи при этом могут выиграть от стандартизованного поведения системы, от уменьшения времени на разработку и от снижения стоимости. В то время как сервер приложений выполняет массу нужного генерирования кода, разработчики могут сфокусироваться на бизнес-логике.
Серверы приложений являются одной из ключевых составляющих IT-инфраструктуры значительной части современных крупных предприятий. Если компания нуждается в интеграции ее внутрикорпоративных приложений с корпоративным Web-сайтом и Web-приложениями, а также в надежном и быстром доступе к данным и приложениям со стороны собственных сотрудников, партнеров и клиентов, она рано или поздно сталкивается с необходимостью внедрения одного или нескольких серверов приложений.
2.1. Архитектура современных корпоративных приложений
Сервер приложений — это инфраструктурное программное обеспечение, предназначенное для создания распределенных информационных систем с выделенными службами бизнес-логики, реализованными в виде компонентов, выполняющихся под его управлением. Эти компоненты могут представлять собой COM- или CORBA-объекты либо компоненты Enterprise JavaBeans. Современные серверы приложений позволяют реализовать надежные и устойчивые к сбоям информационные системы за счет поддержки создания кластеров и наличия средств восстановления после сбоев. В настоящее время серверы приложений являются основой многих корпоративных решений с повышенными требованиями к надежности, например приложений, реализующих схемы «предприятие — потребитель» (business-to-consumer, B2C), «предприятие — предприятие» (business-to-business, B2B), «предприятие — сотрудник» (business-to-employee, B2E). Как правило, при реализации подобных решений серверы приложений располагаются между сервером баз данных и Web-сервером либо между сервером баз данных и клиентскими приложениями, при этом иногда функциональность Web-сервера реализуется и в самом сервере приложений.
Говоря о корпоративных решениях, нельзя не отметить проблему интеграции как различных приложений внутри одного предприятия, так и приложений, используемых на разных предприятиях. Одним из общепринятых способов ее решения является реализация функций приложений, к которым следует предоставить доступ извне, в виде Web-сервисов XML, и в настоящее время большинство производителей серверов приложений, СУБД и средств разработки приложений так или иначе реализовали поддержку Web-сервисов и связанных с ними технологий.
2.2. Технологии и стандарты
Современный рынок серверов приложений характеризуется доминированием относительно небольшого количества стандартов. В настоящее время на рынке серверов приложений наиболее популярен стандарт J2EE — Java 2 Enterprise Edition (последняя версия — 1.4), предназначенный для обеспечения взаимной переносимости приложений с одного J2EE-совместимого сервера приложений на другой и описывающий требования к возможностям данной категории серверов приложений и их производительности. Именно наличие этого стандарта сделало Java наиболее популярной сегодня платформой для создания корпоративных решений, поддерживаемой почти всеми ведущими производителями программного обеспечения. Сейчас возможность создания EJB (Enterprise Java Beans) — объектов, которые выполняются под управлением серверов приложений, поддерживающих спецификацию J2EE, — реализована во всех ведущих средствах разработки Java-приложений (их краткий обзор можно найти в КомпьютерПресс № 8’2003).
Отметим, однако, что помимо J2EE-совместимых серверов существуют и довольно широко используются серверы приложений, фактически таковыми не являющиеся. В первую очередь к ним можно отнести службы компонентов (COM+) и Enterprise Services — реализацию функциональности сервера приложений, встроенную в операционную систему Windows Server 2003, а также ряд специализированных серверов компании Microsoft, относящихся к семейству Microsoft Server System.
Из иных особенностей современного рынка серверов приложений следует отметить поддержку всеми ведущими производителями данной категории программного обеспечения технологий интеграции приложений, созданных на различных платформах, в частности Web-сервисов; наличие продуктов специализированного назначения, основанных на данном сервере приложений (таких как порталы, серверы электронной коммерции, средства управления информационным наполнением, специализированные серверы интеграции приложений); поддержку создания разнообразных специализированных решений для различных вертикальных рынков.
2.3. Лидеры рынка серверов приложений
Согласно последним аналитическим отчетам Gartner Dataquest, лидерами рынка J2EE-совместимых серверов приложений на данный момент являются компании IBM (37%) и BEA (29%). Доля рынка других ведущих производителей данной категории серверов приложений, таких как Borland, Oracle, Sun Microsystems, Sybase, составляет от 1 до 10%. Кроме того, весьма популярен J2EE-сервер Apache Tomcat, который входит в категорию продуктов Open Source, а также не относящиеся к этой категории специализированные серверы компании Microsoft. Ниже мы кратко рассмотрим особенности продуктов перечисленных компаний.
WebLogic Server 8.1 (BEA Systems)
BEA WebLogic Server — один из самых популярных в отрасли серверов приложений, полностью совместимых со спецификацией J2EE 1.3.
WebLogic Server 8.1 содержит большое количество средств, повышающих производительность труда разработчиков и администраторов, в частности инструменты создания и распространения J2EE-приложений; средства компиляции отчуждаемых J2EE-компонентов; средства создания и использования Web-сервисов XML; упрощенные средства администрирования; средства интеграции с унаследованными системами и другими бизнес-приложениями. Этот продукт интегрируется со многими средствами разработки Java-приложений независимых производителей, в частности с Borland JBuilder.
Отметим, что BEA WebLogic Server обладает средствами интеграции с приложениями для мэйнфреймов, включая осуществление в реальном времени распределенных транзакций, затрагивающих эти приложения.
Из инструментов, поставляемых отдельно, но использующихся совместно с BEA WebLogic Server, в первую очередь следует назвать BEA WebLogic Workshop — средство разработки Web-сервисов для WebLogic Server.
Borland Enterprise Server (Borland Software Corporation)
Borland Enterprise Server довольно широко применяется в телекоммуникационном и банковском секторах. Его привлекательность объясняется рядом уникальных технологических особенностей, таких как технология Borland Application Partitioning, позволяющая определить детальные характеристики компонентов и приложений, описать собственный набор сервисов для каждой конфигурации (partition), осуществить репликацию конфигураций, выделить для каждой конфигурации самостоятельный системный процесс. Все это упрощает управление распределенными системами и в целом повышает надежность и доступность приложений, созданных на основе этого сервера. Данный продукт поддерживает спецификации J2EE 1.3, EJB 2.0, JMS 1.02, Servlet 2.3, JSP 1.2, CORBA 2.5, XML и SOAP, содержит встроенный Web-сервер и Web-контейнер, позволяет конвертировать HTTP-запросы в CORBA IIOP (конкретный набор поддерживаемых возможностей зависит от выбранной редакции продукта: AppServer Edition, VisiBroker Edition, Web Edition или Team Edition). Данный сервер поддерживает платформы Windows, Linux и Solaris.
WebSphere Application Server 5.0 (IBM)
Как было сказано выше, IBM WebSphere Application Server 5.0 представляет собой J2EE-совместимый сервер приложений, занимающий лидирующие позиции на рынке продуктов подобного класса и доступный для широкого спектра платформ, включая AIX, Solaris, Windows, Linux, z/Os. Этот продукт поддерживает JDK 1.4, новейшие стандарты в области Web-сервисов, такие как WSDL 1.1, UDDI 1.0 и 2.0, SOAP 1.1 и SOAP 1.1 with Attachments, WS-Security, XML Signature, XML Encryption, а также предварительную версию спецификации WS-I.
Основными особенностями этого сервера приложений являются поддержка крупнейших ERP-систем, в том числе SAP и PeopleSoft (существуют EJB-адаптеры для доступа к объектам из этих ERP-систем), а также СУБД всех ведущих производителей (Microsoft, IBM, Oracle, Sybase), наличие средств обеспечения безопасности. Кроме того, редакция Enterprise Edition данного продукта содержит встроенные средства обмена сообщениями и поддержки выполнения CORBA- и COM-объектов и обращения к Java-классам через COM-интерфейсы.
Отметим, что IBM также поставляет на рынок основанные на этом сервере приложений специализированные решения для создания приложений электронной коммерции, решения для создания корпоративных и вертикальных порталов, в том числе для небольших предприятий (семейство продуктов WebSphere Express).
Разработку приложений для IBM WebSphere можно производить с помощью средств IBM, таких как VisualAge for Java, и средств разработки других производителей. Из средств создания приложений для WebSphere IBM отметим также наличие WebSphere Studio Workbench, который предоставляет открытую интегрированную среду разработки, позволяющую интегрировать инструменты разработки приложений независимых поставщиков.
Семейство серверов Microsoft Server System (Microsoft)
Наиболее часто применяемыми серверами приложений, не имеющими отношения к спецификации J2EE, являются службы компонентов, встроенные в операционные системы Windows 2000 Server и Windows Server 2003 (это почти единственный сервер приложений, встроенный в платформу), а также продукты семейства корпоративных серверов Microsoft Server System, предназначенные, как и другие серверы приложений, для создания и развертывания интегрированных корпоративных решений. Все эти серверы поддерживают XML, стандарты Интернет, кластерную архитектуру, имеют высокую степень взаимной интеграции и при этом стоят относительно недорого. Не производя серверы приложений общего назначения, компания Microsoft выпускает широкий спектр специализированных серверных продуктов, предназначенных для выполнения конкретных бизнес-задач (создание портала, разработка сайта электронной коммерции и пр.) и создания решений на их основе, в целом практически исчерпывающий все современные направления применения серверов приложений. Все эти серверы поддерживают управление COM-, COM+- и .NET-компонентами и доступны для операционных систем семейства Windows.
Из продуктов, входящих в семейство Microsoft Server System, к серверам приложений в традиционном понимании можно отнести сервер интеграции приложений Microsoft BizTalk Server, сервер сообщений и групповой работы Microsoft Exchange Server, сервер электронной коммерции Microsoft Commerce Server, масштабируемый сервер приложений для мобильной телефонии Microsoft Mobile Information Server, корпоративный портал Microsoft SharePoint Portal Server, сервер для управления информационным наполнением Web-сайтов Microsoft Сontent Manager Server, сервер для управления крупными корпоративными проектами Microsoft Project Server.
Oracle9i Application Server (Oracle Corporation)
Oracle9i Application Server (Oracle9iAS) — это J2EE-совместимый сервер приложений, предназначенный для создания широкого спектра корпоративных решений. Oracle9i Application Server полностью поддерживает J2EE 1.3, содержит высокоскоростной кэш, инструмент быстрой разработки приложений Oracle9i JDeveloper, средства интеграции приложений и бизнес-процессов.
Особенностью данного сервера приложений является наличие в его составе большого набора специальных сервисов и готовых специализированных решений, использующих СУБД Oracle9i и Oracle9i AS, таких как встроенный корпоративный портал, средства персонализации информационного наполнения, средства бизнес-анализа, ПО для создания и развертывания приложений беспроводного доступа, решение для организации сервера электронной почты, средства обмена сообщениями и доступа к ERP-системам и иным корпоративным приложениям через специализированные адаптеры, средства автоматизации стандартных бизнес-процессов организации, сервер каталогов.