Web-сервисы (Web Services, WS) — средства автоматизации решения разнородных задач (в том числе функциональных, прикладных и информационных) в Интернете с использованием Web-приложений. Если на начальных этапах существования Интернета Web-сервисы ограничивались обеспечением задач поиска документов и данных, то позднее с их помощью стали решаться комплексные задачи автоматизированного администрирования распределенными сетями и сайтами, поддержки деловых процессов, электронной коммерции, обеспечения внутрикорпоративного документооборота, предоставления информационных ресурсов и услуг пользователям Интернета. В среде разработчиков Web-сервисов наметились тенденции создания унифицированных технологий, включая интеграцию Web-приложений под комплексы типовых задач. Одним из решений является Internet Information Services 6.0 корпорации Microsoft, которая представляет собой Web-сервер, входящий в состав Windows 2000 и Windows XP, а также операционной системы Windows.Net Server.
CMS (Content Management Systems) — класс прикладных программных средств, обеспечивающих Web-сервисы. В связи с значительным информационным наполнением сайтов управление и поддержка их без использования специальных средств стала трудоемкой задачей. В особенности это относится к корпоративным Web-сайтам, поддерживающим десятки тысяч страниц информации. Назначением CMS-средств является сокращение трудоемкости создания сайтов и повышение их качества при минимальных затратах. Общие требования, предъявляемые к CMS-решениям: централизованное управление всеми данными, относящимися к информационному наполнению; отделение содержания от представления (при создании собственного информационного наполнения пользователь не занимается его дизайном, используя готовые шаблоны, формы); автоматизация документооборота производится с учетом наличия средств установки и реализации автоматического управления жизненным циклом информационного наполнения; обеспечение возможности совместного и повторного использования информационного наполнения разными пользователями; доставка пользователям информации с использованием различных средств и способов (при помощи Web и других средств доставки).
Технологии Web-сервисов, базируются на использовании основных стандартов:
- XML (Extensible Markup Language, расширяемый язык разметки) — стандарт, который используется в качестве основы для SOAP и WSDL, а также определяет формат данных для обмена между потребителем сервиса и самим сервисом.
- SOAP (Simple Object Access Protocol, Services-Oriented Architecture Protocol) — стандарт и протокол на основе XML/HTTP, предназначенный для обеспечения независимого от платформы доступа к сервисам, объектам и серверам; предложен фирмой Microsoft. Фирма IBM выпустила собственную Java-версию, известную под названием IBM SOAP4J. SOAP обеспечивает простой и гибкий механизм для отсылки запросов и получения ответов через HTTP. Протокол не связан с объектной моделью и может использоваться в различных бизнес-сценариях. В разработке первой версии (SOAP 1.0) участвовали фирмы Userland, Microsoft и Developmentor. С сентября 2000 года развитием протокола занимается рабочая группа комитета W3C — XMLP (XML Protocol).
- RPC (Remote Procedure Call, сервис вызова удаленных процедур) — интерфейс между удаленными пользователями и программами хоста, запускаемыми по запросам пользователей. Сервис RPC хоста, как правило, представляет клиентам комплекс программ, каждая из которых состоит из нескольких сервисных процедур. Сервис удаленной файловой системы NFS, который построен на вызовах RPC, может состоять из двух программ: одна из них взаимодействует с высокоуровневыми пользовательскими интерфейсами, другая — с низкоуровневыми функциями ввода/вывода. Протокол сетевого уровня RPC может использовать несколько различных протоколов транспортного уровня. Достоверность и надежность сообщений обеспечивается транспортным уровнем. Однако RPC может контролировать выбор некоторые функции транспортного протокола. RPC разработан в начале 1990-х годов. С развитием объектно-ориентированного программирования интерес к RPC снизился, поскольку его разработчики не смогли стандартизовать структуру данных.После дополнения RPC языком XML (версия XML-RPC разработана в 1998 году совместно фирмами Useful и Microsoft), он нашел применение и поддержку со стороны разработчиков проектов с открытым кодом (Open Source Projects), хотя W3C-стандартом так и не стал. Причина популярности XML-RPC в простоте, чем он отличается от SOAP. XML-RPC считается быстрым и надежным средством взаимодействия распределенных систем, не зависящим от языков. При необходимости SOAP-запрос может быть преобразован в запрос XML-RPC при помощи XSLT.
- XSLT (eXtensible Stylesheet Language for Transformations, XSL-Transformations; расширяемый язык стилей для преобразований) используется для описания преобразований структуры документов, позволяет трансформировать одни документы в другие, пользуясь простыми наборами правил преобразования; представляет собой прикладную XML-технологию, которая может применяться везде, где есть два документа разной структуры. XSLT предоставляет высокоуровневые средства для манипуляции данными, которые хранятся в виде XML. Хотя XSLT не позиционируется, как язык запросов для XML, его можно сравнить с языком SQL, в котором определяются запросы к реляционным базам данных.
- WSDL (Web Services Description Language) — язык описания программных интерфейсов), служит для описания Web-сервисов и определяет способ доступа к ним. WSDL является результатом объединения двух технологий: Network Accessible Service Specification Language (NASSL) фирмы IBM и Service Description Language (SDL) фирмы Microsoft. Для обнаружения Web-сервисов, их описания и интеграции используется универсальный метод — UDDI.
- UDDI (Universal Description, Discovery and Integration) — стандарт индексации Web-сервисов, определяет бизнес-реестр, в котором провайдеры могут регистрировать сервисы, а разработчики — искать необходимые им сервисы. В создании первой версии UDDI 1, завершенной в сентябре 2000 года, принимали участие более 200 фирм, в том числе IBM, Microsoft, Ariba, American Express, образовавшие Консорциум UDDI. В 2003 году консорциум UDDI объединился с некоммерческим международным Консорциумом OASIS (Organization for the Advancement of Structured Information Standards) — организацией, занимающейся ускорением создания и принятия продуктонезависимых публичных стандартов. К ним относятся ebXML и другие стандарты в области технологий обмена корпоративной информацией. Стандарт UDDI, ставший официальным стандартом OASIS, включает три раздела (секции), которые ориентированы на поиск данных о Web-сервисах по следующим направлениям:
«Белые страницы» описывают фирмы, содержат их идентификаторы и предоставляют контактную информацию; поддерживают North American Industry Classification System (NAICS; «Классификационная система промышленности Северной Америки») и Standard Industrial Classification (SIC, «Стандартная классификация промышленности»;
«Желтые страницы» содержат список бизнес-категорий, к которым относятся фирмы, в том числе их разделение по географическим признакам, секторам индустрии и видам продукции;
«Зеленые страницы» содержат сведения о способах выполнения бизнес-транзакций с каждой фирмой, включая информацию о бизнес-процессах и форматах данных.
«Желтые страницы» содержат список бизнес-категорий, к которым относятся фирмы, в том числе их разделение по географическим признакам, секторам индустрии и видам продукции;
«Зеленые страницы» содержат сведения о способах выполнения бизнес-транзакций с каждой фирмой, включая информацию о бизнес-процессах и форматах данных.
Выпущенная в 2002 году версия UDDI 2 расширила возможности UDDI в части функций поддержки биржевой информации и защиты данных, хранящихся в реестрах.
SOA (Service Oriented Architecture) — сервис-ориентированная архитектура, концепция построения Web-сервисов и связанные с нею технические и технологические решения, направленные на обеспечение процессов взаимодействия (интероперабельности) видов сервисов. Сами сервисы не предполагают архитектурных решений, но именно архитектура построения вычислительных и телекоммуникационных систем определяет характер процессов взаимодействия. SOA рассматривается не как методология проектирования систем, а его «архитектурный стиль», определяющий ряд принципов проектирования, которые должны учитывать особенности построения и развития систем. В частности, к ним относятся:
распределенный характер проектирования;
постоянство изменений — отдельные части архитектуры АИС могут претерпевать изменения в любой момент времени;
последовательное совершенствование — каждое локальное улучшение компонентов архитектуры должно приводить к совершенствованию всей архитектуры в целом — к росту суммарной полезности компонентов того же уровня, что изменяемый, а также компонентов более высокого и низкого уровней;
рекурсивность — однотипные решения имеют место на различных уровнях архитектуры.
SOA (Service Oriented Architecture) — сервис-ориентированная архитектура, концепция построения Web-сервисов и связанные с нею технические и технологические решения, направленные на обеспечение процессов взаимодействия (интероперабельности) видов сервисов. Сами сервисы не предполагают архитектурных решений, но именно архитектура построения вычислительных и телекоммуникационных систем определяет характер процессов взаимодействия. SOA рассматривается не как методология проектирования систем, а его «архитектурный стиль», определяющий ряд принципов проектирования, которые должны учитывать особенности построения и развития систем. В частности, к ним относятся:
распределенный характер проектирования;
постоянство изменений — отдельные части архитектуры АИС могут претерпевать изменения в любой момент времени;
последовательное совершенствование — каждое локальное улучшение компонентов архитектуры должно приводить к совершенствованию всей архитектуры в целом — к росту суммарной полезности компонентов того же уровня, что изменяемый, а также компонентов более высокого и низкого уровней;
рекурсивность — однотипные решения имеют место на различных уровнях архитектуры.