Promotor:Autor: p rof. dr hab. Kazimierz Subieta Paweł Zielski

41
Zastosowanie XML-a do celów praktycznych na przykładzie dystrybucji informacji w portalu biznesowym. Promotor: Autor: prof. dr hab. Kazimierz Subieta Paweł Zielski

description

Zastosowanie XML-a do celów praktycznych na przykładzie dystrybucji informacji w portalu biznesowym. Promotor:Autor: p rof. dr hab. Kazimierz Subieta Paweł Zielski. Cel pracy. Celem pracy jest prezentacja języka XML i jego mo ż liwo ś ci w zastosowaniach praktycznych. - PowerPoint PPT Presentation

Transcript of Promotor:Autor: p rof. dr hab. Kazimierz Subieta Paweł Zielski

Page 1: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Zastosowanie XML-a do celów praktycznych na przykładzie

dystrybucji informacji w portalu biznesowym.

Promotor: Autor:prof. dr hab. Kazimierz Subieta Paweł Zielski

Page 2: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Cel pracy

Celem pracy jest prezentacja języka XML i jego możliwości w zastosowaniach praktycznych.

Praktycznym przykładem zastosowania języka XML jest aplikacja wraz z narzędziami stanowiąca system centralnej bazy dla dokumentów.

Page 3: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Zakres pracy

Zbudowanie archiwum dokumentówzaprojektowanie i budowa centralnej bazy dokumentów.

Zaproponowanie standardu przechowywania i wymiany dokumentówcentralna baza daje szanse na stworzenie jednolitego standardu – otwartego interfejsu elektronicznej wymiany dokumentów elektronicznych.

Dostarczenie narzędzi pozwalających na korzystanie

z dokumentównarzędzia pozwalające na korzystanie ze zgromadzonych informacji.

Page 4: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Wiedza ogólna

Dlaczego język XML ?

Page 5: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Początki języka XML

Początek prac nad językiem XML datuje się na rok 1996.

XML został stworzony pod auspicjami konsorcjum W3C.

Szefem grupy był Jona Bosak z Sun Microsystems.

XML zatwierdzono jako rekomendację W3C w roku 1998.

Page 6: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Cele stawiane językowi XML

Oddzielenie warstwy prezentacji od danych

Przenoszalność danych Zgodność ze standardem SGML Prostota obsługi dokumentów XML Odporność na błędy

Page 7: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Oddzielenie warstwy prezentacji i warstwy danych

Dokument podzielony jest na dane znakowe i znaczniki.

Dane znakowe stanowią główną zawartość dokumentu.

Znaczniki nie odpowiadają za wyświetlanie dokumentu, opisują jedynie strukturę logiczną dokumentu.

Za prezentacje danych odpowiedzialne są języki stylu (CSS, XSL).

Page 8: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Przenoszalność danych

XML gwarantuje przechowywanie informacji w formacie niezależnym od jednej aplikacji i systemów operacyjnych.

Do obróbki danych można wykorzystać dowolne narzędzia potrafiące przetwarzać XML.

Struktura XML umożliwia automatyczne konwertowanie dokumentacji na dowolne formaty końcowe (XHTML, PDF, RTF, ...).

Page 9: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Zgodność ze standardem SGML

XML jest podzbiorem języka SGML. Każdy walidowany dokument XML jest

prawidłowym dokumentem SGML. Zarówno w XML jak i SGML przyjęto

zasadę, że znakowanie opisuje strukturę dokumentu.

Obydwa standardy pozwalają na definiowanie własnych znaczników.

Page 10: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Prostota obsługi dokumentów XML Interfejs pomiędzy dokumentem XML a

aplikacją stanowią analizatory składni. Wyróżniamy dwa typy analizatorów

składni: Interfejsy oparte na obiektach (np. DOM) Interfejsy oparte na zdarzeniach (np. SAX)

Analizator składni wykonując swoją funkcję upraszcza pracę z rozbudowanymi strukturami XML.

Page 11: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Odporność na błędy

W procesie weryfikacji parser sprawdza poprawność dokumentu, czyli jego zgodność ze standardem XML, a więc: pojedynczy element główny i zgodna wielkość liter, wymagane stosowanie znaczników zamykających, wartości atrybutów zamknięte w cudzysłowach, poprawne zagnieżdżanie znaczników.

W procesie walidacji sprawdzana jest prawidłowość dokumentu, czyli jego zgodność z DTD bądź schematem XML.

Page 12: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Przyjęte rozwiązania

Page 13: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Założenia projektowe

System posiada następujące cechy: możliwość gromadzenia danych w

formacie XML, możliwość przeglądania i wyszukiwania

danych, prezentacja informacji i dokumentów na

stronach WWW, możliwość uzyskania danych z bazy.

Page 14: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu Integracja i

Transformacja Danych Kolejkowanie

przychodzących wiadomości

