Rozproszone systemy Internetowe



Podobne dokumenty
Simple Object Access Protocol

Programowanie komponentowe

Rozproszone systemy internetowe

SOAP. Autor: Piotr Sobczak

Ministerstwo Finansów

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Web Services. Technologie Biznesu Elektronicznego. Konrad Kunicki. Politechnika Wrocławska, Wydział Informatyki i Zarządzania

Komunikacja i wymiana danych

Komunikacja międzysystemowa

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

ABC WCF.

Web Services wykład 9

Mydło i spółka. Aplikacje rozproszone. Serwisy sieciowe Broker usług. Serwisy sieciowe. Serwisy sieciowe, WWW (Web Services) Internet

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Programowanie Komponentowe WebAPI

Wybrane problemy modelu usługowego

Rozproszone technologie Web Services

Dostęp do komponentów EJB przez usługi Web Services

XML-RPC: Zdalne wykonywanie procedur

XML w elektronicznej wymianie danych i integracji aplikacji

XML w elektronicznej wymianie danych i integracji aplikacji

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

Rozproszone systemy internetowe 2. WS-Policy: specyfikacje wymagań dla usług WWW

Ministerstwo Finansów

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Protokoły sieciowe - TCP/IP

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

XML w elektronicznej wymianie danych, integracji aplikacji i bezpieczeństwie

Równoległość w środowisku rozproszonym. Jarosław Kuchta Programowanie Współbieżne

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Web Service y w Javie

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Usługi sieciowe (Web Services)

Programowanie współbieżne i rozproszone

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Platforma.NET Wykład 13 Tworzenie usług sieciowych SOAP i WCF. Spis treści. Marek Sawerwain. 7 czerwca Notatki. Notatki

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

XML w elektronicznej wymianie danych, integracji aplikacji i bezpieczeństwie

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Wybrane działy Informatyki Stosowanej

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Plan wykładu. Technologia Web Services. Web Services a WWW

Nowoczesne zastosowania XML

Programowanie w Internecie

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Usługi danych przestrzennych w GEOPORTAL-u. Marek Szulc , Warszawa

Usługi sieciowe REST. Instytut Informatyki Politechnika Poznańska

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Specyfikacja HTTP API. Wersja 1.6

