TECHNOLOGIA IMPLEMENTACJI SYSTEMU OBROTU I ZARZĄDZANIA NIERUCHOMOŚCIAMI

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

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

1 Wprowadzenie do J2EE

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

Wykład 1 Inżynieria Oprogramowania

PROJEKT Z BAZ DANYCH

Dokument Detaliczny Projektu

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Technologia informacyjna

PRZEWODNIK PO PRZEDMIOCIE

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

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

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

Opis systemu CitectFacilities. (nadrzędny system sterowania i kontroli procesu technologicznego)

System sprzedaŝy rezerwacji

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

OfficeObjects e-forms

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

EJB 3.0 (Enterprise JavaBeans 3.0)

Analiza i projektowanie aplikacji Java

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Agnieszka NOWAK * 1. WSTĘP

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Aplikacje WWW Wprowadzenie

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Ekspert MS SQL Server Oferta nr 00/08

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

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

Dokument Detaliczny Projektu

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

2. Podstawy programu Microsoft Access

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Kierunkowy Wybieralny Polski Semestr V

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Wybrane działy Informatyki Stosowanej

Java Persistence API - zagadnienia zaawansowane

Transformacja wiedzy w budowie i eksploatacji maszyn

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

PRZEWODNIK PO PRZEDMIOCIE

Web frameworks do budowy aplikacji zgodnych z J2EE

Projektowanie logiki aplikacji

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

9.5 Rozliczanie zaopatrzenia w przedmioty ortopedyczne i środki pomocnicze

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Wykład I. Wprowadzenie do baz danych

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

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

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

Aplikacje Internetowe, Servlety, JSP i JDBC

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PRZEWODNIK PO PRZEDMIOCIE

Wykład 2. Relacyjny model danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dokumentacja projektu QUAIKE Architektura oprogramowania

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

REFERAT O PRACY DYPLOMOWEJ

OPIS i SPECYFIKACJA TECHNICZNA

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro

Bazy danych 2. Wykład 1

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

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

PRZEWODNIK PO PRZEDMIOCIE

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

RELACYJNE BAZY DANYCH

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Spis treúci. 1. Wprowadzenie... 13

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

UML cz. II. UML cz. II 1/38

Autor: Joanna Karwowska

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Systemy baz danych. mgr inż. Sylwia Glińska

The Binder Consulting

Programowanie obiektowe

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA PROJEKTAMI W PRZEDSIĘBIORSTWIE

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

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

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Transkrypt:

InŜynieria Rolnicza 11/2006 Krzysztof Rączka *, Marcin Kowalski *, Stanisław Gąsiorek ** * DHL Aviation - Bruksela ** Katedra InŜynierii Rolniczej i Informatyki Akademia Rolnicza w Krakowie TECHNOLOGIA IMPLEMENTACJI SYSTEMU OBROTU I ZARZĄDZANIA NIERUCHOMOŚCIAMI Streszczenie Praca opisuje technologię implementacji systemu obrotu i zarządzania nieruchomościami. Poświecony jest on zarówno zagadnieniom teoretycznym jak i praktycznym aspektom budowy systemów wielowarstwowych ze szczególnym naciskiem na dynamikę oraz rozszerzalność projektu uzyskaną poprzez przejrzystą modularną strukturę, szerokie stosowanie rozwiązań konfiguracyjnych oraz wysoką parametryzowalność systemu. WaŜnym celem projektowym jest równieŝ przenaszalność rozwiązania uzyskana poprzez stosowanie uznanych standardów. Słowa kluczowe: nieruchomość, system informatyczny, architektura wielowarstwowa, diagram encji, techniczny schemat bazodanowy, XML, J2EE, servlet, JSP, JS Zarys analizy System dedykowany jest do wspomagania zarządzania oraz pośrednictwa obrotu nieruchomościami. Cel ten wyznacza trzy zasadnicze encje (twory koncepcyjne) określające dziedzinę zagadnienia a mianowicie: nieruchomość, klienta oraz transakcję. Są to pojęcia bazowe dla systemu, z których dalsza analiza wyłania w przypadku nieruchomości rozróŝnienie na budynki i lokale oraz grunty. Dalsze uszczegóławianie w obrębie budynków i lokali wprowadza podział na budynki niemieszkalne i budynki mieszkalne, oraz wewnątrz klasy lokali podział na lokale niemieszkalne i mieszkalne. Dokładniejszy opis klienta wprowadza wyodrębnienie osoby sprzedającej oraz kupującej. Pojęcie to nie jest zbyt interesujące z koncepcyjnego punku widzenia. Ciekawa jest natomiast relacja pomiędzy nieruchomością a klientem, która opisana jest poprzez osobną encję transakcja. Jak zalecane jest w teorii analizy systemów, relacja modelowana powinna być osobną encją, &**

