Веб-сервисы - Характеристики
Веб-сервисы обладают следующими особенностями поведения:
На основе XML
Веб-службы используют XML на уровнях представления данных и передачи данных. Использование XML исключает привязку к сети, операционной системе или платформе. Приложения на основе веб-сервисов обладают высокой степенью совместимости на своем базовом уровне.
Слабо связанный
Потребитель веб-службы не привязан напрямую к этой веб-службе. Интерфейс веб-службы может меняться с течением времени без ущерба для возможности взаимодействия клиента со службой. Тесно связанная система подразумевает, что логика клиента и сервера тесно связана друг с другом, что подразумевает, что при изменении одного интерфейса необходимо обновить другой. Применение слабосвязанной архитектуры делает программные системы более управляемыми и упрощает интеграцию между различными системами.
Крупнозернистый
Объектно-ориентированные технологии, такие как Java, предоставляют свои услуги отдельными методами. Отдельный метод - это слишком тонкая операция, чтобы обеспечить какую-либо полезную возможность на корпоративном уровне. Создание программы Java с нуля требует создания нескольких детализированных методов, которые затем объединяются в крупнозернистую службу, которая используется либо клиентом, либо другой службой.
Компании и интерфейсы, которые они предоставляют, должны быть крупнозернистыми. Технология веб-сервисов обеспечивает естественный способ определения крупномасштабных сервисов, которые обращаются к нужному количеству бизнес-логики.
Возможность быть синхронным или асинхронным
Синхронность относится к привязке клиента к выполнению услуги. При синхронных вызовах клиент блокирует и ожидает, пока служба завершит свою работу, прежде чем продолжить. Асинхронные операции позволяют клиенту вызывать службу, а затем выполнять другие функции.
Асинхронные клиенты получают свой результат позже, в то время как синхронные клиенты получают свой результат после завершения службы. Асинхронные возможности - ключевой фактор для создания слабосвязанных систем.
Поддерживает удаленные вызовы процедур (RPC)
Веб-службы позволяют клиентам вызывать процедуры, функции и методы удаленных объектов с использованием протокола на основе XML. Удаленные процедуры предоставляют параметры ввода и вывода, которые должна поддерживать веб-служба.
Разработка компонентов с помощью Enterprise JavaBeans (EJB) и компонентов .NET все чаще становится частью архитектур и корпоративных развертываний за последние пару лет. Обе технологии распространяются и доступны через различные механизмы RPC.
Веб-служба поддерживает RPC, предоставляя собственные службы, эквивалентные службам традиционного компонента, или путем преобразования входящих вызовов в вызов EJB или компонента .NET.
Поддерживает обмен документами
Одно из ключевых преимуществ XML - это универсальный способ представления не только данных, но и сложных документов. Эти документы могут быть такими простыми, как представление текущего адреса, или сложными, как представление всей книги или запроса предложения (RFQ). Веб-сервисы поддерживают прозрачный обмен документами для облегчения интеграции бизнеса.