Защо са необходими уеб услуги? Уеб услуги

Защо са необходими уеб услуги? Уеб услуги

Механизмът на уеб услугите на системата 1C:Enterprise се основава на използването на обекти с метаданни със същото име, т.е. конфигурационни обекти от клона „Уеб услуги“.

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

Нека се опитаме да дадем обща дефиниция на термина „уеб услуга“.

Уеб услугата е мрежова технология, осигурявайки междупрограмно взаимодействие (между различни приложения) въз основа на уеб стандарти. Уеб услугите позволяват достъп от едно приложение до друго и в същото време изпълняват определени функции.

Уеб услугата се идентифицира чрез URI (Uniform Resource Identifier) ​​низ - унифициран идентификатор на ресурс (това е символен низ, който ви позволява да идентифицирате ресурс).

Уеб услугата има програмен интерфейс, представен във формат WSDL ( Уеб услуги 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 документи, форматирани като съобщения, се обменят между уеб услугата и приложението. Стандартите за уеб услуги определят:

Формат на съобщението, интерфейс, към който се изпраща съобщението;

Правила за свързване на съдържанието на съобщението с приложението, изпълняващо услугата и обратно;

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

Най-простият и очевиден пример за използване на уеб услуги е получаването на справочни данни от обществени услуги, достъпни в Интернет. Например Aeroflot предоставя информация за своите полети чрез уеб услуга, Банката на Русия предоставя информация за обменни курсове, ценни книжа, кредитни институции - може да има много опции.

2. УЕБ УСЛУГИ В СИСТЕМАТА 1C:ПРЕДПРИЯТИЕ

Приложното решение 1C:Enterprise 8 може да бъде:

Доставчик на уеб услуги;

В системата 1C:Enterprise 8 уеб услугите са един от платформените механизми, използвани за интеграция с други информационни системии 1C:Enterprise 8 приложения помежду си.

С други думи, системата 1C:Enterprise може да експортира своята функционалност чрез уеб услуги. Техните дефиниции са посочени в конфигурационното дърво и стават достъпни за произволни информационни системи чрез публикуването им на уеб сървър.

Механизмът за уеб услуги в системата 1C:Enterprise е средство за поддържане на Service-Oriented Architecture (SOA) - което означава, че програмите използват „услуги“ за обмен на данни помежду си.

За да може функционалността на системата 1C:Enterprise да бъде достъпна за външни потребители на уеб услуги, трябва да изпълните следните стъпки:

Създайте необходимия брой уеб услуги в конфигурацията;

Създаването на уеб услуга се състои от:

При добавяне на обект за конфигурация на уеб услуга към дървото с метаданни;

Описания на операциите, които тази уеб услуга може да изпълнява;

Описание на работните параметри.

Конфигурационният обект на уеб услугата съдържа модул, в който се създават процедури на вградения език, които се изпълняват при извикване на определени операции на уеб услугата. Типовете параметри за работа на уеб услугата се описват с помощта на XDTO типове и могат да бъдат или XDTO стойности, или XDTO обекти.

Уеб услугата се нарича, както следва:

Избира се подходяща връзка от пула за връзки с информационна база; ако няма необходима връзка, се създава връзка;

Създава се нова сесия;

Исканият метод на уеб услуга се извиква.

Механизмът за уеб услуги, внедрен в системата 1C:Enterprise, поддържа следните стандарти:

WS-I Основен профил 1.1;

SSL 3.0/TLS 1.0.

3. ИЗУЧАВАНЕ НА УЕБ УСЛУГИ В СИСТЕМАТА 1C: ПРЕДПРИЯТИЕ

Въз основа на архитектурата на уеб услугата, ние създаваме следните два компонента като част от внедряването на уеб услугите:

Доставчик на услуги или издател

Това е доставчик на уеб услуги. Доставчикът на услуги рекламира тази услуга и я прави достъпна в интернет или интранет. Ще напишем и публикуваме проста уеб услуга, използвайки .NET SDK.

Доставчик на услуги или потребител

Това е всеки потребител на уеб услуга. Заявителят използва съществуваща уеб услуга, като отвори мрежова връзкаи изпращане на XML заявка. Също така ще напишем две заявки за уеб услуги: една уеб потребителска (ASP.NET приложение) и друга потребителска, базирана на Windows приложение.

По-долу е нашият първи пример за уеб услуга, която действа като доставчик на услуги и излага два метода (add и SayHello) като уеб услуги, които ще се използват от приложенията. Това е стандартен шаблон за уеб услуга. .NET услугите използват разширението .asmx. Имайте предвид, че метод, изложен като уеб услуга, има атрибут WebMethod. Запазете този файл като FirstService.asmx във виртуалната директория на IIS (както е описано в конфигурацията на IIS, например c:\MyWebSerces).

FirstService.asmx

използване на системата; използване на System.Web.Services; използване на 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). Това приложение има две текстови полета, които се използват за получаване на числа от потребителя за добавяне. Има един бутон Run, който при щракване получава уеб услугите 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) .Текст)).ToString(); )

