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

Podobne dokumenty
1 Wprowadzenie do J2EE

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Wybrane działy Informatyki Stosowanej

Ekspert MS SQL Server Oferta nr 00/08

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Aplikacje WWW Wprowadzenie

Wybrane działy Informatyki Stosowanej

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

EJB 3.0 (Enterprise JavaBeans 3.0)

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

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

Oracle Application Express -

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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

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

REFERAT O PRACY DYPLOMOWEJ

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Język Java i technologie Web - opis przedmiotu

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

Zagadnienia projektowania aplikacji J2EE

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Spring Framework - wprowadzenie i zagadnienia zaawansowane

SOP System Obsługi Parkingów

Krzysztof T. Psurek Politechnika Śląska Wydział Organizacji i Zarządzania

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

KONCEPCJA WYKORZYSTANIA TECHNOLOGII APPLET- JAVA W TWORZENIU

OPIS i SPECYFIKACJA TECHNICZNA

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

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

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

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Instalacja programu Ozon.

Konspekt pracy inżynierskiej

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Aplikacje Internetowe, Servlety, JSP i JDBC

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

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

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

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

TECHNOLOGIA IMPLEMENTACJI SYSTEMU OBROTU I ZARZĄDZANIA NIERUCHOMOŚCIAMI

Wybrane działy Informatyki Stosowanej

Pojęcie systemu baz danych

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

ul. Pogodna Olsztyn codeit@codeit.pl

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Wykład 1 Inżynieria Oprogramowania

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Forum Client - Spring in Swing

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

SZKOLENIE TWORZENIE SYSTEMÓW

Komunikacja i wymiana danych

SOA Web Services in Java

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Bazy danych 2. Wykład 1

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Programowanie Komponentowe WebAPI

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Wzorce prezentacji internetowych

7. zainstalowane oprogramowanie zarządzane stacje robocze

Tworzenie aplikacji bazodanowych

Komunikator internetowy w C#

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

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

Architektura nowoczesnych aplikacji internetowych

Integracja wirtualnego laboratorium z platformą e-learningową

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Kierunkowy Wybieralny Polski Semestr V

Piotr Bubacz Cloud Computing

Część I Rozpoczęcie pracy z usługami Reporting Services

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

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

System sprzedaŝy rezerwacji

KARTA PRZEDMIOTU USYTUOWANIE PRZEDMIOTU W SYSTEMIE STUDIÓW. Informatyka. Stacjonarne. Praktyczny

Programowanie obiektowe

Wzorce architektoniczne

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Sieci VPN SSL czy IPSec?

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 7 Modelowanie klas i stanów, generacja kodu. Materiały dla studentów

Transkrypt:

InŜynieria Rolnicza 14/2005 Jerzy Dąbkowski, Marcin Kowalski Katedra InŜynierii Rolniczej i Informatyki Akademia Rolnicza w Krakowie TECHNOLOGIA JSP W TWORZENIU APLIKACJI ROZPROSZONYCH NA PRZYKŁADZIE SYSTEMU ZARZĄDZANIA NIERUCHOMOŚCIAMI W GMINIE Wstęp Streszczenie W pracy przedstawiono projekt i elementy implementacji systemu wspierającego zarządzanie obrotem nieruchomościami w gminie. Projekt oparto na trójwarstwowej architekturze wykorzystującej technologię JSP i wzorzec MVC. Słowa kluczowe: Architektura trójwarstwowa, technologia JSP, wzorce MVC. W wyniku zwiększonego zainteresowania rynkiem nieruchomości na obszarach wiejskich, pojawia się zapotrzebowanie na rozwiązania informatyczne wspierające proces obrotu nieruchomościami. Jednocześnie, rozwijający się intensywnie rynek usług internetowych powoduje powstawanie coraz to większej ilości dostępnych serwisów informatycznych a sama forma przedstawiania informacji w postaci stron internetowych cieszy się coraz większą popularnością. W związku z powyŝszym w pracy niniejszej przedstawiono projekt wielowarstwowego systemu informatycznego wspierającego proces obrotu nieruchomościami na potrzeby gminy. Zgodnie z przyjętymi załoŝeniami system powinien się charakteryzować przejrzystą strukturą, dającą moŝliwość późniejszej rozbudowy (załoŝenie to zostało zrealizowane z udziałem wzorca MVC) a ze względu na postawiony wymóg elastyczności aplikacji w zakresie wyboru bazy danych zdecydowano się na bezprocedurową implementację bazy danych. W procesie tworzenia aplikacji wykorzystano równieŝ następujące komponenty technologii J2EE: 1. Java Beans. 2. XML (Extensible Markup Language). 75

