BUDOWA PORTALU INTERNETOWEGO DLA ORGANIZACJI STUDENCKIEJ AIESEC POZNA



Podobne dokumenty
Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Platforma do obsługi zdalnej edukacji

Microsoft Management Console

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

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

System kontroli wersji SVN

OPIS PRZEDMIOTU ZAMÓWIENIA DO ZAPYTANIA KE1/POIG 8.2/13

DOTACJE NA INNOWACJE. Zapytanie ofertowe

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

DOTACJE NA INNOWACJE ZAPYTANIE OFERTOWE

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Harmonogramowanie projektów Zarządzanie czasem

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

Regu g l u a l min i n w s w pó p ł ó p ł r p acy O ow o iązuje od dnia

Nowości w module: BI, w wersji 9.0

Firma Informatyczna JazzBIT

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

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 zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Formularz rzeczowo-cenowy PAKIET 2

Automatyzacja procesu publikowania w bibliotece cyfrowej

Elementy i funkcjonalno

Konfiguracja historii plików

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

2. Program USOS. 2.1 Bezpiecze stwo i ochrona danych osobowych. 2.2 Uruchomienie programu

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ

Praca na wielu bazach danych część 2. (Wersja 8.1)

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

elektroniczna Platforma Usług Administracji Publicznej

Zarządzanie Zasobami by CTI. Instrukcja

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Archiwum Prac Dyplomowych

InsERT GT Własne COM 1.0

Polityka prywatności strony internetowej wcrims.pl

Sieci komputerowe cel

ZAPYTANIE OFERTOWE. Katowice, dnia dla potrzeb realizacji projektu: ZAMAWIAJĄCY:

Spring MVC Andrzej Klusiewicz 1/18

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

INTENSE BUSINESS INTELLIGENCE PLATFORM

Projektowanie bazy danych

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

Edycja geometrii w Solid Edge ST

Zamawiaj cy: Polska Konfederacja Pracodawców Prywatnych (PKPP Lewiatan) ul. Klonowa 6, Warszawa

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

Opteamum korzyści. Aktualnie poszukujemy kandydatów na stanowisko: Programista ASP.NET MVC / WCF Nr ref. PROGRAMISTA ASP.NET/DRP/2014.

Oświęcim, dnia 26 listopada 2013r. Państwowe Muzeum Auschwitz-Birkenau w Oświęcimiu ul. Więźniów Oświęcimia Oświęcim

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

DANE UCZESTNIKÓW PROJEKTÓW (PRACOWNIKÓW INSTYTUCJI), KTÓRZY OTRZYMUJĄ WSPARCIE W RAMACH EFS

Systemy wspierające sprzedaż i marketing w logistyce. Iwo Baszkowski Wojtek Dubicki

POLITYKA PRYWATNOŚCI

Charakterystyka systemów plików

Lublin, Zapytanie ofertowe

Przeciąganie Gratowanie Automatyzacja

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Kancelaris - Zmiany w wersji 2.50

DZIENNICZEK PRAKTYKI ZAWODOWEJ

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

VinCent Office. Moduł Drukarki Fiskalnej

I. Zakładanie nowego konta użytkownika.

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION

O autorze 11 O recenzentach 13 Przedmowa 15

TAJEMNICA BANKOWA I OCHRONA DANYCH OSOBOWYCH W PRAKTYCE BANKOWEJ

Wykonanie strony internetowej projektu wraz z hostingiem i administracją

Ewidencja abonentów. Kalkulacja opłat

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

IP TELEPHONY & UNIFIED COMMUNICATIONS

Polityka informacyjna Braniewsko-Pasłęckiego Banku Spółdzielczego z siedzibą w Pasłęku

Regulamin Usługi Certyfikat SSL. 1 Postanowienia ogólne

PODRĘCZNIK UŻYTKOWNIKA

ZAANGA OWANIE PRACOWNIKÓW W PROJEKTY INFORMATYCZNE

Linux LAMP, czyli Apache, Php i MySQL


PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Systemy mikroprocesorowe - projekt

INSTRUKCJA WebPTB 1.0

Korzy ci wynikaj ce ze standaryzacji procesów w organizacjach publicznych a zarz dzanie jako ci

Wyzwania bezpieczeństwa nowoczesnych platform nauczania zdalnego

ARKUSZ OCENY OKRESOWEJ DLA STANOWISK PRACOWNICZYCH

Spis tre ci. Zawarto :

INFORMATOR TECHNICZNY WONDERWARE

Foldery z dokumentami 1.0 dodatek do Symfonia Faktura dla 1 firmy

OPIS PRZEDMIOTU ZAMÓWIENIA

