TI1 WS


Plan wykładu
żð Koncepcja usÅ‚ug WEB
żð Struktura systemu korzystajÄ…cego z usÅ‚ug WEB
Technologie Internetowe
żð Wymiana komunikatów w systemie usÅ‚ug WEB
żð ProtokoÅ‚y stosowane w usÅ‚ugach WEB
żð WysyÅ‚anie żądania: XML RPC, HTTP POST, HTTP
GET, HTTP POST + SOAP (w skrócie SOAP)
Usługi WEB (Web Services)
żð Odpowiedz na żądanie: XML
żð Opis struktury usÅ‚ugi: WSDL
żð OgÅ‚aszanie informacji o usÅ‚udze: UDDI, DISCO
żð Pokaz tworzenia prostej usÅ‚ugi WEB
żð PrzykÅ‚ady usÅ‚ug WEB dostÄ™pnych w Internecie
żð Podsumowanie, literatura
2
Koncepcja usług WEB
żð UsÅ‚ugi WEB (WEB Services, XML WS) sÄ… jednÄ… z metod
pozwalających na udostępnianie procedur realizujących
określone zadania z przeznaczeniem do ich zdalnego
Usługi WEB (Web Services)
wykorzystania przez inne aplikacje poprzez sieć Internet
żð Z zaÅ‚ożenia WS powinny być niezależne od platformy oraz
języka w którym zostały utworzone
żð Do transportu informacji WS używajÄ… protokoÅ‚u HTTP,
Informacje podstawowe
dlatego nazywane są usługami WEB
żð W stosowanych obecnie WS informacje zapisywane sÄ…
zazwyczaj w dokumentach XML, stąd często spotykana
jest nazwa XML WS
4
WS  gdzie jesteśmy? Infrastruktura WS
Gartner s  Hype Curve
Key: Time to  plateau
Pur chased
a e
App lication B D ta S t 1* Fi nan cial s Package
Fo r ma t B
e sage
Visibility M s
qu e u e
Do wn
Load Pr og r am Down
Fi le Ext ract Pr og ra m
program Loa d
Fi le
Pr ogra m Purchased
Less than two years Ex t r a ct progra m Financial s P ac ka ge
Screen pplication
Load Appli cat io n A scrap e A B Dat a Set 1*
program DB r epl i cati on Appli cat ion C Format B
Ex t r a ct Lo a d Messa g e
r queue
Grid Computing prog a m pr og r am Down
sact
Biometrics Program Pro g ram Load Progr am Down
Program Tran io n Pro g ram Fil e Extr act Program
f i le program Load
Da Se 1 Program Pro gram D t 1 * Program
ta t Fi le
Two to five years Fo rma t A ataSe *
Messag e Fo rma t C Ext ract p rogram
queue Screen
Load scr ape DB repli cat ion
pplication
program A A App licati on C
Ex tr ac t Load pr ogram
pr ogram
Program Program
Program Tra nsa c tion Pr o gram
f ile
Five to 10 years Data Set 1 Pro g ram Progr am
Format A Data Set 1**
Message Format C
queue
Natural-language
Web Services Beyond 10 years
Purch ased
search Fi n an cials Packag e
Applica tion B Da ta S e t 1 *
For ma t B
Message
queu e
Down
Loa d Program wn
Fi le Extract Program Do
pr ogram Load
Fi le
Pr ogram
Screen Extr act progr a m
Identity services Loa d scrape
pr ogram Ap pl i cati o n A Application C P u r ch ased
DB replication
Financials P ackage
Extract Load Dat a Set 1*
p rogram program Application B
Program Progr am Format B
Program Tran sacti o n P r ogr am Message
file queue
Data S e t 1 Pr ogr am Pr ogr a m Do wn
Virtual Format A Data Set 1**
Mess age Format C Load Prog ram
Extract Pro g r am Down
que ue File Load
program
Personal digital Pr og r am File
Ext ract prog ram
Scr een
Wireless private Load scrape Application C Purchased
Application A
pr ogr am DB replicat ion Financials Package
Nanocomputing assistant phones Extr act Loa d Application B Data Set 1*
pr ogr a m pr ogr a m
Prog ram Program Form at B
Text-to- LANs/802.11 networks Prog ra m T Pro gram
ransaction
fi le Message
Da ta Set 1 Pr ogram Pr ogram Data Set 1** queue
Fo rmat A Me ssag e Format C Down
Extr act Dow n
speech queue Load Program
Pr ogram
File program Load
File
E-tags Program
Extract program
Screen
Load Application A scr ape Application C
program DB replicat ion
Ex tra ct Lo ad
Speech recognition in program pro gra m
Program Pr ogram
Pr ogram Tr an sa ction Program
file
call centers Data Se t 1 Program Progr am
Data Se t 1**
Peer-to-peer For mat A
Message Form at C
Voice over IP que ue
computing
Personal
Bluetooth
fuel cells
WAP/
Public key infrastructure
Wireless
People-to-People Web
Web
Location
Speech recognition on desktops
sensing
Peak of
Technology inflated Trough of Slope of Plateau of
Application-to-Application Web
trigger expectations disillusionment enlightenment productivity
Maturity
Source: Gartner Group June 2002
5 6
1
Typowa architektura WS WS  podstawowe funkcjonalności
żð Oprócz podstawowej funkcji jakÄ… jest udostÄ™pnianie
Application 1 Application 2
procedur wykonujących określone operacje (np.
dostarczania żądanej treści) zazwyczaj wymaga się aby
XML
WS miały też pewne dodatkowe cechy ułatwiające ich
stosowanie
żð WS powinien zawierać wÅ‚asnÄ… dokumentacjÄ™. W
najprostszym przypadku może to być informacja tekstowa
przeznaczona dla programistów korzystających z danego
WS. W bardziej zaawansowanym wariancie opis może być
zrealizowany w specjalnym języku wyprowadzonym z XML
i przeznaczony do automatycznego odczytu przez inne
narzędzia
żð WS powinien być widoczny i możliwy do odnalezienia w
sieci. W związku z tym powinien być dostępny mechanizm
pozwalajÄ…cy na opublikowanie informacji o istnieniu
7 8
danego WS
WS  stos protokołów
żð Każda funkcjonalność WS realizowana jest przez
odpowiedni protokół
żð Zbiór tych protokołów tworzy strukturÄ™ stosu
Usługi WEB (Web Services)
Odnajdywanie
UDDI, DISCO
Opisywanie
WSDL, XML, Schema, Docs
Protokół SOAP
Formatowanie wiadomości
SOAP, XML-RPC
Kodowanie
XML
Transport
HTTP, SMTP i inne
9
WS  protokół SOAP SOAP  format wiadomości
żð SOAP (Simple Object Acces Protocol) stanowi mechanizm
POST /StockQuote HTTP/1.1
HTTP Post Host: www.stockquoteserver.com
opakowywania danych (m.in. zapytań i odpowiedzi) w
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
przesyłanej wiadomości
SOAP Envelope
SOAPAction:  http://myservice.com/GetStock"
żð SOAP bazuje na formacie XML, korzystajÄ…c z
SOAP Head
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
odpowiedniej przestrzeni nazw
SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
żð Standard SOAP okreÅ›la trzy podstawowe elementy:
żð Specyfikacja koperty SOAP (SOAP envelope) xmlns:t= http://example1.com/"
SOAP Body SOAP-ENV:mustUnderstand="1">
żð Zasady kodowania (zapisywania) różnych typów danych 5