Първо число за добавяне: 4< /asp:TextBox>

Второ число за добавяне: 5

Резултат от уеб услугата -

Здравей, свят Услуга: Етикет< /asp: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). Internet Information Services IIS търси прокси сървър в тази директория.
  • Създайте потребител на услуги точно като нас. Имайте предвид, че прокси обектът на уеб услугата се създава при потребителя. Този прокси сървър се грижи за взаимодействието с услугата.
  • Въведете потребителския URL адрес в IE, за да го тествате (напр. http://localhost/MyWebServices/WebApp.aspx).
Потребител на уеб услуга, базирана на приложение на Windows

Писането на приложение за уеб услуги, базирано на приложение на Windows, е подобно на писането на всяко друго приложение на Windows. Трябва само да създадете прокси (което вече направихме) и да посочите това прокси, когато компилирате приложението. По-долу е нашият Windows приложение, който използва уеб услуга. Това приложение създава обект на уеб услуга (прокси, разбира се) и извиква методите SayHello и Add върху него.

WinApp.cs

използване на системата; използване на 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) Услуга: " + mySvc.Add(2, 3).ToString()); ) ) )

Компилирайте го с c: \> csc /r:FirstService.dll WinApp.cs. Той ще създаде файл WinApp.exe. Стартирайте го, за да тествате приложението и уеб услугата.

Сега възниква въпросът: как можете да сте сигурни, че това приложение наистина извиква уеб услугата?

Лесно е да се провери. Спрете вашия уеб сървър, така че уеб услугата да не може да бъде осъществена. Сега стартирайте приложението WinApp. Ще хвърли изключение по време на изпълнение. Сега стартирайте отново уеб сървъра. Би трябвало да работи.

Избрахме 10-те най-добри уеб услуги, рецензии за които бяха публикувани в Lifehacker миналата година. Тези инструменти ни помагат ефективно да организираме времето и работата в екип, да управляваме бизнеса си, да придобиваме нови знания и да развиваме способностите си и да получаваме повече удоволствие от почивката и развлеченията. Опитайте ги през новата година и нека животът ви стане по-светъл и удобен!

Гениалният ifttt mashup ви позволява да установите причинно-следствена връзка между събития в различни уеб услуги според „Ако Товастана в един сервиз, значи Чеще се случи на друга услуга.“ Поддържат се повече от 20 услуги, социални мрежи и технологии: Gmail и всяка друга поща, RSS, Facebook, Twitter, Evernote, Dropbox, Google Reader, Google Talk, Foursquare, Flickr, Instapaper, ReadItLater, LinkedIn, YouTube и други. Освен това SMS служи като събития, телефонни обаждания, промени в цените на акциите и дори промени във времето в даден регион. Примери за автоматизирани процеси, създадени с помощта на ifttt: „ако публикация е маркирана със звездичка в Google Reader, тя се запазва в Evernote“, „ако започне да вали в Ню Йорк, тогава известие за това се изпраща чрез SMS.“ Сега си представете възможностите на ifttt в бъдещия „Интернет на нещата“, когато е различен електронни устройстваще могат да общуват помежду си! ;) За първи път научих за тази услуга от приятел от Lifehacker, Виктор Захарченко. По-късно той също говори за опита си с използването на ifttt в соло епизод на подкаста 42, посветен на производителността и управлението на стартиране.

