410 likes | 592 Views
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.
E N D
Zastosowanie XML-a do celów praktycznych na przykładzie dystrybucji informacji w portalu biznesowym. Promotor: Autor: prof. 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.
Zakres pracy • Zbudowanie archiwum dokumentów zaprojektowanie i budowa centralnej bazy dokumentów. • Zaproponowanie standardu przechowywania i wymiany dokumentów centralna baza daje szanse na stworzenie jednolitego standardu – otwartego interfejsu elektronicznej wymiany dokumentów elektronicznych. • Dostarczenie narzędzi pozwalających na korzystanie z dokumentów narzędzia pozwalające na korzystanie ze zgromadzonych informacji.
Wiedza ogólna Dlaczego język XML ?
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.
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
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).
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, ...).
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.
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.
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.
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.
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
Warstwa centralna systemu • Dane (Dokumenty) • Przechowywanie dokumentów • Odpowiedź na zapytania • Budowa rezultatów
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
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
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
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
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
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
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.
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.
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.
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..
Funkcjonalność aplikacji korzystającej z bazy dokumentów • Praca z dokumentami • Wyszukiwanie ogólne • Wyszukiwanie szczegółowe • Monitorowanie zdarzeń • Dodawanie niezdefinowanych dokumentów
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
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.
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 Wyszukiwanie szczegółowe
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
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
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
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
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 wykorzystanie Twó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.
Udostępnienie danych dla systemów zewnętrznych • Cel techniczny Zaprojektowania 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.
Udostępnienie danych dla systemów zewnętrznych • Wymagania funkcjonalne • Zapisywanie zapisań na liście zadań do wykonanie • Parametry • Zapytanie • Transformat (plik transformujący) • Odbiorca • Uruchamianie zapytań • Parametry • ustalona godzina • ustalony interwał
Udostępnienie danych dla systemów zewnętrznych • Wymagania funkcjonalne • Przetwarzanie 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ń
Udostępnienie danych dla systemów zewnętrznych • Wymagania niefunkcjonalne • Parametry zapisywane w pliku XML (opcjonalnie przechowywanym w Tamino) • Arkusz transformacji w standardzie XSLT • Wysył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)