Zastosowanie XMLa do celów praktycznych

advertisement
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.
Przyjęte rozwiązania
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
Centralna baza dokumentów
Dane
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
Warstwa centralna systemu

Dane (Dokumenty)
Centralna baza dokumentów
Dane

Przechowywanie
dokumentów
 Odpowiedź na zapytania
 Budowa rezultatów
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
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
Centralna baza dokumentów
Dane
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
Warstwa centralna systemutechnologia

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

Centralna baza dokumentów
Dane
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
Warstwa centralna systemutechnologia

Centralna baza dokumentów
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
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
Warstwa centralna systemutechnologia

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
Centralna baza dokumentów
Dane
Integracja i Transformacja Danych
Baza
dokumentów
Aplikacje centralne
Wyszukiwanie i
przegladanie
dokumentów
Raporty
Nadzorowanie
pracy nad
doumentami
Zarzadzanie
uprawnieniami
Transformacja i
walidacja
komunikatów
Logowanie
Wysyłanie
potwierdzeń
Kolejkowanie
wiadomosci
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ść
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

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
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
Wartość dodana
Narzędzia
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)
Prezentacja
Download