Przyjmowanie , odczyt i defragmentacja paczek dokumentów,

Zapis do bazy dokumentów

Logowanie zdarzeń Potwierdzanie otrzymania

i zapisu wiadomości

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 15: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu

Dane (Dokumenty) Przechowywanie

dokumentów Odpowiedź na zapytania Budowa rezultatów

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 16: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu Aplikacje centralne

Dostarczenie interfejsu do wyszukiwania i przeglądania dokumentów

Dostarczenie niezależnej warstwy raportującej

Logowanie i udostępnianie informacji o zapytaniach bazodanowych

Przypisywanie uprawnień korzystania z systemu

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 17: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu-technologia

WebSphere MQ Komunikacja asynchroniczna Pewność dostarczania

komunikatów WebSphere Bussiness

Integration Message Broker (MQSI) Transformacja dokumentów Walidacja składniowa Inteligentna dystrybucja Elastyczne modelowanie –

szybkie integrowanie nowych typów dokumentów

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 18: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu- technologia

Tamino XML Server Przechowywanie

dokumentów XML w formie własnej

Wsparcie standardów XPath i W3C XQuery

Możliwość elastycznego manipulowania struktura bazy dokumentów

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 19: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Warstwa centralna systemu-technologia WebSphere

Application Server Skalowalna platforma

obsługi procesów biznesowych i interakcji z użytkownikiem

Wsparcie dla standardu J2EE

Narzędzia szybkiego rozwoju i utrzymania aplikacji

Dane

Bazadokumentów

Integracja i Transformacja Danych

Aplikacje centralne

Centralna baza dokumentów

Kolejkowaniewiadomosci

Transformacja iwalidacja

komunikatów

Wysyłaniepotwierdzeń

Logowanie

Wyszukiwanie iprzegladaniedokumentów

Raporty

Nadzorowaniepracy nad

doumentami

Zarzadzanieuprawnieniami

Page 20: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów - wymagania

Dokument musi być jednoznacznie identyfikowalny na każdym etapie przetwarzania

Dane przesyłane pomiędzy klientem a bazą muszą być podpisane i zaszyfrowane

Dane podlegają walidacji – zgodność ze schematem, zgodność ze słownikami w ustalonym zakresie

Dokument może być przetwarzany na różnych platformach sprzętowo‑systemowych

Zawartość dokumentu w centralnej bazie musi być identyczna z dokumentem źródłowym

Page 21: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów – standardy

Podstawowa jednostka przechowywania danych – dokument XML

Standard zapisu struktury danych W3C XML Schema (Tamino Schema Definition)

Dokumenty XML jako warstwa transportowa Dokumenty XML jako format przechowywania

danych w bazie dokumentów

Page 22: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów – warstwa transportowa PACZKI - Dokument XML zawierający paczkę z

deklaracjami podatkowymi wykorzystywany jest do przesyłania deklaracji pomiędzy źródłem a bazą dokumentów.

Page 23: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów – bezpieczeństwo transportu

Zabezpieczenie danych <ENCRYPTED> Szyfrowany jest cały dokument zawierający paczki z dokumentami Szyfrowanie i odszyfrowanie następuje zgodnie z wytycznymi

konsorcjum W3C zawartymi w specyfikacji XML-Encryption Syntax and Processing.

Proces szyfrowania Wylosowanie liczb klucza symetrycznego, którym następnie przy

pomocy algorytmu 3DES szyfrowany jest cały dokument Klucz symetryczny jest następnie szyfrowany algorytmem klucza

asymetrycznego RSA v. 1.5 przy użyciu klucza publicznego odbiorcy.

Page 24: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów – bezpieczeństwo transportu

Sprawdzenie nadawcy <PODPIS> Podpis pod dokumentem, podpisywany kluczem prywatnym dla

sprawdzenia pochodzenia dokumentu Podpisy są tworzone i weryfikowane zgodnie z wytycznymi

konsorcjum W3C zawartymi w specyfikacji XML-Signature Syntax and Processing.

Page 25: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Struktury dokumentów – przechowywanie

Przechowywanie dokumentów <DOK> Dokument zawiera:

podstawowe atrybuty oryginalny dokument XML listę operacji na dokumencie (OPERACJE_DOK)

Atrybuty pobierane z oryginalnego dokumentu XML : typ dokumentu źródło dokumentu data uwagi, itp..

Page 26: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Funkcjonalność

Page 27: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Funkcjonalność aplikacji korzystającej z bazy dokumentów Praca z dokumentami

Wyszukiwanie ogólneWyszukiwanie szczegółoweMonitorowanie zdarzeńDodawanie niezdefinowanych

dokumentów

Page 28: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Wyszukiwanie ogólne Wyszukiwanie ogólne Funkcjonalność

wyszukiwania ogólnego pozwala na wyszukiwanie, niezależnie od typu dokumentu

Oparte o stałe kryteria wyszukiwania

