Software Architecture Document wersja 2.0-nal



Podobne dokumenty
Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

1 Wprowadzenie do J2EE

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

EJB 3.0 (Enterprise JavaBeans 3.0)

Praca Dyplomowa Magisterska

Podstawy modelowania w j zyku UML

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Zarządzanie Zasobami by CTI. Instrukcja

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Regulamin Usªugi VPS

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Wykład 1 Inżynieria Oprogramowania

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Zaawansowane Aplikacje Internetowe

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Podstawy modelowania w j zyku UML

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Projektowanie systemów informacyjnych: język UML

Platforma do obsługi zdalnej edukacji

Subversion - jak dziaªa

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Analiza wydajno±ci serwera openldap

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010

edziennik Ustaw Opis architektury

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

INFORMATOR TECHNICZNY WONDERWARE

Aplikacje Internetowe, Servlety, JSP i JDBC

I. Zakładanie nowego konta użytkownika.

TECHNOLOGIA JSP W TWORZENIU APLIKACJI ROZPROSZONYCH NA PRZYKŁADZIE SYSTEMU ZARZĄDZANIA NIERUCHOMOŚCIAMI W GMINIE

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

elektroniczna Platforma Usług Administracji Publicznej

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

Baza danych - Access. 2 Budowa bazy danych

Archiwum Prac Dyplomowych

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

Testowanie i wdrażanie oprogramowania Emulator systemu bankowego

Automatyzacja procesu publikowania w bibliotece cyfrowej

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007

InsERT GT Własne COM 1.0

Ukªady Kombinacyjne - cz ± I

Tworzenie aplikacji webowych w oparciu o framework ObjectLedge

Karty kryptograczne w ±rodowisku Linux

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Bazy danych. Andrzej Łachwa, UJ, /15

SpedCust 5 instrukcja instalacji

INSTRUKCJA Panel administracyjny

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

ZAŠ CZNIK DANYCH TECHNICZNYCH

Wzorce projektowe strukturalne cz. 1

Współczesne serwisy internetowe. Wykład 1 Dr Krzysztof Podlaski

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Spring MVC Andrzej Klusiewicz 1/18

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Nowoczesne aplikacje internetowe oparte na Seam, JSF, EJB3, JPA, AJAX

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

PLAN POŁĄCZENIA PRZEZ PRZĘJECIE Proabit sp. z o.o. z siedzibą w Warszawie z Linapro sp. z o.o. z siedzibą w Warszawie

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

System Connector Opis wdrożenia systemu

Zdalne odnawianie certyfikatów do SWI

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Programowanie w Javie 2. Płock, 26 luty 2014 r.

SZABLONY KOMUNIKATÓW SPIS TREŚCI

Formularz rzeczowo-cenowy PAKIET 2

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

PomysL... i co dalej?

Opis instalacji systemu Intranet Komunikator

Zagadnienia Programowania Obiektowego Agata Hejmej

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

System do kontroli i analizy wydawanych posiłków

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

Aplikacje Internetowe termin dodatkowy

DOTACJE NA INNOWACJE ZAPYTANIE OFERTOWE

Instrukcja programu PControl Powiadowmienia.

Szkolenie wycofane z oferty

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Transkrypt:

Software Architecture Document wersja 2.0-nal Marcin Miete«Maciej Szarli«ski studenci IV roku infromatyki Wydziaªu Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego Projektowanie Obiektowych Systemów Informatycznych 2009/10 19 stycznia 2010 Spis tre±ci 1 Architektura ogólna systemu 2 1.1 Obsªuga» da«do serwera i prezentacja danych............... 3 1.2 Trwaªo± danych i transakcyjno±....................... 4 2 Diagram Encji 6 2.1 Sys_User.................................... 7 2.2 Role....................................... 7 2.3 Action...................................... 7 2.4 Document.................................... 7 2.5 Plan....................................... 7 2.6 Design...................................... 7 2.7 Script...................................... 7 2.8 Use_Case.................................... 8 2.9 CaseScriptConnection............................. 8 2.10 Project...................................... 8 2.11 Attachment................................... 8 2.12 Result...................................... 8 3 Schemat bazy danych 9 4 Dekompozycja obiektowa systemu 10 4.1 Pakiety...................................... 10 4.2 Serwisy biznesowe................................ 11 4.3 Warstwa dost pu do danych.......................... 12 4.4 Encje....................................... 13 1

5 Interfejs page ow 14 6 Historia zmian 15 2

