Standardy Technologie Biznesu Elektronicznego Politechnika Wrocławska, Wydział Informatyki i Zarządzania Wrocław, 26 kwiecień 2005
Standardy Plan prezentacji 1 Wprowadzenie 2 Standardy 3 4 5
Standardy Definicje (1) Pojęcia podstawowe Zastosowania Architektura wg IBM Samodzielne modularne aplikacje, które mogą być opisane, opublikowane, zlokalizowane i wywoływane przez sieć - generalnie przez WWW. wg Microsoft Programowalna logika aplikacji dostępna za pomocą standardowych protokołów Internetu. wg Gartner Group Komponenty programowe reprezentujące funkcje biznesowe (lub usługi biznesowe) dostępne dla innych aplikacji za pośrednictwem sieci publicznej i przy użyciu ogólnie dostępnych, powszechnych protokołów internetowych.
Standardy Definicje (2) Pojęcia podstawowe Zastosowania Architektura Definicja wg Webservices.org: Hermetyzowane, luźno skojarzone, udokumentowane funkcje, oferowane poprzez standardowe protokoły. Hermetyzowane (ang. encapsulated) - implementacja metody nigdy nie jest widziana z zewnątrz. Luźno skojarzone (ang. loosely coupled) - modyfikowanie danej implementacji metody nie generuje problemu propagacji zmiany. Udokumentowane (ang. contracted) - istnieją publicznie dostępne opisy zachowania metod oraz specyfikacja ich interfejsów.
Standardy Właściwości Pojęcia podstawowe Zastosowania Architektura Rodzaje usług internetowych Usługi niematerialne (udostepniąjace informacje) Usługi mające odzwierciedlenie w świecie rzeczywistym (np. autoryzacja karty kredytowej) Sposoby tworzenie usług Zaczynając od projektu oraz opisu usługi, następnie generując odpowiedni kod i na końcu implementując funckjonalność. Obudowując odpowiednim interfejsem już istniejące komponenty
Standardy Zastosowania (1) Pojęcia podstawowe Zastosowania Architektura Komunikacja z partnerami biznesowymi w znacznym stopniu wspierają i umożliwiają interakcje B2B. Systemy informatyczne należące do różnych organizacji, mogą się bez przeszkód komunikować. Dzięki wykorzystaniu protokołu HTTP, brak przeszkód ze strony zapór. Integracja systemów wewnątrz przedsiębiorstwa Przy użyciu usług można z łatwością dokonać integracji różnych heterogenicznych systemów w przedsiębiorstwie. umożliwiają aplikacjom wymienianie się informacjami za pośrednictwem Internetu, niezależnie od systemu operacyjnego i oprogramowania.
Standardy Zastosowania (2) Pojęcia podstawowe Zastosowania Architektura Dodatkowe możliwości dla przedsiębiorstw Dzięki możliwości publikacji usług i udostępniania ich innym firmom, programiści mogą wybierać pomiędzy tworzeniem własnych komponentów, a korzystaniem z już stworzonych. Z drugiej strony istnieje możliwość oferowania własnych usług innym, zwiększając tym samym liczbę źródeł przychodu.
Standardy Architektura Pojęcia podstawowe Zastosowania Architektura
Standardy Założenia architektoniczne Pojęcia podstawowe Zastosowania Architektura Usługi oparte są na XML, uniwersalnym języku internetowej wymiany danych Komunikaty przesyłane za pomocą protokołu SOAP Rysunek: Stos protokołów
Standardy Przedstawienie standardów Przedstawienie standardów SOAP WSDL UDDI Podstawę dla usług stanowi 5 standardów: HTTP - protokół służący do przesyłania komunikatów XML - język wymiany informacji SOAP (Simple Object Access Protocol) - protokół zapewniający prostą, rozszerzalną i wszechstronną infrastrukturę do wymiany komunikatów XML WSDL ( Description Language) - język opisujący pełny kontrakt komunikacji z usługą UDDI (Universal Description, Discovery And Integration) - globalny katalog, rejestr usług umożliwiający ich publikowanie, wyszukiwanie oraz przeglądanie
Standardy Przedstawienie standardów SOAP WSDL UDDI SOAP (Simple Object Access Protocol) Definicja wg specyfikacji SOAP 1.2 SOAP to prosty protokół, który ma służyć do wymiany ustrukturyzowanych informacji w zdecentralizowanym, rozproszonym środowisku. SOAP wykorzystuje technologie XML do definiowania rozszerzalnej infrastruktury komunikacyjnej określającej strukturę komunikatów, które mogą być wymieniane za pośrednictwem różnych protokołów. Infrastruktura ta ma być niezależna od wszelkich modeli programowania oraz innych semantyk, specyficznych dla poszczególnych implementacji.
Cechy SOAP (1) Wprowadzenie Standardy Przedstawienie standardów SOAP WSDL UDDI Rozszerzalność SOAP umożliwia włączenie różnych funkcji związanych z systemami rozproszonymi (bezpieczeństwo, wiarygodność, ruting) jako warstwy rozszerzeń. Możliwość stosowania wielu protokołów sieciowych SOAP może być stosowany z dowolnym protokołem transportowym, takim jak TCP, HTTP, SMTP lub nawet MSMQ. Jednak - aby zachować interoperacyjność - konieczne jest zdefiniowanie standardowych wiązań protokołów, które określałyby reguły dla każdego środowiska.
Cechy SOAP (2) Wprowadzenie Standardy Przedstawienie standardów SOAP WSDL UDDI Niezależność od zastosowanego modelu programistycznego SOAP umożliwia stosowanie dowolnej liczby wzorców wymiany komunikatów (message exchange pattern - MEP), a wzorzec żądanie/odpowiedź (request/response) to tylko jedna z wielu możliwości. Inne przykłady wzorców to: zaproszenie/odpowiedź (solicit/response), powiadomienia (notification) oraz długa wymiana komunikatów pomiędzy systemami peer-to-peer.
Wiadomość SOAP Wprowadzenie Standardy Przedstawienie standardów SOAP WSDL UDDI SOAP jest protokołem bezstanowym i jednokierunkowym, ale istnieje możliwość budowy bardziej złożonych wiadomości. Stanowi tylko jedną z warstw. Nie zawiera informacji o semantyce przesyłanych danych oraz nie zajmuje się niezawodnością dostarczenia ich do odbiorcy.
Standardy Struktura wiadomości SOAP Przedstawienie standardów SOAP WSDL UDDI
Standardy Przedstawienie standardów SOAP WSDL UDDI WSDL ( Description Language) WSDL - język służący do opisu usług oparty na XML. Dokument WSDL określa technikę współdziałania z usługą i pełni rolę kontraktu pomiędzy nią, a klientem. Oto cechy takiego dokumentu: Opisuje używane w komunikacji z usługą typy danych (XML Schema) Definuje operacje i przypisuje odpowiednie do nich komunikaty, a nestępnie grupuje operacje w interfejsy. Określa protokół stosowany do komunikacji z usługą oraz wiązanie pomiędzy nim, a interfejsem. Przypisuje wiązanie do uniklanych adresów URI (punktów końcowych).
Standardy Struktura dokumentu WSDL Przedstawienie standardów SOAP WSDL UDDI
Elementy WSDL Wprowadzenie Standardy Przedstawienie standardów SOAP WSDL UDDI Nazwa types message porttype binding service Opis elementu Zawiera definicje typów abstrakcyjnych zdefiniowanych przy użyciu schematu XML. Definicja abstrakcyjnego komunikatu, który może składać się z wielu części, a każda część może być innego typu. Abstrakcyjny zbiór operacji obsługiwanych przez jeden lub kilka punktów końcowych. Specyfikacja konkretnego protokołu i formatu danych dla określonego porttype. Zbiór powiązanych punktów końcowych - punkt końcowy definiowany jest jako połączenie wiązania i adresu (URI)
Standardy Przedstawienie standardów SOAP WSDL UDDI UDDI (Universal Description, Discovery and Integration) UDDI - Rozproszony katalog (rejestr biznesowy) - umożliwiający firmom i aplikacjom w szybki i łatwy sposób znajdować i używać usług. Zawiera informacje dotyczące zarówno samych firm, jak i zarejestrowanych przez nie usług. Pełni rolę swoistej książki adrsowej, w której skład wchodzą: białe strony (ang. white pages) - informacje dotyczące dostawcy usługi (adres, dane kontaktowe) żółte strony (ang. yellow pages) - wykaz dostawców usług ułożony według klasyfikacji przemysłowej zielone strony (ang. green pages) - opisy usług wraz z odnośnikami do nich
Standardy Architektura UDDI (1) Przedstawienie standardów SOAP WSDL UDDI UDDI Business Registry (UBR) publiczny rejestr, który logicznie jest scentralizowany, natomiast fizycznie rozproszony i replikowany. Rysunek: Dodawanie i aktualizacja danych
Standardy Architektura UDDI (2) Przedstawienie standardów SOAP WSDL UDDI Założenia UBR UBR oferuje publiczne rejestry usług, umożliwiając przedsiębiorstwom reklamowanie swoich usług i pozwala wyszukiwać partnerów biznesowych. Przedsiębiorstwa mogą rejestrowac się u dowolnego operatora i te same informacje po pewnym czasie będą znajdywaly się u każdego operatora. Prywtne rejestry UDDI UDDI nie oznacza wyłącznie publicznego rejestru UBR. Możliwe są również węzły prywatne, nie bedące częścia UBR, jak i prywatne sieci węzłów, które synchronizują się między sobą, ale nie oddziaływują w żaden sposób z UBR.
Standardy Budowa rejestru UDDI Przedstawienie standardów SOAP WSDL UDDI
Google Wprowadzenie Standardy Google Amazon Google Web APIs - usługa udostępniona przez Google dająca możliwość wykonywania zapytań do wyszukiwarki bezpośrednio ze swojej aplikacji. Usługa ta udostępnia trzy możliwe żądania : Search Requests - przesłanie szukanego zapytania wraz z parametrami - w odpowiedzi uzyskujemy zbiór znalezionych wyników Cache Requests - przesłanie URL - w odpowiedzi uzyskujemy zawartość adresu URL ostatni raz odwiedzaną przez robota Google Spelling Requests - przesłanie zapytania - w odpowiedzi uzyskujemy sugestię poprawy pisowni
Standardy Amazon E-Commerce Service Google Amazon Amazon E-Commerce Service - usługa udostępniona przez jeden z największych sklepów internetowych Amazon.com. Usługa ta ma większe podłoże biznesowe w porównaniu do poprzedniego przykładu. A oto część z możliwych operacji, które ona udostępnia: Wyszukiwanie produktów według różnych złożonych kryteriów i pobieranie ich danych. Stworzenie i zarządzanie koszykiem z zakupami. Sprawdzanie danych klientów oraz sprzedawców. Pobieranie listy produktów danego sprzedawcy.
Standardy Usługi w.net (1).NET J2EE Dodatkowe narzędzia VS.NET w bardzo dużym stopniu wspieraja usługi. Do ich obsługi.net Framework udostępnia przestrzeń nazw System.Web.Services, w której znajdują się następujące klasy: WebService - klasa podstawowa dla XML, która dostarcza bezpośredni dostęp do wspólnych obiektów ASP.NET, takich jak stan aplikacji i sesji WebServiceAttribute - klasa umożliwiająca dodanie dodatkowych informacji do usługi, np. opisu jej funkcjonalności WebMethodAttribute - atrybut, który określa, które matody wchodzące w skład klasy dziedziczącej po WebService będą możliwe do wywoływania przez klienta usługi
Standardy Usługi w.net (2).NET J2EE Dodatkowe narzędzia wsdl.exe.net Framework udostępnia narzędzie wsdl.exe służące do generowania klas na podstawie definicji WSDL. Narzędzie to może wygenerować klasę umożliwiającą dostęp do usługi oraz klasę implementującą usługę. Tworzenie usługi Aby stworzyć prostą usługę, wystarczy w VS.NET stworzyć nowy projekt ASP.NET Web Service i odkomentować metodę HelloWorld.
J2EE Wprowadzenie Standardy.NET J2EE Dodatkowe narzędzia i J2EE J2EE w tej chwili jest dominującą technologią w sferze usług Web Services. W przeciwieństwie do poprzedniej technologii, tutaj mamy do wyboru wiele środowisk umożliwiających tworzenie usług oraz późniejsze ich udostępnienie. Jednakże z powodu licznych rozszerzeń oferowanych przez różnych producentów, nie możemy mówić o pełnej przenośności oprogramowania J2EE.
Środowiska J2EE Wprowadzenie Standardy.NET J2EE Dodatkowe narzędzia BEA WebLogic Platform 8.1 IBM WebSphere WASP (Web Applications and Services Platform) Apache Axis + Apache Jakarta Tomcat JWSDP (Java Developer Pack)
Standardy Dodatkowe narzędzia (1).NET J2EE Dodatkowe narzędzia XMLSpy 2005 Pełne wsparcie dla protokołu SOAP: Iterpreter dokumentów WSDL Tworzenie żądania SOAP, przesyłanie go do usługi Web Service i odbiór odpowiedzi SOAP Potęzny SOAP Debugger Obsługa plików WSDL - edytor wraz z wizualizacją oraz walidator
Standardy Dodatkowe narzędzia (2).NET J2EE Dodatkowe narzędzia WST (Web Standard Tools) WST jest rozszerzeniem platformy Eclipse wspierającym tworzenie wielowarstwowych aplikacji Web. Poniżej znajduje się część dostarczanych narzędzi przez to rozszerzenie: Tworzenie i publikowanie schematów WSDL w rejestrze UDDI. Zgłębianie rejestru UDDI i testowanie usług poprzez WSDL. Testowanie usług ze względu na zgodność z WS-I.
Wprowadzenie Standardy umożliwiają zestandaryzowaną komunikację pomiędzy programami napisanymi w różnych językach i dla różnych platform. Obecnie jest to najważniejsza technologia wspierająca integrację systemów informatycznych. Główne protokoły, na których bazują usługi : XML - język będący standardem internetowym, na którym oparte są usługi, zwane również XML SOAP - protokół komunikacyjny dla usług WSDL - język opisujący usługę UDDI - rejestr usług
Materiały (1) Wprowadzenie Standardy Witryna w całości poświęcona technologii usług http://www.webservices.org/ Witryna poświęcona usługom w technologii.net http://www.theserverside.net/ Witryna poświęcona usługom w technologii J2EE http://www.theserverside.com/ Specyfikacja protokołu SOAP http://www.w3.org/tr/soap/ Specyfikacja języka WSDL http://www.w3.org/tr/wsdl Specyfikacja i omówienie UDDI http://www.uddi.org/
Materiały (2) Wprowadzenie Standardy WSDL - omówienie (Aaron Skonnard) http://www.microsoft.com/poland/developer/techniczne/wsdl.mspx SOAP - omówienie (Aaron Skonnard) http://www.microsoft.com/poland/developer/techniczne/soap.mspx Usługi XML podstawy http://www.microsoft.com/poland/developer/techniczne/xml 2.mspx Web services sposób na integrację (Józef Muszyński) http://www.networld.pl/artykuly/25710.html Google Web APIs http://www.google.com/apis/index.html Amazon http://www.amazon.com/gp/aws/landing.html
Materiały (3) Wprowadzenie Standardy XMLSpy 2005 - Tools http://www.altova.com/features webservices.html Rozszerzenia dla platformy Eclipse WST http://www.eclipse.org/webtools/ Strona producenta BEA WebLogic Platform http://www.bea.com/ Strona producenta WASP a http://www.systinet.com/ Strona z JWSDP java.sun.com/webservices/jwsdp/index.jsp