pobierz plik referatu - BDAS
Transkrypt
pobierz plik referatu - BDAS
Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Rozdział 4 w w System monitorowania zgłoszeń, rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań - Microsoft Workflow Foundation 1 Wstęp da .b w Streszczenie. Rozdział prezentuje system informatyczny wspomagający ewidencjonowanie zgłoszeń rozszerzeń oraz defektów, dotyczących monitorowanej aplikacji WWW. System pozwala na gromadzenie zgłoszeń oraz śledzenie procesu realizacji zgłoszeń i przebiegu zadań naprawy defektów aplikacji. W rozwiązaniu zastosowano specyficzny mechanizm identyfikujący elementy monitorowanych stron WWW, dla których generowane jest zgłoszenie, pozwalając przez to na łatwą lokalizację tych elementów podczas późniejszej analizy zgłoszenia. Ze względu na złożoność oraz w celu zapewnienia możliwości łatwej modyfikacji, proces obsługi zgłoszeń został zaimplementowany z wykorzystaniem tzw. silnika przepływu zadań – Microsoft Workflow Foundation. System monitorowania został m.in. skutecznie użyty do obsługi zgłoszeń związanych z publikacją WWW, wygenerowaną na podstawie repozytorium opisów procesów wytwórczych, utworzonych z wykorzystaniem Eclipse Process Framework. pl s. System FeedWeb to intranetowa aplikacja zaimplementowana w technologii .NET 3.0, która została stworzona w celu usprawnienia obsługi zgłoszeń rozszerzeń oraz defektów do oprogramowania aplikacyjnego, ze szczególnym uwzględnieniem rozwiązań webowych. Dodatkowo wymóg definiowania odrębnych ścieżek obsługi zgłoszeń rozszerzeń oraz defektów dla różnych produktów programowych, spowodował potrzebę stworzenia rozwiązania umożliwiającego elastyczne definiowanie i obsługę tych ścieżek przez projektanta lub administratora, co stanowiło przesłankę do wykorzystania w implementacji mechanizmu przepływu zadań technologii .NET 3.0 (ang. Microsoft Workflow Foundation). Aplikacje wykonane w technologii cienkiego klienta, w tym również rozwiązania portalowe oraz systemy CMS (ang. content management system), z założenia wymagają dostępu do sieci Internet (intranet). Fakt ten wykorzystywany jest przez twórców poszczególnych rozwiązań również do stworzenia mechanizmów umożliwiających potencjalnym użytkownikom zgłaszanie defektów i potencjalnych rozszerzeń związanych Dariusz Rafał Augustyn, Łukasz Wyciślik, Łukasz Warchał Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska email:{draugustyn, lwycislik}@polsl.pl (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał w z właśnie obsługiwaną zawartością, prezentowaną przez przeglądarkę WWW. Funkcjonalność ta najczęściej wspomagana jest przez systemy CMS poprzez umożliwienie określenia przez projektanta witryny zwrotnego adresu mailowego lub strony wspomagającego serwisu, odnośnik (ang. link), do którego zostanie umieszczony na wybranych stronach wygenerowanych przez system CMS. Podobnie jest w sytuacji wytwarzania aplikacji dedykowanych. Takie rozwiązania obsługi zgłoszeń defektów i potencjalnych rozszerzeń są wysoce niedoskonałe i obarczone szeregiem uciążliwości: − osoba zgłaszająca poza opisaniem li-tylko napotkanego problemu obarczana jest opisem jego lokalizacji, kontekstu wystąpienia oraz wersji aplikacji WWW, w której problem wystąpił, − w przypadku braku autoryzacji, osoba zgłaszająca nie czuje się odpowiedzialna za wprowadzaną zawartość, co negatywnie rzutuje na jakość opisu problemu, − w przypadku konieczności autoryzacji w serwisie wspomagającym dodatkowa pracochłonność może stanowić czynnik zniechęcający do zgłaszania defektów i potencjalnych rozszerzeń, − osoby kwalifikujące i analizujące zgłoszenia oprócz analizy natury problemu obarczane są określaniem wersji aplikacji, do której zgłoszono defekt oraz jego lokalizacją na podstawie być może nieprecyzyjnego opisu osoby zgłaszającej. Niedogodności te zostały wyeliminowane przez proponowany system, co zostało praktycznie wykazane na przykładzie witryny WWW, będącej publikacją z narzędzia EPF (ang. Eclipse Process Framework) [10]. da .b w w 2 Propozycja mechanizmu zgłaszania dla intranetowych aplikacji WWW defektów i rozszerzeń pl s. Propozycja mechanizmu zgłaszania defektów lub rozszerzeń wypracowana została w oparciu o założenie wyeliminowania niedogodności opisanych we wstępie, a identyfikowanych w wielu istniejących systemach. Polega ona na tym, że użytkownik przeglądając zawartość witryny WWW ma możliwość zgłoszenia swoich uwag do aktualnie przeglądanej strony poprzez kliknięcie linka prezentowanego na każdej ze stron danej witryny, co spowoduje automatycznie wyświetlenie okna przeglądarki z omawianą aplikacją. Ponieważ przyjęto założenie, że zgłaszanie defektów lub rozszerzeń realizowane jest w ramach sieci intranet, tak więc, potencjalny użytkownik nie musi interaktywnie uczestniczyć w procesie autoryzacji, gdyż jego tożsamość przejmowana jest z systemu operacyjnego i wykorzystana do weryfikacji uprawnień do wykonania operacji zgłaszania uwag. Aplikacja prezentuje okno do zgłaszania uwag będąc „świadoma” tego kto zgłasza (tożsamość systemu operacyjnego) oraz do której strony i której wersji witryny zgłasza (jest to zapewnione przez odpowiedni kod java-script ukryty za odnośnikami prezentowanymi na każdej ze stron). Użytkownikowi pozostaje więc tylko merytoryczne opisanie problemu, na który się natknął podczas przeglądania zawartości witryny WWW. Obsługa zgłoszonego problemu może być realizowana w oparciu o wcześniej zdefiniowany przez projektanta schemat przepływu zadań obsługi zgłoszeń błędów i rozszerzeń. Projektant, definiując schemat przepływu zadań dla zgłoszeń do danego systemu, ma możliwość definiowania stanów zgłoszeń, z których wynikają bezpośrednio czynności konieczne do wykonania przez poszczególnych uczestników, określając jednocześnie role, które muszą oni pełnić w systemie, aby być dopuszczonymi do wykonania tych zadań. 44 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań 3 Mechanizm przepływu zadań Microsoft Workflow Foundation w Mechanizm Windows Workflow Foundation [1], [2], [3] został bardzo niedawno wprowadzony na rynek narzędzi wytwórczych przez firmę Microsoft Corporation jako element infrastruktury .NET w wersji 3.0. Koncepcja WF zakłada wyodrębnienie elementów systemu odpowiedzialnych za wyrażenie przepływu i reguł decyzyjnych oraz obsługę ich przetwarzania (wyodrębniona definicja i obsługa logiki przetwarzania). WF jest pewną ideą architektury systemów informatycznych oraz infrastrukturą programową pozwalającą na wizualny, komponentowy sposób definiowania logiki przetwarzania (sekwencje czynności, przepływy stanów, reguły biznesowe) oraz zapewniający jej efektywną, systemową obsługę. Definicja sposobu przetwarzania w ramach przepływu w znacznej mierze możliwa jest do utworzenia i modyfikacji w trybie wizualnym przez projektanta systemu. Logika przetwarzania może być wyrażana w postaci przepływu sekwencyjnego działań lub przepływu stanów. Sposób wyrażania przepływu można uznać, w uproszczeniu, jako wzorowany na diagramach czynności lub stanów języka UML. Wśród wielu funkcjonalności dostarczanych w ramach mechanizmu WF, poniżej wymieniono i krótko scharakteryzowano tylko niektóre, wykorzystane w omawianym systemie FeedWeb: − określanie przepływów z wykorzystaniem predefiniowanych aktywności lub aktywności własnych (inaczej czynności użytkownika – ang. custom activities); WF pozwala na tworzenie bibliotek elementarnych własnych czynności lub całych reużywalnych przepływów. Przykładowo, w systemie FeedWeb, wykorzystano mechanizm aktywności użytkownika do utworzenia bibliotecznych działań powiadamiających, m.in. poprzez e-mail. − uruchamianie (ang. debugging) na poziomie wizualnego projektanta przepływu; Środowisko uruchomieniowe Visual Studio 2005, pozwala na obsługę punktów kontrolnych (ang. break point) ustawianych nie tylko w kodzie programu, ale również na poziomie graficznej reprezentacji przepływu, przez co ułatwiony jest proces uruchamiania systemu. − utrwalanie/odtwarzanie stanu przebiegu; Integralną częścią infrastruktury WF jest moduł implementujący systemową usługę dołączaną SQLWorkflowPresistanceService oraz skrypty tworzące strukturę i procedury bazy danych dla DBMS MS SQL Server, pozwalające utrwalać i odtwarzać stan przepływu. Utrwalanie polega na tzw. serializacji instancji przepływu, identyfikowanej poprzez GUID, deponowanej w tablicy bazy danych, albo na żądanie aplikacji sterującej, albo w chwilach bezczynności przepływu. − śledzenie/monitorowanie przebiegu przepływu; Integralną częścią infrastruktury WF jest moduł implementujący systemową usługę dołączaną SQLTrackingService oraz skrypty tworzące strukturę i procedury bazy danych dla DBMS MS SQL Server, pozwalające utrwalać i przeglądać wystąpienia zdarzeń związanych z uruchomionymi aktywnościami przepływów. Możliwa jest obserwacja przebiegu przepływu w ramach przeglądu zawartości tablic poprzez zapytania SQL ad hoc albo, dzięki funkcjonalności klasy SqlTrackingQuery, można dokonać monitorowania przebiegu przepływu w trybie programowym. Możliwe jest użycie narzędzi zewnętrznych (np. przykładowej aplikacji WorkflowMonitor, dostarczanej w ramach .NET Framework 3.5 da .b w w pl s. 45 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał w − − pl s. − da .b − w w SDK [4]), pozwalających na przegląd stanu przepływu i stanu poszczególnych aktywności w wizualnym trybie projektanta. WF dostarcza funkcjonalność określenia zakresu monitorowania poprzez mechanizm profili śledzenia, pozwalając na wskazanie w przepływie: miejsc podlegających śledzeniu – tzw. lokalizacji w nomenklaturze WF oraz zagadnień agregujących lokalizacje – tzw. punktów w nomenklaturze WF. Dzięki użyciu klasy TrackingProfile można filtrować zdarzenia stanu aktywności, zdarzenia stanu przepływu, zdarzenia użytkownika. Funkcjonalność śledzenia zdarzeń i zmian stanów przepływów działań jest pomocna zarówno na etapie uruchamiania i wdrażania systemu, jak i w trakcie eksploatacji. obsługa transakcji zgodnie z modelem rozproszonych transakcji X/Open (model XA [3]) oraz wykorzystanie mechanizmu transakcji otaczających; W systemie FeedWeb wykorzystano wariant transakcji klasycznego modelu XA oraz transakcji otaczających (ang. ambient transaction) i poprzez wykorzystanie działania typu TransactionScope zapewniono objęcie jednym zakresem transakcji operacji dotyczących utrwalania stanu przepływu oraz operacji dotyczących zawartości dziedzinowej bazy danych (tzn. merytorycznej bazy danych systemu FeedWeb). wykorzystanie reguł – deklaratywnego mechanizmu sterującego wykonaniem przepływów działań; W systemie FeedWeb mechanizm reguł pozwolił na wyodrębnienie formuł wykorzystywanych przy ocenie warunków dla działań sterujących typu IfElseActivity, WhileActivity, itp., zwiększając przejrzystość definicji przepływu i potencjalną łatwość jego modyfikacji. Reguły te wykorzystane są do sprawdzania ról aktualnie zalogowanego użytkownika aplikacji FeedWeb, a tym samym decydują o spełnieniu/niespełnieniu warunków dozoru, pokazanych na krawędziach diagramu stanów zgłoszenia (rys.7). użycie przepływów równoległych; Model przetwarzania infrastruktury WF pozwala na równoległą realizację działań, przepływów. W systemie FeedWeb zostało to wykorzystane w celu zrównoleglenia wykonania administracyjnej czynności powiadamiania o wejściu przepływu do określonego stanu (czynność monitująca właściwych użytkowników) z wykonaniem czynności istotnych merytorycznie (operacji na danych zgłoszenia). tworzenie/modyfikacja definicji przepływu zadań spoza narzędzia Visual Studio; WF umożliwia wizualne tworzenie i modyfikację definicji przepływu z poziomu środowiska wytwórczego Visual Studio 2005 (dzięki programowemu dodatkowi Windows Workflow Foundation Tools for Visual Studio), ostatecznie prowadząc do utworzenia wykonywalnego podzespołu DLL. WF umożliwia również deklaratywny model tworzenia i modyfikacji definicji przepływu, wyrażonej w języku XML z wykorzystaniem słownictwa XAML [6]. Aby użyć (uruchomić) prosty przepływ wyrażony w języku XML, można utworzyć instancję tego przepływu bezpośrednio na podstawie czytnika XML (ang. XmlTextReader), inicjowanego definicją tego przepływu. Aby uruchomić złożony przepływ wyrażony w języku XML, trzeba jednak skompilować jego definicję do podzespołu DLL z wykorzystaniem narzędzia wfc (ang. workflow compiler). WF udostępnia mechanizm obsługi wizualnego tworzenia definicji przepływu wyrażonego w XML (ang. Re-Hosting Workflow Designer) – API dla programistów [5]. Mechanizm ten może pozwolić na zbudowanie aplikacji, 46 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań w w pozwalającej nie tylko tworzyć/modyfikować/pokazywać definicje przepływu, ale również prezentować w trybie graficznym stan przetwarzania przepływu (poprzez wykorzystanie informacji dostarczanych przez wspomnianą usługę śledzenia). Funkcjonalność tę można wykorzystać do stworzenia własnego narzędzia do wizualizacji przepływu, ale istnieją gotowe programy realizujące w pewnych zakresach tę funkcjonalność (np. przykładowa aplikacja Workflow Designer [5]). System FeedWeb uzupełniono o prostą, narzędziową aplikację w technologii grubego klienta (technologia WinForm), pozwalającą na prezentację i modyfikację grafu głównego przepływu działań, określającego zmiany stanów zgłoszenia. Takie podejście pozwala na bezpośredni udział w czynności definiowania przepływów na etapie wdrożenia i konfiguracji (kastomizacji) systemu przez innych użytkowników (w tym użytkowników końcowych i przedstawicieli zamawiającego), a nie tylko projektantów systemu. określenie i realizacja sposobu przechodzenia pomiędzy ekranami aplikacji z wykorzystaniem przepływu stanów, zdefiniowanego przez projektanta; Nawigacja stron WWW w omawianej aplikacji, zrealizowanej w technologii ASP.NET jest obsługiwana przez mechanizm WF. − w 4 Architektura rozwiązania da .b Architektura omawianego systemu FeedWeb została zaprezentowana w ujęciu perspektywy logicznej, tzn. modelu aplikacji w kontekście pakietów klas (rys. 1) oraz fizycznej, tzn. komponentowej (rys. 2) i wdrożeniowej (rys. 3). Na rys. 1 zobrazowano strukturę logiczną omawianego rozwiązania przy pomocy diagramu pakietów (ang. UML package diagram [7]). Wykorzystane na diagramie regiony (ang. boundaries) pokazują rozdzielenie w systemie warstwy prezentacji (aplikacja WWW) od warstwy przetwarzania (moduły i przepływy). Poszczególne pakiety grupują w sobie klasy i interfejsy pełniące podobną rolę. Taki podział wynika pośrednio z wykorzystania do realizacji projektu WebClient Software Factory [8] – zbioru gotowych bibliotek oraz wskazówek, pomagających tworzyć systemy elastyczne i implementujące uznane wzorce projektowe. pl s. 47 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał Obsługa zgłoszeń Aplikacja WWW FeedWeb View s + AkceptowanieZgloszeniaPresenter + AnulowanieZgloszeniaPresenter + DefaultViewPresenter ASP.NET Pages + PodgladZgloszeniaPresenter + PodsumowaniePresenter + AkceptowanieZgloszeniaPage + Presenter + AnulowanieZgloszeniaPage + Zgloszenie + DefaultPage + ZgloszeniePresenter + PodgladZgloszeniaPage w + IAkceptowanieZgloszenia Workflow s «use» + PodsumowaniePage + ZgloszeniePage + IAnulowanieZgloszenia + ObslugaZgloszenPageFlow + IDefaultView + ObslugaZgloszenWorkflow + IPodgladZgloszenia + IPodsumowanie + IZgloszenie w «use» Controllers + ObslugaZgloszenController «use» + ObslugaZgloszenModuleInitializer User Controls w + ArtefaktUploadUserControl + FiltrZgloszenUserControl + ZestawArtefaktowUserControl Serv ices da .b + ArtefaktyDbService + DbServiceBase + ZadaniaDbService + ZgloszeniaDbService BusinessEntieties + Artefakt + FlitrWyszukiwania + IArtefaktyDbService + Zadanie + IDbServiceBase + Zgloszenie + IDisposable + IZadaniaDbService + IZgloszeniaDbService Rys. 1. Diagram przedstawiający model logiczny systemu FeedWeb. pl s. Jednym z takich wzorców projektowych jest MVP (ang. Model – View – Presenter) [9]. W omawianym rozwiązaniu każda strona ASP.NET (klasa z pakietu ASP.NET Pages) traktowana jest jako widok (w nomenklaturze MVP) i posiada swój interfejs i prezenter (klasy z pakietu Views). Działania użytkownika powodują wyzwalanie zdarzeń, których obsługą zajmuje się prezenter. Ten z kolei wywołuje odpowiednie metody kontrolera aplikacji/modułu (klasy z pakietu Controllers), które uruchamiają odpowiednie przepływy (klasy z pakietu Workflows) i usługi (klasy z pakietu Services). Wszystkie wymienione wyżej klasy wykorzystują do przekazywania danych obiekty, których definicje zawiera pakiet BusinessEntities. Klasy pakietu BusinessEntities modelują pojęcia z dziedziny przedmiotowej systemu i mają swoje bezpośrednie odwzorowanie w tabelach bazy danych. Z powyższego opisu wynika, że mamy tu do czynienia z nieco bardziej rozbudowanym wzorcem projektowym, niż klasyczny MVP. Jest to tak zwany Model – View – Presenter with Application Controller [8]. 48 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań Workflow s «library» Zgloszenia Workflow «library» Zgloszenia Pageflow w Aplication Modules IZgloszeniaDbService IZadaniaDbService w «module» Obsługa zgłoszeń w View Interface ISiteMapBuilderService da .b UI «module» Shell View Interface Site Map Service WebSite pl s. Rys. 2. Diagram komponentów przedstawiający powiązania i interfejsy pomiędzy poszczególnymi składnikami systemu. Na rys. 2, przy pomocy diagramu komponentów (ang. UML component diagram [7]), pokazano składniki, z których zbudowany jest system. Komponentem najwyższego poziomu jest aplikacja WWW - WebSite. Korzysta ona z dwóch systemowych modułów (w rozumieniu WebClient Software Factory [9]). Komponent Obsługa zgłoszeń zawiera wszystkie klasy i interfejsy potrzebne do obsługi poszczególnych stron ASP.NET. W tym celu korzysta z przepływów zdefiniowanych w bibliotekach Zgłoszenia Workflow i Zgłoszenia Pageflow. Aplikacja WWW korzysta także z usług komponentu Shell, który dostarcza infrastrukturę wspierającą tworzenie GUI (np. menu, mapa strony, historia ekranów itp.). Dzięki zdefiniowaniu interfejsów, poszczególne składniki systemu nie są ze sobą ściśle związane (ang. loosely coupled). Zapewnia to dużą elastyczność całego rozwiązania – podmiana jednego ze składników nie wymaga rekompilacji całego systemu, jeśli tylko implementuje on odpowiedni interfejs. 49 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał w da .b w w pl s. Rys. 3. Diagram wdrożenia systemu FeedWeb, uwzględniający wykorzystanie podsystemów testowanej aplikacji i podsystemu autentykacji/autoryzacji oraz modułów obsługujących mechanizm przepływów. Proponowany model wdrożenia omawianego systemu został pokazany na rys. 3 na diagramie wdrożenia (ang. UML deployment diagram [7]). Oczywiście istnieją możliwości innego rozkładu elementów systemu, np. zakładające intranetową infrastrukturę FeedWeb i internetowy dostęp do testowanej aplikacji WWW. W szczególności nie wyklucza się opcji wykorzystania innego systemu zarządzania bazą danych niż MS SQLServer w roli serwera bazy danych, obsługującego bazą dziedzinową systemu 50 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań FeedWeb, a nawet w roli serwera baz danych dla systemowych usług WF utrwalania i monitorowania. 5 Przykładowe wdrożenie i podsumowanie w Jednym z pierwszych, praktycznych zastosowań systemu FeedWeb było wykorzystanie do obsługi witryny WWW, będącej publikacją pochodzącą z systemu EPF (ang. Eclipse Process Framework). Publikacja ta, będąca bazą wiedzy o metodach i procesach wytwórczych, stanowiła dostosowanie (ang. tailoring) zawartości istniejącej bazy procesów (Basic Unified Process) do potrzeb konkretnego projektu realizacyjnego. Domyślnie, w witrynach publikowanych przez system EPF, mechanizm zgłaszania uwag dostępny jest z każdej ze stron witryny (rys. 4) i realizowany jest poprzez mechanizm email, tzn. wskazanie odnośnika Feedback na stronie WWW powoduje otwarcie okna (rys. 5), wywołującego program tzw. domyślnego klienta pocztowego z wpisanym adresem email, określonym podczas publikacji. da .b w w pl s. Rys. 4. Okno przeglądarki zawierające przykładową stronę publikacji EPF. 51 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał w w w Rys. 5. Okno z programem „domyślnego klienta pocztowego”. da .b Realizowane jest to przez funkcję javascript o nazwie sendFeedback, która zdefiniowana jest w pliku topnav.js. W celu integracji testowanej publikacji WWW z systemem FeedWeb, kod źródłowy tej funkcji zastąpiony został w taki sposób, że uaktywnienie wspomnianego odnośnika Feedback z dowolnej strony, spowoduje otwarcie okna (rys. 6) z aplikacją FeedWeb (z autoryzacją w tle – bez udziału użytkownika). Pola formularza nowego zgłoszenia zostają wstępnie wypełnione: adresem strony WWW obsługiwanej witryny, wersją publikacji, czasem zgłoszenia oraz danymi identyfikującymi użytkownika. Zgłaszającemu pozostaje więc tylko opisanie problemu na poziomie merytorycznym. Użytkownik ten ma również możliwość zapoznania się ze stanem swoich wcześniejszych zgłoszeń. pl s. 52 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań w da .b w w pl s. Rys. 6. Okno przeglądarki z systemem FeedWeb służące do rejestracji nowych zgłoszeń. Obsługa zarejestrowanych zgłoszeń możliwa jest przy pomocy homogenicznego interfejsu graficznego (rys. 8), a dopuszczalny, przykładowy przepływ stanów zgłoszeń został zdefiniowany dla obsługiwanego systemu zgodnie z diagramem (rys. 7) i zaimplementowany w oparciu o mechanizm WF. 53 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał Initial [rola in Zgłaszający] Zgłoszone [rola in { Zgłaszający, Dopuszczający }] [rola in Dopuszczający] w Do analizy [rola in Planujący analizę] Anulow ane [rola in Planujący analizę] w Analiza [rola in Weryfikujący analizę] [rola in Weryfikujący analizę] [rola in Analizujący] [rola in Weryfikujący analizę] Weryfikacj a analizy w [rola in Weryfikujący implementację] [rola in Weryfikujący analizę] Do implementacj i da .b [rola in Planujący implementację] Implementacj a [rola in Weryfikujący implementację] [rola in Implementujący] [rola in Weryfikujący implementację] Weryfikacj a implementacj i [rola in Weryfikujący implementację] Zrealizow ane pl s. Rys. 7. Przykładowy przepływ stanów zgłoszeń zdefiniowany do obsługi publikacji EPF. 54 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System monitorowania zgłoszeń rozszerzeń i defektów aplikacji WWW, bazujący na mechanizmie przepływu zadań w da .b w w Rys. 8. Przykładowe okno systemu FeedWeb związane z obsługą zgłoszeń. Literatura 1. 2. 3. 4. 5. pl s. Podsumowując, należy stwierdzić, że przedstawione rozwiązanie umożliwia zbudowanie elastycznego i ergonomicznego informacyjnego kanału zwrotnego (ang. feedback), wspomagającego śledzenie funkcjonowania szerokiej klasy systemów opartych o technologię cienkiego klienta. Końcowy użytkownik wprowadza tylko informację dotyczącą merytorycznej strony problemu, ale dzięki automatycznej autentykacji, ma świadomość odpowiedzialności za wprowadzane treści. Stan zgłoszonych uwag może być również przez niego na bieżąco monitorowany. Obsługa zgłoszonych zastrzeżeń odbywa się w homogenicznym, do końcowego użytkownika, środowisku a zastosowanie mechanizmu Workflow Foundation umożliwia łatwą zmianę (kastomizację) przepływu zadań, adekwatną do sposobu obsługi poszczególnych publikacji WWW. Kitta T.: Professional Windows Workflow Foundation, Wrox Press, 2007. Shukla D.Schmidt B.: Essential Windows Workflow Foundation, Addison-Wesley, 2006. Scribner K.: Microsoft Windows Workflow Foundation Step by Step, Microsoft Press, 2007. Windows Workflow Foundation Samples, http://msdn2.microsoft.com/en-us/library/ms741723.aspx. Windows Workflow Foundation, Everything About Re-Hosting the Workflow Designer, http://msdn2.microsoft.com/en-us/library/aa480213.aspx. 55 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 D.R. Augustyn, Ł. Wyciślik, Ł. Warchał 6. Petzold Ch.: Applications = Code + Markup. A Guide to the Microsoft Windows Presentation Foundation, Microsoft Press, 2006. 7. Booch G., Rubmaugh, Jacobson I.: UML przewodnik użytkownika, WNT, 2002. 8. Patterns & Practices - Web Client Software Factory, http://www.codeplex.com/websf. 9. Metsker S.J.: C# Design Patterns, Addison-Wesley, 2005. 10. Eclipse Process Framework Project (EPF), http://www.eclipse.org/epf. w da .b w w pl s. 56 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008