Инструменты пользователя

Инструменты сайта


examination:rsubd:question26

Вопрос №26. Программное обеспечение промежуточного слоя

Стандартизованные интерфейсы клиент-сервер в последние годы принято относить к категории программного обеспечения промежуточного слоя, которое определяется как «некоторый набор процедур или функций, обеспечивающих взаимодействие двух разнородных программ». Программные средства этой категории применимы к компьютерным сервисам практически любого вида, включая управление базами данных и информацией. Коммерческие или самостоятельно разработанные программные продукты, основанные на IDAPI, ODBC, DRDA или других стандартах и предоставляющие интерфейсные возможности для клиента и сервера, относятся к категории программного обеспечения промежуточного слоя.

Стандартизация программного обеспечения промежуточного слоя представляет особый интерес, поскольку оказывает воздействие на перспективные направления развития в области управления информацией в архитектуре клиент-сервер. Аналогичным образом процесс стандартизации охватывает такие области, как коммуникации, управление объектами, электронная почта и др. Системы управления информацией завтрашнего дня неизбежно будут обеспечивать не только доступ к базам данных клиент-сервер (посредством сетевых и коммуникационных сервисов), не также управление электронной почтой и другие функции. Следовательно, необходим общий анализ требований к программному обеспечению промежуточного слоя.

Сервис ПО промежуточного слоя определяется интерфейсами прикладного программирования и протоколами, их поддерживающими. Сервис может иметь множество реализаций.


Рисунок 9. Программное обеспечение промежуточного слоя

Как и многие системные категории, ПО промежуточного слоя трудно точно определить в техническом смысле. Тем не менее, его компоненты обладают рядом свойств, которые, взятые вместе, обычно ясно свидетельствуют о том, что данный компонент не является сервисом, специфичным для приложения или платформы. Компоненты ПО промежуточного слоя являются общими для различных приложений и прикладных областей; они функционируют на разных платформах, распределены и поддерживают стандартные интерфейсы и протоколы. Эти свойства:

  • Сервис ПО промежуточного слоя отвечает потребностям широкого спектра приложений многих прикладных областей. Сервис ПО промежуточного слоя должен иметь реализации для разных платформ. В противном случае это - специфический сервис платформы. Например, системы управления реляционными базами (СУБД) - это ПО промежуточного слоя. Чтобы охватить как можно больше платформ, сервисы ПО промежуточного слоя разрабатывается как переносимые (portable). Это означает, что их можно перенести (портировать) на другую платформу, предприняв для этого небольшие и заранее предсказуемые усилия.
  • Сервис ПО промежуточного слоя является распределенным. Это означает, что к нему возможен удаленный доступ (например, сервис СУБД), либо он обеспечивает удаленный доступ к другим сервисам и приложениям (например, коммуникационный сервис).
  • В идеале, сервис ПО промежуточного слоя поддерживает стандартный протокол или, по крайней мере, опубликованный протокол. Таким образом, можно разработать множество реализаций сервиса, и все они будут взаимодействовать между собой. Однако, если сервис ПО промежуточного слоя действительно работает на всех популярных платформах, его можно рассматривать как стандартный, даже если его протоколы не опубликованы. Таким свойством обладает, например, большинство СУБД. Если охват платформ достаточно широк, потребители, как правило, не требуют от производителей соответствия стандарту протокола. Например, протокол «клиент/сервер» SQL Access Group не снискал широкого признания, хотя принятый этим консорциумом интерфейс прикладного программирования ODBC имеет большой успех, поскольку Microsoft обеспечила его поддержку в своем семействе операционных систем Windows.
  • Сервис ПО промежуточного слоя должен поддерживать стандартный API. Он (сервис) является прозрачным (transparent) по отношению к API, если к нему обеспечен доступ посредством API, но при этом не требуется модификация последнего. Непрозрачное (nontransparent) ПО промежуточного слоя требует нового API.
  • Если производитель ПО обеспечивает широкий охват платформ и обладает значительной долей рынка, то поддерживаемый им интерфейс прикладного программирования и протокол можно рассматривать как фактический стандарт, даже если ни интерфейс, ни протокол не имеют в виду другие производители. Например, в реляционных СУБД ORACLE и SYBASE поддерживаются собственные диалекты языка SQL, и при этом они рассматриваются большинством потребителей как фактический стандарт.

Основное назначение сервисов ПО промежуточного слоя: они (сервисы) обеспечивают интерфейс прикладного программирования, не зависящий от платформы, так что приложения будут работать на многих платформах. Они скрывают детали сетевых протоколов и распределенных систем. Сервисы ПО промежуточного слоя разрабатываются таким образом, чтобы встроить общеупотребительные функции в независимые компоненты, которые затем можно распределить по различным платформам и программным средам.

Но сервисы ПО промежуточного слоя имеют недостатки.

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

Интегрирующая среда (framework) - это среда программирования, которая спроектирована с целью упрощения разработки и администрирования специализированных приложений. Интегрирующая среда - это один из видов ПО промежуточного слоя. Примеры ИС - это офисные системы (Lotus Notes, Microsoft Office), мониторы транзакций (IBM CICS, DEC ACMSxp), языки четвертого поколения (Uniface, Cognos, Focus), системы автоматизированного проектирования (Mentor Graphics Falcon, DEC Powerframe), CASE-системы (HP SoftBench, Texas Instruments Composer by IEF, Andersen Consulting Foundation, DEC COHESIONworX), и системы управления распределенными ресурсами (HP OpenView, Tivoli Management Environment, IBM NetView).

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


Рисунок 10. Архитектура интегрирующей среды

examination/rsubd/question26.txt · Последние изменения: 2014/01/15 08:21 (внешнее изменение)