Poniżej instrukcja użytkowania platformy

REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne

SIECI KOMPUTEROWE I BAZY DANYCH

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

1. PODMIOTEM ŚWIADCZĄCYM USŁUGI DROGĄ ELEKTRONICZNĄ JEST 1) SALESBEE TECHNOLOGIES SP. Z O.O. Z SIEDZIBĄ W KRAKOWIE, UL.

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows.

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6

Transkrypt:

BUDOWA PORTALU INTERNETOWEGO DLA ORGANIZACJI STUDENCKIEJ AIESEC POZNA WALDEMAR KARWOWSKI ARKADIUSZ ORŁOWSKI MACIEJ GROCHOWSKI SGGW Warszawa Streszczenie Coraz cz ciej organizacje wykorzystuj portale internetowe, które integruj coraz wi cej usług. Portale mog bazowa na gotowych rozwi zaniach lub mog by tworzone na zamówienie. W artykule przedstawiono proces powstania portalu dla organizacji AIESEC Pozna. Omówiono podstawy wybranej technologii - Java Enterprise Edition - oraz sposób jej wykorzystania w tworzeniu aplikacji bazodanowej z dost pem internetowym. Bardziej szczegółowo przedstawiono architektur aplikacji opart na stworzonym szkielecie. Słowa kluczowe: portal, CRM, CMS, framework, Java 1. Wprowadzenie Praktycznie ka de przedsi biorstwo stara si prowadzi korporacyjny portal internetowy. Podstawowym zadaniem takich portali jest z jednej strony prezentacja informacji na zewn trz z drugiej za usprawnienie komunikacji mi dzy pracownikami przedsi biorstwa. Przed laty prawie ka da strona internetowa była pisana od podstaw, bardzo cz sto w zwykłym edytorze tekstu albo specjalnym edytorze HTML. Zadanie aktualizowania stron nie było łatwe i cz sto wymagało pomocy informatyków. Dost p do informacji zgromadzonych w bazach danych równie był powa nym problemem, synchronizacja stron i bazy poprzez r czne modyfikacje nie była mo liwa. Z czasem pojawiły si technologie pozwalaj ce na łatwiejsze i efektywniejsze tworzenie witryn takie jak ASP (ang. Active Server Pages) firmy Microsoft, serwlety Javy czy wreszcie j zyk PHP. Powstały gotowe systemy do generowania stron internetowych, najpopularniejsze z nich to systemy zarz dzania tre ci - CMS (ang. Content Management System). CMS najpro ciej mówi c jest to narz dzie ułatwiaj ce zarz dzanie stron internetow, jej rozbudow i aktualizacj. Obecnie coraz wi cej stron powstaje w oparciu o istniej ce systemy zarz dzania tre ci. Współcze nie systemy takie s na tyle rozbudowane, e w wielu przypadkach wystarczaj do stworzenia rozbudowanego portalu. Zapewniaj mo liwo logowania i ró ne poziomy dost pu dla u ytkowników. Pozwalaj na integracj z baz danych. Projektant strony korzysta z gotowych komponentów i nie musi martwi si techniczn stron systemu, swoj uwag skupia na tre ciach merytorycznych. Zarz dzanie tre ci strony odbywa si przewa nie za pomoc wygodnych formularzy dost pnych z poziomu strony WWW. Dost pna jest du a liczba systemów CMS napisanych w ró nych j zykach programowania, s to systemy zarówno komercyjne jak i typu open source. Do najbardziej popularnych zaliczy mo na: Joomla!, Mambo, Typo3, PHP-Nuke, ezpublish. Jednocze nie nadal powstaj systemy budowane na zamówienie, bowiem nie ka demu odpowiada funkcjonalno oferowana przez systemy gotowe [6,9].

