XML w integracji aplikacji 1 XML w integracji

  • Slides: 21
Download presentation
XML w integracji aplikacji 1

XML w integracji aplikacji 1

XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: n aplikacje/komponenty/moduły posługują się

XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: n aplikacje/komponenty/moduły posługują się różnymi formatami wewnętrznymi, n wspólny mianownik: XML. Zastosowania: n komunikacja między klientem a serwerem, n komunikacja między elementami systemu rozproszonego, n integracja komponentów aplikacji, n konfigurowanie aplikacji i jej komponentów, n. . . 2

XML w integracji aplikacji Podstawy: n XML a bazy danych. Ciekawe pomysły: n XML-owe

XML w integracji aplikacji Podstawy: n XML a bazy danych. Ciekawe pomysły: n XML-owe bazy danych, n dokumenty XML jako obiekty Javy, n Web Services. 3

XML a relacyjne bazy danych Przechowywanie XML-a w relacyjnych bazach danych: n elementy dokumentu

XML a relacyjne bazy danych Przechowywanie XML-a w relacyjnych bazach danych: n elementy dokumentu XML jako pola tabeli bazodanowej (dokument „rozłożony na czynniki pierwsze”), n dokument XML w całości przechowywany w polu bazy danych. Sposoby wspierania XML-a przez systemy zarządzania bazami danych: n generowanie XML-a na podstawie zawartości bazy danych, n wypełnianie zawartości bazy na podstawie zawartości dokumentu XML, n specjalne indeksowanie pól zawierających XML, n wbudowane parsery XML i procesory XSLT, n integracja z serwerem WWW. 4

XML w Oracle 8 i Parsery XML dostarczane przez Oracle: n pozwalają na wykorzystanie

XML w Oracle 8 i Parsery XML dostarczane przez Oracle: n pozwalają na wykorzystanie XML-a we własnych aplikacjach korzystających z bazy, n dostępne dla PL-SQL-a, Javy i C++. XML-SQL Utility: n generowanie XML-a bezpośrednio z bazy przy pomocy specjalnych zapytań, n wypełnianie bazy na podstawie zawartości dokumentu XML. www. oracle. com/xml/ 5

Oracle XML-SQL Utility Przykład zapytania: SELECT xmlgen. get. XML(’select * from emp’) FROM dual;

Oracle XML-SQL Utility Przykład zapytania: SELECT xmlgen. get. XML(’select * from emp’) FROM dual; Domyślne użycie standardowej struktury, np. <rowset> <row id=” 1”> <empno>10</empno> <name>Scott Tiger</name> <title>specialist</title> </row>. . . </rowset> Możliwość przedefiniowania elementów. 6

XML w Oracle 8 i (c. d. ) Oracle. XML: n zewnętrzna aplikacja w

XML w Oracle 8 i (c. d. ) Oracle. XML: n zewnętrzna aplikacja w Javie, n dostęp do funkcjonalności XML-SQL Utility z poziomu aplikacji klienckiej. XML-SQL Servlet: n ułatwia budowanie aplikacji internetowych opartych na Oracle’u, n umożliwia przesyłanie XML-a z i do bazy za pośrednictwem protokołu HTTP, n możliwość korzystania ze skryptów XSQL Pages, np: <xsql: query connection=”demo” xmlns: xsql=”urn: oracle-xsql”> SELECT * FROM emp </xsql: query> 7

Podejście alternatywne: Tamino Transaction Architecture for the Management of Internet Objects. Pierwszy serwer „bazodanowy”

Podejście alternatywne: Tamino Transaction Architecture for the Management of Internet Objects. Pierwszy serwer „bazodanowy” przechowujący dane „w XML-u”. Komunikacja: n za pośrednictwem protokołu HTTP, bezpośrednio przez URL, n moduł X-Node, zapewniający integrację z innymi źródłami danych: n ODBC, OLE DB, n system plików. Platforma dla: n aplikacji internetowych typu B 2 C, n elektronicznej wymiany dokumentów, n systemów zarządzania treścią (? ). www. softwareag. com/tamino 8

Baza danych w Tamino · Definicja tabeli · XML-Schema · Wiersz tabeli · Element

Baza danych w Tamino · Definicja tabeli · XML-Schema · Wiersz tabeli · Element (z podelementami) w dokumencie XML. · Pole tabeli · Element lub atrybut XML · Relacja · Odpowiednie atrybuty w XMLSchema · Kwerenda · Zapytanie w języku XQL 9

Web Services Pomysł na: n udostępnianie aplikacji/funkcjonalności/obiektów w Internecie, n (bardzo) rozproszony RPC/messaging, n

Web Services Pomysł na: n udostępnianie aplikacji/funkcjonalności/obiektów w Internecie, n (bardzo) rozproszony RPC/messaging, n "strony internetowe" przeznaczone dla aplikacji. Web service: samodzielna aplikacja (komponent), która może być: n opisana, n opublikowana w sieci, n znaleziona przez potencjalnych użytkowników, n wywołana poprzez sieć w sposób standardowy. Web Services: platforma do tworzenia takich aplikacji. 10

Standaryzacja Standardowy system typów: n XML Schema. Interfejs serwisu: n WSDL – Web Service