żð Zasady zdalnego wywoÅ‚ywania procedur (RPC conventions)



żð Elementem głównym (root) wiadomoÅ›ci SOAP jest
DEF

element o nazwie Envelope


żð Element Envelope może zawierać dwa podelementy:
żð Header (opcjonalny) zawierajÄ…cy dodatkowe informacje
żð Body (obowiÄ…zkowy) zawierajÄ…cy zasadniczÄ… wiadomość
11 12
2
SOAP  zdalne wywoływanie procedur SOAP  zdalne wywoływanie procedur


xmlns:soap
xmlns:soap
public int Add (int x, =http://schemas.xmlsoap
=http://schemas.xmlsoap
SOAP RPC HTTP
int y) .org/soap/envelope/>
.org/soap/envelope/>
{

WEB Service


return x + y
1
1
} 2
2






13 14
SOAP  zdalne wywoływanie procedur SOAP  kodowanie danych
żð Standard SOAP obejmuje schemat kodowania SOAP
Encoding definiujący sposób w jaki dane są szeregowane

w wiadomości SOAP
xmlns:soap
żð Poniższy przykÅ‚ad pokazuje sposób zapisu danej
=http://schemas.xmlsoap
HTTP tablicowej w wiadomości SOAP
.org/soap/envelope/>
WEB Service

3

...



xmlns:ns2= http://www.w3.org/200109/soap-encoding
[54.99 xsi:type= ns2:Array ns2:arrayType= xsd:double[2] >
54.99
19.32]
19.32

...
15 16
WS  protokół WSDL
żð WSDL (Web Service Description Language) stanowi jÄ™zyk
pozwalający na sformalizowany zapis opisu danej usługi
przeznaczony głównie do automatycznego przetwarzania
Usługi WEB (Web Services)
przez inne programy (np. klientów WS)
żð Na podstawie analizy dokumentu WSDL klient potrafi
komunikować się z WS
żð WSDL bazuje na formacie XML, korzystajÄ…c z
odpowiedniego schematu
Protokół WSDL
żð Elementem głównym (root) dokumentu WSDL jest element
o nazwie definitions
18
3
WS  protokół WSDL WS  protokół WSDL
żð Element definitions zawiera pięć rodzajów podelementów:
żð types  zawiera schemat wiadomoÅ›ci XML przesyÅ‚anych i
odbieranych przez dany WS
żð message  wiąże wiadomość z jej definicjÄ… zawartÄ… w schemacie
(ważne w przypadku, gdy WSDL zawiera różne definicje
schematowe)
żð portType  definiuje zbiór interfejsów (operacji), które dana usÅ‚uga
WEB może udostępnić
żð binding  wiąże definicjÄ™ portType z okreÅ›lonym protokoÅ‚em
żð service  definiuje zbiór punktów koÅ„cowych (portów)
udostępnionych przez usługę WEB
19 20
WS  protokół WSDL