1 Architektura ogólna systemu System b dzie oparty o architektur thin-client caªa logika aplikacji b dzie zawarta w cz ±ci serwerowej. U»ytkownicy b d korzystali z usªug serwera za po±rednictwem przegl - darki internetowej (protokóª HTTP lub HTTPS). Rozwi zanie powinno zapewni : dost p do systemu niezale»nie od systemu operacyjnego i bez konieczno±ci instalacji oprogramowania po stronie u»ytkownika, trwaªo± i bezpiecze«stwo danych, wielodost p (do 1000 u»ytkowników jednocze±nie przy czasie odpowiedzi co najwy»ej 5s). Ogólny diagram architektury systemu przedstawiony jest poni»ej: Preferowane technologie maj ce wpªyw na architektur zyczn : system zarz dzania baz danych: PostgreSQL, serwer aplikacji: Glasssh lub inny zgodny ze specykacj Java EE 5 (wystarczy kontener serwletów zgodny z Java Servlet 2.5 ), warstwa prezentacji: framework JavaServer Faces 1.2 rozszerzony o AJAX (biblioteki IceFaces). 3

1.1 Obsªuga» da«do serwera i prezentacja danych 1.1.1 Komunikacja z serwerem w JavaServer Faces JavaServer Faces jest technologi wchodz c w skªad standardu Java Enterprise Edition, upraszczaj c obsªug» da«http po stronie serwera. Framework wzbogaca aplikacje internetowe o mo»liwo± przechowywania stanu komponentów po stronie serwera (walidacja, konwersja i utrzymywanie sesji) oraz pozwala na odseparowanie warstwy widoku (strony JSP wzbogacone o dodatkowe biblioteki tagów) od logiki aplikacji. Dzi ki temu programi- ±ci mog pracowa niezale»nie nad ró»nymi cz ±ciami aplikacji. Poni»szy diagram prezentuje uproszczony model komunikacji u»ytkownika z aplikacj dzia- ªaj c na serwerze za po±rednictwem przegl darki internetowej: 1.1.2 dania asynchroniczne i bogate komponenty Technologia JavaServer Faces wymaga, aby ka»de» danie do serwera byªo wynikiem akcji u»ytkownika (np. zatwierdzenie formularza przyciskiem), co uniemo»liwia na przykªad sprawdzanie poprawno±ci danych ju» podczas ich wprowadzania. Technologia JavaServer Faces nie pozwala na: sprawdza poprawno±ci wprowadzanych danych ju» podczas wypeªniania formularzy, przez co w przypadku przesyªania du»ej ilo±ci danych obsªuga bª dów jest uci»liwa, wy±wietla powiadomie«w dowolnym momencie, budowa stron internetowych w oparciu o komponenty znane z aplikacji stacjonarnych (Rich Internet Application). Wszystkie te problemy adresuje framework IceFaces, który jest rozszerzeniem mechanizmu JavaServer Faces o komunikacj asynchroniczn i bibliotek bogatych komponentów. Do obsªugi AJAX push przez serwer Glasssh wymagana jest darmowa wtyczka Grizzly. 1.1.3 Leniwa inicjalizacja obiektów Aby zapobiec wczytywaniu wielu danych z bazy danych przy ka»dym zapytaniu, zastosujemy mechanizm leniwej inicjalizacji asocjacji i kolekcji. Rozwini cie kolekcji dopiero w widoku b dzie mo»liwe dzi ki zastosowaniu wzorca Open session in view, którego implementacj dostarcza framework Spring. 4

1.2 Trwaªo± danych i transakcyjno± 1.2.1 Mapowanie obiektowo-relacyjne Ka»da encja ma swoje odzwierciedlenie w systemie w postaci klasy zgodnej ze standardem JavaBeans. Mechanizm mapowania b dzie dostarczony przez framework Hibernate: 1.2.2 Zarz dzanie poª czeniami i transakcjami Odpowiedzialno± za utrzymywanie puli poª cze«do bazy danych oraz synchronizacj transakcji przeniesiemy na serwer aplikacji. Z poziomu aplikacji baza danych b dzie widoczna jako zasób DataSource, który b dzie dost pny poprzez interfejs JNDI. Demarkacja transakcji zostanie zdeniowana za pomoc interfejsu dostarczanego przez Spring Framework. 5

6

2 Diagram Encji 7

2.1 Sys_User Encja odpowiadaj ca u»ytkownikowi systemu. 2.2 Role Encja odpowiadaj ca roli u»ytkownika w systemie np. tester, projektant testów, kierownik testów. 2.3 Action Encja odpowiadaj ca pojedynczej aktywno±ci zwi zanej z konkretn akcj w systemie. Ka»da rola (tester, projektant testów, kierownik testów itp.) b dzie posiadaªa zbiór akcji, do których b dzie miaªa prawa dost pu. 2.4 Document Encja odpowiadaj ca abstrakcyjnemu dokumentowi zwi zanemu z procesem testowania oprogramowania. Ka»dy taki dokument posiada atrybuty: name nazwa dokumentu content gªówna zawarto± dokumentu (tekst opisuj cy wszystkie kwestie zwi zane z typem dokumentu) version_1 gªówny nr wersji dokumentu version_2 nr dla podwersji dla danej wersji gªównej. creation_date data i czas utworzenia dokumentu. 2.5 Plan Encja odpowiadaj ca dokumentowi planu testów. 2.6 Design Encja odpowiadaj ca dokumentowi projektu testów. 2.7 Script Encja odpowiadaj ca skryptowi testów. Ka»demu skryptowi mo»na przyporz dkowa list pojedynczych testów (Use_Case), projekt, testera, który b dzie zobowi zany do przeprowadzenia wszystkich testów powi zanych ze skryptem. Dodatkowo mo»na zdeniowa system operacyjny, na którym b d przeprowadzane testy i szacowany czas trwania przeprowadzenia testów skryptu. 8