Jerzy Dąbkowski, Marcin Kowalski 3. XSLT (Extensible Style Language Transformations). 4. JDBC (Java Database Connectivity). 5. JNDI (Java Naming and Directory Interface). 6. JAAS (Java Authentication and Authorization Service). 7. Tag Libraries. Przy projektowaniu i implementacji systemu skoncentrowano się na podstawowych operacjach wykonywanych podczas procesu kupna - sprzedaŝy nieruchomości: wprowadzanie ofert, upublicznienie ofert, rejestracja klientów, rejestracja transakcji (jako odwzorowanie procesu kupna-sprzedaŝy nieruchomości). Architektura systemu System składa się z trzech zasadniczych warstw (rysunek 1): Warstwa prezentacji, warstwa logiki biznesowej, warstwa danych. Warstwa prezentacji Warstwa logiki biznesowej Warstwa danych Rys. 1. Fig. 1 Architektura systemu System architecture 76

Technologia JSP... Poszczególne warstwy są niezaleŝnymi elementami systemu. Warstwy między sobą komunikują się za pomocą odpowiednich protokołów. Warstwa prezentacji komunikuje się warstwą logiki biznesowej za pomocą protokołu HTTP. W przypadku warstwy danych i warstwy logiki systemu proces wymiany informacji realizowany jest za pomocą sterownika zaimplementowanego zgodnie ze specyfikacją JDBC [Brown, Burdick 2001]. PoniŜej przedstawiamy krótką charakterystykę poszczególnych warstw. Warstwa prezentacji Klient łączy się z systemem za pomocą przeglądarki internetowej. Daje to moŝliwość korzystania z aplikacji niezaleŝnie do platformy systemowej. UŜytkownik nie musi posiadać Ŝadnych dodatkowych narzędzi, aby pracować z systemem i wymaga się od niego tylko znajomości obsługi przeglądarki. Z przeglądarki klient odwołuje się zarówno do statycznych (strony HTML) jak i do dynamicznych (JSP, Servlet) zasobów systemu. Warstwa logiki biznesowej Odpowiedzialna jest za proces przetwarzania informacji i wykonywania operacji na bazie danych. Wygenerowane informacje udostępnione są warstwie prezentacji. Dzięki wyróŝnieniu poszczególnych warstw mamy do czynienia z przejrzystą strukturą systemu. Rolę serwera aplikacji w systemie pełni środowisko J2EE - Java 2 Enterprise Edition. J2EE wykorzystuje Javę jako podstawę implementacji logiki systemu, definiuje równieŝ środowisko wykonania i model aplikacji. Dzięki wyborze takiej technologii aplikacja moŝe być zainstalowana na dowolnej platformie systemowej (UNIX, Linux, Windows). Warstwa danych Warstwa danych jest istotnym elementem z punktu widzenia trójwarstwowych aplikacji internetowych. Jest odpowiedzialna za proces przechowywania i wymianę danych. W opisywanym systemie zarządzania nieruchomościami warstwa danych reprezentowana jest przez dowolny system zarządzania relacyjną bazy danych. W przyjętej implementacji jako serwer bazodanowy zastosowano Microsoft SQL Server. Wykorzystanie wzorca MVC (Model - View - Controller) Głównym zadaniem wzorca MVC (rysunek 2) [McLaughlin 2001], [Wrembel, Wieczerzycki 1997] jest odseparowanie poszczególnych warstw systemu. Dzięki 77

