Автор работы: Пользователь скрыл имя, 26 Июня 2013 в 15:45, реферат
Web-cервис это программный интерфейс, который описывает набор операций, которые могут быть вызваны удаленно по сети посредством стандартизированных XML сообщений. Для описания вызываемой операции или данных используются протоколы, базирующиеся на языке XML. Группа Web-сервисов взаимодействующая друг с другом подобным образом, определяет приложение Web-сервисов в рамках Серис-Ориентированной архитектуры (Service-Oriented Architecture - SOA).
Содержание 2
Стек технологий веб-сервисов 8
Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры 12
Свойства веб-сервисов 14
WS-I Basic Profile 1.0 17
Список литературы 19
Как решается задача интеграции приложений? Традиционный подход — построение промежуточного программного слоя того или иного типа. Оптимальной для объединения разнородных платформ и решений выглядела технология взаимодействия распределенных объектов CORBA, позволявшая инкапсулировать бизнес-логику приложений, выполняющихся на разных платформах и созданных с использованием разных языков программирования, организовав связь между ними на базе строго описанных интерфейсов. Аналогичные возможности — правда, с естественным ограничением гетерогенности — предлагала корпорация Microsoft в рамках своей компонентной модели DCOM. Однако этим решениям не хватало универсальности; даже применение CORBA сильно зависело от реализации в продуктах разных поставщиков, появлялись новые объектные модели, не поддерживающие CORBA, интеграция по-прежнему реализовывалась на достаточно низком уровне, практически исключая возможность динамичного изменения связей между приложениями в ходе выполнения. Важно и то, что все предлагаемые средства интеграции фокусировались на технологических особенностях реализации приложений и не позволяли учитывать специфику бизнес-процессов, в которых эти приложения использовались.
В то же время новые потребности бизнеса диктуют и новые условия интеграции. Динамичность ИТ-среды, ее нацеленность на решение бизнес-задач, необходимость быстрых изменений в ответ на изменение этих задач — эти характеристики приобретают ключевое значение при проектировании или реформировании корпоративных ИТ-инфраструктур. В этих условиях отдельные, «точечные» решения по интеграции настолько усложняют и саму инфраструктуру, и процесс управления ею, что становятся абсолютно неприемлемыми. Представим себе, к примеру, что в компании существует несколько приложений, каждое из которых интегрировано со всеми остальными посредством соответствующих интерфейсов. Если таких приложений — n, то всего потребуется n(n-1) интерфейсов. С добавлением всего лишь одного нового приложения появится 2n новых интерфейсов, для которых потребуется соответствующее документирование, тестирование и поддержка. В примере на рис. 1 пять взаимодействующих приложений порождают 20 интерфейсов, а добавление шестого приложения потребует еще 10. При этом придется вносить модификации в код каждого из существующих приложений для учета новых интерфейсов и проводить соответствующее тестирование. Чтобы избежать этого, нужна модель интеграции, которая позволит максимально упростить процесс добавления новых приложений и минимизирует число интерфейсов взаимодействия.
Рис. 1. Прямая интеграция приложений
Еще одна серьезная проблема — избыточность программных компонентов и сложность их многократного использования.
Все эти интеграционные
проблемы и привели к появлению
идеи сервисно-ориентированной
Очень часто становление того или иного подхода сопровождается появлением неверных или ошибочных трактовок:
SOA не является чем-то
новым: IT-отделы компаний успешно
создавали и развертывали
SOA - это не технология,
а способ проектирования и
организации информационной
Покупка самых новых продуктов, реализующих XML и Web-сервисы, не означает построения приложений в соответствии с принципами SOA.
SOA - это всего лишь
иной стиль построения
Ряд архитектурных особенностей
SOA позволяет уменьшить степень
связанности различных
Сами Web-сервисы не предполагают
какого-либо архитектурного решения, в
то время как именно архитектурой
определяется стиль процессов
Отметим некоторые из этих принципов.
Как бы неожиданно это ни показалось, перечисленные принципы были сформулированы американским архитектором Кристофером Александером в отношении архитектуры современного мегаполиса. В 1987 году он и его коллеги опубликовали работу под названием «Новая теория городского проектирования» (A New Theory of Urban Design), где излагались взгляды на возможность децентрализованного развития городов. В своей работе Александер показал, как можно осуществлять развитие городов с учетом существенной демографической разнородности жителей. Аналогичным образом SOA, основанная на адаптации этих принципов, позволяет объединить в общий взаимодействующий организм информационные системы, принадлежащие различным автономным организациям и их относительно автономным структурным подразделениям.
Web-cервис это программный интерфейс, который описывает набор операций, которые могут быть вызваны удаленно по сети посредством стандартизированных XML сообщений. Для описания вызываемой операции или данных используются протоколы, базирующиеся на языке XML. Группа Web-сервисов взаимодействующая друг с другом подобным образом, определяет приложение Web-сервисов в рамках Серис-Ориентированной архитектуры (Service-Oriented Architecture - SOA).
На самом высоком концептуальном уровне мы можем рассматривать Web-сервисы как единицы приложения, каждая из которых занимается выполнением определенной функциональной задачи. Если подняться на уровень выше, то эти задачи можно объединить в бизнес-ориентированные задачи для выполнения определенных бизнес операций, позволяя таким образом технически неподготовленным людям рассматривать приложения как обработчики бизнес задач в рамках потока работ приложений Web-сервисов. Таким образом, после того как технические специалисты разработали Web-сервисы, архитекторы бизнес процессов могут объединить их для решения конкретных бизнес задач. Если взять за аналогию двигатель автомобиля, то при сборке кузова, двигателя, трансмиссии и других составляющих, архитектор бизнес процессов может брать двигатель целиком, не вдаваясь в подробности тех составляющих, из которых собран каждый двигатель. Кроме того, динамическая платформа означает, что двигатель может работать с трансмиссией или другими компонентами автомобиля от других производителей.
В веб-сервисах был избран иной, противоположный, подход: обратились к базисным веб-технологиям, попробовали найти то немногое, что является основой Интернета. А эта основа состоит из следующих технологий:
Умышленно подчеркнута универсальность каждой из технологий, потому что эта универсальность – основа для понимания веб-сервисов. Они основаны только на общепринятых, открытых и формально независимых от вендоров технологиях. Только посредством этого достигается главное преимущество веб-сервисов как концепции построения распределенных ИС – их универсальность, т. е. возможность применения для любых операционных систем, языков программирования, серверов приложений и т. д. Таким образом, веб-сервисы решают исходную задачу – задачу интеграции приложений различной природы и построения распределенных ИС. В этом и заключается основное принципиальное отличие веб-сервисов от предшественников.
И все же веб-сервисы нельзя рассматривать как лекарство от всех бизнес-проблем, имеющихся сейчас или могущих возникнуть в будущем. Хотя веб-сервисы и являются логичным и уже вполне зрелым продолжением предшествовавших им технологий построения распределенных ИС, они – такая же технология, как и многие другие, имеющая свои плюсы и минусы и, как следствие, рамки применимости. Непонимание и неучет этих ограничений в реальных проектах может привести к весьма печальным последствиям.
Подробнее остановимся на плюсах и минусах.
К плюсам веб-сервисов можно отнести следующее:
Не менее подробно остановимся и на минусах веб-сервисов:
Итак, концепция сервисно-