xmlns="& /XMLSchema" xmlns:SOAPENC="& /soap/encoding/"/>
Usługi WEB (Web Services)






message="tns:setMessageRequest"/>

message="tns:setMessageResponse"/>

namespace="MessageService"

encodingStyle="& /soap/encoding/"/>
binding="tns:MessageServiceBinding">




21
WS  protokół UDDI
żð UDDI (Universal Description, Discovery and Integration)
jest usługą katalogową umożliwiającą publikowanie
informacji dotyczących oferowanych usług WEB oraz
Usługi WEB (Web Services)
odnalezienie tych usług przez potencjalnych klientów
żð Serwer UDDI stanowi rejestr usÅ‚ug i umożliwia ich
wyszukiwanie wg określonych kryteriów
żð Architektura nieco zbliżona do DNS
Protokół DISCO
23
4
WS  protokół DISCO WS  ogólna architektura
żð DISCO (od Discovery) stanowi mechanizm umożliwiajÄ…cy
odkrycie i przeglądanie usług WEB działających na
konkretnym komputerze
żð Obecnie DISCO jest rozwiÄ…zaniem firmowym zwiÄ…zanym
głównie ze środowiskiem MS Visual Studio
25 26
Usługi WEB (Web Services)
Tworzenie prostej usługi WEB
28
Przykładowe usługi WEB
żð http://webapi.allegro.pl
Usługi WEB (Web Services)
żð http://code.google.com/
żð http://www.webservicex.net
żð http://www.xmethods.net
Przykłady usług WEB
dostępnych w Internecie
30
5
WS  podsumowanie
żð UsÅ‚ugi WEB stanowiÄ… metodÄ™ pozwalajÄ…cÄ… na
udostępnianie w sieci określonych procedur i zdalne ich
wykorzystywanie w aplikacjach klienckich
Usługi WEB (Web Services)
żð Stosowanie usÅ‚ug Web jest szczególnie korzystne w
środowiskach heterogenicznych oraz międzysieciowych
żð W homogenicznym Å›rodowisku LAN (lub na pojedynczej
maszynie) bardziej sprawdzajÄ… siÄ™ takie rozwiÄ…zania jak
DCOM i .NET remoting
Podsumowanie
żð ZaletÄ… WS jest praca poprzez standardowy port 80, który
zazwyczaj nie jest blokowany na firewall ach
żð Stanowi to jednoczeÅ›nie wadÄ™, gdyż może otwierać drogÄ™ do
wykorzystania błędów w warstwie aplikacyjnej, co zmusza z kolei
do stosowania bardziej zaawansowanych systemów FW i IDS
działających w warstwie aplikacyjnej
32
WS  podsumowanie Literatura
żð Obecnie trwajÄ… intensywne prace nad standaryzacjÄ…
żð S. Short:  Zastosowanie XML do tworzenia usÅ‚ug
mechanizmów zapewniających bezpieczeństwo WS
internetowych na platformie Microsoft .NET , APN
żð W3C - http://www.w3c.org
Promise, Warszawa 2003
żð XML Encryption
żð L. Felipe, C. Kurt:  Architektura usÅ‚ug WEB i jej
żð XML Digital Signatures
specyfikacje: Klucz do zrozumienia WS-* , APN Promise,
żð WS-I - http://www.ws-i.org
Warszawa 2005
żð WS Security Profile
żð Książki o XML, ASP.NET, C#, VB.NET
żð OASIS - http://www.oasis-open.org
żð WS-Security
żð Internet...
żð SAML - Security Assertion Markup Language
żð XACML - Extensible Access Control Markup Language
żð XKMS - XML Key Management Specification
33 34
6


Wyszukiwarka

Podobne podstrony:
Rozporządzenie Ministra Finansów z dnia 28 września 2007 r ws zapłaty opłaty skarbowej
TI1 NAT
transporter 2 ws dvdrip xvid crntv
the great global warming swindle ws pdtv xvid remax
ws
TI1 XML
W Brytania chce ws wojny irackiej powtórzyć scenariusz z 1982 roku (14 06 2009)
rozp ws zakresu projektu miejscowego planu
11 WebService ESB WS
Stacja Pogody WS?30IT
Nieznane fakty ws katastrofy smoleńskiej
rozp min infr z 04 11 2008 zm rozp ws szkolenia, egzaminowania ( )
100 Girls 2000 WS DVDRip XviD FiNaLe
Cwiczenie ws
ws testy
TI1 Ajax

więcej podobnych podstron