Jerzy Dąbkowski, Marcin Kowalski takiemu podejściu moŝliwe jest połączenie warstwy logiki biznesowej z warstwą prezentacji zaimplementowaną przy pomocy pakietu Java Swing. Do zalet wzorca MVC zaliczyć naleŝy znacznie łatwiejszy proces zarządzania aplikacją (ograniczenie ilości skryptletów na stronach JSP ułatwia proces analizy kodu [Hall 2002], [Hunter, Crawford 2002]). Większy nakład czasu związany z implementacją wzorca MVC przynosi wymierne korzyści w sytuacji rozbudowy systemu. Rys. 2. Fig. 2. Wzorzec MVC MVC template Poszczególne składniki wzorca spełniają następujące funkcje w systemie: Model reprezentuje warstwę logiki biznesowej. Ma za zadanie informowanie widoku (View) o zmianach stanu (dodana oferta, dodany uŝytkownik). Warstwę modelu moŝna podzielić na dwa zasadnicze komponenty: State component (składnik stanów) - odpowiedzialny jest za definiowanie wartości modelu posiadający metody umoŝliwiające zmiany tych wartości [Brown Burdick 2001]. Action component (składnik zdarzeń) - definiuje moŝliwe zmiany składnika stanów. Głównym zadaniem tego składnika jest operowanie i zarządzanie interakcjami ze składnikiem stanów. View (widok) odpowiada za prezentację wyników otrzymanych z warstwy modelu. Za pomocą tej warstwy realizowany jest teŝ proces interakcji z uŝytkownikiem. 78

Technologia JSP... Controller (kontroler) pełni funkcje sterownika systemu, identyfikuje przychodzące zapytanie a następnie przesyła je do odpowiedniego modułu. Poszczególne warstwy wzorca MVC implementowane są za pomocą następujących komponentów: Model - Java Beans, View - JSP, Controller - Java Servlet. Grupy uŝytkowników System posiada zdefiniowane trzy grupy uŝytkowników: Administrator systemu Operator systemu UŜytkownik systemu Administrator sytemu - do głównych zadań tej grupy uŝytkowników zalicza się zarządzanie kontami (dodawanie, usuwanie, modyfikacja, przydzielanie ról). Grupa administratorów jest najmniej liczna, posiada największe uprawnienia w systemie. Administrator systemu wymagana autoryzacji przez JAAS. Operator systemu - grupa uŝytkowników mająca najszerszą funkcjonalność. Posiada uprawnienia w zakresie dodawania, usuwania i modyfikacji ofert nieruchomości. Przeprowadza proces transakcji (kupno - sprzedaŝ), określa równieŝ stany dla poszczególnych ofert (oferta udostępniona, oferta zawieszona, oferta wprowadzana). Wymagana autoryzacja przez JAAS. UŜytkownik systemu - do głównych zadań tej grupy uŝytkowników zalicza się przeglądanie, sortowanie i przeszukiwanie ofert. Jest najbardziej liczną grupą w systemie o najmniejszych uprawnieniach. Przedstawione wykresy przypadków uŝycia ilustrują uŝytkowników systemu. Opracowana na podstawie naszkicowanego projektu aplikacja jest w fazie testowania w gminie Milówka (woj. Śląskie). 79

Jerzy Dąbkowski, Marcin Kowalski Administrator systemu Dodawanie uŝytkownika Usuwanie uŝytkownika «extends» Przydzielenie do grupy Rys. 3. Fig. 3. Przypadki uŝycia dla administratora systemu Use case: system administrator Operator systemu Rejestracja oferty Przepro. transakcji Rejestracja klienta Zmiana stanu oferty Usunięcie oferty Modyfikacja oferty Rys. 4. Fig. 4. Przypadki uŝycia dla operatora systemu Use case: system operator 80

Technologia JSP... Rys. 5. Fig. 5. Przypadki uŝycia dla uŝytkownika systemu Use case: user Blibliografia Brown S., Burdick R. 2001. Professional JSP 2 nd Edition, Wrox. Hall M. 2002. Java Servlet i Java Servlet Pages, Helion. Hunter J., Crawford W. 2002. Java Servlet Programowanie, Helion i O`Reilly. McLaughlin B. 2001. Java i XML, Helion i O`Reilly. Wrembel R., Wieczerzycki W. 1997. Projektowanie aplikacji bazy danych Oracle, Nakom, Poznań. 81

Jerzy Dąbkowski, Marcin Kowalski JSP TECHNOLOGY IN NETWORK DISTRIBUTED APPLICATIONS APPLIED TO COMMUNITY REAL ESTATE MARKET Summary The design and implementation of a system that supports management of community real estate system is presented. The project is based on the three-layer architecture in which one uses JSP technology as well as MVC template. Key words: Three layer architecture, JSP technology, MVC template 82