2.8 Use_Case Encja odpowiadaj ca pojedynczemu testowi. Istotnymi atrybutami s : steps_description dokªadny opis krok po kroku czynno±ci, które powinien wykona tester. expected_result ostateczny oczekiwany wynik po wykonaniu wszystkich kroków opisanych w steps_description. Ka»dy case tyczy si wykonania testu na konkretnym obszarze projektu. Ka»dy projekt dzieli si na podprojekty, z których mo»emy wybra te których dotyczy dany case. 2.9 CaseScriptConnection Encja odpowiadaj ca poª czeniu wiele do wielu mi dzy encj Case i Script. W kontek±cie takiego poª czenia tworzone s wyniki danego testu (Case). 2.10 Project Encja odpowiadaj ca projektowi, który jest przedmiotem testów. posiada podprojekty. Ka»dy projekt mo»e 2.11 Attachment Encja odpowiadaj ca zaª cznikowi. Zaª czniki mo»na dodawa zarówno do rezultatów testów (encja Result) jak i do dokumentów ( encja Dokument). 2.12 Result Encja odpowiadaj ca rezultatowi pojedynczego testu wykonanego w kontek±ci danego skryptu (CaseScriptConnection). Ka»demu rezultatowi przyporz dkowuje si testera, który ostatecznie wykonaª dany test (zazwyczaj ten sam, który zostaª przydzielony do skryptu). status status przeprowadzenia danego testu (np. pass, acceptable, fail, not tested). description komentarze i dodatkowe opisy odno±nie przebiegu testu ( co i gdzie byªo nie tak jak by powinno). test_date data i czas rozpocz cia testu. duration czas trwania testu w sekundach. 9

3 Schemat bazy danych 10

4 Dekompozycja obiektowa systemu 4.1 Pakiety Poni»szy diagram przedstawia podziaª klas na pakiety: posi09.view zbiór klas odpowiedzialnych za obsªug zdarze«aplikacyjnych oraz przechowywanie danych dla stron JSP, posi09.model.service implementacja wzorca ServiceLocator, posi09.model.dao implementacja wzorca Data Access Object, posi09.model.entity klasy reprezentuj ce encje. 11

4.2 Serwisy biznesowe Klasa implementuj ca interfejs IServiceLocator jest odpowiedzialna za dostarczanie odpowiedniego serwisu ka»demu, kto potrzebuje przeczyta lub zaktualizowa dane przechowywane w bazie danych. Serwisy zawieraj referencje do obiektów DAO i inicjalizuj transakcje bazodanowe, które s przenoszone na metody DAO dzi ki TransactionManager'owi. 12

4.3 Warstwa dost pu do danych Interfejs IGenericDAO<T> stanowi abstrakcj nad interfejsem bazodanowym udost pniaj c nast puj ce metody: List<T> getall(lockmode lock) zwraca wszystkie obiekty encji T, T getbyid(int id, LockMode lock) zwraca obiekt encji T o identykatorze id, int save(t o) utrwala obiekt o i zwraca przyznany mu identykator, void update(t o) uaktualnia stan obiektu o w baziw danych, void refresh(t o) od±wie»a atrybuty obiektu o danymi trwaªymi, void remove(t o) usuwa obiekt o z bazy danych, List<T> customcriterialist(criteria criteria) zwraca list obiektów speªniaj cych warunek criteria, T customcriteriaunique(criteria criteria) zwraca obiekt speªniaj cy warunek criteria (wyj tek w przypadku, gdy takich obiektów jest wi cej ni» 1). Interfejs zostanie zaimplementowany za pomoc frameworku Hibernate i biblioteki Spring ORM klasa GenericHibernateDAO<T>. Dla ka»dej encji istnieje dokªadnie jedna odpowiadaj ca klasa DAO wywiedziona z GenericHibernateDAO z doprecyzowaniem typu. 13

4.4 Encje Klasy te reprezentuj encje w bazie danych, ich obiekty s tworzone i zarz dzane za pomoc frameworku Hibernate. 14

5 Interfejs page ow Poni»szy diagram prezentuje uproszczon sie przej± pomi dzy stronami WWW. 15

6 Historia zmian 2009-10-27 wersja 0.1 2009-11-17 wersja 1.0 2009-12-01 wersja 1.1 2010-01-19 wersja 2.0-final 16