Локальный веб сервис. Что такое Web-сервис. Смотреть что такое "WEB–сервис" в других словарях

Сегодня WEB сервисы используются практически повсеместно – именно они предоставляют нам информацию о рейсах самолетов и поездов, курсах валют и погоде. Неудивительно, что и 1С обладает возможностью создания собственных WEB сервисов, позволяющих выступать как в роли поставщика, так и потребителя. Данный механизм встроен в платформу «1С:Предприятие 8.3» и разработчики могут добавлять даже в типовую конфигурацию собственные объекты типа «WEB-сервисы». Их архитектура построена на наборе сервисов, позволяющих обмениваться информацией с другим программным обеспечением.

Создание веб-сервиса 1С

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

Как создавать веб-сервис в 1С?

Чтобы определенная функция системы 1С стала доступна внешнему ПО, необходимо выполнить следующий алгоритм действий:

  • Зайти в конфигурацию и в определенной ветке дерева добавить объект WEB-сервис;
  • Описать все операции, которые сможет выполнять наш функционал. Описание функций производиться в модуле на встроенном в 1С языке;
  • Добавить описание параметров функций веб-сервиса. Учтите, что типы данных описываются с учетом существующих типов механизма XDTO, появившегося в платформе версии 8.1;
  • Опубликовать созданный WEB-сервис на сервере. Механизм, встроенный в платформу 1С, поддерживает следующие стандарты:
    • SSL/TLS
    • WS-I BP
    Пример создания простого WEB-сервиса

    Чтобы наиболее наглядно продемонстрировать работу механизма WEB-сервисов, создадим пример – функционал, определяющий длину введенной строки. Программное обеспечение передаст в качестве параметра запроса строку, а функция, описанная в 1С, вернет число символов. При создании нужно помнить, что публикация этого механизма даст возможность обращения к нему различного ПО. Так как не каждое ПО способно воспринимать кириллицу, будем называть объекты конфигурации, используя латинские знаки.

    Открываем конфигуратор, находим в дереве ветку «WEB-сервисы» и добавляем новый сервис «wa_LengthString». Также необходимо на вкладке «Операции» добавить новую операцию. Назовем ее «CalcLengthString», в свойствах укажем тип возвращаемого значения – int или integer и создадим внутри нее параметр «InputString». Тип значения оставляем string.


    Теперь необходимо прописать действие функции CalcLengthString в модуле WEB-сервиса. Для этого открываем свойства созданной функции и нажимаем кнопку в виде лупы справа, у поля ввода «Имя процедуры». 1С автоматически создаст функцию в модуле нашего WEB-сервиса и откроет его для того, чтобы мы описали действие CalcLengthString. Воспользуемся этим и напишем действие функции – определение длины вводимой строки.


    Фактически на этом создание простейшего WEB-сервиса закончено. Теперь необходимо «выложить» этот сервис в общий доступ, чтобы стороннее ПО или другие системы 1С могли пользоваться данным функционалом.

    Для того чтобы мы смогли опубликовать созданный веб-сервис с его функциональностью, нам необходимо иметь доступ на сайт. Перед тем как мы начнем публикацию сервиса, необходимо проверить имя файла в свойствах созданного модуля wa_LengthString. Оно должно быть понятное, простое и иметь расширение «1cws».


    Теперь настало время публиковать созданный нами WEB-сервис на сервере. Эта возможность появилась в версии платформы 8.3 и многие компании уже поняли всю пользу этого функционала. Для того чтобы приступить к публикации, необходимо в конфигураторе открыть форму «Администрирование/Публикация на веб-сервере…».


    В открывшемся окне нам необходима настройка Web сервисов 1С и заполнение определенных полей:

    • Имя. Обозначает папку на веб-сервере, в которой будет храниться описание нашего веб-сервиса. Будьте внимательны к регистрам, так как иногда серверы различают символы большого и малого регистра;
    • Веб-сервер. Необходимо выбрать сервер из установленных на компьютере;
    • Каталог. Вы должны выбрать путь к папке, где хранятся данные веб-сервера по настройке подключения. Используются исключительно латинские буквы;
    • Два признака типа «Булево». Первый нам пригодиться, если необходимо настроить доступ через веб-клиент к конфигурации. Для того чтобы опубликовать сервис 1С, необходимо поставить вторую отметку.

    Остается лишь проверить, что у нужного WEB-сервиса установлена галка в первом столбце, и нажать на «Опубликовать».


    Так как данный механизм еще достаточно новый, то вы можете столкнуться с ошибкой вида «Ошибка при выполнении файловой операции…». В этом случае вам нужно просто повторить нажатие «Опубликовать». В большинстве случаев это помогает, и вам покажется сообщение о том, что публикация веб-сервиса выполнена.

    Ru//ws/.1cws?wsdl

    В ответ на такой запрос адреса браузер должен отобразить структуру файла XML. Если же вы видите пустую страницу, ошибку или непонятные символы (проблемы с кодировкой), то нужно еще раз проверить все действия. Также не лишним будет убедиться, что сервер настроен верно, и у вас есть к нему доступ. После успешной публикации WEB-сервис 1С смогут использовать сторонние приложения.

    На основе архитектуры веб-сервиса мы создаем следующие два компонента как часть реализации веб-сервисов:

    Поставщик услуг или издатель

    Это поставщик веб-сервиса. Поставщик услуг реализует эту услугу и делает ее доступной в Интернете или интрасети. Мы будем писать и публиковать простой веб-сервис с помощью.NET SDK.

    Провайдер услуг или потребитель

    Это любой потребитель веб-службы. Запросчик использует существующий веб-сервис, открывая сетевое соединение и отправляя XML-запрос. Мы также напишем два запроса для веб-сервисов: один веб-потребитель (приложение ASP.NET) и другой потребитель на основе приложений Windows.

    Ниже представлен наш первый пример веб-сервиса, который работает как поставщик услуг и предоставляет два метода (add and SayHello) в качестве веб-сервисов, которые будут использоваться приложениями. Это стандартный шаблон для веб-службы. В.NET-сервисах используется расширение.asmx. Обратите внимание, что метод, открытый как веб-служба, имеет атрибут WebMethod. Сохраните этот файл как FirstService.asmx в виртуальном каталоге IIS (как описано в настройке IIS, например, c: \ MyWebSerces).

    FirstService.asmx

    using System; using System.Web.Services; using System.Xml.Serialization; public class FirstService: WebService { public int Add(int a, int b) { return a + b; } public String SayHello() { return "Hello World"; } }

    Чтобы проверить веб-сервис, он должен быть опубликован. Веб-сервис может быть опубликован либо в интрасети, либо в Интернете. Мы опубликуем эту веб-службу в IIS, запущенной на локальной машине. Начнем с настройки IIS.

    • Открыть «Пуск» → « Настройки» → « Панель управления» → « Администрирование» → « Менеджер интернет-служб».
    • Разверните и щелкните правой кнопкой мыши веб-сайт по умолчанию; выберите «Новый» → « Виртуальный каталог». Откроется мастер создания виртуального каталога. Нажмите "Далее.
    • Откроется экран «Виртуальный каталог». Введите имя виртуального каталога. Например, MyWebServices. и нажмите «Далее».
    • Откроется экран «Каталог содержимого веб-сайта».
    • Введите имя каталога для виртуального каталога. Например, c: \ MyWebServices Нажмите «Далее».
    • Откроется экран «Разрешение доступа». Измените настройки в соответствии с вашими требованиями. Давайте сохраним настройки по умолчанию для этого упражнения.
    • Нажмите кнопку «Далее». Он завершает настройку IIS.
    • Нажмите «Готово», чтобы завершить настройку.

    Чтобы проверить, правильно ли настроен IIS, скопируйте файл HTML (например, x.html) в виртуальный каталог (C: \ MyWebServices), созданный выше. Теперь откройте Internet Explorer и введите http: //localhost/MyWebServices/x.html. Он должен открыть файл x.html.

    Примечание . Если это не сработает, попробуйте заменить localhost на IP-адрес вашего устройства. Если он все еще не работает, проверьте, запущен ли IIS; вам может потребоваться перенастроить IIS и виртуальный каталог.

    Чтобы протестировать эту веб-службу, скопируйте FirstService.asmx в виртуальный каталог IIS, созданный выше (C: \ MyWebServices). Откройте веб-службу в Internet Explorer (http: //localhost/MyWebServices/FirstService.asmx). Он должен открыть страницу веб-сервиса. На странице должны быть ссылки на два метода, которые мы предоставляем в виде веб-сервисов нашим приложением. Поздравления! Вы написали свой первый веб-сервис!

    Тестирование веб-службы

    Как мы только что видели, в.NET Framework легко писать веб-сервисы. Написание веб-сервисов также легко в среде.NET; однако, это немного более активно. Как уже говорилось ранее, мы будем писать два типа потребителей услуг: один веб-сайт и другой пользователь на основе приложений Windows. Давайте напишем нашего первого потребителя веб-сервисов.

    Веб-сервисы

    Напишите веб-потребителя, как указано ниже. Назовите это WebApp.aspx. Обратите внимание, что это приложение ASP.NET. Сохраните это в виртуальном каталоге веб-службы (c: \ MyWebServices \ WebApp.axpx). Это приложение имеет два текстовых поля, которые используются для получения номеров от пользователя для добавления. У нее есть одна кнопка «Выполнить», которая при нажатии получает веб-службы Add и SayHello.

    WebApp.axpx

    void runSrvice_Click(Object sender, EventArgs e){ FirstService mySvc = new FirstService(); Label1.Text = mySvc.SayHello(); Label2.Text = mySvc.Add(Int32.Parse(txtNum1.Text), Int32.Parse(txtNum2.Text)).ToString(); }

    First Number to Add : 4< /asp:TextBox>

    Second Number To Add : 5

    Web Service Result -

    Hello world Service : Label< /asp:Label>

    Add Service : & Label

    После создания потребителя нам необходимо создать прокси-сервер для использования веб-службы. Эта работа выполняется автоматически с помощью Visual Studio .NET для нас при ссылке на добавленный веб-сервис. Вот шаги, которые необходимо выполнить:

    • Создайте прокси-сервер для использования веб-службы. Прокси создается с помощью утилиты WSDL, поставляемой с.NET SDK. Эта утилита извлекает информацию из веб-службы и создает прокси-сервер. Прокси-сервер действителен только для определенной веб-службы. Если вам нужно использовать другие веб-службы, вам также необходимо создать прокси-сервер для этой службы. Visual Studio .NET автоматически создает прокси-сервер, когда добавляется ссылка на веб-службу. Создайте прокси для веб-службы с помощью утилиты WSDL, поставляемой с.NET SDK. Он создаст файл FirstSevice.cs в текущем каталоге. Нам нужно скомпилировать его для создания FirstService.dll (прокси) для веб-службы.
    • c:> WSDL http://localhost/MyWebServices/FirstService.asmx?WSDL
    • c:> csc /t:library FirstService.cs
    • Поместите скомпилированный прокси в каталог bin виртуального каталога веб-службы (c: \ MyWebServices \ bin). Информационные службы Интернета IIS ищет прокси-сервер в этом каталоге.
    • Создайте потребителя услуг так же, как и мы. Обратите внимание, что объект прокси-сервера веб-службы создается у потребителя. Этот прокси-сервер заботится о взаимодействии с сервисом.
    • Введите URL-адрес потребителя в IE, чтобы проверить его (например, http: //localhost/MyWebServices/WebApp.aspx).
    Потребитель веб-сервисов на основе приложений Windows

    Написание приложения для веб-служб на основе приложений Windows аналогично написанию любого другого приложения Windows. Вам нужно только создать прокси-сервер (который мы уже сделали) и ссылаться на этот прокси-сервер при компиляции приложения. Ниже приведено наше приложение Windows, которое использует веб-службу. Это приложение создает объект веб-службы (конечно, прокси) и вызывает методы SayHello и Add на нем.

    WinApp.cs

    using System; using System.IO; namespace SvcConsumer { class SvcEater { public static void Main(String args) { FirstService mySvc = new FirstService(); Console.WriteLine("Calling Hello World Service: " + mySvc.SayHello()); Console.WriteLine("Calling Add(2, 3) Service: " + mySvc.Add(2, 3).ToString()); } } }

    Скомпилируйте его с помощью c: \> csc /r:FirstService.dll WinApp.cs . Он создаст файл WinApp.exe. Запустите его, чтобы протестировать приложение и веб-службу.

    Теперь возникает вопрос: как вы можете быть уверены, что это приложение действительно вызывает веб-сервис?

    Это просто проверить. Остановите свой веб-сервер, чтобы с веб-службой не удалось связаться. Теперь запустите приложение WinApp. Он будет запускать исключение во время выполнения. Теперь снова запустите веб-сервер. Он должен работать.

    Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами . Он является средством поддержки SOA (Service-Oriented Architecture) - сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем.

    Значительным преимуществом сервис - ориентированной архитектуры является то, что она позволяет развивать инфраструктуру предприятия однородным образом, без разрушения уже существующих решений. Ее использование позволяет минимизировать издержки за счет интеграции разнородных и унаследованных систем в современный ландшафт предприятия. Она позволяет реализовывать слабо связные программные компоненты с тем, чтобы максимально повысить их повторную используемость.

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

    Прикладное решение 1С:Предприятия 8 может являться как поставщиком веб-сервисов, так и потребителем веб-сервисов, опубликованных другими поставщиками.

    В качестве потребителей могут выступать системы, использующие произвольные аппаратные и программные платформы. Технология веб-сервисов является платформенно независимой.


    Техническая реализация web-сервисов

    Если прикладное решение является поставщиком веб-сервиса то и в файловом , и в клиент-серверном варианте работы взаимодействие между прикладным решением и потребителями веб-сервиса осуществляется через веб-сервер, с помощью модуля расширения веб-сервера.

    При этом, когда потребитель обращается к web-сервису прикладного решения , выполняется модуль web-сервиса. Этот модуль содержится в конфигурации и в нем располагаются процедуры, выполняемые при вызове тех или иных операций web-сервиса.

    В случае клиент-серверного варианта работы этот модуль будет исполняться в кластере . В случае файлового варианта работы - в модуле расширения веб-сервера.

    Если прикладное решение является потребителем веб-сервиса стороннего поставщика, то в этом случае взаимодействие между прикладным решением и поставщиком веб-сервиса осуществляет клиентское приложение . Оно вызывает те или иные операции веб-сервиса и обрабатывает полученные данные.

    Платформа 1С:Предприятия, выступающая в роли потребителя веб-сервиса, поддерживает оптимизированную передачу двоичных данных по протоколу MTOM. Включение режима MTOM в 1С:Предприятии происходит автоматически.

    WEB–сервис – (от англ. web-service, синоним – онлайновая служба). Под веб-сервисами понимают услуги, которые предоставляются в Интернете с помощью специальных программ. Например, распространены такие сервисы, как: , хостинг, электронная почта, хранение в Интернете различной информации (файлы, закладки), календарь и т.д. Важное свойство веб-сервиса состоит в том, что он не зависит от вашего провайдера, компьютера или браузера - вы можете работать со своими данными в любой точке мира, где у вас есть доступ в .

    Князев А.А. Энциклопедический словарь СМИ. - Бишкек: Издательство КРСУ . А. А. Князев . 2002 .

    Смотреть что такое "WEB–сервис" в других словарях:

      Web-сервис

      Web сервис - Веб служба. Веб служба, веб сервис (англ. web service) программная система, идентифицируемая строкой интерфейсы определены на языке XML, и передаваемых с помощью интернет протоколов. Веб служба является единицей модульности при использовании… … Википедия

      Web Cache Communication Protocol - (WCCP) разработанный компанией Cisco протокол перенаправления контента. Предоставляет механизм перенаправления потоков трафика в реальном времени. Имеет встроенные масштабирование, балансировку нагрузки, отказоустойчивость. Cisco IOS… … Википедия

      Web Map Service - (WMS рус. сервис веб карт) стандартный протокол для обслуживания через Интернет географически привязанных изображений, генерируемых картографическим сервером на основе данных из БД ГИС. Данный стандарт был разработан и впервые… … Википедия

      Web Hotel Salvador - (Сальвадор,Бразилия) Категория отеля: 2 звездочный отель Адрес: Rua das Alfazemas … Каталог отелей

      Web Hotel Aparecida - (Апаресида,Бразилия) Категория отеля: 3 звездочный отель Адрес: Av. Isaac Ferrei … Каталог отелей

      сервис-ориентированная архитектура - Бизнес процессы организации реализуются на основе сервисов, предоставляемых существующими приложениями Заказчика. Если приложения не поддерживают возможность предоставления cервисов (Web Services), при внедрении продукта разрабатываются… … Справочник технического переводчика

      Web 2

      Web 2.0 - Ключевые понятия, связываемые с Веб 2.0 Web 2.0 (определение Тима О’Рейли) методика проектирования систем, которые путем учета сетевых взаимодействий, становятся тем лучше, чем больше людей ими пользуются. Особенностью веб 2.0. является принцип… … Википедия

      Web-сайт - Запрос «сайт» перенаправляется сюда. Cм. также другие значения. Веб сайт (от англ. Website: web паутина и site «место») в компьютерной сети объединённая под одним доменным именем или IP адресом) совокупность документов частного лица или… … Википедия

    Книги
    • Информационные технологии в туристической индустрии , В. Н. Шитов. В пособии подробно рассматриваются компьютерные технологии общего назначения с использованием популярных пакетов Microsoft Office 2010 и альтернативных комплексов, использование… Купить за 546 руб
    • 75 готовых решений для вашего Web-сайта на PHP , Стейнмец У., Вард Б.. Каждый, кто делает или собирается сделать свой web-сайт, неизбежно сталкивается с целым рядом задач и трудностей: как сделать блог на сайте….... "прикрутить" голосование, закрыть определенные…

    Механизм Web-сервисов системы «1С:Предприятие» основан на использовании одноименных объектов метаданных, т.е. объектов конфигурации из ветви «Web-сервисы».

    1. ОБЩИЕ ОПРЕДЕЛЕНИЯ

    Попробуем дать обобщённое определение термину «Web-сервис».

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

    Веб-сервис идентифицируется строкой URI (Uniform Resource Identifier) - унифицированным идентификатором ресурса (это символьная строка, позволяющая идентифицировать какой-либо ресурс).

    Веб-сервис имеет программный интерфейс, представленный в формате WSDL (Web Services Description Language) - язык описания веб-сервисов и доступа к ним, основанный на языке XML (спецификация http://www.w3.org/TR/wsdl). Предназначен для унифицированного представления внешних интерфейсов веб-службы и используется для того, чтобы другая программа знала, что такой «сервис» есть у этой программы (т.е. первая программа на веб сайте выкладывает сведения о своих сервисах именно в формате файла WSDL).

    Другие системы взаимодействуют с веб-сервисом путем обмена сообщениями протокола SOAP (Simple Object Access Protocol - простой протокол доступа к объектам) - протокол обмена структурированными сообщениями в распределенной вычислительной среде (спецификация http://www.w3.org/TR/soap). Как любой текстовый протокол, SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTPS и другие, но чаще всего SOAP используется поверх HTTP.

    Рисунок 1. Концепция веб-сервиса.

    SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC).

    Таким образом, между веб-сервисом и приложением осуществляется обмен XML-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют:

    Формат сообщений, интерфейс, которому передается сообщение;

    Правила привязки содержания сообщения к реализующему сервис приложению и обратно;

    Механизмы публикации и поиска интерфейсов.

    Самый простой и очевидный пример применения web-сервисов - получение справочных данных из публичных сервисов, доступных в Интернете. Например, Аэрофлот посредством Web-сервиса предоставляет информацию о своих рейсах, Банк России - информацию о курсах валют, ценных бумагах, кредитных организациях - вариантов может быть много.

    2. WEB -СЕРВИСЫ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

    Прикладное решение «1С:Предприятия 8» может являться:

    Поставщиком веб-сервисов;

    В системе «1С:Предприятия 8» Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами и приложениями «1С:Предприятия 8» между собой.

    Иными словами система «1С:Предприятие» может экспортировать свою функциональность через Web-сервисы. Их определения задаются в дереве конфигурации и становятся доступны произвольным информационным системам благодаря публикации их на веб-сервере .

    Механизм Web-сервисов в системе «1С:Предприятие» является средством поддержки сервисно-ориентированной архитектуры (Service-Oriented Architecture, SOA) - означает, что программы для обмена данными друг с другом используют «сервисы».

    Для того чтобы функциональность системы «1С:Предприятие» могла быть доступна внешним потребителям Web-сервисов, нужно выполнить следующие действия:

    Создать в конфигурации необходимое количество Web-сервисов;

    Создание Web-сервиса заключается:

    В добавлении в дерево метаданных объекта конфигурации Web-сервис;

    Описании операций, которые может выполнять данный Web-сервис;

    Описании параметров операций.

    Объект конфигурации Web-сервис содержит модуль, в котором создаются процедуры на встроенном языке, выполняемые при вызове тех или иных операций Web-сервиса. Типы параметров операций Web-сервиса описываются с помощью типов XDTO и могут представлять собой либо значения XDTO, либо объекты XDTO.

    Вызов Web-сервиса происходит следующим образом:

    Из пула соединений выбирается подходящее соединение с информационной базой; при отсутствии необходимого соединения соединение создается;

    Создается новый сеанс;

    Выполняется вызов затребованного метода Web-сервиса.

    Механизм Web-сервисов, реализованный в системе «1С:Предприятие», поддерживает следующие стандарты:

    WS-I Basic Profile 1.1;

    SSL 3.0/TLS 1.0.

    3. ИЗУЧЕНИЕ WEB -СЕРВИСОВ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

    Похожие статьи