38 Waldemar Karwowski, Arkadiusz Orłowski, Maciej Grochowski Budowa portalu internetowego dla organizacji studenckiej AIESEC Pozna W dalszej cz ci pracy zostan omówione zagadnienia zwi zane budow portalu na konkretnym przykładzie portalu internetowego tworzonego dla organizacji studenckiej AIESEC Pozna [3]. Omówione b d kolejno zało enia dla tego portalu oraz powstanie jego architektury. Na zako czenie podane zostan uwagi i wnioski zwi zane z realizacj tego projektu. 2. Idea i zało enia systemu Zamiast tworzy portal internetowy od podstaw, mo na wykorzysta dost pny na rynku gotowy wzorzec wymagaj cy tylko konfiguracji. Zalet takiego rozwi zania jest fakt stosowania sprawdzonego produktu, którego twórcy maj najcz ciej wieloletnie do wiadczenie w rozwi zywaniu konkretnych problemów, na które napotka mo e przedsi biorstwo czy organizacja. Aplikacje tego typu s tworzone i cały czas rozszerzane z wykorzystaniem najlepszych praktyk wypracowanych wspólnie przez twórców i klientów oprogramowania. Natomiast niew tpliw wad systemów powszechnie dost pnych na rynku jest to, e wykrywane w nich bł dy s cz sto publikowane na stronach internetowych i powszechnie znane włamywaczom. Administrator takiego systemu musi pilnie ledzi, czy w zainstalowanym na jego serwerze systemie nie zostały wykryte bł dy, które mo na wykorzysta do włamania si do serwisu. W przypadku dedykowanych systemów du- o trudniej jest zdoby informacje o lukach w jego zabezpieczeniach. Oczywi cie w praktyce mamy cz sto sytuacje po redni, gotowy system jest dostrajany do potrzeb u ytkownika, wymaga to na ogół pracy programisty. Decyzja o wyborze rozwi zania w du ym stopniu zale y od mo liwo ci finansowych firmy. Programy tworzone na zamówienie s drogie i czasami lepiej jest zrezygnowa z pewnych wymaga i wdro y system gotowy. Cele stawiane portalom mog by formułowane bardzo szeroko, niezale nie od wielko ci, formy i rodzaju działalno ci firmy czy organizacji. Zast puj c telefon czy faks, portale internetowe mog nie tylko znacznie zredukowa koszty komunikacji, ale przede wszystkim poprawi jej jako. Komunikacja dotyczy mo e delegowania zada pracownikom ni szego szczebla, raportowania do zwierzchników oraz wymiany pozostałych informacji o charakterze operacyjnym i strategicznym pomi dzy pracownikami jednego lub ró nych działów przedsi biorstwa. Wymiana informacji za pomoc aplikacji internetowych mo e by w bardzo łatwy sposób dokumentowana, umo liwiaj c stały wgl d we wcze niejsze ustalenia dla wszystkich stron w nich uczestnicz cych. Takie rozwi zanie minimalizuje mo liwo powstania ró nego rodzaju nieporozumie i niedomówie, które mog by bardzo szkodliwe dla sprawnego funkcjonowania przedsi biorstwa. Ponadto u ytkownicy portalu korzystaj ze wspólnej bazy danych, która mo e by ródłem cennych informacji operacyjnych i strategicznych, niezb dnych do efektywnego działania przedsi biorstwa. Dane zawarte w tej bazie mog by aktualizowane na bie co niemal e z ka dego miejsca na ziemi. Rozwi zaniem rozszerzaj cym mo liwo ci zastosowania portalu korporacyjnego mo e by stworzenia interfejsu dla u ytkowników spoza firmy. Udost pnienie klientom lub partnerom odpowiednich danych mo e w znacznym stopniu usprawni wymian informacji oraz zredukowa koszty współpracy. Przykładowo stali klienci mog mie mo liwo wprowadzania nowych zlece oraz otrzymywania informacji o stopniu realizacji zada powierzonych wła cicielowi portalu. Obecnie obszarami działalno ci przedsi biorstwa, które najcz ciej obejmowane s przez portale korporacyjne, s : zarz dzanie relacjami z klientami (CRM), zarz dzanie produkcj i ła cuchem dostaw (SCM), gospodarka magazynowa,

POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 16, 2008 39 baza wiedzy, zarz dzanie konfiguracj (CMDB), obsługa techniczna. Jak nadmieniono wcze niej portale znajduj zastosowanie nie tylko w przedsi biorstwach komercyjnych ale maja równie du e znaczenie w rozmaitych organizacjach. Jednym z podstawowych zada mi dzynarodowej organizacji studenckiej AIESEC jest prowadzenie wymiany praktyk studenckich. W tym celu komitety lokalne b d ce podstawowymi jednostkami organizacyjnymi AIESEC poszukuj firm gotowych przyj zagranicznych studentów na praktyk. Aby usprawni proces wyszukiwania praktyk komitet lokalny AIESEC w Poznaniu postanowił stworzy aplikacj, która pozwoliłaby narzuci pewna struktur i ujednolici dane dotycz ce firm partnerskich oraz umo liwiłaby dokumentacj spotka, rozmów telefonicznych oraz innego rodzaju kontaktów pomi dzy członkami organizacji AIESEC, a osobami kontaktowymi firm. Aplikacja w zamy le powinna wi c mie cechy systemu CRM i jednocze nie wspiera komunikacj wewn trz organizacji poprzez system typu CMS. Zdecydowano si na budow systemu we własnym zakresie wykorzystuj c mo liwo ci realizacji zadania w ramach pracy magisterskiej. Nie bez znaczenia był fakt, e bezpo redni wykonawca dobrze znał szczegóły działania organizacji. 3. Wymagania systemu Pierwszym etapem była analiza dotychczasowych form działalno ci AIESEC. W rozmowach ze studentami zajmuj cymi si wyszukiwaniem firm partnerskich przyszłymi u ytkownikami aplikacji stwierdzono, e najcz ciej wyst puj cym problemem w ich pracy był brak lub niekompletne informacje dotycz ce wcze niejszych kontaktów z firmami. Ponadto dane firm, ich osób kontaktowych i historii kontaktów bardzo cz sto były niespójne, co w znacznym stopniu utrudniało efektywne wyszukiwanie praktyk. Przyczyn takiego stanu rzeczy nale y upatrywa w fakcie, i dane zapisywane były w arkuszu kalkulacyjnym, znajduj cym si na jednym z komputerów w biurze AIESEC Pozna. Takie rozwi zanie w znacznym stopniu utrudniało utrzymanie spójnych, kompletnych, a przede wszystkim aktualnych danych, w których nie wyst puje zjawisko redundancji. Przyst puj c do projektowania przyj to przede wszystkim, e podstaw b dzie centralna relacyjna baza danych, co rozwi e problem braku spójno ci i redundancji. Koniecznym wymogiem był prosty interfejs u ytkownika, aby praca z systemem nie wymagała znajomo ci szczegółów technicznych. Po analizie stwierdzono ponadto, e dopiero zapewnienie dost pu z sieci Internet pozwoli na utrzymanie aktualno ci danych, czyli, e wymogiem b dzie portalowa forma aplikacji. Przed rozpocz ciem prac programistycznych bardzo istotnym elementem procesu projektowania było ustalenie polityki uprawnie. Jest to wa ne zadanie bowiem podczas projektowania portalu nale y pami ta o zastosowaniu odpowiedniej polityki uprawnie umo liwiaj cej jego administratorom kontrol nad dost pem do danych przez ró ne grupy u ytkowników. Dost p do okre lonych danych dzielony jest za zwyczaj na trzy podstawowe poziomy: podgl d, edycja, usuwanie.

40 Waldemar Karwowski, Arkadiusz Orłowski, Maciej Grochowski Budowa portalu internetowego dla organizacji studenckiej AIESEC Pozna Z polityk uprawnie zwi zana jest równie polityka haseł. Mo e ona zawiera ustalenia i reguły dotycz ce: nadawania haseł i ich formy, maksymalnego okresu wa no ci haseł, maksymalnej ilo ci prób logowania do systemu. Po dyskusjach z członkami AIESEC Pozna ustalono, e stworzone zostan trzy poziomy uprawnie : superuser (w skrócie SU), administrator (w skrócie admin), członek komitetu (member). U ytkownik nale cy do grupy superuser ma dost p do wszystkich danych zapisanych w aplikacji. Uprawniony jest do tworzenia, przegl dania, edycji i usuwania komitetów lokalnych, firm, osób kontaktowych, kontaktów oraz u ytkowników wszystkich dost pnych poziomów uprawnie. U ytkownik b d cy administratorem ma prawo przegl da i edytowa dane podstawowe komitetu lokalnego, do którego jest przypisany. Mo e ponadto tworzy, przegl da, edytowa i usuwa firmy, osoby kontaktowe, kontakty i u ytkowników powi zanych z jego komitetem lokalnym. Standardowy członek komitetu lokalnego (member) uprawniony jest do tworzenia, przegl dania, edytowania i usuwania własnych firm oraz osób kontaktowych i kontaktów zwi zanych z jego komitetem lokalnym. Wszyscy u ytkownicy maj prawo przegl dania danych podstawowych komitetów lokalnych, firm oraz innych u ytkowników, niezale nie od przynale no ci do komitetu lokalnego. W tym miejscu trzeba sformułowa kilka wa nych uwag. Projektowanie logiki biznesowej portalu korporacyjnego zwi zane jest z odwzorowaniem w aplikacji procesów, jakie maj miejsce w rzeczywisto ci. Cz sto organizacje decyduj ce si na wprowadzenie aplikacji korporacyjnej nie posiadaj ci le zdefiniowanych procedur post powania w okre lonych sytuacjach. Przez to mo e w tych organizacjach dochodzi do nieporozumie wynikaj cych z faktu, i pracownicy nie maj okre lonego zakresu swoich kompetencji. Tak wi c kolejn korzy ci, jak mo e przynie zastosowanie korporacyjnego portalu internetowego jest mo liwo strukturyzacji procesów biznesowych wyst puj cych w organizacji poprzez ich modelowanie w aplikacji. Jest to zadanie wymagaj ce du ego nakładu pracy i zaanga owania pracowników całej organizacji, lecz na pewno warto wykona je sumiennie i z nale yt uwag. Dobre wymodelowanie procesów biznesowych przeło y si nie tylko na sprawne funkcjonowanie aplikacji, lecz równie poprawi efektywno całej organizacji. Tak e podczas realizacji projektu dla AIESEC udało si uporz dkowa wiele procedur post powania. 4. Podstawy systemu Pomysłodawca nie narzucał ani konkretnego j zyka programowania ani bazy danych. Wa ne jednak było, aby wykorzystane narz dzia były narz dziami dost pnymi bezpłatnie. Wybór padł na rodowisko Java Enterprise Edition (JEE) [2,5,7]. Platforma ta ł czy w sobie wiele technologii, interfejsów API oraz standardów tworzenia aplikacji typu enterprise w Javie. Jest to bardzo szeroko stosowane rodowisko programistyczne, niezale ne od platformy systemowej, istnieje wiele darmowych i dobrze udokumentowanych bibliotek, z których mo na korzysta niemal e bez adnych ogranicze. Programista ma dost p do bogatego zbioru usług w zakresie dystrybucji obiektów, bezpiecze stwa, zarz dzania transakcjami, stanami i zasobami. JEE ustanawia standardy

POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 16, 2008 41 w dziedzinach przetwarzania biznesowego dotycz ce poł czenia z baz danych, komponentów biznesowych, warstwy zarz dzaj cej przepływem komunikatów, protokołów komunikacyjnych i współpracy z systemami zewn trznymi. W ród narz dzi zawartych w platformie JEE znajduj si równie standardy słu ce do tworzenia aplikacji internetowych, najwa niejsze z nich to Java Servlets oraz Java Server Pages (JSP) [4]. rodowisko to jest uznawane za jedno z najbardziej wydajnych w przypadku tworzenia aplikacji WWW, ponadto mo na je bardzo łatwo zintegrowa z ró nymi systemami zarz dzania relacyjnymi bazami danych. Do realizacji projektu dla AIESEC wybrano serwer bazy danych MySQL Server 5.0, serwer aplikacji Apache Tomcat 5.0, a do implementacji kodu zintegrowane rodowisko programistyczne Eclipse 3.2. W celu zapewnienia wieloj zyczno ci zarówno baza danych jak i strony JSP kodowane s za pomoc UTF-8. System zarz dzania relacyjnymi bazami danych MySQL cieszy si opini jednego z szybszych serwerów bazodanowych, dzi ki czemu znakomicie nadaje si jako serwer dla cz sto odwiedzanych aplikacji internetowych. Ponadto MySQL zawiera wsparcie dla replikacji bazy danych w trybie master-slave, co umo liwia zabezpieczenie systemu przed awariami. Bardzo wa n wła ciwo ci wpływaj c na wybór wła nie tego systemu jest doskonała obsługa wieloj zyczno ci. Ka da tabela, a nawet ka de pole, mo e mie własne ustawienie kodowania znaków. Kolejnym argumentem przemawiaj cym za oparciem aplikacji o serwer bazy danych MySQL jest jego dost pno wła ciwie dla ka dej platformy systemowej. Apache Tomcat to jeden z najpopularniejszych kontenerów aplikacji webowych wykorzystywanych w aplikacjach opartych na JEE, stanowi on wzorcow implementacj specyfikacji programistycznych Java Servlets i Java Server Pages. Zadaniem tego serwera jest integracja warstwy zaplecza biznesowego, czyli system zarz dzania bazami danych, z warstw interfejsu klienta realizowan przez przegl dark internetow. Eclipse jest stale rozbudowywanym zintegrowanym rodowiskiem programistycznym znacznie ułatwiaj cym prace programisty podczas tworzenia aplikacji. Projekt ten został stworzony przez firm IBM, a nast pnie udost pniony programistom jako oprogramowanie klasy open source. W chwili obecnej jest on rozwijany przez Fundacj Eclipse. rodowisko dost pne jest dla wszystkich platform, które posiadaj własn implementacj wirtualnej maszyny Java oraz dla których przygotowano implementacj opracowanej przez Fundacj biblioteki graficznej SWT, b d cej alternatyw dla standardowych bibliotek graficznych Javy AWT i Swing. Platforma Eclipse sama w sobie nie dostarcza adnych narz dzi słu cych do tworzenia kodu i budowania aplikacji, lecz oferuje obsług wtyczek rozszerzaj cych jej funkcjonalno. Podczas tworzenia aplikacji dla AIESEC wykorzystano wtyczki umo liwiaj ce rozwijanie aplikacji w j zyku Java, tworzenie stron JSP modelowanie aplikacji za pomoc UML, współprac z serwerami aplikacji i z serwerami baz danych. Jako podstaw architektury przyj to rozwi zanie trójwarstwowe oparte na wzorcu Model View Controller (MVC). Ide takiej architektury jest oddzielenie warstwy logiki biznesowej oraz warstwy dost pu do danych od warstwy prezentacji. Platforma JEE, dzi ki zastosowaniu serwletów i stron JSP, jest bardzo dobrym narz dziem do implementacji tego modelu. Generalnie serwlety słu głownie do przetwarzania danych i zapewniania komunikacji z baz danych, dzi ki czemu umo liwiaj implementacj logiki biznesowej tworzonej aplikacji. Generuj ce kod HTML strony JSP najlepiej nadaj si do tworzenia warstwy prezentacji, odpowiedzialnej za komunikowanie wyników obsługiwanych da. W przypadku tworzenia bardziej skomplikowanej struktury aplikacji dobrym rozwi zaniem mo e by wykorzystanie zło onego szkieletu (framework) takiego jak Struts czy Spring [1,8], jednak e w opisywanym projekcie stworzono własne rozwi zanie.

