XML w integracji aplikacji

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Mechanizmy pracy równoległej
Rafał Hryniów Tomasz Pieciukiewicz
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
SQL Server Native XML Web Services
WEB SERVICE Stefan Rutkowski.
CORBA Łukasz Wnęk.
Service Oriented Architecture & Web Services
Artur Jonak empolis Polska Sp. z o.o.
XML w elektronicznej wymianie danych
XML w elektronicznej wymianie dokumentów i integracji aplikacji
11 XML w integracji aplikacji. 22 Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły posługują się różnymi formatami wewnętrznymi,
XML w bazach danych XML w bazach danych. Systemy zarządzania treścią – część 12 XML a relacyjne bazy danych Korzyści: –integracja aplikacji,
XML w bazach danych XML w bazach danych. Systemy zarządzania treścią – część 12 XML a relacyjne bazy danych Korzyści: –integracja aplikacji,
XML w integracji aplikacji 11 grudnia XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły.
XML w elektronicznej wymianie dokumentów i integracji aplikacji.
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
Zaawansowana składnia XML XML Schema
XML w bazach danych XML w bazach danych. Systemy zarządzania treścią – część 12 XML a relacyjne bazy danych Korzyści: –integracja aplikacji,
11 Systemy zarządzania dokumentami. 22 Statystyka 90% zasobów informacyjnych firm jest przechowywanych w dokumentach a nie w bazach danych (Delloite &
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Opracował: Patryk Kołakowski(s1715)
Internet Communication Engine
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Rozproszone bazy danych
Systemy zarządzania treścią CMS
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Architektura SOA.
Multimedialne bazy danych
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
Usługi katalogowe LDAP.
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
Skalowalność rozwiązań Javowych w zastosowaniach komercyjnych Java4People Prezenter: Dawid Gruszczyński 1.
Podsumowanie prac związanych z dostawą sprzętu i oprogramowania oraz szkoleń. Prezentacja funkcjonalności dostarczonego w ramach Projektu oprogramowania.
Platformy Technologiczne web services
Integracja aplikacji Wykład 2
Web Serwisy w praktyce Technologie internetowe ( )
Systemy zarządzania treścią Wykład 1
Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki,
WebAPI – funkcjonalność i rozwój narzędzia
Spotkanie Centrum Poczty i Postdata S.A.
Wybrane zagadnienia relacyjnych baz danych
Internetowe surfowanie
INTERNET Sieć komputerowa o światowym zasięgu łącząca sieci lokalne, sieci rozległe i wszystkie komputery do nich podłączone. Służy do komunikacji między.
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Bazy danych Microsoft access 2007.
Rozdział V: Globalne sieci komputerowe
Service Oriented Architecture
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Technologie programowania systemów internetowych
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Active Directory Federation Services w Windows Server 2012 R2
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
XML w bazach danych.
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
INTERNET jako „ocean informacji”
Podział sieci komputerowych
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
ASP.NET Kontrolki źródła danych i prezentacji danych w ASP.Net
Usługi webowe & Service- Oriented Architecture (SOA) S2523 Anna Jenerowicz.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Aplikacje i usługi internetowe
Technologie Informacyjne Bazy danych
Poczta elektroniczna "electronic mail") A.Ś.
Zapis prezentacji:

XML w integracji aplikacji

XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły posługują się różnymi formatami wewnętrznymi, wspólny mianownik: XML. Zastosowania: komunikacja między klientem a serwerem, komunikacja między elementami systemu rozproszonego, integracja komponentów aplikacji, konfigurowanie aplikacji i jej komponentów, ... Coraz częściej aplikacje (niekoniecznie rozproszone) są złożone z komunikujących się ze sobą składników. W XML-EDI XML pojawiał się w niewidocznej dla użytkownika warstwie komunikacji między aplikacjami. Podobnie jest tutaj – XML może być niewidoczny dla użytkownika i stanowić interfejs między składnikami aplikacji. Projektowanie wykorzystania XML-a w integracji aplikacji jest o tyle prostsze od projektowania komunikatów EDI, że obie strony wymiany są pod naszą (projektanta) kontrolą i to my decydujemy o formacie wymiany. Odpada więc – niezbędny w wymianie EDI – uciążliwy proces standaryzacji.

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

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