Prezentacja wyników w postaci listy zawierającej podstawowe informacje oraz referencji do dokumentu szczegółowego

Page 29: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Wyszukiwanie ogólne - kryteria

Kryteria wyszukiwania

typ dokumentu – lista typów dokumentów zasilających archiwum.

źródło dokumentu – w zależności od typu dokumentu data wpłynięcia dokumentu – zakres dat wpłynięcia dokumentu

do archiwum słowa kluczowe w dokumencie – możliwość określenia słów

kluczowych. Słowa kluczowe są tworzone automatycznie dla każdego dokumentu na postawie określonych reguł i dodawane jako atrybut dokumentu archiwum.

Page 30: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Wyszukiwanie szczegółowe Wyszukiwanie szczegółowe

Kryteria definiowane w zakresie szczegółów poszczególnych dokumentów

Kryteria wyszukiwania są zmienne w zależności od typu dokumentu

Prezentacja wyników w postaci listy zawierającej podstawowe informacje oraz referencji do dokumentu szczegółowego

Page 31: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Monitorowanie i kontrola zdarzeń Zdarzenia związane z obsługą dokumentów zapisywane są do

logu zdarzeń (baza danych). operacje dotyczące oglądania i pobierania szczegółów

dokumentów osoby wykonującej dane zdarzenie kod zdarzenia datę wykonania określonego zdarzenia

Logowanie zdarzeń jest procesem automatycznym

Page 32: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Monitorowanie i kontrola zdarzeń Przeszukanie bazy danych pod kątem wykonywania

określonych czynności przez określone osoby w systemie.

Kryteria wyszukiwania osoba wykonująca zdarzenie typ zdarzenia zakres dat dokument, którego dotyczą zdarzenia

Prezentacja wyników w postaci listy

Page 33: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Bezpieczeństwo – autentykacja i autoryzacja

Interfejs systemu zawsze wymaga logowania Logowanie realizowane jest przy użyciu czytnika i karty

mikroprocesorowej Możliwość wykorzystania infrastruktury PKI Proces logowania wymaga kodu PIN do karty System na podstawie przydzielonych ról uprawnienia

użytkownika do korzystania z aplikacji

Page 34: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Bezpieczeństwo – zarządzanie

Czynności związane z bezpieczeństwem aplikacji Zmiana kodu PIN Przeglądanie uprawnień

Zarządzanie uprawnieniami Wyszukiwanie użytkowników systemu Dodawanie / usuwanie użytkowników Określanie uprawnień Modyfikacja danych Blokowanie / odblokowywanie użytkowników

W projekcie docelowym proponujemy wyodrębnić niezależna warstwę bezpieczeństwa

Page 35: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Wartość dodanaNarzędzia

Page 36: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Udostępnienie danych dla systemów zewnętrznych

Cel Udostępnienie dokumentów (informacji) zawartych w centralnej bazie dokumentów na potrzeby systemów zewnętrznych.

Potencjalne wykorzystanieTwórcy niezależnego portalu zgłaszają potrzebę cyklicznego zasilania informacjami z centralnej bazy. Aktualizacja informacji ma odbywać się co tydzień w piątek w godzinach wieczornych.

Page 37: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Udostępnienie danych dla systemów zewnętrznych

Cel technicznyZaprojektowania mechanizmu do konfiguracji i automatyzacji komunikacji z systemami zewnętrznymi.

Scenariusz techniczny Administrator portalu uzgadnia format i zakres danych, poziom zabezpieczeń, docelowe tabele i opcjonalnie metody przekazywania komunikatów zwrotnych.

Page 38: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Udostępnienie danych dla systemów zewnętrznych

Wymagania funkcjonalneZapisywanie zapisań na liście zadań do

wykonanie Parametry

Zapytanie Transformat (plik transformujący) Odbiorca

Uruchamianie zapytań Parametry

ustalona godzina ustalony interwał

Page 39: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Udostępnienie danych dla systemów zewnętrznych

Wymagania funkcjonalnePrzetwarzanie wyników

odebranie wyników zapytania z bazy danych opcjonalna transformacja wyników opcjonalna podpisanie podpisem elektronicznym

paczki danych szyfrowanie danych dostarczenie wyników do odbiorcy opcjonalne przyjęcie i logowanie potwierdzeń

Page 40: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Udostępnienie danych dla systemów zewnętrznych

Wymagania niefunkcjonalneParametry zapisywane w pliku XML

(opcjonalnie przechowywanym w Tamino)Arkusz transformacji w standardzie XSLTWysyłanie, wiązanie odbiorcy z miejscem

dostarczenia komunikatów przy pomocy WebSphere MB

Dostarczenie komunikatów do pliku lub do bazy danych (z wykorzystaniem mechanizmów mapowania WebSphere MB)

Page 41: Promotor:Autor: p rof. dr hab.  Kazimierz Subieta Paweł Zielski

Prezentacja