>emlfmgby E Vm^Tþ @TeV\a >bjt_f^\þ FgTa\fÄTj : f\bex^ w przypadku kiedy posiada jakieś nadające jej identyfikowalności atrybuty, co w badanym przykładzie wydaje się naturalne, warto wspomnieć choćby o dacie lub wartości transakcji. Z punktu widzenia modelowania, transakcja ciekawa jest dodatkowo z powodu swojej dynamiki w czasie. Jest ona przykładem bytu, który, jest zmienny w czasie, zachowując jednak swoją unikalną identyfikowalność. Mówić moŝna o róŝnych stanach transakcji, gdzie niektóre z nich, przykładowo rezerwacja mogą wydawać się początkowo innym tworem koncepcyjnym, bliŝsze przyjrzenie się doprowadza jednak do wniosku, Ŝe dla potrzeb rozpatrywanej aplikacji jest to identyczny koncept w innym stanie przetwarzania. Przykład ten ilustruje złoŝoną strukturę obiektów w otaczającym nas świecie, którego modelowanie juŝ na poziomie koncepcyjnym moŝe być przeprowadzone stosując metody uszczegółowiania zidentyfikowanego wcześniej pojęcia, zamiast poprzez próbę poszukiwania nowych pozornie niezaleŝnych konstrukcji. Warto tu zauwaŝyć róŝnicę pomiędzy encją nieruchomość, której uszczegółowienie odpowiada klasycznemu przypadkowi modelowania relacji hierarchicznej, zgodnie z zasadą, Ŝe jest to ten sam obiekt (na pewnym poziomie szczegółowości budynek jest nieruchomością), a encją transakcja, która opisuje ten sam obiekt, w róŝnym stanie przetwarzania (w innym okresie czasowym rezerwacja jest transakcją). RóŜnicę stanowi tu więc aspekt momentu czasu w którym następuje opis, a nie szczegółowość postrzegania, choć w obu przypadkach relację moŝna opisać sformułowaniem: obiekt X jest obiektem Y. Celem tego rozdziału nie jest dokładne przyjrzenie się wszystkim pojęciom koncepcyjnym wyodrębnionym podczas fazy analizy rozwiązywanego zagadnienia, jest natomiast zwrócenie uwagi na moŝliwość przyjrzenia się niebanalnemu przykładowi modelowanej rzeczywistości uŝywając zaledwie trzech podstawowych pojęć. Oczywiście analiza szczegółowa prowadzi do wyłonienia znacznie większej ilości encji, odzwierciedlających poŝądany poziom szczegółowości, natomiast istota relacji pomiędzy nimi pozostaje podobna jak w modelu ramowym. Architektura Etapem projektu informatycznego następującym po fazie analizy systemu jest dobór stosownej architektury. Decyzja podjęta na tym etapie uzaleŝniona jest od wymagań stawianych systemowi, oraz ogólnie zdefiniowanego sposobu uŝycia. W przypadku zagadnienia obrotu nieruchomościami naturalna wydaje się potrzeba dostępu do systemu poprzez uŝytkowników zlokalizowanych w róŝnorodnych lokalizacjach, oraz brak wiedzy o sprzęcie oraz systemach operacyjnych, z których &*+