Dr Michał Tanaś(

SPECYFIKACJA WYMIANY DANYCH POMIĘDZY PROGRAMEM KS-APTEKA WINDOWS I SKLEPEM INTERNETOWYM FIRMY ZEWNĘTRZNEJ

Specyfikacja techniczna. mprofi Interfejs API

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Wprowadzenie do usług internetowych

Języki programowania wysokiego poziomu WWW

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1

Model sieci OSI, protokoły sieciowe, adresy IP

Gatesms.eu Mobilne Rozwiązania dla biznesu

Rozproszone systemy internetowe 2. WS-Reliable Messaging

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Wybrane działy Informatyki Stosowanej

Integracja Obieg Dokumentów - GiS Spis treści

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Java Enterprise Edition spotkanie nr 1 (c.d.) JavaMail

Mechanizmy pracy równoległej. Jarosław Kuchta

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

Web Services / Gridy

Nowoczesne zastosowania XML

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 2 SEAP SPECYFIKACJA XML INTERFEJS WEBSERVICE DLA PODMIOTÓW ZEWNĘTRZNYCH PL

Dr Michał Tanaś(

Programowanie obiektowe

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Zastosowanie informatyki w gospodarce Wykład 4

Technologie internetowe

DOTACJE NA INNOWACJE

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Spis treúci. 1. Wstęp... 11

ASP.NET MVC 4 & WEB API. Jamie Kurtz

Zaawansowany kurs języka Python

Systemy obiegu informacji i Protokół SWAP "CC"

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Technologie usług internetowych

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Hybrydowe aplikacje webowe

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Wprowadzenie do Internetu Zajęcia 5

OPIS TECHNICZNY SYSTEM HOSTED SMS

Transkrypt:

Rozproszone systemy Internetowe Transport komunikatów WS: protokół SOAP RSI Oskar Świda 1

Simple Object Access Protocol Bezstanowy protokół komunikacyjny, oparty na standardzie XML Prosty i elastyczny, działa w zdecentralizowanym środowisku Standard definiuje: Model przetwarzania wiadomości (SOAP Processing Model) Rozszerzanie własności protokołu (SOAP Extensibility Model) Wykorzystywanie istniejących protokołów transportowych (SOAP Protocol Binding) Ogólną strukturę wiadomości (SOAP Message) Pojęcia podstawowe: Węzeł SOAP oraz określenia jego funkcji w procesie przetwarzania ([initial] sender, [ultimate] receiver, intermediary) Rola (role) przyjmowane przez węzeł http://www.w3.org/2003/05/soap envelope/role/next / ultimatereceiver / none RSI Oskar Świda 2

Struktura wiadomości Koperta (Envelope) Nagłówek Blok nagłówka Blok nagłówka Treść Element treści Element treści <env:envelope xmlns:env="http://.../soap envelope"> <env:header> <n:alertcontrol xmlns:n="http://example.org/alertcontrol"> <n:priority>1</n:priority> <n:expires>...</n:expires> </n:alertcontrol> </env:header> <env:body> <m:alert xmlns:m="http://example.org/alert"> <m:msg>pora wstawać!</m:msg> </m:alert> </env:body> </env:envelope> RSI Oskar Świda 3

Przetwarzanie Wiadomość SOAP (SOAP Message) jest przesyłana od nadawcy (SOAP Sender) poprzez węzły (SOAP Node [Intermediary]) do odbiorcy (SOAP Receiver), przy użyciu dowiązanego protokołu transportowego (SOAP Binding), z ewentualnym wykorzystaniem dodatkowych rozszerzeń (SOAP Feature) opisanych za pomocą bloków wewnątrz wiadomości (SOAP Module). Podstawowy model SOAP to jednokierunkowe przesyłanie wiadomości Każdy węzeł przyjmuje zbiór ról podczas przetwarzania pojedynczej wiadomości (next każdy, none żaden, ultimatereceiver właściwy odbiorca) Bloki nagłówka Skierowane do konkretnej roli (atrybut role) Pojęcie "rozumienia" bloku oraz atrybut mustunderstand Treść wiadomości przetwarzana jedynie przez właściwego odbiorcę RSI Oskar Świda 4

Określ zbiór ról jakie przyjmuje węzeł dla tej wiadomości Przetwarzanie c.d. NIE Wyślij informację o błędzie i przerwij przetwarzanie wiadomości Wybierz bloki skierowane do przyjętych ról (z podziałem na obowiązkowe oraz dodatkowe ) TAK Przekaż wiadomość dalej intermediary? Wszystkie obowiązkowe bloki są zrozumiałe? Analizuj treść wiadomości TAK Analizuj bloki nagłówka (usuń je lub zostaw) NIE TAK ultimate Receiver? RSI Oskar Świda 5

Przetwarzanie c.d. Przekazywanie wiadomości (forwarding) Semantyczny mechanizm wstawiania (reinsertion) atrybut relay (bloki, których nie przetwarzamy ale są do nas skierowane) Rozszerzenia (Feature) Specyfikacja = Nazwa (URI) + Informacja potrzebna węzłom(automat) + Model przetwarzania + Informacja przesyłana pomiędzy węzłami Model komunikacyjny (Message Exchange Pattern) dodatkowo: cykl życia wiadomości rozmówcy biorący udział w komunikacji zakończenie komunikacji (poprawne i niepoprawne) Moduł (Module) specyfikacja składni i semantyki rozszerzenia RSI Oskar Świda 6

Dowiązania do protokołu transportowego HTTP - metoda GET (model komunikacyjny SOAP Response) GET /www.przyklad.pl/akcja?kod=ft35zbq HTTP/1.1 Host: www.przyklad.pl Accept: text/html;q=0.5, application/soap+xml HTTP - metoda POST (model SOAP Request-Response) POST /akcja HTTP/1.1 Host: www.przyklad.pl Content Type: application/soap+xml; charset="utf 8" Content Length:... <?xml version='1.0'?> <env:envelope xmlns:env="http://www.w3.org/2003/05/soap envelope" > <env:header>... RSI Oskar Świda 7

Message Transfer Optimization Mechanism <?xml version='1.0'?> <Envelope> <Header> <x>... </x> </Header> Dane binarne? base64??? Wieloczęściowy komunikat HTTP Content-type: multipart/related <xop:include href="cid:..."/> RSI Oskar Świda 8

<?xml version='1.0'?> <env:envelope xmlns:env= "http://.../soap envelope"> <env:header> <m:reservation xmlns:m="http://reservation" env:role="http://.../next" env:mustunderstand="true"> <m:reference> uuid:093a2da1 </m:reference> <m:dateandtime> 2001 11 29T13:20:00.000 05:00 </m:dateandtime> </m:reservation> <n:passenger xmlns:n="http://employees" env:role="http://.../next" env:mustunderstand="true"> <n:name>ala Kowalska</n:name> </n:passenger> </env:header> Przykład <env:body> <p:itinerary xmlns:p="http://travel"> <p:departure> <p:departing>...</p:departing> <p:arriving>...</p:arriving> <p:departuredate /> <p:departuretime /> <p:seatpreference /> </p:departure> <p:return> <p:departing>...</p:departing> <p:arriving>...</p:arriving> <p:departuredate /> <p:departuretime /> <p:seatpreference/> </p:return> </p:itinerary> </env:body> </env:envelope> RSI Oskar Świda 9

Błędy: przykład <?xml version='1.0'?> <env:envelope xmlns:env="http://www.w3.org/2003/05/soap envelope" xmlns:rpc='http://www.w3.org/2003/05/soap rpc'> <env:body> <env:fault> <env:code> <env:value>env:sender</env:value> <env:subcode> <env:value>rpc:badarguments</env:value> </env:subcode> </env:code> <env:reason> <env:text xml:lang="en US">Processing error</env:text> <env:text xml:lang="pl">błąd przetwarzania</env:text> </env:reason> <env:detail> <e:myfaultdetails xmlns:e="http://example.org/faults"> <e:message>name does not match card number</e:message> <e:errorcode>999</e:errorcode> </e:myfaultdetails> </env:detail> </env:fault> </env:body></env:envelope> RSI Oskar Świda 10

Zagadnienia do samodzielnego przemyślenia/zbadania Definicja własnych modeli komunikacyjnych (Message Exchange Pattern) Definicja własnych dowiązań transportowych Oddzielna specyfikacja SOAP do wywołań RPC Rozszerzenie określane jako Web Method RSI Oskar Świda 11

Dyskusja swobodna Standard komunikacji dla strukturalnych wiadomości XML jako uniwersalna platforma wymiany informacji Wady i zalety SOAP Technologie wykorzystujące protokół Web Services (WSDL, UDDI) AJAX (Asynchronous Javascript And XML) SOAP over E mail RSI Oskar Świda 12