42 Waldemar Karwowski, Arkadiusz Orłowski, Maciej Grochowski Budowa portalu internetowego dla organizacji studenckiej AIESEC Pozna 5. Architektura systemu Sam proces projektowania i implementacji wykorzystywał praktyki metodyki Extreme Programming, przede wszystkim poprzez stał wspóln prac z przyszłymi u ytkownikami. Po ustaleniu ogólnych zasad przyst piono do definicji niezb dnych obiektów, b d cych podstaw aplikacji. Obiekty te i powi zania mi dzy nimi wyst puj ce, reprezentowane s przez tabele w relacyjnej bazie danych MySQL. W fazie projektowania, wspólnie z członkami AIESEC ustalono, e w aplikacji niezb dne b d dane dotycz ce firm i organizacji partnerskich, ich osób kontaktowych, komitetów lokalnych AIESEC i ich członków oraz spotka pomi dzy osobami kontaktowymi, a członkami organizacji. Szczegółowy schemat bazy danych przedstawia rysunek 1. Integralno danych zapewniona jest poprzez zastosowanie kluczy obcych odwołuj cych si do kluczy głównych innych tabel. Przykładowo nie ma mo liwo ci usuni cia komitetu lokalnego je eli istniej osoby kontaktowe przypisane do tego komitetu. Podobnie nie mo na usun firmy je li ma ona przypisane osoby kontaktowe. Ponadto poprzez zastosowanie ogranicze typu not null wymuszane jest wprowadzanie danych uznanych przez członków AIESEC jako niezb dne. Przykładowo ograniczenie tego typu istnieje w polu zawieraj cym nazwisko członka komitetu lokalnego oraz osoby kontaktowej firmy. Rys. 1. Schemat bazy danych w aplikacji ( ródło: opracowanie własne) Zało ono, e struktura aplikacji powinna by wydajna, niezbyt skomplikowana, a jednocze nie powinna pozwala na du elastyczno w dodawaniu nowych i modyfikowaniu ju istniej cych obiektów i funkcji. W tym celu stworzono własny szkielet, którego poszczególne komponenty s ze sob powi zane w sposób ortogonalny. Prostopadło komponentów przejawia si w tym, i s one w miar mo liwo ci niezale ne od siebie, maj wysoki stopie autonomiczno ci i jasno zdefiniowany zakres odpowiedzialno ci. Dzi ki takiemu rozwi zaniu, zmiany jednego komponentu danego systemu nie wymuszaj zmian w innym komponencie. Ortogonalno zapewniona jest

POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 16, 2008 43 dzi ki strukturze warstwowej. Najwa niejsz cech tej architektury jest fakt, i ka da warstwa opiera si wył cznie na usługach oferowanych przez warstw znajduj c si o jeden poziom ni ej, co umo liwia zmian implementacji poziomu ni szego bez konieczno ci przebudowy poziomu wy szego. Poniewa rol klienta w naszej aplikacji pełni przegl darka internetowa, podział pomi dzy warstw prezentacji i aplikacji nie ma charakteru fizycznego, a jedynie charakter logiczny. Wynika to z faktu, i obie te warstwy realizowane s przez serwer aplikacji Apache Tomcat pełni cy rol kontenera WWW. Oznacza to, e zarówno interfejs klienta jak i logika biznesowa aplikacji obsługiwane s przez jedn wirtualn maszyn Javy, a podział pomi dzy warstw prezentacji i aplikacji reprezentowany jest przez odpowiedni struktur klas i stron JSP. W aplikacji rol kontrolera i modelu, zamiast serwletów, odgrywaj strony JSP, zawieraj ce jedynie skryplety Javy, oraz dodatkowo korzystaj ce z komponentów JavaBean. Strony JSP zajmuj si wy wietlaniem danych zawartych w utworzonych przez kontroler komponentach. Jest to rozwi zanie równie bezpieczne i efektywne, a ponadto znacznie bardziej elastyczne i łatwiejsze w implementacji ni rozwi zanie klasyczne. Szczegółowy schemat zastosowanej architektury przedstawia rysunek 2. Rys. 2. Schemat architektury aplikacji ( ródło: opracowanie własne) Stworzony szkielet składa si z zespołu stron JSP, komponentów JavaBean i klas pomocniczych, umo liwiaj cych reprezentacj obiektów znajduj cych si w bazie. Ka demu obiektowi reprezentowanemu w bazie danych w postaci tabeli, w warstwie modelu aplikacji odpowiada komponent o nazwie odpowiadaj cej temu obiektowi (np. PersonBean.java), dodatkowo działania bezpo rednio na bazie, wykorzystuj ce skrypty SQL, wyodr bnione s w komponentach ze słowem

44 Waldemar Karwowski, Arkadiusz Orłowski, Maciej Grochowski Budowa portalu internetowego dla organizacji studenckiej AIESEC Pozna Action (np. PersonActionBean.java). Dost p do zmiennych w komponentach JavaBean mo liwy jest jedynie poprzez metody dost powe o standardowych nazwach. Dzi ki temu mo liwe jest zapisywanie warto ci zmiennych za pomoc znaczników setproperty umieszczonych na stronach JSP. Ka demu obiektowi w bazie odpowiada równie strona JSP, której nazwa składa si z nazwy tego obiektu (czyli tabeli), po której nast puje słowo Action i rozszerzenie jsp (np. PersonAction.jsp). Strona akcji jest nieco uproszczon wersj standardowej strony JSP, gdy zawiera ona wył cznie instrukcje importu klas i korzystania z obiektów JavaBean oraz skryplet Javy. Pełni ona głównie funkcj kontrolera, w kodzie tej strony zapisana jest cz logiki biznesowej aplikacji oraz instrukcje steruj ce wywoływaniem odpowiednich stron widoku. W pierwszej kolejno ci skryplet pobiera z dania warto parametru action, która determinuj pó niejsze kroki. Je li warto ta jest równa list definiowany jest komponent ListBean. Oprócz takich warto ci jak nazwa tabeli w bazie danych, czy wy wietlana nazwa listy, w skryptlecie dodawane s kolumny listy. Komponent ListBean zawiera równie składowe zapytania SQL, które zostanie wysłane do bazy danych w celu wygenerowania listy. Osobno przechowywana jest nazwa tabeli, podstawowy warunek klauzuli where, dodatkowe ograniczenia wynikaj ce z zastosowanego filtru i uprawnie zalogowanego u ytkownika oraz klauzula order by. Je li parametr action przyjmie warto detail lub newform definiowany jest komponent DetailBean przechowuj cy dane szczegółowe konkretnego obiektu lub słu cy do tworzenia nowego obiektu w bazie danych. Zarówno tutaj jak i w przypadku listy, to jakie dane s wy wietlane i jakie funkcje s dost pne, mo na uzale ni od poziomu uprawnie u ytkownika. W przypadku gdy parametr action przechowuje warto updateform wywoływana jest strona NewUpdate.jsp z parametrem update. W tym przypadku nie ma konieczno ci tworzenia nowego komponentu DetailBean, gdy został on ju zdefiniowany podczas wy wietlania danych szczegółowych obiektu. Fakt przyj cia przez parametr action warto ci new" lub update oznacza, i danie pochodzi ze wspomnianej wcze niej strony NewUpdate.jsp. Dane z formularza HTML, znajduj cego si na tej stronie, s zapisywane w odpowiadaj cym edytowanemu obiektowi komponencie JavaBean. Obiekt ten przekazywany jest jako parametr do funkcji statycznej komponentu ActionBean danego obiektu, zawieraj cej odpowiedni instrukcj SQL. W nast pnym kroku nast puje przekierowanie do listy b d danych szczegółowych obiektu. W przypadku wyst pienia bł du podczas wywołania funkcji dodawania lub edycji obiektu, przekierowanie nast puje z powrotem do formularza oraz wy wietlony zostaje odpowiedni komunikat. 6. Uwagi ko cowe System powstał w oparciu o bezpłatne rozwi zania, rozwijane na zasadach open source, co jest dowodem na to, e przy małym nakładzie finansowym mo na realizowa powa ne projekty informatyczne. Podstawowym zadaniem było stworzenie elastycznego szkieletu, który umo liwiałby prosty i szybki sposób dodawania nowych obiektów i funkcji. Dzi ki takiemu rozwi zaniu mo liwe jest dostosowywanie programu do potencjalnych przyszłych wymaga organizacji i stałe jego ulepszanie. System zbudowano nie korzystaj c z zewn trznych modułów i rozwi za, samodzielnie zaimplementowano potrzebne mechanizmy szablonów oraz warstwy po redniej dost pu do bazy. Rozwijaj c system starano si na bie co dostosowywa go do uwag u ytkowników. Projektuj c system du uwag zwrócono na bezpiecze stwo. Dlatego starano si zabezpieczy system przed atakami hakerów oraz stworzono mechanizm praw dost pu, który pozwala przydziela uprawnienia do poszczególnych funkcji okre lonym u ytkownikom. Dzi ki modularno ci aplikacji

POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 16, 2008 45 bardzo łatwo j rozwija dodaj c nowe funkcje oraz konserwowa poszczególne moduły. Wynikiem pracy jest kompletna aplikacja u ywana przez AIESEC Pozna, a w przyszło ci najprawdopodobniej tak e przez inne komitety lokalne tej mi dzynarodowej organizacji studenckiej. Powstał elastyczny szkielet pozwalaj cy na łatw rozbudow systemu i jego dostosowanie do rosn cych wymaga organizacji. Niewykluczone jest stworzenie modułów wspieraj cych inne dziedziny działalno ci AIESEC. Niezale nie od tego aplikacja stworzona dla AIESEC mo e by bardzo dobr podstaw do realizacji innego projektu. Bibliografia 1. Apache Struts Framework <http://struts.apache.org/>. 2. Eckel, B.: Thinking in Java. Edycja polska, Wyd. 4. Helion, Gliwice 2006. 3. Grochowski, M.: Aplikacje bazodanowe z dost pem internetowym na przykładzie portalu internetowego tworzonego dla organizacji studenckiej AIESEC Pozna. Praca magisterska, SGGW, Warszawa 2006. 4. Hall, M., Brown, L.: Java Serwlet i JavaSerwer Pages,Tom 1, Wyd. 2. Helion, Gliwice 2006. 5. Java EE at a Glance <http://java.sun.com/javaee/>. 6. Karwowski W., Mazur P., Orłowski A.: System PAKD, Studia i Materiały Polskiego Stowarzyszenia Zarz dzania Wiedz, Nr 13, str. 74-81, PSZW, Bydgoszcz 2008. 7. Monnox, A: J2EE. Podstawy programowania aplikacji korporacyjnych, Helion, Gliwice 2006. 8. Spring Framework <http://www.springframework.org/>. 9. Sulkowski P., Rusek M., Karwowski W.: System Napis.pl, Monografia Systemy Informatyczne w Zarz dzaniu, redakcja naukowa: W. Karwowski i A. Orłowski, Wydawnictwo SGGW, Warszawa 2007, str. 99-109.

46 Waldemar Karwowski, Arkadiusz Orłowski, Maciej Grochowski Budowa portalu internetowego dla organizacji studenckiej AIESEC Pozna INTERNET PORTAL DEVELOPMENT FOR STUDENT ORGANIZATION AIESEC POZNA Summary Organizations most frequently exploit Internet portals which integrate more rich functionality as before. Portals can be implemented with on shelf solutions or can be built for special demand. In the paper development process of portal for student organization AIESEC Pozna is presented. Background of chosen technology - Java Enterprise Edition and a way of its utilizing in developing database application with the Internet access is described. Application architecture based on created framework is presented in more details. Keywords: portal, CMS, framework, Java Waldemar Karwowski Arkadiusz Orłowski Maciej Grochowski Katedra Informatyki Wydział Zastosowa Informatyki i Matematyki Szkoła Główna Gospodarstwa Wiejskiego 02-776 Warszawa ul. Nowoursynowska 159 e-mail: waldemar_karwowski@sggw.pl e-mail: arkadiusz_orlowski@sggw.pl http://wzim.sggw.pl