Bookmate е вашата лична електронна библиотека, книги от която можете да четете на вашия компютър и мобилни устройства(iPhone, iPad, Android, Symbian). В същото време данните се синхронизират между устройствата, които използвате - след като започнете да четете на вашия компютър, можете да го продължите на вашия смартфон или таблет от мястото, където сте спрели. Фондът на Bookmate съдържа няколко хиляди безплатни книги, много книги се предлагат чрез абонамент, струващ само 99 рубли на месец. Ако сред тях не намерите желаната книга, можете сами да я качите в библиотеката. Услугата ви позволява да споделяте препоръки с приятели, да виждате техните списъци за четене и да заемате книги от техните лавици. За любителите на четенето мога да препоръчам и прекрасната социална мрежа на книгоманите Goodreads, която аз самият използвам от почти година и за която говорихме в 40-ия епизод на подкаста „42“ заедно с Пьотр Диденко и Виктор Захарченко.

Съвременните компании трябва да използват нови технологии, за да повишат конкурентоспособността си и да стимулират своето развитие. Много задачи по счетоводство и управление на бизнеса могат да бъдат възложени на външни изпълнители и в много случаи е удобно за индивидуален предприемач или LLC да използва облачни услуги като „Моят бизнес“. Тази услуга е изгоден заместител на конвенционалния аутсорсинг. С негова помощ можете полуавтоматично да водите счетоводна документация, да изчислявате данъци, да подавате отчети до държавни органи по електронен път през интернет, да получавате експертни съвети и за 15 минути да създавате пакет от документи, необходими за регистрация на индивидуален предприемач (и скоро ще е възможно да се подготвят документи и за регистрация на LLC). Моля, обърнете внимание и на подобна услуга от фирма СКБ Контур - електронен счетоводител "Елба". Ако се интересувате от темата за облачните технологии за бизнеса, тогава слушайте 54-ия епизод на подкаста „42“ с участието на Петър Диденко и Нина Горбунова.

Друга важна категория облачни услуги са системите за управление на проекти. Един от най-добрите (и безплатни) е TeamLab. достоен състезател Basecamp и други популярни системи. TeamLab се предлага в три решения - като SaaS за използване в браузъра веднага след регистриране на акаунт; под формата на отворен програмен код, които можете независимо да модифицирате, за да отговарят на вашите нужди и вкусове, и след това да разположите системата на вашите сървъри; и във формата виртуална машинас предварително инсталиран портал TeamLab на сървъри на Amazon. TeamLab включва модули за управление на проекти, сътрудничество, управление на документи, календар, CRM система (система за управление на взаимоотношенията с клиенти). Мениджърът по маркетинг на TeamLab Нина Горбунова представи тази система в 54-ия епизод на подкаста „42“ за облачни технологииза бизнес.

Новата модерна услуга Pinterest ви позволява да създавате красиви виртуални табла с изображения на различни обекти, сгради, места, интериори, ястия - всичко, което обичате и искате да покажете на другите. Новите обекти се добавят към дъските много лесно - с помощта на отметка за браузъри или ръчно през уеб интерфейса. В Pinterest можете да следвате виртуалните дъски на вашите приятели, като разглеждате интересни снимки за идеи, вдъхновение и просто Имайте добро настроение. Като пример ще ви дам моята дъска „42 Podcast Guests“ със снимки на всички прекрасни гости, информация за техните дейности и връзки към подкаст епизоди с тяхно участие.

