Usługi internetowe dla branży produkcyjnej

Niedawno zalecałem stosowanie luźno sprzężonych, asynchronicznych interfejsów komunikacyjnych dla systemów, które muszą być odporne na awarie, a zwłaszcza na chwilowe przerwy w komunikacji. Na szczęście istnieje nowa technika IT, która spełnia te wymagania. Usługi internetowe są nową klasą standardów API (interfejsu programów użytkowych), szybko zyskały uznanie użytkowników. W branży produkcyjnej uzupełniają one interfejsy OPC, stosowane do szybkiej komunikacji synchronicznej. Usługi internetowe są dobrym rozwiązaniem w systemach, kiedy nie jest wymagana duża szybkość komunikacji lub stosowane są asynchroniczne metody transmisji. Zazwyczaj potrzeba kilku lat, aby nowa technika IT dojrzała do zastosowań w branży produkcyjnej. Generalnie, inżynierowie odpowiedzialni za sterowanie procesami niechętnie stosują nowe rozwiązania, jeżeli pochodzą one z innych dziedzin. Usługi internetowe są inne, ale z powodzeniem mogą być stosowane w aplikacjach produkcyjnych.

Usługi bazujące na protokole HTTP stosowanym w Internecie przejęły koncepcję wymiany informacji typu żądanie-odpowiedź dla stron WWW. Najczęściej spotykane implementacje wykorzystują do wysyłania i odbierania danych język XML (eXtensible Markup Language – rozszerzalny język znacznikowy), który zapewnia przesyłanie danych niezależne od używanego systemu operacyjnego i aplikacji. Do wysyłania żądań i odbierania odpowiedzi w języku XML wykorzystywany jest protokół komunikacyjny

SOAP (Simple Object Application Protocol – prosty obiektowy protokół aplikacyjny). Protokół SOAP odpowiada za format przesyłanych informacji, definiując jakby „kopertę” przenoszącą informację XML. Zapewnia też standardowe informacje o nadawcy i odbiorcy, analogiczne jak adres wysyłki i adres zwrotny na kopercie papierowej. SOAP i XML uzupełniają dwa inne standardy: WSDL (Web Services Description Language – język opisu usług Web) i UDDI (Universal Description, Discovery and Integration – uniwersalny opis, odkrywanie i integracja). WSDL jest formatem dokumentu XML, opisującym usługę Web. Każdy dokument WSDL zawiera angielską definicję usługi oraz formaty wszystkich danych wejściowych i wyjściowych, wymaganych do jej wykorzystania. Końcowym elementem usług Web jest standard UDDI, stosowany do definiowania rejestrów usług (bazujących na XML). Rejestry te mogą być uważane za elektroniczne odpowiedniki „żółtych stron” w spisach teleadresowych. Standard UDDI definiuje sposób, w jaki aplikacja wczytuje, wyszukuje i łączy się z usługą internetową. UDDI wykorzystuje WDSL do dokumentowania usługi, a SOAP do uzyskania dostępu do katalogu UDDI.

Usługi Web są często połączone z oprogramowaniem pośrednim (MOM – middleware). MOM zawiera mechanizm buforowania komunikatów w protokole SOAP, gwarantujący dostarczenie wszystkich komunikatów nawet w przypadku wystąpienia chwilowej przerwy w komunikacji lub gdy aplikacja odbierająca jest tymczasowo niedostępna. Buforowanie gwarantuje również, że komunikat jest dostarczany tylko raz, nawet jeśli musi być przetrzymywany, aż aplikacja odbierająca będzie gotowa.

Może się wydawać, że do rozwiązywania prostych problemów komunikacji wykorzystano skomplikowaną technikę, jednak dwie rzeczy upraszczają problem. Po pierwsze, standard usług Web jest wbudowany w większość narzędzi do opracowywania oprogramowania. Narzędzia te automatycznie generują kod wysyłania i odbierania plików XML, generują interfejsy SOAP, tworzą dokumenty WSDL i wpisują usługi w rejestrach UDDI. Na rynku dostępne jest również oprogramowanie pośrednie do obsługi komunikatów, takie jak BizTalk firmy Microsoft.

Usługi Web upraszczają też komunikację, ponieważ aplikacje produkcyjne są zazwyczaj prostsze niż aplikacje czysto biznesowe. Aplikacje biznesowe wymagają dodatkowo zabezpieczania komunikatów i kontroli wymiany informacji w wielu interakcjach. Dlatego większość prac w dziedzinie rozwoju usług Web dotyczy opracowania standardów w tym zakresie. Natomiast zabezpieczenie aplikacji produkcyjnej nie jest tak skomplikowane, ponieważ większość usług wiąże się z wymianą pojedynczych komunikatów, a ponowne przeprowadzenie wymiany informacji nie jest konieczne lub nie jest możliwe.

Reasumując, należy stwierdzić, że usługi Web są obecnie dobrą metodą integracji systemu sterowania i powinny się znaleźć na Waszej liście technik integracyjnych.

Dennis Brandl, dbrandl@brlconsulting.com, jest prezesem firmy konsultingowej, skupiającej się na wytwarzaniu rozwiązań IT.