XML w Oracle 8i Parsery XML dostarczane przez Oracle: pozwalają na wykorzystanie XML-a we własnych aplikacjach korzystających z bazy, dostępne dla PL-SQL-a, Javy i C++. XML-SQL Utility: generowanie XML-a bezpośrednio z bazy przy pomocy specjalnych zapytań, wypełnianie bazy na podstawie zawartości dokumentu XML. Firma Oracle zareagowała na pojawienie się XML-a, dołączając mechanizmy go wspierające do swojego flagowego produktu. System Oracle może stanowić wzór tego, w jaki sposób systemy zarządzania bazami danych powinny wspierać wykorzystanie XML-a. Najsłabiej związanym z samym systemem Oracle sposobem wykorzystania XML-a jest operowanie dokumentami XML we własnych aplikacjach będących klientami bazy Oracle. W tym celu programiści mogą wykorzystać jeden z parserów dostarczanych przez Oracle po to, aby np. wypełniać bazę zawartością na podstawie dokumentu przetworzonego przez parser. Dokumentami XML można także operować bezpośrednio w bazie, korzystając z pakietu XML-SQL Utility.  www.oracle.com/xml/

Oracle XML-SQL Utility Przykład zapytania: SELECT xmlgen.getXML(’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.

XML w Oracle 8i (c.d.) OracleXML: zewnętrzna aplikacja w Javie, dostęp do funkcjonalności XML-SQL Utility z poziomu aplikacji klienckiej. XML-SQL Servlet: ułatwia budowanie aplikacji internetowych opartych na Oracle’u, umożliwia przesyłanie XML-a z i do bazy za pośrednictwem protokołu HTTP, możliwość korzystania ze skryptów XSQL Pages, np: <xsql:query connection=”demo” xmlns:xsql=”urn:oracle-xsql”> SELECT * FROM emp </xsql:query> Polecenia XSQL Pages można umieszczać wewnątrz szablonów dokumentów XML. Podczas przetwarzania przez XML-SQL Servlet są one zastępowane przez wynik zapytania (oczywiście w XML-u). Wystarczy teraz dodać przekształcenie XSLT do formatu HTML i już mamy zalążek aplikacji internetowej, obsługiwanej poprzez przeglądarkę. W systemie Oracle 9i XML jest jeszcze bardziej zadomowiony. Dostępny jest bowiem specjalny typ kolumny – XMLType – dedykowany do przechowywania dokumentów XML. Wartości w takich kolumnach mogą być np. odpytywane z wykorzystaniem ścieżek XPath bezpośrednio w zapytaniach SQL.

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

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 XML-Schema Projektanci Tamino zaryzykowali, stosując technologie, które w czasie projektowania systemu nie były jeszcze uznanymi i zatwierdzonymi standardami (XML-Schema), a nawet nie są jeszcze ostatecznie zdefiniowane (XQL – język zapytań). Kwerenda Zapytanie w języku XQL

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

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

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

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

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

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

WSDL - przykład <definitions name='Weather' targetNamespace = 'http://weather.com/wsdl'  xmlns:wsdlns='http://weather.com/wsdl/' ...   <message name='Weather.GetTemperature'>     <part name='zipcode' type='xsd:string'/>     <part name='celsius' type='xsd:boolean'/>   </message>   <message name='Weather.GetTemperatureResponse'>     <part name='Result' type='xsd:float'/>   </message>   <portType name='WeatherSoapPort'>     <operation name='GetTemperature' parameterOrder='zipcode celsius'>       <input message='wsdlns:Weather.GetTemperature' />       <output message='wsdlns:Weather.GetTemperatureResponse' />     </operation>   </portType> ... </definitions>

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

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

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

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

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/XMLDataBinding.htm - XML Data Binding Resources Web Services: www.w3.org/2002/ws - W3C Web Services Activity, www.vbws.com - LearnXMLws - zawiera m. in. książkę "Building XML Web Services with VB .NET" Treść rekomendacji XML. „Kuźnia standardów internetowych” – organizacja zajmująca się ich zatwierdzaniem i promowaniem. Duży zbiór materiałów, artykułów itp. Nowości, zasoby, lista organizacji zajmujących się XML-em itp.