Използвайки услугата за проследяване на времето Yast, можете да проследявате времето, прекарано в различни проекти и отделни задачи, да намирате слаби места в работния си график и да ги оптимизирате. Услугата е предназначена както за индивидуални потребители, така и за малки екипи. Таймерът на задачите стартира и спира с едно кликване, а по-късно получавате подробни отчети в различни секции. Проследяващите време са много полезни инструменти за управление на времето - също толкова важни, колкото диспечери на задачи и календари. От моя собствен опит знам, че личната ефективност може да бъде радикално подобрена чрез задълбочено изучаване на работния ви график и отделяне на малко време за оптимизирането му.

Moredays е онлайн органайзер, стилизиран като хартиени планери и донякъде напомнящ на легендарните Moleskines. Основното му предимство е невероятната му красота. Дизайнерите са се постарали и са направили един от най-красивите органайзери в света. В същото време Moredays има доста богата функционалност: можете да управлявате задачи, да планирате време в календара, да съхранявате бележки, контакти, да споделяте отделни странициорганайзер с други хора чрез Twitter, Facebook и Google+, синхронизиране на данни с Evernote и Google Apps и клиенти за мобилни устройства скоро ще бъдат налични.

Ако сте един от основателите на Facebook, тогава всеки ваш проект моментално става известен. Това се случи със системата за управление на проекти Asana на Дъстин Московиц, съосновател на най-голямата в света социална мрежа. Asana обаче заслужава внимание не само заради личността на Дъстин - разработчиците са създали проста и удобна услуга с приятен, но строг интерфейс. Асана е подходяща за индивидуална употреба и за работа в малък екип. Функционалността на системата трудно може да се нарече богата, но може би точно това е едно от основните й предимства за тези, които не се нуждаят от инструменти за управление на проекти, претоварени с функции. Asana се синхронизира с Google Calendar, Apple iCal и Microsoft Outlook, интегрира се с поща, има клиенти за смартфони и таблети.

BO.LT предоставя проста, но невероятна възможност за редактиране на всяка уеб страница по ваш вкус. Достатъчно е да посочите неговия адрес и можете много лесно, без познания по HTML и други технологии за уеб разработка, да правите промени в текста и дизайна на копието на тази уеб страница и след това да изпращате на други хора съкратена връзка към резултата . Приятели или колеги, които поканите да видят, също могат да редактират тази уеб страница. Услугата е незаменима, когато имате нужда от ясно представяне външен видсайт след различни модификации, изп мозъчна атаказа да намерите нови идеи за дизайн или да покажете на приятелите си уеб страницата с вашите обяснителни коментари. Можете да превключите на режим за редактиране на HTML код, за да получите още повече свобода на действие.

Уважаеми читатели, какви уеб услуги харесахте през 2011 г.? Кои можете да ни препоръчате за прегледи в Lifehacker?

Уеб услугата е софтуер, който предоставя независим от платформата достъп до вашите данни на други софтуерни продуктипрез интернет, използвайки XML и стандарти като SOAP, WSDL и UDDI.

За какво на практика могат да се използват уеб услугите? Представете си фондова борса, чиито сървъри имат пълна информациявърху текущите котировки на всички ценни книжа, търгувани на тази борса. Това е много важна информация, онлайн достъпът до която може да бъде много ценен и полезен за отдалечено софтуерни системи. Или друг пример, по-близък до обикновения човек: сървър на метеорологичното бюро може да съдържа информация за метеорологичните условия в определен регион или на цялата планета. Тази информация може да се използва и от приложения на трети страни.

Много хора често са виждали информатори на сайтове за времето, но това не е най-удобният метод за получаване на реална информация за корпоративни приложения, тъй като ограничава възможността за работа с получената информация. Можете да направите само две неща с такъв информатор: да го „закачите“ на уебсайта си или да го премахнете от уебсайта, ако вече е публикуван там. Но какво да кажем за приложенията, които трябва да получават необработени данни от сървъра на Met Office и да ги обработват, за да извършват някои сложни операции (например графично моделиране на карти със съответната температура, нанесена върху региони)?

