Практическое применение Web-сервисов в "1С:Предприятии 8"

 
Web-сервисы – очень удобный инструмент в тех ситуациях, когда нужно "научить общаться" несколько разнородных систем (зачастую принадлежащих разным предприятиям) в сжатые сроки и ценой относительно небольших трудозатрат.
 
 
Web-сервисы относятся к той части платформы "1С:Предприятия", которая отвечает за интеграцию с внешними системами. Область их применения определяется для каждой информационной системы индивидуально.
 
В рамках этой темы следует дать понятие основным терминам:
 
Web-сервис – это некая информационная система, предоставляющая другим системам доступ к некоторым своим функциям с помощью стандартизированного программного интерфейса.
 
SOA ("Service-Oriented Architecture", сервисно-ориентированная архитектура) определяется как модель (образец) организации и использования распределенных информационных ресурсов, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителями. Модель SOA не привязана к какой-то конкретной технологии и может быть реализована самыми разными способами.
 
SOAP ("Simple Object Access Рrotocol", простой протокол доступа к объектам) – это стандарт, используемый для обмена структурированной информацией между распределенными системами-участниками, т.е. технология.
 
Технология Web-сервисов поддерживается практически всеми современными платформами и средствами разработки. Приложение, работающее на одной платформе, может свободно обращаться к Web-сервисам других приложений, функционирующих на совсем иных платформах. При этом, что важно, приложение, предоставляющее доступ к своим данным, и приложение-потребитель ничего не знают о внутреннем устройстве друг друга. В этом и состоит главная отличительная особенность архитектуры SOA.
 
Рассмотрим несколько примеров:
 
  • Получение справочных данных из публичных сервисов, доступных в Интернете.
Например, с помощью Web-сервиса Latvijas Banka предоставляет информацию о курсах валют, ценных бумагах, кредитных организациях (возможны и другие варианты). Регулярная автоматическая загрузка в базу данных "1С:Предприятия" актуальной информации от Latvijas Banka достаточно востребована клиентами.
 
  • Интеграция информационной системы и Web-сайта компании.
Предположим, Вам захотелось немного порадовать своих заказчиков и дать им возможность получать актуальную информацию о состоянии заказа в Интернете. Сайт вашей компании реализован, например, на популярной у Web-разработчиков платформе LAMP (Linux, Apache, MySQL, РНР) и знать ничего не знает про "1С:Предприятие". Информация о заказах находится в информационной базе "1С:Управления торговлей", которая также не имеет никакого понятия о существовании сайта. Но обе платформы умеют передавать и получать данные посредством Web-сервисов – следовательно, их легко можно интегрировать. В прикладном решении (конфигурации) "1С:Предприятия" потребуется создать Web-сервис, умеющий читать состояние заказа по его идентификатору. На сайте потребуется создать простую функцию, которая получает от посетителя идентификатор заказа, запрашивает Web-сервис и показывает полученный результат. Важно, что при таком подходе структура данных каждой из систем не изменяется, а вмешательство в их программный код минимально.
 
 
Практически любая операция взаимодействия с деловыми партнерами может стать сервисом: «получить список актуальных цен», «произвести заказ», «информировать о платежах», «потребовать сравнительного акта» и т.д.
Огромное количество сотрудников различных предприятий ежедневно занимается ручной оцифровкой "бумажной" информации, трудозатраты на двойной (как минимум) ввод одних и тех же данных на разных "концах провода" явно неэффективны.
Зачем вручную вводить один и тот же документ в две системы, если первая система-инициатор процесса может самостоятельно передать информацию системе-получателю?
Зачем вручную формировать отчет и вручную же высылать его по электронной почте, если информационная система может сделать это самостоятельно по просьбе внешнего пользователя?
 
Безусловно, нельзя регламентировать и автоматизировать все варианты взаимодействия во всем мире, но некоторые типичные и регулярно повторяемые на конкретных предприятиях – вполне можно и даже необходимо.
 
Конечно, несмотря на очевидные достоинства Web-сервисов, и эта технология имеет слабые места. В первую очередь, производительность при передаче данных, "обернутых" Web-сервисом, будет ниже, чем при прямом взаимодействии информационных систем. При передаче небольших объектов потеря производительности будет незаметна, но, если за одно обращение нужно передавать десятки мегабайт, – наверное, следует поискать какую-то другую технологию.
 
Результаты от внедрения технологий SOA в повседневную практику предприятия не будут мгновенными и совершенно точно не будут ошеломляющими. Но мы не постесняемся повторить в очередной раз: успешный, прибыльный и развивающийся бизнес складывается из небольших по весу кирпичиков, часть которых изготавливается в отделах и департаментах информационных технологий.
 
По материалам статьи журнала PC Magazine (Russian Edition)
"Практическое применение Web-сервисов в «1С:Предприятии 8»"
от 02.09.2011
.