Что такое веб-сервис? XML Web Services. Обзор технологии Что такое web сервис
На основе архитектуры веб-сервиса мы создаем следующие два компонента как часть реализации веб-сервисов:
Поставщик услуг или издательЭто поставщик веб-сервиса. Поставщик услуг реализует эту услугу и делает ее доступной в Интернете или интрасети. Мы будем писать и публиковать простой веб-сервис с помощью.NET SDK.
Провайдер услуг или потребительЭто любой потребитель веб-службы. Запросчик использует существующий веб-сервис, открывая сетевое соединение и отправляя XML-запрос. Мы также напишем два запроса для веб-сервисов: один веб-потребитель (приложение ASP.NET) и другой потребитель на основе приложений Windows.
Ниже представлен наш первый пример веб-сервиса, который работает как поставщик услуг и предоставляет два метода (add and SayHello) в качестве веб-сервисов, которые будут использоваться приложениями. Это стандартный шаблон для веб-службы. В.NET-сервисах используется расширение.asmx. Обратите внимание, что метод, открытый как веб-служба, имеет атрибут WebMethod. Сохраните этот файл как FirstService.asmx в виртуальном каталоге IIS (как описано в настройке IIS, например, c: \ MyWebSerces).
FirstService.asmx
<%@ WebService language = "C" class = "FirstService" %> 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
<%@ Page Language="C#" %>
После создания потребителя нам необходимо создать прокси-сервер для использования веб-службы. Эта работа выполняется автоматически с помощью 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 -сервисов». Освежим некоторые знания.
Web-сервисы применяются для обмена данными между сервером и клиентом; формат XML используется для «упаковывания» данных в целях взаимопонимания между обоими участниками общения.
РАЗДЕЛ I
ПРИМЕР РЕАЛИЗАЦИИ WEB -СЕРВИСА В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
ЗАДАЧА: Необходимо создать web-сервис, обращаясь к которому клиенты могут определить всю необходимую информацию по своим заявкам.
Задача является демонстрационной и служит только примером для понимания и обучения механизму web -сервисов.
РЕШЕНИЕ:
Шаг 1. Создадим новую информационную базу без конфигурации для разработки новой конфигурации.
Шаг 2. Добавим в конфигурацию несколько новых объектов
Справочник «Клиенты»;
Документ «Заявка»;
Перечисление «СтатусыЗаявок».
Шаг 3. Создадим новый XDTO-пакет.
Почему и для чего мы создаем XDTO-пакет? Подробнее об использовании механизма XDTO можно прочитать в «Глава 16. Руководство разработчика» и .
Коротко отметим лишь только то, что механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.
В нашем случае пакет XDTO создается для описания возвращаемого значения web-сервиса.
Раскроем ветку «Общие» → «XDTO-пакеты» → Добавить…
Укажем имя XDTO-пакета «DocumentsData » и его пространство имен http://localhost/request или http://192.168.1.76/request (для облегчения понимания и процесса обучения, мы указываем локальный IP-адрес компьютера, где установлен web-сервер (поддерживаемые web-сервера: IIS или Apache)). Каждый Web-сервис может быть однозначно идентифицирован по своему имени и URI пространству имен, которому он принадлежит.
Наш пакет содержит два типа объектов XDTO:
1) Сustomer - для передачи данных элемента справочника «Клиенты».
- Name ;
2) Document - для передачи данных документа «Заявки»
Этот тип объекта XDTO будет содержать следующие свойства:
- Сustomer - тип Сustomer из пространства имен http://192.168.1.76/request ; представляет собой ссылку на объект XDTO, который мы определили выше;
- Status - тип string из пространства имен http://www.w3.org/2001/XMLSchema ;
- Numder - тип string из пространства имен http://www.w3.org/2001/XMLSchema .
Шаг 4. Добавим в конфигурацию новый Web-сервис
Раскроем ветку «Общие» → «Web-сервисы» → Добавить…
Для Web-сервиса укажем следующими значения свойств:
Имя - DocumentsData
URI Пространства имен - http://192.168.1.76/request
Пакеты XDTO - DocumentsData или http://192.168.1.76/request
Имя файла публикации - request.1cws
Шаг 5. У созданного Web-сервиса определим операцию «GetData »
Значения свойств операции:
Тип возвращаемого значения - Document (http://192.168.1.76/request)
Возможно пустое значение - Истина
Имя процедуры - GetData .
Шаг 6. У операции GetData определим параметр Сustomer со следующими значениями свойств:
Тип значения - тип string из пространства имен http://www.w3.org/2001/XMLSchema;
Направление передачи - входной .
Шаг 7. Откроем модуль созданного Web-сервиса и поместить в него функцию Получить(), которая будет выполняться при вызове данного Web-сервиса.
Функция GetData(Сustomer) // Получить типы объектов XDTO КлиентТип = ФабрикаXDTO.Тип("http://192.168.1.76/request", "Сustomer"); ЗаявкаТип = ФабрикаXDTO.Тип("http://192.168.1.76/request", "Document"); // Получаем клиента КлиентСсылка = Справочники.Клиенты.НайтиПоНаименованию(Сustomer); Если Не ЗначениеЗаполнено(КлиентСсылка) Тогда Возврат Неопределено; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Заявка.Ссылка, | ПРЕДСТАВЛЕНИЕ(Заявка.Статус) КАК Статус, | Заявка.Номер |ИЗ | Документ.Заявка КАК Заявка |ГДЕ | Заявка.Клиент = &Клиент"; Запрос.УстановитьПараметр("Клиент", КлиентСсылка); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат Неопределено; КонецЕсли; Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); Документ = Выборка.Ссылка.ПолучитьОбъект(); // Создать объект XDTO заявки Заявка = ФабрикаXDTO.Создать(ЗаявкаТип); Заявка.Numder = Выборка.Номер; Клиент = ФабрикаXDTO.Создать(КлиентТип); Клиент.Name = КлиентСсылка.Наименование; Заявка.Сustomer = Клиент; Заявка.Status = Выборка.Статус; // Вернуть заявку Возврат Заявка; КонецФункции
Шаг 8. Опубликуем созданный Web-сервис на веб-сервере.
Пункт меню Конфигуратор: «Администрирование» → «Публикация на Web-сервере».
На вкладке «Web-сервисы» устанавливаем признак «Публиковать Web-сервисы» и напротив нашего нового Web-сервиса также ставим «галочку».
РАЗДЕЛ II
ПРИМЕР ОБРАЩЕНИЯ К WEB -СЕРВИСУ СИСТЕМЫ «1С:ПРЕДПРИЯТИЕ» ИЗ СТОРОННЕГО ПРИЛОЖЕНИЯ
Основное назначение механизма Web-сервисов в системе «1С:Предприятие» - это передача необходимых данных сторонним приложениям.
Рассмотрим пример разработки приложения на Delphi обращения к нашему web-сервису из первого раздела данной статьи.
Шаг 1. Создадим новый проект и на форме разместим несколько элементов управления
Текстовое поле - используется для вывода полученной от web-сервиса информации;
Две кнопки - очистка текстового поля и обращение к web-сервису;
Поле ввода - передаваемый в web-сервис параметр.
Шаг 2. Выполняем импорт WSDL-файла
В результате мы получаем новый модуль request (такое наименование мы определили непосредственно в 1С). В данном модуле имеется все необходимая информация по web-сервису.
Шаг 3. Напишем обработчик вызова web-сервиса
Переменная DocumentDataPortType уже определена в модуле request
Шаг 4. Запустить приложение и выполнить проверку.
РАЗДЕЛ III
ПРИМЕР ОБРАЩЕНИЯ К WEB -СЕРВИСУ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
Шаг 1. Создадим новую внешнюю обработку с именем «WEB_Service»
Шаг 2. Для обработки определим новую форму
Шаг 3. У формы укажем несколько реквизитов
Клиент - тип «Строка»
КлиентВозврат - тип «Строка»
НомерВозврат - тип «Строка»
СтатусВозврат - тип «Строка».
Выведем реквизиты на форму.
Шаг 4. Добавим команду формы «ПолучитьДанные »
Укажем обработчик команды
&НаКлиенте Процедура ПолучитьДанные(Команда) ПолучитьДанныеНаСервере(Клиент); КонецПроцедуры Процедура ПолучитьДанныеНаСервере(Клиент) // Создать WS-прокси на основании ссылки и выполнить операцию Получить() Определение = Новый WSОпределения("http://192.168.1.76/WEB_Service/ws/request.1cws?wsdl"); Прокси = Новый WSПрокси(Определение, "http://192.168.1.76/request", "DocumentsData", "DocumentsDataSoap"); ДанныеЗаявки = Прокси.GetData(Клиент); Если ДанныеЗаявки = Неопределено Тогда КлиентВозврат = "Неопределено"; СтатусВозврат = "Неопределено"; НомерВозврат = "Неопределено"; Возврат; КонецЕсли; КлиентВозврат = ДанныеЗаявки.Сustomer.Name; СтатусВозврат = ДанныеЗаявки.Status; НомерВозврат = ДанныеЗаявки.Numder; КонецПроцедуры
Система «1С:Предприятие» может использовать веб-сервисы, предоставляемые другими поставщиками, двумя способами:
С помощью статических ссылок, создаваемых в дереве конфигурации;
«плюс»: большая скорость работы;
«минус»: повторный импорт WSDL-описания средствами конфигуратора и сохранение измененной конфигурации.
С помощью динамических ссылок, создаваемых средствами встроенного языка
(соответственно «минусы» статических для динамических - «плюсы»)
РАЗДЕЛ IV
ОТЛАДКА WEB-СЕРВИСОВ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
Для локального web-сервиса необходимо:
Шаг 1. Положить на клиент, где запускается система 1С файлик webservicecfg.xml со следующим содержимом
Шаг 2. В файл default . vrd публикации конфигурации добавить строку
Шаг 3. В конфигураторе выбрать пункт меню
«Отладка» → «Подключение» → «Автоматическое подключение» → «Web-сервисы на сервере»
Шаг 4. Нажать на кнопку «OK»
Для серверного варианта надо еще сервер 1с запускать в режим отладки с ключом /debug
Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами . Он является средством поддержки SOA (Service-Oriented Architecture) - сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем.
Значительным преимуществом сервис - ориентированной архитектуры является то, что она позволяет развивать инфраструктуру предприятия однородным образом, без разрушения уже существующих решений. Ее использование позволяет минимизировать издержки за счет интеграции разнородных и унаследованных систем в современный ландшафт предприятия. Она позволяет реализовывать слабо связные программные компоненты с тем, чтобы максимально повысить их повторную используемость.
Сервис-ориентированная архитектура интенсивно развивается и поддерживается крупными вендорами. Она строится на базе сервисов, автономных или управляемых извне. Предпочтительным способом их реализации являются веб-сервисы. Они независимы от платформы, автономны и поддерживаются повсеместно.
Прикладное решение 1С:Предприятия 8 может являться как поставщиком веб-сервисов, так и потребителем веб-сервисов, опубликованных другими поставщиками.
В качестве потребителей могут выступать системы, использующие произвольные аппаратные и программные платформы. Технология веб-сервисов является платформенно независимой.
Техническая реализация web-сервисов
Если прикладное решение является поставщиком веб-сервиса то и в файловом , и в клиент-серверном варианте работы взаимодействие между прикладным решением и потребителями веб-сервиса осуществляется через веб-сервер, с помощью модуля расширения веб-сервера.
При этом, когда потребитель обращается к web-сервису прикладного решения , выполняется модуль web-сервиса. Этот модуль содержится в конфигурации и в нем располагаются процедуры, выполняемые при вызове тех или иных операций web-сервиса.
В случае клиент-серверного варианта работы этот модуль будет исполняться в кластере . В случае файлового варианта работы - в модуле расширения веб-сервера.
Если прикладное решение является потребителем веб-сервиса стороннего поставщика, то в этом случае взаимодействие между прикладным решением и поставщиком веб-сервиса осуществляет клиентское приложение . Оно вызывает те или иные операции веб-сервиса и обрабатывает полученные данные.
Платформа 1С:Предприятия, выступающая в роли потребителя веб-сервиса, поддерживает оптимизированную передачу двоичных данных по протоколу MTOM. Включение режима MTOM в 1С:Предприятии происходит автоматически.
Мы отобрали 10 лучших веб-сервисов, обзоры которых публиковались в «Лайфхакере» в прошлом году. Эти инструменты помогают нам эффективно организовывать время и работать в команде, управлять своим бизнесом, приобретать новые знания и развивать свои способности, получать больше удовольствия от отдыха и развлечений. Попробуйте их в новом году и пусть ваша жизнь станет ярче и комфортнее!
Гениальный мэшап ifttt позволяет устанавливать причинно-следственную связь между событиями в различных веб-сервисах по принципу «Если это произошло в одном сервисе, то то произойдет в другом сервисе». Поддерживается более 20 сервисов, социальных сетей и технологий: Gmail и любая другая почта, RSS, Facebook, Twitter, Evernote, Dropbox, Google Reader, Google Talk, Foursquare, Flickr, Instapaper, ReadItLater, LinkedIn, YouTube и другие. Кроме того, событиями служат SMS, телефонные звонки, изменения котировок акций и даже изменение погоды в заданном регионе. Примеры автоматизированных процессов, созданных с помощью ifttt: «если в Google Reader пост отмечен звездочкой, то он сохраняется в Evernote», «если начался дождь в Нью-Йорке, то приходит уведомление об этом в SMS». А теперь представьте себе возможности ifttt в будущем «интернете вещей », когда разные электронные устройства смогут общаться друг с другом! ;) Впервые я узнал об этом сервисе от друга «Лайфхакера» Виктора Захарченко. Позже он также рассказывал о своем опыте использования ifttt в сольном выпуске подкаста «42» , посвященном продуктивности и управлению стартапами.
Bookmate - ваша личная электронная библиотека, книги из которой можно читать на компьютере и мобильных устройствах (iPhone, iPad, Android, Symbian). При этом происходит синхронизация данных между используемыми вами девайсами - приступив к чтению на компьютере, вы можете продолжить его на смартфоне или планшете с того места, где остановились. В фонде Bookmate хранится несколько тысяч бесплатных книг, множество книг доступны по подписке стоимостью всего 99 рублей в месяц. Если вы не найдете среди них нужной книги, вы можете загрузить ее в библиотеку самостоятельно. Сервис позволяет делиться с друзьями рекомендациями, видеть списки их чтения и брать книги с их книжных полок. Любителям чтения могу порекомендовать также замечательную социальную сеть книголюбов Goodreads, которой уже почти год пользуюсь сам и о которой мы говорили в 40-ом выпуске подкаста «42» вместе с Петром Диденко и Виктором Захарченко.
Современные компании должны использовать новые технологии для повышения конкурентоспособности и стимулирования своего развития. Многие задачи учета и управления бизнесом можно отдавать на аутсорсинг, и во многих случаях удобным для ИП или ООО является использование таких облачных сервисов, как «Мое дело». Этот сервис - выгодная замена привычного аутсорсинга. С его помощью можно в полуавтоматическом режиме вести бухгалтерский учет, рассчитывать налоги, сдавать отчетность в государственные органы в электронном виде через интернет, получать экспертные консультации, за 15 минут создавать пакет документов, необходимых для регистрации ИП (а в скором времени появится возможность готовить документы и для регистрации ООО). Обратите также внимание на аналогичный сервис от компании «СКБ Контур» - электронный бухгалтер «Эльба ». Если вам интересна тема облачных технологий для бизнеса, то слушайте 54-ый выпуск подкаста «42» с участием Петра Диденко и Нины Горбуновой.
Еще одна важная категория облачных сервисов - системы управления проектами. Одной из лучших (и бесплатной) является TeamLab, достойный конкурент Basecamp и других популярных систем. TeamLab поставляется в трех решениях - в виде SaaS для использования в браузере сразу же после регистрации аккаунта; в виде открытого исходного кода, который можно самостоятельно дорабатывать под свои нужды и вкусы, чтобы затем развернуть систему на своих серверах; и в виде виртуальной машины с предустановленным порталом TeamLab на серверах Amazon. TeamLab включает в себя модули управления проектами, совместной работы, управления документами, календарь, CRM-систему (систему управления взаимоотношениями с клиентами). Менеджер по маркетингу TeamLab Нина Горбунова представляла эту систему в 54-ом выпуске подкаста «42» про облачные технологии для бизнеса.
Новый модный сервис Pinterest позволяет создавать красивые виртуальные доски с изображениями различных предметов, зданий, мест, интерьеров, блюд - всего того, что вы любите и хотите показать другим. Новые объекты добавляются на доски очень просто - с помощью букмарклета для браузеров или вручную через веб-интерфейс. В Pinterest вы можете следить за обновлениями виртуальных досок своих друзей, разглядывая интересные картинки в поисках идей, вдохновения и просто хорошего настроения. В качестве примера приведу мою доску «Гости подкаста „42“ » с фотографиями всех замечательных гостей, информацией об их деятельности и ссылками на выпуски подкаста с их участием.
С помощью сервиса для тайм-трекинга Yast можно отслеживать затраты времени на различные проекты и отдельные задачи, находить слабые места в своем рабочем графике и оптимизировать их. Сервис предназначен как для индивидуальных пользователей, так и для небольших команд. Счетчик времени при выполнении задачи запускается и останавливается одним щелчком мыши, а позже вы получаете подробные отчеты в разных разрезах. Тайм-трекеры являются очень полезными инструментами управления временем - не менее важными, чем менеджеры задач и календари. По своему опыту знаю, что личную эффективность можно радикально повысить, глубоко изучив свой рабочий график и уделив немного времени его оптимизации.
Moredays - онлайн-органайзер, стилизованный под бумажные планировщики и чем-то напоминающий легендарные Молескины. Главное его достоинство - изумительная красота. Дизайнеры постарались на славу и сделали один из самых красивых органайзеров в мире. При этом Moredays обладает довольно богатой функциональностью: можно управлять задачами, планировать время в календаре, хранить заметки, контакты, делиться отдельными страницами органайзера с другими людьми через Twitter, Facebook и Google+, синхронизировать данные с Evernote и Google Apps, а в скором времени появятся и клиенты для мобильных устройств.
Если вы - один из основателей Facebook, то любой ваш проект мгновенно становится известным. Так и случилось с системой управления проектами Asana Дастина Московица, со-основателя крупнейшей в мире социальной сети. Однако Asana заслуживает внимания не только из-за личности Дастина - разработчики создали простой и удобный сервис с приятным, но строгим интерфейсом. Asana подойдет для индивидуального использования и для работы в небольшой команде. Функциальность системы трудно назвать богатой, но, возможно, именно в этом и заключается одно из ее главных достоинств для тех, кому не требуются перегруженные функциями инструменты управления проектами. Asana синхронизируется с Google Calendar, Apple iCal и Microsoft Outlook, интегрируется с почтой, имеет клиенты для смартфонов и планшетов.
BO.LT предоставляет простую, но при этом удивительную возможность отредактировать по своему вкусу любую веб-страницу. Достаточно указать ее адрес и вы сможете очень легко, без знания HTML и прочих технологий веб-разработки, вносить любые изменения в текст и дизайн копии этой веб-страницы, а затем отправлять другим людям сокращенную ссылку на результат. Приглашенные к просмотру друзья или коллеги также могут редактировать данную веб-страницу. Сервис незаменим, когда требуется ясно представить внешний вид сайта после различных доработок, провести мозговой штурм по поиску новых идей для дизайна или показать друзьям веб-страницу со своими пояснительными комментариями. Можно переключиться в режим редактирования HТML-кода, чтобы получить еще большую свободу действий.
Уважаемые читатели, а какие веб-сервисы понравились вам в 2011 году? Какие из них вы можете порекомендовать нам для обзоров в «Лайфхакере»?
Механизм 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С:ПРЕДПРИЯТИЕ»