Standaryzacja Standardowy system typów: n XML Schema. Interfejs serwisu: n WSDL – Web Service Definition Language. Sposób wywołania serwisu i otrzymania odpowiedzi: n SOAP – Simple Object Access Protocol, n HTTP POST. Sposób znajdowania odpowiedniego serwisu: n UDDI - Universal Description, Discovery and Integration. 11

Typowe zastosowania Udostępnianie/sprzedaż użytecznych danych: n linia lotnicza udostępnia swój rozkład lotów, n dane

Typowe zastosowania Udostępnianie/sprzedaż użytecznych danych: n linia lotnicza udostępnia swój rozkład lotów, n dane o pogodzie. Zdalne usługi: n wyszukiwanie, n pobieranie aktualnej wersji oprogramowania, n zaawansowane szyfrowanie algorytmem, który nie jest publicznie dostępny. Operacje biznesowe między partnerami: n zamawianie, n sprawdzanie stanu realizacji zamówienia. 12

Typowa architektura Źródło: Yasser Shohould, "Building XML Web Services with VB. NET" 13

Typowa architektura Źródło: Yasser Shohould, "Building XML Web Services with VB. NET" 13

Wywołanie serwisu Źródło: Yasser Shohould, "Building XML Web Services with VB. NET" 14

Wywołanie serwisu Źródło: Yasser Shohould, "Building XML Web Services with VB. NET" 14

Opis serwisu: WSDL Zawartość opisu: n udostępniane metody (nazwy, parametry, zwracane wartości), n protokół

Opis serwisu: WSDL Zawartość opisu: n udostępniane metody (nazwy, parametry, zwracane wartości), n protokół używany do wywołania (np. SOAP poprzez HTTP), n typ wywołania (RPC czy messaging), n URI serwisu. Zastosowania: n do czytania przez developera, n automatyczne generowanie kodu klienta, n analiza dokumentu WSDL w czasie wykonania w celu wywołania serwisu. 15

WSDL - przykład <definitions name='Weather' target. Namespace = 'http: //weather. com/wsdl' xmlns: wsdlns='http: //weather.

WSDL - przykład <definitions name='Weather' target. Namespace = 'http: //weather. com/wsdl' xmlns: wsdlns='http: //weather. com/wsdl/'. . . <message name='Weather. Get. Temperature'> <part name='zipcode' type='xsd: string'/> <part name='celsius' type='xsd: boolean'/> </message> <message name='Weather. Get. Temperature. Response'> <part name='Result' type='xsd: float'/> </message> <port. Type name='Weather. Soap. Port'> <operation name='Get. Temperature' parameter. Order='zipcode celsius'> <input message='wsdlns: Weather. Get. Temperature' /> <output message='wsdlns: Weather. Get. Temperature. Response' /> </operation> </port. Type>. . . </definitions> 16

Komunikacja: SOAP Standard kodowania komunikatów o dowolnej treści: Style komunikatów SOAP: n document, n

Komunikacja: SOAP Standard kodowania komunikatów o dowolnej treści: Style komunikatów SOAP: n document, n RPC. Sposoby serializacji danych: n encoded – dane są zserializowanymi obiektami programistycznymi, n literal – dokument o dowolnej strukturze. Źródło: Yasser Shohould, "Building XML Web Services with VB. NET" 17

SOAP – przykład <soapenv: Envelope xmlns: soapenv="http: //schemas. xmlsoap. org/soap/envelope/"> <soapenv: Body> <vbws: Get.

SOAP – przykład <soapenv: Envelope xmlns: soapenv="http: //schemas. xmlsoap. org/soap/envelope/"> <soapenv: Body> <vbws: Get. Emp. Orders xmlns: wsdlns="http: //weather. com/wsdl/" soapenv: encoding. Style= "http: //schemas. xmlsoap. org/soap/encoding/"> <zipcode>23 -456</zipcode> <celsius>true</celsius> </vbws: Get. Emp. Orders> </soapenv: Body> </soapenv: Envelope> 18

UDDI: jak znaleźć odpowiedni serwis UDDI - Universal Description, Discovery and Integration: n katalog

UDDI: jak znaleźć odpowiedni serwis UDDI - Universal Description, Discovery and Integration: n katalog serwisów do automatycznego wyszukiwania. UDDI web services: n Inquiry: n find_business, n get_business. Detail; n Publish: n save_business, n delete_business. Publiczne i prywatne serwery UDDI: n replikacja między serwerami publicznymi. 19

Z lotu ptaka WSDL . . . RPC Web Services UDDI SOAP messaging .

Z lotu ptaka WSDL . . . RPC Web Services UDDI SOAP messaging . . . HTTP 20

Gdzie szukać dalej Bazy danych: www. xmlsoftware. com/database - wykaz produktów bazodanowych ze wsparciem

Gdzie szukać dalej Bazy danych: www. xmlsoftware. com/database - wykaz produktów bazodanowych ze wsparciem dla XML-a, www. rpbourret. com/xml - Ronald Bourret - artykuły o bazach danych i XML-u, linki. XML Data Binding: www. rpbourret. com/xml/XMLData. Binding. htm - XML Data Binding Resources Web Services: www. w 3. org/2002/ws - W 3 C Web Services Activity, www. vbws. com - Learn. XMLws - zawiera m. in. książkę "Building XML Web Services with VB. NET" 21