GXV[ab_bZ\T \`c_x`xagtv]\ flfgx`h!!! następuje Ŝądanie realizacji usługi. Sytuacja taka niejako wymusza konieczność stosowania przeglądarki internetowej jako warstwy prezentacji systemu. Istnieją, co prawda inne moŝliwości uniwersalnej realizacji interfejsu uŝytkownika, jednak przeglądarki WWW z pewnością są najbardziej rozpowszechnionym medium dla przedstawionych powyŝej załoŝeń. Potrzeba dostarczenia dynamicznej treści wymusza z kolei stosowanie jednej z dostępnych technologii jej tworzenia. Obecnie jedynie dwie technologii pretendują do roli lidera w tej dziedzinie, są to rozwiązania oparte na języku Java oraz technologii Microsoft. Istnieje wiele opracowań starających się dowodzić wyŝszość jednego podejścia nad drugim, bezsporna jednak jest pełna przenaszalność rozwiązania serwerowego opartego na technologii Java, która zdecydowała o wyborze tego właśnie standardu. Rozpatrując warstwę najgłębszą, czyli składowanie danych, równieŝ przenaszalność była tu czynnikiem decydującym, powodującym wybór relacyjnej bazy danych jako technologii permanentnego składowania informacji. Na rysunku 1 celowo nie podano nazwy konkretnej implementacji bazy danych stosowanej podczas fazy tworzenia systemu, gdyŝ całość odwołań odbywa się poprzez standard JDBC, który w połączeniu z językiem SQL zapewnia moŝliwość abstrakcji od konkretnego producenta systemu bazodanowego. Warto zaznaczyć, iŝ pomimo sięgającej juŝ kilkunastu lat standaryzacji języka SQL nadal istnieją znaczące róŝnice pomiędzy dialektami tego języka wykorzystywanymi przez poszczególnych producentów, szczególnie widoczne podczas wykorzystania jego zaawansowanych aspektów, często niezbędnych do uzyskania poŝądanej wydajności. Fakt ten spowodował zaprojektowanie mechanizmu umoŝliwiającego wydzielenie wszystkich zapytań SQL w postaci dedykowanego modułu, łatwego do podmiany lub modyfikacji w przypadku stosowania bazy danych o duŝych rozbieŝnościach od zalecanego standardu. Istotną decyzją podjętą podczas prac nad architekturą systemu, było wprowadzenie duŝej kontroli poprawności danych na kaŝdym etapie przetwarzania, co odpowiada stosowaniu niezbędnej logiki niezaleŝnie we wszystkich warstwach systemu. Dzięki stosowaniu takiego podejścia błędy wychwytywane są szybciej niŝ w przypadku stosowania rozwiązania klasycznego z badaniem poprawności jedynie w warstwie aplikacji lub w warstwie bazodanowej. Dodatkową zaletą jest moŝliwość poprawnej pracy niŝszej warstwy aplikacji w sposób wysoce niezaleŝny od warstw wyŝszych, co ma szczególne znaczenie zwłaszcza w sytuacji konieczności zmiany odpowiednich warstw systemu. &*,

>emlfmgby E Vm^Tþ @TeV\a >bjt_f^\þ FgTa\fÄTj : f\bex^ Rys. 1. Fig.1. Schemat architektury logicznej Logical architecture diagram Projekt bazy danych Popularny dylemat, polegający na rozpoczęciu projektu systemu od warstwy aplikacji lub warstwy bazodanowej rozszczygnięto na korzyść bazy danych. RóŜne metodologie podają zalety wstępnego projektu obiektowego, uzupełnianego następnie o warstwę modelu danych, w przypadku opisywanego systemu zdecydowano się jednak na wybór metodologii bazującej na modelu bazodanowym dającym moŝliwość szybkiej weryfikacji poprawności poprzez implementację rozwiązań prototypowych. Metoda taka pozwala na szybsze rozpoczęcie fazy testów programistycznych, które ułatwiają eliminację błędów koncepcyjnych juŝ na samym początku prac projektowych. W celu reprezentacji modelu posłuŝono się diagramem encji, który w przejrzysty graficzny sposób obrazuje jego zawartość. Jak wspomniano juŝ w zarysie analizy projekt rozpoczęto od definicji pojęć podstawowych dla systemu, został on następnie uszczegółowiony oraz rozszerzony o pojęcia referencyjne. &+#

GXV[ab_bZ\T \`c_x`xagtv]\ flfgx`h!!! Rys. 2. Fig. 2. Uproszczony diagram encji Simplified ERD diagram Kolejnym etapem prac nad modelem bazodanowym było przekształcenie modelu encji w techniczny schemat bazodanowy, obrazujący juŝ konkretną implementację tabel oraz zaleŝności pomiędzy nimi. Zgodnie z załoŝeniami zaprezentowanymi w przedstawionej architekturze systemu, schemat bazowy rozszerzono o więzy spójności danych zaimplementowane w warstwie bazodanowej. Typy reguł sprawdzane w ten sposób to: klucze podstawowe oraz unikalne, zaleŝność referencyjna oraz więzy sprawdzające określone reguły poprawności dla kaŝdego wiersza danej tabeli. Implementacja części logiki aplikacji bezpośrednio na bazie danych przybliŝa do interesującego dylematu określenia punktu rozgraniczenia pomiędzy pełnością logiki bazodanowej, a przenaszalnością rozwiązania pomiędzy bazami danych implementowanymi przez róŝnych producentów. O ile implementacja zarówno kluczy podstawowych, unikalnych oraz spójności referencyjnej jest bardzo naturalna dla kaŝdej współczesnej bazy danych, to jednak w przypadku sprawdzania reguł bardziej zaawansowanych często zachodzi konieczność odwołania się do specyficznych rozszerzeń danej bazy danych, najczęściej w postaci języka proceduralnego rozszerzającego moŝliwości SQL, lub zaniechania realizacji tego typu reguł w warstwie najniŝszej. Zgodnie z nadrzędnym załoŝeniem prezentowanej aplikacji o łatwości jej przenaszalności, ograniczono się do implementacji po stronie bazy danych jedynie reguł moŝliwych do zapisania w sposób zestandaryzowany i wykonywanie reszty sprawdzeń w warstwie logiki aplikacji. &+$

>emlfmgby E Vm^Tþ @TeV\a >bjt_f^\þ FgTa\fÄTj : f\bex^ Logika aplikacji Warstwa logiki aplikacji wykonana została w technologii J2EE zapewniając jej bardzo wysoki stopień przenaszalności, oraz moŝliwość szybkiej realizacji systemu dzięki stosowaniu wielu standardowych usług dostarczanych razem z zastosowaną technologią. Logika została zaprojektowana oraz zaimplementowana z uwzględnieniem załoŝeń o klarownym rozdzieleniu modelu aplikacji, sterowania oraz tworzenia warstwy prezentacji. Dodatkowo duŝą rolę połoŝono na parametryzację róŝnorakich ustawień konfiguracyjnych, określających szczegóły pracy systemu, które wyeksponowane są poprzez technologię XML. Model aplikacji zbudowany został przy wykorzystaniu technologii Java Beans reprezentującej obiekty danych w warstwie logiki aplikacji. Podejście takie jest alternatywą architektury J2EE wykorzystującej technologię EJB (Enterprise Java Beans), która uznana została za nadmiarową, a tym samym niestosowną do rozwiązywanego problemu. Zastosowana technologia Java Beans, jest znacznie lŝejsza z punktu widzenia przetwarzania, a obiekty w niej stworzone nadają się dobrze do przekazywania do warstwy budowy prezentacji. Wszystkie obiekty tego typu mają wbudowaną zdolność do zapisu oraz odczytu siebie samych z bazy danych, oraz zostały wyposaŝone w szereg metod określających wartości poszczególnych atrybutów logicznych. Szczegóły interakcji z warstwą bazy danych, zaimplementowane w języku SQL w całości składowane są w dedykowanym komponencie konfiguracyjnym, umoŝliwiającym jego łatwą modyfikację. Sterowanie w warstwie logiki aplikacji zaimplementowane jest głównie przy uŝyciu technologii servlet, która ułatwia wykorzystanie języka Java do tworzenia dedykowanych serwisów, w tym konkretnym przypadku związanych z zarządzaniem logiką rozdzielenia oraz obsługi Ŝądań przychodzących z warstwy prezentacji. Z kolei tworzenie warstwy prezentacji odbywa się stosując specyfikację JSP, opartą wewnętrznie na technologii servlet, dostosowaną jednak bardziej do szybkiego tworzenia interfejsu uŝytkownika, poprzez dostarczenie moŝliwości łączenia kodu HTML bezpośrednio z kodem Java, zapewniającym moŝliwość uzyskania dynamiki tak tworzonego rozwiązania. Warstwa logiki aplikacji uzupełniona jest o moduł zarządzający oraz sprawdzający reguły zarówno techniczne jak i biznesowe, które muszą być spełnione przez dane w celu ich akceptacji. Moduł ten zapewnia szerokie moŝliwości sprawdzenia danych, a reguły w nim zawarte mogą częściowo być dublowane w logice zaimplementowanej w warstwie bazy danych. Nadmiarowość ta nie wpływa na pogorszenie efektywności aplikacji, gdyŝ w wielu przypadkach zapobiega niepotrzebnej, &+%

GXV[ab_bZ\T \`c_x`xagtv]\ flfgx`h!!! kosztownej czasowo, komunikacji z bazą danych, która w przypadku danych naruszających reguły zakończyłaby się nieudaną próbą ich składowania. Wstępna walidacja danych ograniczona jest do reguł, których sprawdzanie w warstwie aplikacji jest naturalne, nie stara się natomiast implementować logiki typowej dla baz danych, takiej jak walidacja kluczy głównych lub unikalnych oraz zgodności referencyjnej, które są typowymi przykładami reguł, których wydajna walidacja na duŝych zbiorach danych, wymaga wieloletnich doświadczeń w dziedzinie optymalizacji. Warstwa prezentacji Najbardziej zewnętrzną warstwą systemu, a zarazem jedyną, która dostępna jest bezpośrednio przez uŝytkownika końcowego jest warstwa prezentacji. NaleŜy tutaj rozróŝnić pomiędzy przygotowaniem warstwy prezentacji, która odbywa się w warstwie logiki aplikacji a samą warstwą prezentacji, która wykonywana jest na komputerze klienta, wewnątrz przeglądarki internetowej. Jak wspomniano w poprzednim rozdziale przygotowanie warstwy prezentacji odbywa się w technologii JSP, która umoŝliwia łatwe budowanie szablonów stron, które następnie, w momencie realizacji Ŝądania dostępu do wybranej strony, zamieniane są na formę ostateczną i dostarczane są do komputera klienta w formie kodu HTML. Warto zauwaŝyć, Ŝe nie jest to jedyna moŝliwa forma realizacji interfejsu uŝytkownika, innymi popularnymi metodami są dynamiczne generowanie kodu XML w warstwie logiki, a następnie lokalna transformacja tego formatu na formę HTML przy uŝyciu arkuszy stylu XLT, lub wysłanie postaci XML bezpośrednio do przeglądarki internetowej, która lokalnie zrealizuję transformatę na formę ostateczną. KaŜda z opisanych metod tworzenia interfejsu posiada pewne zalety i wady. Wybór najprostszej formy w postaci bezpośredniej generacji kodu HTML został dokonany ze względu na najszybszą do zaimplementowania moŝliwość realizacji wszystkich zamierzonych oczekiwań odnośnie interfejsu uŝytkownika. Zgodnie z załoŝeniem o realizacji kontroli jakości danych, na tak wczesnych etapach jak to moŝliwe, część walidacji danych realizowana jest bezpośrednio w warstwie prezentacji. Dynamika, oraz moŝliwość realizacji logiki wewnątrz przeglądarki internetowej uzyskana jest poprzez wykorzystanie języka JS (Java Script). Podobnie jak w przypadku interakcji pomiędzy warstwą logiki a warstwą bazy danych, równieŝ i tutaj granica walidacji wytyczona została w sposób praktyczny, a sprawdzeniu poddane są wszystkie reguły, które nie wymagają znajomości danych spoza zakresu lokalnego, czyli dostępnego bezpośrednio w bieŝącej formatce interfejsu uŝytkownika. &+&

>emlfmgby E Vm^Tþ @TeV\a >bjt_f^\þ FgTa\fÄTj : f\bex^ Zagadnieniem związanym nierozerwalnie z warstwą prezentacji jest uwierzytelnienie oraz autoryzacja uŝytkowników systemu. Specyfika opisywanego systemu obrotu nieruchomościami wyróŝnia część publiczną, dostępna do przeglądania oraz wyszukiwania uŝytkownikowi anonimowemu, oraz część prywatną, w której operator systemu dokonuje edycji zarówno dostępnych nieruchomości, ofert, transakcji, oraz pomocniczych elementów danych. Cześć publiczna dostępna jest bez stosowania mechanizmów zabezpieczających, natomiast część prywatna wprowadza zabezpieczenie zasobów zgodnie z zaleceniami specyfikacji J2EE. Podsumowanie System obsługi nieruchomości zaprojektowany jest w nowoczesnej, dynamicznej architekturze zapewniającej wysoką przenaszalność, modularność oraz łatwą rozbudowę. Wykorzystuje on zalety języka Java, starając się zarazem stosować wyłącznie niezbędne aspekty technologii J2EE, stosowne do rozwiązywanego zagadnienia, oraz nie wprowadzać niepotrzebnej nadmiarowości. Realizacja warstwy prezentacji wewnątrz przeglądarki internetowej, ma swoje zalety w postaci braku konieczności instalacji aplikacji po stronie klienta, wprowadza jednak pewne ograniczenia na moŝliwości graficzne, co jednak w przypadku omawianego systemu nie wpłynęło negatywnie na moŝliwości interfejsu uŝytkownika. System pozwala na zastosowanie praktycznie dowolnej relacyjnej bazy danych udostępniającej interfejs JDBC, poprzez pełne odseparowanie kodu SQL od rdzenia aplikacji, co zrealizowane jest w postaci niezaleŝnego, wymiennego modułu konfiguracyjnego. Bibliografia Gruber M. 2000. SQL - wydanie drugie. Wydawnictwo Helion, Gliwice. Hall M. 2002. Java Servlet i Java Servlet Pages. Wydawnictwo Helion, Gliwice. http://jakarta.apache.org/tomcat/ http://java.sun.com/ http://java.sun.com/j2ee/ Hunter J., Crawford W. 2002. Java Servlet Programowanie. Wydawnictwo Helion i O`Reilly, Gliwice. McLaughlin B. 2001. Java i XML. Wydawnictwo Helion i O`Reilly, Gliwice. &+'

GXV[ab_bZ\T \`c_x`xagtv]\ flfgx`h!!! Roman E., Ambler S., Jewell T. 2002. Mastering Enterprise JavaBeans Second Editions. Rozporządzenie Rady Ministrów z dnia 30 grudnia 1999 r. w sprawie Klasyfikacji Środków Trwałych (Dz. U. z dnia 31 grudnia 1999 r.) - na podstawie art. 40 ust. 2 ustawy z dnia 29 czerwca 1995 r. o statystyce publicznej. Wiley Computer Publishing John Wiley & Sons, New York. Wojciechowski M., Zakrzewisz M. 2002. Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle. Politechnika Poznańska, Instytut Informatyki, Poznań. ANALYSIS, ARCHITECTURE, TECHNICAL DESIGN AND IMPLEMENTATION TECHNOLOGY OF REAL ESTATE MANAGEMENT AND TURNOVER SYSTEM Summary The document describes architecture, analysis, technical design and implementation technology of the real estate management and turnover system. It is dedicated to both theoretical and practical aspects of the development of multilayer systems, putting an emphasis on the system s dynamics and extensibility, achieved by clear modular structure, wide usage of configuration mechanisms and high parameterization of the system. Another important design goal was to gain high portability of solution, achieved by usage of open standards. Key words: real estate, computer system, multilayer architecture, server model diagram (SMD), entity relationship diagram (ERD), XML, J2EE, servlet, JSP, JS &+(