За да се решат подобни проблеми, борсовият или метеорологичният офис сървър може да стане доставчик (доставчик) на уеб услуги, а приложенията, които получават данни от тях чрез интернет, могат да станат потребители на тези данни. По този начин се формира архитектура клиент-сървър, където доставчикът на данни е сървърът, а потребителят е клиентът, докато сървърът и клиентският софтуер не трябва да са съвместими, основното условие е поддръжката на уеб услуги.

Обменът между сървъра и клиента се осъществява чрез стандартни интернет протоколи, като например HTTP. Уеб услугата се описва и дефинира API за взаимодействие с нея. в този случай елементите на този API се преобразуват автоматично в езикови конструкции за езика за програмиране, който клиентското приложение използва. Уеб услугите са описани в съответствие със спецификацията WSDL (Web Services Description Language). Самите данни се прехвърлят от сървъра към клиента във формат SOAP (Simple Object Access Protocol).

С други думи, клиентското приложение осъществява достъп до WSDL файла чрез неговия URL адрес, т.е. използвайки обичайния метод GET. В същото време той получава описание на методите на уеб услугата и след това може да ги използва като свои собствени (т.е. без да пише допълнителен код от страна на клиента - уеб услугата става, така да се каже, отдалечено продължение на клиентската програма ).

Уеб услугите са един от платформените механизми, използвани за интеграция с други информационни системи. Това е средство за поддържане на SOA (Service-Oriented Architecture), ориентирана към услуги архитектура, която е модерен стандарт за интегриране на приложения и информационни системи.

Значително предимство на ориентираната към услуги архитектура е, че ви позволява да развивате корпоративната инфраструктура по единен начин, без да разрушавате съществуващата съществуващи решения. Използването му ви позволява да минимизирате разходите чрез интегриране на хетерогенни и наследени системи в съвременния корпоративни пейзаж. Позволява ви да внедрите свободно свързани софтуерни компонентиза да се увеличи максимално повторното им използване.

Архитектурата, ориентирана към услуги, се развива интензивно и се поддържа от големи доставчици. Изгражда се на базата на услуги, автономни или управлявани отвън. Предпочитаният начин за реализирането им е чрез уеб услуги. Те са независими от платформата, самостоятелни и се поддържат навсякъде.

Приложното решение 1C:Enterprise 8 може да бъде както доставчик на уеб услуги, така и потребител на уеб услуги, публикувани от други доставчици.

Системи, използващи произволни хардуерни и софтуерни платформи, могат да действат като потребители. Технологията на уеб услугите е независима от платформата.


Техническа реализация на уеб услуги

Ако приложното решение е доставчик на уеб услуги, тогава както в файловия, така и в клиент-сървърния режим на работа, взаимодействието между приложното решение и потребителите на уеб услуги се осъществява чрез уеб сървъра, като се използва модулът за разширение на уеб сървъра.

В този случай, когато потребител получи достъп до уеб услугата на приложно решение, модулът за уеб услуга се изпълнява. Този модул се съдържа в конфигурацията и съдържа процедури, които се изпълняват при извикване на определени операции на уеб услуга.

В случай на версия клиент-сървър на работа, този модул ще се изпълнява в клъстер. В случай на файлова версия на работа - в модула за разширение на уеб сървъра.

Ако приложното решение е потребител на доставчик на уеб услуги на трета страна, тогава взаимодействието между приложното решение и доставчика на уеб услуги се осъществява от клиентското приложение. Той извиква определени операции на уеб услугата и обработва получените данни.

Платформата 1C:Enterprise, действаща като потребител на уеб услуги, поддържа оптимизирано предаване на двоични данни чрез протокола MTOM. Активирането на режим MTOM в 1C:Enterprise става автоматично.