You are on page 1of 81

AKADEMIA GRCZNICZO - HUTNICZA

IM. STANISAWA STASZICA W KRAKOWIE

WYDZIA ELEKTROTECHNIKI, AUTOMATYKI,


INFORMATYKI I ELEKTRONIKI

PRACA MAGISTERSKA

Internetowy system e-CRM do obsugi biura podry

Nazwisko i imi: Marek Bytnar, Pawe Kraiski


Kierunek studiw: Automatyka i Robotyka

Opiekun pracy :
dr Adrian Horzyk

Krakw 2007
Internetowy system e-CRM do obsugi biura podry

Prac dedykujemy naszym wspaniaym rodzicom.

2
Internetowy system e-CRM do obsugi biura podry

1. Wstp.............................................................................................................................6
2. Wprowadzenie teoretyczne do technologii Ruby on Rails oraz systemw CRM .....11
2.1. Ruby on Rails .......................................................................................................11
2.1.1. Jzyk Ruby....................................................................................................11
2.1.2. Historia Ruby. ...............................................................................................13
2.1.3. Wzorzec projektowy Ruby on Rails ...........................................................13
2.2. CRM .....................................................................................................................14
2.2.1. Cechy typowe dla CRM ................................................................................15
2.2.2. Rodzaje systemw CRM ...............................................................................16
2.2.3. e-CRM ..........................................................................................................18
2.2.4. Przewidywanie potrzeb uytkownikw w internecie......................................18
2.2.5. Dlaczego warto budowa relacje?..................................................................20
2.2.6. Gwne motywatory dziaa w aspekcie CRM...............................................21
2.3. Web 2.0 ................................................................................................................23
2.4. Folksonomia .........................................................................................................26
2.5. AJAX....................................................................................................................27
2.6. Specyfika internetowych biur podry ..................................................................29
3. Stosowane metody i rozwizania................................................................................34
3.1. Architektura systemu: ...........................................................................................34
3.2. Zastosowane technologie i metody........................................................................35
3.2.1. Mysql ............................................................................................................35
3.2.2. Ruby on Rails:...............................................................................................36
3.2.3. Uyte wtyczki ...............................................................................................44
3.2.4. Wzorzec projektowy Prototype.js................................................................45
3.3. Podstawowe funkcjonalnoci naszej aplikacji........................................................47
3.3.1. Diagram przypadkw uycia .........................................................................47
3.3.2. Diagram klas .................................................................................................48
3.3.3. Przegld funkcji systemu. ..............................................................................48
3.3.4. Opis bazy danych ..........................................................................................52
4. Rezultaty pracy. ..........................................................................................................55
4.1. Dyskusja o otrzymanym rezultacie CRM ..............................................................55
4.1.1. Dodawanie kont uytkownikw.....................................................................55
4.1.2. Skategoryzowana oferta.................................................................................56
4.1.3. Ograniczanie wynikw wyszukiwania ...........................................................58
4.1.4. Zbieranie informacji o uytkowniku poprzez tworzenie jego profilu cech i
preferencji.....................................................................................................................59
4.1.5. Generowanie oferty dla uytkownika.............................................................61
4.1.6. Internetowa kampania reklamowa .................................................................62
4.1.7. Kreowanie spoecznoci wok firmy ............................................................63
4.1.8. Przypisywanie znacznikw (tag-w) do wycieczek........................................65
4.1.9. Sprzeda i walidacja ......................................................................................65
4.1.10. Motywy uytkownika grupy ..........................................................................66
4.1.11. Animowane menu uytkownika.....................................................................67
4.1.12. Tworzenie oferty wycieczek ..........................................................................67
4.1.13. Edycja cech pyta i odpowiedzi..................................................................68
4.1.14. Analiza popularnoci i statusu wycieczek ......................................................69
4.1.15. Prowadzenie szczegowych statystyk ruchu .................................................69
4.2. Wnioski na temat Ruby on Rails ........................................................................70
4.3. Wnioski na temat Web 2.0 ....................................................................................72
5. Podsumowanie ............................................................................................................75

3
Internetowy system e-CRM do obsugi biura podry

Literatura............................................................................................................................78
Spis rysunkw.....................................................................................................................80

4
Internetowy system e-CRM do obsugi biura podry

Indywidualny wkad pracy dyplomantw:


Marek Bytnar:
Rozdzia 1
Rozdzia 2.1, 2.2
Rozdzia 3
Rozdzia 4.1, 4.2
Rozdzia 5
Kierowanie implementacj aplikacji technologii Ruby on Rails

Pawe Kraiski:
Rozdzia 1
Rozdzia 2.2, 2.3, 2.4, 2.5, 2.6
Rozdzia 4.2, 4.3
Rozdzia 5
Architektura, koncepcja systemu, koordynacja

5
Internetowy system e-CRM do obsugi biura podry

1. Wstp

Wybierajc temat kierowano si zarwno technologicznymi, jak i biznesowymi


zainteresowaniami, ktre autorzy wynieli po zajciach na kierunku Automatyka i Robotyka
na specjalnoci Informatyka w Sterowaniu i Zarzdzaniu. Dodatkowo, w zwizku
z wczeniejszymi dowiadczeniami zawodowymi, udao im si zyska dodatkowe cenne
praktyczne umiejtnoci z zakresu tworzenia aplikacji internetowych, systemw klasy CRM,
zarzdzania oraz nowoczesnych technik marketingowych. Wzito pod uwag najnowsze
trendy zwizane z coraz bardziej powszechn komunikacj internetow. W pracy opisano
rwnie wasne spostrzeenia autorw dotyczce omawianych tematw. Celem tej pracy byo
utworzenie nowoczesnej aplikacji internetowej dla biura podry podmiotu bardzo
rnorodnego, w ktrego dziaalnoci mona zaobserwowa nie tylko relacje typu
klient-firma, ale rwnie bardzo wane, z wizerunkowego punktu widzenia, relacje typu
klient-klient.
Sprzeda usug turystycznych przez Internet ronie z roku na rok. wiadczy o tym
fakt, e w ubiegych latach firmy z brany turystycznej, zwaszcza te wiadczce usugi
za porednictwem Internetu, zanotoway rekordowe zyski, a jedna z nich zadebiutowaa
na Warszawskiej Giedzie Papierw Wartociowych jako pierwsza w tej brany. Konkurencja
na tym rynku jest coraz wiksza. Sposb korzystania ludzi z Internetu oraz ich oczekiwania
wobec tego medium rosn z roku na rok. Aby uzyska cenn przewag konkurencyjn,
pozyska klientw i utrzyma ich przy sobie, naley by czujnym na kilku rnych
paszczyznach biznesowych takich jak:
jako usug turystycznych,
segmentacja ofert turystycznych,
technologia aplikacji internetowej
sposb zarzdzania relacjami z klientami
sposb komunikacji z klientami
W dzisiejszych czasach nie wystarczy mie szerokiej gamy ofert. Czasem moe
to nawet przeszkadza w odniesieniu rynkowego sukcesu. Klienci obecnie s wrcz pod
obstrzaem ofert handlowych. Jest ich taka ilo i rnorodno na rynku, e najczciej ju
samo przeszukiwanie ich mczy i zniechca potencjalnego klienta do dokonania finalnej
transakcji. Dy si do tego, aby najlepiej, jak si tylko da, uporzdkowa tematycznie

6
Internetowy system e-CRM do obsugi biura podry

i zaprezentowa swoje oferty. Stworzenie wielu kategorii i powizanie ofert wycieczek


za pomoc wsplnych cech, moe uatwi klientowi znalezienie satysfakcjonujcej oferty.
Jednak klient czasami moe inaczej od nas postrzega pewne kwestie moemy nie nady
za zmieniajcymi si trendami rynkowymi. W zwizku z tym potencjalny klient rwnie
powinien mie moliwo klasyfikacji ofert pomoe to jemu, wacicielowi biura podry
i co najwaniejsze innemu, potencjalnemu klientowi obdarzonemu podobnymi kryteriami
selekcji ofert. W tym celu wykorzystano w tej pracy popularn metod znacznikw,
tzw. tagw, a take umoliwiono przypisywanie ofertom ocen. Kadej ofercie przypisany
jest wic zestaw znacznikw najlepiej j charakteryzujcy spord wszystkich znacznikw
z ich biecej bazy. Nie tylko pracownicy biura mog dodawa nowe znaczniki i przypisywa
ofercie do niej stosowne. Klienci rwnie maj tak moliwo. Przez to segmentacja ofert
moe by jak najbardziej odpowiednia. Wszystko to znajduje si pod okiem administratora
systemu, ktry ma prawo do zmian, gdyby zaistniao podejrzenie o wprowadzenie nieadu
w systemie ofert. Oceny natomiast, przypisywane ofertom przez uytkownikw
s wykorzystywane w dwch celach. Pierwszy to zwyczajna analiza atrakcyjnoci wycieczki.
Drugi, nieco bardziej zoony, polega na tym, e oferty, ktre podobay si uytkownikom
o pewnych preferencjach polecane s w pierwszej kolejnoci uytkownikom o podobnych
cechach. W ten sposb generowana jest oferta wycieczek, ktra ma wiksz szans
na trafienie w gust klienta ni statyczna lista, bdca wynikiem zwyczajnego pobrania danych
z bazy.
Ideaem jest, gdy oferta jest tworzona indywidualnie pod kadego klienta. W biurze
turystycznym po rozmowie z klientem jest szansa, by zaoferowa co najbardziej zblionego
profilowi potencjalnego klienta. W tej aplikacji umoliwiono klientowi okrelenie swojego
profilu, przez co automatycznie mona zaproponowa te usugi, ktre s dla niego najbardziej
odpowiednie. Zapytania szybko charakteryzujce profil uytkownika naszego systemu zostay
okrelone na podstawie dowiadczenia i wiedzy promotora tej pracy dr Adriana
Horzyka [1]. Dodatkowo okrelono wiele modeli profilw uytkownikw i kademu
przyporzdkowano odpowiedni charakter, np. czy potencjalny klient posiada spokojn
osobowo, albo moe jest peen energii i ma ochot na aktywny wypoczynek. Dla kadego
z tych profili przewidziano moliwo doradzenia odnonie oferty wycieczek, a take
stworzono unikaln szat graficzn kady profil ma inne to i obrazki graficzne, ktrych
tonacja [2] jest specjalnie dobrana tak, aby uytkownik mia poczucie, e jest to serwis jemu
dedykowany. Nowatorskim podejciem tutaj jest jeszcze fakt, e nie jest wymuszana jak
to si czsto zdarza na uytkownikach rejestracja i zakadanie konta w celu korzystania

7
Internetowy system e-CRM do obsugi biura podry

z penej funkcjonalnoci serwisu. Identyfikator konkretnego uytkownika bdzie


przechowywany po stronie klienta, dziki czemu bdzie mona identyfikowa go,
a do momentu zaoenia konta. Ta funkcjonalno znacznie poszerza klientowi uytkowanie
systemu i likwiduje konieczno wykonywania dodatkowych czynnoci.
Wpyw na funkcjonowanie internetowego biura podry, a w tym przypadku te
i szybko realizacji koncepcji, ma jak najbardziej technologia, w ktrej dany serwis zosta
wykonany. wiat technologii internetowych zachwyca si obecnie rodowiskiem Ruby
on Rails, dedykowanym aplikacjom internetowym, i wry mu wielk przyszo.
Jest to bardzo nowoczesna idea, z ktr autorzy nie mieli wczeniej stycznoci. Do jej
wykorzystania zachcaj liczne publikacje i dialogi na forach internetowych. Dodatkowym
celem tej pracy byo rwnie poznanie i przetestowanie tego sposobu tworzenia aplikacji
internetowych i sprawdzenie, czy rzeczywicie jest to uatwienie w stosunku
do programowania w takim jzyku jak np. popularny PHP. Po zapoznaniu si z tym jzykiem
z ca pewnoci mona stwierdzi, i zrczniej si programuje si aplikacje WWW w Rails,
przez co mona si skupi nie tylko na realizacji, ale te w znacznej mierze na koncepcji
i tworzeniu jej nie tylko w fazie przed-implementacyjnej, lecz take w trakcie jej realizacji.
Nowoczesnego sposobu prezentacji i efektywnoci dostarcza tu technologia Ajax, bdca
w tej chwili w uyciu w niemal kadej aplikacji internetowej. Optymalizuje to znacznie czas
potrzebny do poruszania si po systemie i przyspiesza jego dziaanie, co w oczach klienta
ma wielk warto.
Przy organizacji gromadzenia danych i zarzdzaniu relacjami z klientami sugerowano
si cechami systemw klasy CRM. System ten monitoruje i raportuje sprzeda konkretnych
usug, jak rwnie sprawdza i udostpnia informacje dotyczce powodzenia poszczeglnych
ofert, obserwujc liczb osb je przegldajcych, w stosunku do ich sprzeday,
implementujc w ten sposb analityczn funkcjonalno tego systemu CRM. System
analizuje histori relacji z danym klientem, mianowicie, z jakich skorzysta ju ofert i na ile
s one zgodne z okrelonym jego profilem. Korzystajc z tych informacji mona przedstawi
klientowi jeszcze lepiej skrojon pod niego ofert, z korzystniejszymi warunkami jest
to rodzaj lojalnociowego podejcia do klienta, ktrego duo taniej jest utrzyma
ni pozyska bez wczeniejszej stycznoci. Uytkownik moe rwnie ocenia poszczeglne
oferty biura podry tzw. rating. Jest tutaj prawo do oceny liczbowej, ktra podliczona,
przedstawiana jest kademu nastpnemu uytkownikowi i stanowi dla niego dodatkow
informacj o ofercie. Jest to rwnie wana informacja z punktu widzenia sprzenia
zwrotnego midzy propozycjami biura podry i biec ich ocen okrelon przez

8
Internetowy system e-CRM do obsugi biura podry

uytkownikw systemu. W zbudowanym systemie uytkownik ma take moliwo


umieszczania komentarzy pod wszystkimi ofertami daje to moliwo relatywnego
badania satysfakcji klientw. Wycigajc z tego odpowiednie wnioski, jak i z innych
statystyk, uzyskuje si wpyw na cige ulepszanie oferty, aby bya jeszcze bardziej
atrakcyjna w oczach klientw.
Intuicyjn rzecz, ale wci nowoci, jest to, e zachca si klientw
do zamieszczania fotografii z wycieczek, jakie odbyli za porednictwem tego biura podry.
Jest to, oprcz powyej wspomnianej moliwoci dodawania swoich opinii i komentarzy,
kolejny czynnik, dziki ktremu mona budowa spoeczno wok usug biura podry.
Przewidziana jest moliwo, aby po odbytej wycieczce uytkownicy zamieszczali wykonane
przez siebie fotografie to atrakcja dla np. nowo poznanych znajomych, ktrzy skorzystali
z tej samej oferty, a take dla potencjalnego klienta. Oprcz budowania relacji pomidzy
czonkami spoecznoci, peni to moe rwnie funkcj uwiarygodniajc ofert biura. W tej
pracy posuono si wanie komunikacyjnym trendem Web 2.0, ktrego cech
charakterystyczn jest budowanie spoecznoci wok serwisw internetowych. To dosy
nowatorskie rozwizanie, ktre z dnia na dzie ma coraz wicej swoich sympatykw.
Rozwizanie to bardzo pomaga w tak wanej kwestii, jak jest podtrzymanie kontaktw
midzyludzkich. Tworzc spoeczno wok biura, jednoczenie zwiksza si lojalno tych
klientw, ktrzy s w jej skadzie.
Po wczesnym przegldniciu wielu witryn internetowych rnego rodzaju biur
podry nie natknli si na rozwizanie, ktre posiadaoby wszystkie na raz funkcjonalnoci,
o ktrych tutaj wspomniano. Nadania za zmieniajcymi si technologiami,
za rnicujcymi si wymaganiami klientw, za ewoluujcym charakterem komunikacji
interpersonalnej to problemy wspczesnych firm, prowadzcych swoj dziaalno
za pomoc Internetu, z ktrymi naley si stale boryka. Celem pracy byo nawietlenie
takich rozwiza, ktre s obecnie na czasie.
W drugim rozdziale znajduj si otoczenie teoretyczne zastosowanych rozwiza
technologicznych, omwione zaoenia systemw klasy CRM, a take kierunek ich rozwoju
w postaci systemw e-CRM. Omwiony jest tam rwnie trend Web 2.0, ktry staje si coraz
bardziej powszechny w komunikacji uytkownikw specjalistycznych serwisw
internetowych.
W kolejnym rozdziale znajduj si dokadne informacje na temat konkretnych
rozwiza technologicznych, ktrych to przegld by rwnie jednym z celw tej pracy.

9
Internetowy system e-CRM do obsugi biura podry

Opisana jest tam architektura systemu. Pod jego koniec przedstawione s funkcjonalnoci
systemu oraz sposb ich implementacji.
W czwartym rozdziale przedstawione zostay wyniki tej pracy. Opisane
s odpowiednie przypadki uycia systemu. Tutaj ju pod ktem uytkowym opisane zostay
dostpne funkcjonalnoci dla uytkownikw systemu. Zawarte s tam rwnie wnioski
z realizacji aplikacji przy uyciu Ruby on Rails, a take przedstawienie wnioskw,
odnoszcych si do tworzenia serwisw w duchu Web 2.0.
W ostatnim rozdziale podsumowana jest caa ta praca wraz z nakrelonymi moliwymi
drogami jej rozwoju oraz korzyci, jakie przyszy z jej napisania.

10
Internetowy system e-CRM do obsugi biura podry

2. Wprowadzenie teoretyczne do technologii Ruby on Rails


oraz systemw CRM

2.1. Ruby on Rails

Jako, e jednym z celw tej pracy jest zapoznanie si ze rodowiskiem Ruby on


Rails pozwolono sobie przytoczy pewne ciekawsze informacje i opinie na jego temat.
Ruby on Rails wkroczy przebojem na rynek oprogramowania aplikacji
internetowych, nie zwaajc na istniejce jzyki programowania, wypracowane konwencje,
ani nie dbajc o wsparcie ze strony komercyjnych firm. Jako dowd posuy moe poniszy
cytat twrcy jzyka Ruby, Yukihiro Matsumoto:
Od roku 2003 lawinowo zdobywa nowych zwolennikw, gwnie za spraw
popularnego frameworku do tworzenia aplikacji webowych o nazwie Ruby on Rails,
tworzonego przez grup programistw pod kierownictwem Davida Heinemeiera Hanssona. W
roku 2005 wedug statystyk sklepu Amazon dwie najpopularniejsze ksiki na temat Ruby i
Ruby On Rails byy najlepiej sprzedawanymi pozycjami z kategorii Programowanie. [16]

W dalszej czci zostan przytoczone fakty, ktre powysze stwierdzenie uczyni jak
najbardziej uzasadnionym.

2.1.1. Jzyk Ruby

Na pocztek wydaje si zasadnym pokaza, e sam jzyk w ktrym napisany jest


Framework Rails, jest nowoczesny i wydajny. wiadczy mog o tym przykady powanych
instytucji z niego korzystajcych.
Jak podaje strona domowa [17] Rubiego jzyk ten jest uywany przez Centrum Bada
NASA, grup badawcz w Motoroli, Open Domain Server. Znane, i przede wszystkim czsto
odwiedzane, serwisy, ktre zostay napisane z uyciem frameworka Ruby on Rails to na
przykad A list apart, 43 things ("1,010,846 ludzi w 12,565 miastach), Basecamp ("ponad
1,000,000 ludzi), ODEO, a take Twitter (momentami ponad 10 000 zapyta na sekund).

11
Internetowy system e-CRM do obsugi biura podry

Godn uwagi kwesti, jest rwnie gwatownie rosnca ostatnio jego popularno. Na
stronie TIOBE mona zobaczy ranking. Ruby obecnie zajmuje 10 pozycj i ma najwikszy
przyrost spord wszystkich jzykw! Rok 2006 by bardzo udanym rokiem dla Rubiego -
skok a o 11 pozycji!. Rosnc popularno jzyka obrazuje poniszy wykres, zaczerpnity ze
wspomnianej strony.

Rysunek 1 Ilustracja wzrostu popularnoci jzyka Ruby

Naley zwrci uwag na do znaczny spadek zainteresowania (mona przypuszcza,


e na rzecz Rubiego lub Pythona) takich jzykw jak Java czy Php.
Rosnce zainteresowanie tym jzykiem to pocztek jego wielkiej kariery. Wiedz to
take takie wielkie firmy jak Sun i Microsoft! Ta pierwsza ju jaki czas temu zatrudnia
zesp odpowiedzialny za JRuby, czyli interpreter Rubiego napisany w Javie. Ta druga za
oznajmia ostatnio o wydaniu 'dotnetowej' implementacji Rubiego, zwanej IronRuby. Takie
postpowanie nie jest bynajmniej przypadkowe. Owe firmy zdaj sobie spraw o sile jzykw
dynamicznych, std decyzja o inwestycji. Przykadowo JRuby pozwala na korzystanie z
ogromnego zaplecza bibliotek, ktrych Java dorobia si przez lata, a ktrych Rubiemu
czasem brakuje. czc to z prostot pisania w tym jzyku otrzymuje si niezwykle wydajne
poczenie.

12
Internetowy system e-CRM do obsugi biura podry

2.1.2. Historia Ruby.

W1993 roku, w Japonii, Yukihiro Matsumoto dostrzeg ogromne moliwoci jzykw


skryptowych, jednak stwierdzi, e aden z nich nie spenia w peni wymogw
programowania obiektowo zorientowanego. W zwizku z tym postanowi napisa swj
wasny jzyk. Tak oto narodzi si Ruby. Cechuje go to, co najlepsze z Pythona, Perla,
Smalltalka, czyli obiektowo, obsuga wyjtkw. Nastpnie dooy to wszystko czego
brakowao mu w innych jzykach, a wic otwarte klasy, dynamizm, bloki i wiele innych.
Sukces Ruby nadszed dopiero w 2004 roku. Wtedy to powsta Ruby on Rails.
Patrzc na wykres popularnoci Ruby w rankingu TIOBE naley zwrci uwag na tendencj
zwykow dopiero od koca 2004 roku.

2.1.3. Wzorzec projektowy Ruby on Rails

Wzorzec projektowy Rails jest dojrzaym rodowiskiem napisanym w jzyku Ruby,


umoliwiajcym pisanie aplikacji internetowych z przyjemnoci i z mniejsz iloci kodu
w porwnaniu do innych tego typu rodowisk.
Bycie dojrzaym rodowiskiem do tworzenia aplikacji internetowych oznacza, e
wszystkie warstwy tego rodowiska zostay stworzone tak, aby mogy ze sob atwo
wsppracowa. Konstrukcja Ruby on Rails uatwia pisanie aplikacji pod ktem zasady DRY
- Don't Repeat Yourself - Nie Powtarzaj Si. Wszystko, poczwszy od szablonw (ang.
templates), kontroli przepywu, a skoczywszy na logice biznesowej, obsudze e-maili, web
services i testowaniu jest napisane w jzyku Ruby.
Aby osign DRY - Nie Powtarzaj Si, w Railsach zrezygnowano z koniecznoci
tworzenia XML'owych plikw konfiguracyjnych, na rzecz dynamicznej autokonfiguracji i
przyjciu pewnych konwencji.
Oznacza to koniec plikw XML, ktre opisuj struktury ju raz opisane w kodzie.
Oznacza to rwnie brak fazy kompilacji: Wprowad zmian, sprawd czy dziaa. Detalami
opisujcymi np. kolumny w tabelach (w module ORM Active Record) zajmuje si sam
framework.

13
Internetowy system e-CRM do obsugi biura podry

W rozdziale 3 przy okazji omwienia technologii uytych do stworzenia tej aplikacji


przedstawiono interesujce szczegy techniczne oraz zamieszczono przykady fragmentw
kodu wiadczcych o wyjtkowoci Rails.

2.2. CRM

W celu zrozumienia, czego oczekuje klient tak naprawd naley wsucha si w jego
potrzeby oraz sprbowa zidentyfikowa motywacje jego dziaa ten punkt widzenia jest
koniecznoci w osigniciu rynkowego sukcesu. Ciko o jednoznaczn definicj systemu
CRM. Literatura [3,4,5,7] przytacza wiele interpretacji tego zagadnienia. Inaczej zdefiniuje
CRM osoba z dowiadczeniami ekonomicznymi, inaczej informatyk, a jeszcze inaczej mona
powiedzie o systemach typu e-CRM. Natomiast wszystkie definicje maj bardzo wany
wsplny mianownik - jest nim zorientowanie na klienta.
CRM okrela si strategi biznesow, skupiajc si na budowaniu dugoterminowych
zwizkw z klientami, umacniania ich na rnych paszczyznach, w celu zwikszenia
dochodowoci firmy, a take redukcji kosztw wasnych. Najistotniejsza dla firmy kwestia,
czyli satysfakcja odbiorcy, wynika z jakoci oferowanych produktw, a take usug
wiadczonych przez firm, ale to nie wszystko w czasach tak wielkiej konkurencji
biznesowej. Kady klient czuje si kim wyjtkowym dla firmy, w momencie gdy zna ona
jego osobiste upodobania i potrafi je zaspokaja. Dla odbiorcy korzyci jest spenianie jego
zrnicowanych potrzeb, a dla firmy prowadzenie dugoterminowych relacji z zadowolonym
klientem. Jeli due przedsibiorstwo chce wykorzystywa wspln wiedz o kliencie,
obowizkiem staje si budowanie baz danych. Tworzy si w nich swoista skarbnica wiedzy
dla firmy, poniewa zawieraj cenn histori relacji z klientem. Wanie dlatego, by system
zarzdzania by jednolity i wszystkie komrki firmy (sprzeday, marketingu i serwisu)
pozostaway ze sob w korelacji potrzebny jest CRM.
Na nastpnej stronie przedstawiona jest graficznie droga kontaktu firmy z klientem,
ktrej dokadniejsze rozplanowanie jest bardzo wane w nawizaniu jak najlepszych relacji
firmy z klientem.

14
Internetowy system e-CRM do obsugi biura podry

Rysunek 2 Rysunek obrazuje proces zarzdzania relacjami, ktrego celem jest zatrzymanie klienta w
czasie. Wszystkie dziaania w poszczeglnych dziaach firmy s ze sob powizane. Najistotniejszym za
komponentem efektywnego administrowania CRM jest zarzdzanie

2.2.1. Cechy typowe dla CRM


Wspczenie przy zakadaniu firmy naley myle ju o odpowiednim systemie
CRM, ktry pomoe nam w jej zarzdzaniu. Czsto jest tak, e firma funkcjonuje ju na
rynku od pewnego czasu, jednak dopiero niedawno zdecydowaa si na jego wdroenie.
Dlatego warto wtedy, przed okreleniem docelowych funkcji tego systemu wykaza si
znajomoci i zrozumieniem poniszych zaoe [3, 8]

CRM jest ide firmy wspierana jedynie przez technologi. Definiujc to w inny
sposb, jest to nowa kultura biznesowa, ktr musi zrozumie kada, idca z duchem czasu,
organizacja. Na pocztku trzeba dokadnie pozna ideologi CRM, dopiero potem
zsynchronizowa j z celami firmy. Systemy informatyczne to tylko narzdzie, ktre suy w
pozyskiwaniu waciwych informacji, ich kilkukrotnym przetwarzaniu oraz znajdowaniu
strategicznych zalenoci midzy rekordami baz danych.

Jeli mamy zgodno filozofii funkcjonowania firmy z oprogramowaniem klasy CRM,


to jest ju spenione podstawowe kryterium warunkujce sukces wdroenia systemu. Przy
braku jasno sprecyzowanych celw caego przedsiwzicia, zej organizacji merytorycznej
przygotowujcej firm do wdroenia CRM oraz niewaciwym oszacowaniu tej, czsto
kosztownej, inwestycji, mog to by gwne przyczyny niepowodzenia projektu.

15
Internetowy system e-CRM do obsugi biura podry

Najcenniejsz wartoci systemw klasy CRM jest pozyskanie spjnej informacji o


kliencie we wszystkich sferach funkcjonowania przedsibiorstwa, czyli: sprzeday, serwisu
oraz pionu operacyjnego. Wanie tak zorganizowane zarzdzanie wspln wiedz w rnych
dziaach funkcjonalnych firmy (obsuga sprzeday, posprzedana oraz planowania) powoduje
zoptymalizowanie zarwno pracy, jak i wydatkw przeznaczonych na obsug klienta.
Efektem tego s zsynchronizowane dziaania, ktre prowadz do wzrostu wydajnoci
procesw zachodzcych w firmie.

2.2.2. Rodzaje systemw CRM

Wyrniane s ich nastpujce gwne rodzaje systemw klasy CRM [7, 39]:

analityczny
operacyjny,
kontaktowy.

Analityczny - przechwytuje, przetwarza i interpretuje dane o klientach, aby tworzy z tego


rnorakie raporty przydatne firmie. Przechwytuje si dane z wielu rde, na przykad z
hurtowni danych. Poddaje si je potem skomplikowanym analizom statystycznym, ktrych
wyniki zmierzaj do tego, aby pomc zrozumie potrzeby i zachowania klientw. Istotn
wartoci takiej aplikacji jest zdolno personalizacji analiz pod ktem grupy uytkownikw i
kadego z nich z osobna. CRMy analityczne pozwalaj organizacjom identyfikowa, a take
rwnoway potrzeby i ich moliwoci, i jeszcze szacowa ryzyko oraz koszty zwizane z
istniejcymi oraz potencjalnymi klientami w celu maksymalizacji zyskw przedsibiorstwa.
Jako obszar funkcjonowania analitycznych aplikacji CRM okrela si przede wszystkim:
segmentacj klientw, kierowanie kampaniami (analiz wydajnoci aktywnoci
marketingowych), opiek nad klientem (analiz obsugi klienta), a take bardzo wan
analiz sprzeday.

Przy segmentacji klientw dla celw kampanii marketingowych bardzo czsto w


nowoczesnych, midzynarodowych firmach uywana jest analiza RFM (Recency - wieo,
Frequency - czsto, Monetary - warto) Umoliwia ona ich grupowanie na podstawie
dotychczasowego zachowania i na tej podstawie, przewiduje si ich przysze zachowanie.
Mona to przedstawi rwnie w ten sposb, e analiza ta pomaga w wytypowaniu

16
Internetowy system e-CRM do obsugi biura podry

najlepszych, kluczowych klientw, czyli najbardziej ochoczych do kolejnych zakupw w


odpowiedzi na przedstawion im ofert. Bardzo czsto wykorzystywana jest take analiza
LTV, czyli Life Time Value. Metoda ta szacuje co, co nazywa si wartoci klienta w czasie,
czyli kwot, ktr dany klient moe potencjalnie zostawi w firmie przez cae swoje
konsumenckie ycie. Sposb ten jest dosy zaawansowany i pozwala na zorientowanie si, w
ktrych klientw warto dodatkowo inwestowa w celu pozyskania ich lojalnoci, a w
stosunku do ktrych naley zmieni polityk, aby si ich jak najszybciej pozby to
podejcie zwizane jest rwnie z wizerunkow kwesti budowania marki, ktrej czci
wizerunku s przecie jej konsumenci. Jest to odejcie od klasycznie liczonej stopy zwrotu
inwestycji (ROI) uzyskanej z danych dziaa marketingowych i zauwaenie jego
skumulowanej w czasie wartoci zakupw i wpywu na decyzje zakupowe innych klientw.

Operacyjny - w swej funkcjonalnoci jest zbliony do systemw klasy ERP. Typowe dla
niego funkcje biznesowe obejmuj obsug klienta, zarzdzanie zamwieniami, fakturowanie,
dodatkowo take automatyzacj i kwestie marketingowe. Istotnym aspektem operacyjnego
CRM jest moliwo integracji z funkcjami finansowymi i dotyczcymi zasobw ludzkich
systemw klasy ERP. Funkcjonalnoci operacyjnego systemu CRM s tutaj wykorzystywane
gwnie w dziaach: sprzeday, serwisu i marketingu, a niektre rozwizania obejmuj te
Call Center.

Kontaktowy (zwany jest te kooperacyjnym lub interakcyjnym) - to komunikacyjne centrum


sie koordynujc kanay kontaktowe z klientami, dostawcami i partnerami biznesowymi.
Jako przykad, mona przedstawia tutaj portal, aplikacj PRM (Partner Relationship
Management), centrum interakcji z klientem - CIC (Customer Interaction Center). rodkami
komunikacji s zazwyczaj: telefon, SMS, WEB, e-mail, faks, aplikacje gosowe, a nawet
jeszcze tradycyjna poczta. Przeznaczony jest najczciej do serwisu (w tym pomoc
techniczna), sprzeday, jak rwnie marketingu.

Najbardziej nowoczesnym podejciem do tematu jest system e-CRM. Klasa ta dopiero si


rozwija, ale mona miao uzna, e posiada ona cakiem nowy horyzont funkcjonalnoci,
ktry moe mie w sobie cechy powyszych typw systemw.

17
Internetowy system e-CRM do obsugi biura podry

2.2.3. e-CRM

Sieciowy CRM [9, 11], cakiem podobnie jak tradycyjny, zorientowany jest na klienta, ale
wymaga ju odrbnych zasad postpowania. Przede wszystkim wynika to gwnie ze
specyfiki kanau dystrybucji jakim jest Internet. Gwn ide eCRM jest dalej skupianie si
na analizie klienta, jego preferencjach, znajdywaniu zalenoci w jego zachowaniach i jemu
podobnych uytkownikach. Koncentracja na odbiorcy, nie tylko traktowanie go w ujciu
statystycznym, moe dostarczy mu tego, czego naprawd poszukuje. Usatysfakcjonowanie
konsumenta stanowi najprostsz drog w budowaniu wsplnych wizi, jego lojalnoci, ktra
moe przecie zaowocowa zarwno zyskiem dla firmy jak i niego samego. Dlatego tak
istotne jest zaangaowanie waciciela serwisu internetowego w ksztatowanie przyjaznego
otoczenia dla sieciowego uytkownika. Moe to znale odzwierciedlenie w:

o dedykowaniu stron odpowiadajcym jego oczekiwaniom, zarwno pod wzgldem


graficznym jak i merytorycznym (stosowanie personalizacji),
o tworzeniu sprawnej komunikacji poprzez wszystkie dostpne instrumenty sieciowe
(np. chat-room, e-mail, forum WWW, komentarze, galerie),
o udostpnianiu e-serwisu (moliwo przedstawienia problemu za pomoc
gotowych formularzy, ktre zawieraj pytania pomocnicze, biece uaktualnianie
listy z opisem standardowych problemw - FAQ),
o podtrzymywaniu kontaktu z sieciowym odbiorc poprzez kolportowanie
firmowych biuletynw do jego skrzynki e-mail direct e-mailing,
o cyklicznym badaniu poziomu zadowolenia klienta ze wiadczonych usug.

2.2.4. Przewidywanie potrzeb uytkownikw w internecie

Internet [11] to coraz bardziej powszechna paszczyzna do badania preferencji


klientw, uytkownikw serwisu. Mona za jego pomoc prowadzi badania, monitorowa
ich przebieg w czasie rzeczywistym, a take korelowa to na bieco z efektami sprzeday.
Potrzebne koszty do ich przeprowadzenia s dosy niskie w stosunku do skali dziaania.
Badania takie pozwalaj dostarczy cennych odpowiedzi w krtkim czasie i atwo je potem
podda statystycznej i merytorycznej obrbce. Ich atutem jest rwnie to, e mona dziki
nim dotrze do rnych grup konsumenckich. Dziaania takie byyby niezmiernie zoone, a

18
Internetowy system e-CRM do obsugi biura podry

przede wszystkim bardzo kosztowne w przypadku aktywizowania ich na rynku tradycyjnym.


Jednak ujemn stron przeprowadzania bada za pomoc ankiet internetowych jest mniejsza
wiarygodno zebranych odpowiedzi. W celu zwikszenia wartoci pozyskiwanych
informacji trzeba odpowiednio skonstruowa formularz to naprawd istotne i bardzo trudne.
Pytania powinny pozostawa ze sob w odpowiedniej korelacji i wykazywa rne
zalenoci, pokrywa sfery, w jakich chce si zebra interesujce nas dane na temat upodoba
naszych klientw. Wszystko po to, aby usun odpowiedzi na te sama pytania, ktre si
wzajemnie wykluczaj. Pozwoli rzetelniej opracowa wyniki.

Dane o kliencie czerpie si najczciej z:

bada ankietowych lub formularzy rejestracyjnych,


analizy logw serwera lub bardziej wyrafinowanych programw ledzcych
ruchy uytkownika po stronie,
historii dotychczasowych zakupw przez Internet,
hurtowni danych znajdujcej si w tradycyjnym oddziale firmy

Dziki nim mona wygenerowa nie tylko szczegowy obrazu klienta. Moliwe s
dodatkowe prognozy dotyczce dalszych jego zamierze. Najbardziej wartociowym
kluczem, ktry moe prowadzi do sukcesu jest wanie zdolno przewidywania kolejnych
potrzeb konsumenta. Nie jest to jedynie rezultatem planowania, ale czsto kwintesencj
wynikajc z wnikliwej analizy na wielu paszczyznach percepcji klienta.

Strategicznie prowadzona polityka zabiegania o wzgldy klienta jest funkcj


klasycznego i sieciowego systemu CRM std jego tak wielkie moliwoci. Analiza
informacji o kliencie moe dostarcza mu tych usug, ktrych najbardziej potrzebuje.
Hurtownie danych okazuj si pomocne przy ostatecznym modelowaniu preferencji klienta.
Specjalizacja dziaa wynikajca z umiejtnoci prognozowania i przewidywania jest
niezwykle wanym w dzisiejszych czasach narzdziem biznesowym. Znajomo aktualnych
potrzeb konsumenta oraz dar ustalania przyszych pozwoli obsuy go na jeszcze wyszym
poziomie. Spjne z marketingow strategi firmy dziaania skupione na kliencie maj
nastpujce cele: sprzeda, zapewni satysfakcjonujc obsug, a take pozyska klienta na
zawsze, tak, aby sta si wrcz ambasadorem naszej marki. To jest waciwy CRM.

19
Internetowy system e-CRM do obsugi biura podry

2.2.5. Dlaczego warto budowa relacje?


Jako gwny powd inwestowania w relacje z klientem [6, 10] mona okreli to, e
ilo klientw na rynku jest ograniczona. Nabiera ten fakt znaczenia szczeglnie dzisiaj,
kiedy rynki staj si coraz bardziej konkurencyjne. wiadome tego firmy, ktre potrafi
przywiza do siebie klienta maj szans na zbudowanie i rozwijanie stabilnej przewagi
rynkowej. Dobrym przykadem konkurencyjnego rynku jest szeroko rozumiany sektor usug
finansowych. Wedug badania przeprowadzonego przez Ernst & Young wrd firm tego
sektora, najbardziej istotnym celem upatrywanym przez firmy europejskie w rozwoju CRM
jest utrzymanie dotychczasowych klientw, ktrych obsuga jest duo tasza ni pozyskanie
nowych, czsto kosztem konkurencji, z ktrych usug w tym momencie korzystaj.

Gdy wiele mocnych firm stara si zwikszy swoje udziay rynkowe, utrzymanie
dotychczasowych klientw i zwikszenie ich lojalnoci staje si niezwykle duym
wyzwaniem. W wielu branach mamy ju do czynienia z siln konkurencj, a walka o
staych klientw bdzie niewtpliwie przybiera na znaczeniu. Wanym powodem jest
analizowana w dugim okresie redukcja kosztw, ktra jest powszechnie dostrzegalna. W
pozyskanie nowego klienta zawsze musi si inwestowa. Na inwestycje te skadaj si midzy
innymi: reklama, promocje sprzeday, koszty wizyt handlowych, materiaw reklamowych,
wyposaenie sprztowe i wynagrodzenia personelu, itp. Przy rosncej konkurencji, droszej
sile roboczej koszty pozyskania klienta bd rosy. Jednoczenie rozwj nowych technologii,
przede wszystkim sposobu zarzdzania bazami danych i Internetu, powoduj dalsz redukcj
kosztw utrzymania klienta. Konsekwencj jest, na ile to tylko moliwe, optymalizacja
kosztw pozyskania i utrzymania klienta.
Kolejna strona zaczyna si od graficznego przedstawienia modelu funkcjonowania
firmy w bezporedniej relacji z potrzebami klienta. Pozwala to na optymalizacj relacji z
klientem i ich intensyfikacj.

20
Internetowy system e-CRM do obsugi biura podry

Rysunek 3 model sekwencji funkcjonowania firmy na danym rynku w kontekcie relacji z klientem

2.2.6. Gwne motywatory dziaa w aspekcie CRM

Zarzdzanie przedsibiorstwem w oparciu o filozofi CRM [8] powinno uwzgldnia


nastpujce dziaania:

przewidywanie potrzeb klientw,


oferowanie wartoci dodanej, czynicej konkurencyjn przewag,
budowanie dochodowych relacji z klientami,
denie do lojalnoci klienta,
minimalizacja programw lojalnociowych.

Kluczem do sukcesu systemu CRM jest odpowiednie zarzdzenie relacjami z klientami.


Aby wzajemny proces komunikacji z konsumentami by efektywny i powiksza grono
lojalnych klientw naley zna dokadne preferencje odbiorcy. W celu wygenerowania
spektrum potrzeb konsumenta nie wystarcz ju tylko badania, lecz naley rwnie rozwin
umiejtno prognozowania. Obserwowanie jego zachowanie, analizowanie motyww
dziaania oraz powizanie ich z posiadanymi danymi socjo-demograficznymi s tutaj
najistotniejsze. Naley te utosami si z jego kierunkiem mylenia to niezwykle trudne w
maych przedsibiorstwach, ktre s przewiadczone o swojej rynkowej nieomylnoci, a

21
Internetowy system e-CRM do obsugi biura podry

czsto okazuje si, e podejcie klienta do odpowiednich tematw jest diametralnie inne. Gdy
zdamy sobie z tego spraw bdzie moliwe dedykowanie klientowi celnych kompozycji
produktw lub usug.
Filozofia zarzdzania relacjami z klientem wykracza daleko poza dotychczasowe normy
obsugi klienta. Skupiona jest na oferowaniu mu takiej wartoci, ktra spowoduje, e stanie
si on nam wierny przez dugie lata. Zaoenie to si sprawdzi w praktyce, gdy firma da
klientowi co wicej ni on sam oczekuje, co, czego najczciej si nawet nie spodziewa
zaley to tylko od kreatywnoci firmy. Przykadem oferowania wartoci dodanej moe by
serwowanie wsparcia merytorycznego osobie, ktra nabya program komputerowy. Moe to
polega na udostpnieniu internetowego forum ekspertw, na ktrym klient bdzie mia
prawo korzystania z porad fachowcw.
CRM jest to take zarzdzanie relacjami z rnymi klientami. W praktyce oznacza to
spersonalizowanie relacji, odmienne traktowanie kadego z konsumentw. Synna zasada
Pareto (zasada 80-20) gosi, i 20% klientw generuje 80% zyskw. Dlatego istotnego
znaczenia nabiera odnalezienie tych waciwych. Selekcja odpowiednich grup konsumenckich
i ich obsugiwanie bdzie stanowi dla firmy oryginalny potencja. Zwikszenie rentownoci
przedsibiorstwa nastpi poprzez zarzdzanie kontaktami z wartociowymi klientami, tzw.
klientami kluczowymi. Wcale nie oznacza to jednak zaprzestania oferowania jakoci
wiadczonych usug odbiorcom mniej dochodowym, chocia wcale si nie da ukry, e na
pewno znajdzie si takie grono klientw, ktrego firma bdzie chciaa si jak najszybciej
pozby.
Lojalno jest zawsze w cenie. Jest wyznacznikiem zaufania klienta wobec firmy. Taki
klient to ten, ktry moe by oddany firmie w dugofalowej perspektywie. Przejawia si to w
powtarzalnoci dokonywania transakcji. Mona dopatrywa si tego zjawiska take w
aspekcie psychologicznym. Widoczna jest ona wwczas w emocjonalnym przywizaniu
klienta do firmy takiemu klientowi wypada stworzy nawet wraenie, e to on ma bardzo
wany wpyw na ksztatowanie si oferty przedsibiorstwa. Tacy klienci posiadaj dodatkow
warto dla marki, ktr wyznaj.
Dziaania firm, ktre skupiaj si na opracowywaniu nowych programw lojalnociowych
s w tym momencie intensywnie rozwijane. Firmy te za ich porednictwem zamierzaj
powikszy ilo swojej sprzeday. Karty staego klienta i punkty rabatowe to gwne
motywatory, ktre maj skoni potencjalnego klienta do zakupu. Jednak wszystkie
inicjatywy tego typu nie przynosz firmom spodziewanych korzyci. Wiele z nich wprowadza
programy lojalnociowe do swojej polityki dziaania. Uwaa rwnie, e za ich

22
Internetowy system e-CRM do obsugi biura podry

porednictwem zjedna sobie cenn lojalno klienta. W tym wypadku mamy do czynienia z
opatrznie pojtym modelem lojalnoci. Klienci jednak nie dochodz do tego najczciej z
materialnych pobudek, ale jest to podparte siln motywacj. Jest to bardzo zoonym
procesem. Nie mona by cakowicie pewnym lojalnoci klienta po tym tylko, e korzysta z
przywileju karty rabatowej.

2.3. Web 2.0


Web 2.0 [12] to wiee okrelenie nowego nurtu tworzenia serwisw internetowych
nowej generacji, ktre zostao utworzone w celu odrnienia od tradycyjnych stron
internetowych okrelanych dla porwnania jako Web 1.0.

Mona wyrni nastpujce gwne cechy stron nurtu Web 2.0:


o interaktywno, ktra wykorzystywana jest do interaktywnych technik tworzenia stron
internetowych, np. AJAX, XHTML, SOAP, XUL, RDF;
o generowanie treci rwnie przez samych internautw, a nie tylko administratorw
stron czy webmasterw;
o moliwo nawizywania kontaktw przez uytkownikw - nie ma serwisu Web 2.0
bez elementw spoecznociowych. Produkt Web 2.0. musi uatwia ludziom
nawizywanie kontaktw, ktrych charakter ulega ewolucyjnej zmianie
o amanie istniejcych zasad - serwisy maj dawa uytkownikom now warto, ama
schemat, ktry do tej pory krlowa na rynku
o wsptworzenie i wspdzielenie - atwe dzielenie si i wymienianie informacjami, jak
rwnie aktywne uczestnictwo. Nawet osoba, ktra tylko konsumuje informacje, moe
robi to kiedy chce i jak chce, ma moliwo zarwno do komentowania , jak i
oceniania
o kreatywno - uytkownicy maj dowolno twrcz i mog da upust swojej
kreatywnoci, co czasami moe nie by takie dobre dla ogu uytkownikw
o futurystyczny wygld (prosta szata graficzna);
o niskie koszty - uruchomienie serwisu Web 2.0 jest dosy tanie. Wiadomo, e
utrzymanie serwisu o rosncej popularnoci jest drosze, a ju w przypadku serwisw
w peni multimedialnych (np. Youtube.com) zawrotnie drogie.

23
Internetowy system e-CRM do obsugi biura podry

o szybko - serwis Web 2.0 moe powsta relatywnie szybko. Gdy idea jest dobra,
naley j intensywnie wdraa, aby ubiec aktywn konkurencj.

Okrelenie Web 2.0 rozpowszechnio si w roku 2004, kiedy to firmy O'Reilly i


Medialive International na konferencjach naukowych zaczy mwi na ten temat odnonie
nowych technik internetowych. W rzeczywistoci ciko o dokadn definicj Web 2.0.
Opracowanie dokadniejszych cech tego nurtu zostay sztucznie stworzone i sklasyfikowane.
Przynaleno danej strony do niego jest kwesti umown - dosy sugestywn. Wiele
wspczesnych serwisw korzysta z popularnoci okrelenia Web 2.0, udostpniajc na
przykad subskrypcj nowoci przez RSS, aby uzyska miano serwisu Web 2.0, by pokaza
swoj nowoczesno, by bardziej modnym.
Celem twrcw serwisw w drugiej wersji jest to, by sie WWW dawaa
uytkownikom jak najwiksz moliwo interakcji i integracji oraz personalizacji strony dla
internautw z caego wiata. Nowatorsk cech Web 2.0 jest to, e rodek cikoci stron
WWW zostaje przesunity w kierunku uytkownikw. Wtedy autorzy stron WWW
przygotowuj serwis jako silnik, ale gwnym motorem jego funkcjonowania mog ju by
uytkownicy, ktrzy dostarczaj jego zawartoci (np. zdjcia, pliki wideo, linki do ciekawych
stron internetowych itp.) oraz mog tworzy rnorak spoeczno, ktra wytwarza swj
unikalny kod komunikacyjny i zaczyna y wasnym yciem. Serwisy uznawane s za
dynamiczne (w stosunku do stron Web 1.0 nazywanych statycznymi), gdy umoliwiaj t
interakcj, ycie i rozwj serwisu bez ingerencji oraz zbytniego wysiku twrczego ze strony
jego administratorw.
Jeden z bardziej znanych polskich serwisw Web 2.0 jest przedstawiony na poniszym
rysunku.

Rysunek 4 Gwna witryna popularnego serwisu Web 2.0 www.goldenline.pl

24
Internetowy system e-CRM do obsugi biura podry

S specjalici, ktrzy do pierwszych dzie prdu Web 2.0 zaliczaj mechanizm


oceniania stron PageRank, ktry wykorzystywany by przez wyszukiwark internetow
Google. Ocenia on stron na podstawie liczby linkw prowadzcych do niej. Im wiksza
ilo linkw do niego prowadzia, tym strona znajdowaa si wyej w wynikach
wyszukiwania. Zaoenie opierao si na tym, e gdy wielu ludzi odwouje si do danego
zasobu, to mona z duym prawdopodobiestwem stwierdzi, i zasb jest stosunkowo
pewny, dobry, a przede wszystkim wyczerpujcy i, co wane, na temat.

Rysunek 5 Przykad specjalistycznego serwisu Web 2.0. www.miejsce.info

Pierwsze internetowe spoecznoci pojawiy si kilka lat temu w USA. Byy to


friendster.com (utrzymywanie kontaktw towarzyskich), tribe.net (aklimatyzacja po

25
Internetowy system e-CRM do obsugi biura podry

przeprowadzce do innego miasta), LinkedIn (utrzymywanie kontaktw biznesowych).


Szczeglnie spektakularny by rozwj MySpace (o przeznaczeniu oglno rozrywkowym),
ktry w cigu zaledwie kilkunastu miesicy zdoa zgromadzi ponad 50 mln uytkownikw
na caym wiecie.
Spoecznoci internetowe staraj si zaspokoi naturalne potrzeby wspycia
ludzkiego, jak rwnie wymiany dowiadcze, informacji czy zainteresowa. Dodatkowo
umoliwiaj skuteczn realizacj celw rozrywkowych i zawodowych. Rewolucyjne tempo
rozwoju tego typu serwisw daje podstawy, aby twierdzi, e mamy do czynienia z nastpn
generacj witryn internetowych i kolejnym etapem w historii globalnej sieci internetowej.
Niestety Web 2.0 spotkao si z krytyk, e nie jest nowoci, ale jedynie czy technologie
Web 1.0 podan w nowym opakowaniu wraz z uknut na jej potrzeby filozofi, co ma
przynie realne nowe zyski firm internetowych tak dzieje si od dawna, zatem pki taka
teoria nikogo nie krzywdzi, jest jak najbardziej akceptowana przez rynek.

Web 2.0 [13] to nie tylko zmiany w serwisach - zmieniaj si te obyczaje internautw,
ktrzy coraz chtniej prbuj wychodzi poza role biernych konsumentw newsw. Szukaj
alternatywnych rde informacji lub sami staraj si je dostarcza. Publikuj, komentuj i
wchodz w interakcje z innymi uytkownikami sieci. Podejmujc decyzje, skonni s raczej
oprze si na zbiorowej opinii innych internautw ni zawodowych ekspertw.

2.4. Folksonomia
Do kategoryzacji treci serwisu internetowego coraz czciej wykorzystuje si
znaczniki, zwane tagami. Coraz czciej umoliwia si uytkownikom danego serwisu
dodawania swoich skojarze, swoich cech witrynom, tak aby potem uytkownicy o
podobnym do nich profilu atwiej odnajdywali w ten sposb oznaczone treci. Zjawisko takie
wykorzystuje na przykad nowy polski serwis spoecznociowy MojaGeneracja.pl, ktry
zosta zaoony przez spk akcyjn Gadu-Gadu, ktre jest potentatem wrd
wykorzystywanych w Polsce komunikatorw internetowych. Nastpn stron rozpoczyna
rysunek obrazujcy rozmieszczenie znacznikw w jednej czci witryny powyszego serwisu
spoecznociowego:

26
Internetowy system e-CRM do obsugi biura podry

Rysunek 6 Popularny modzieowny serwis spoecznociowy oparty na wartociowaniu treci za pomoc


tagw www.mojageneracja.pl

Zjawisko zezwalania innym na kategoryzowanie treci swojego serwisu i


udostpnianie tej formy odnajdywania informacji pozostaym uytkownikom nazywa si, jest
to stosunkowo nowy termin, folskonomi.
Przez folksonomi naukowo rozumiemy neologizm, ktry oznacza praktyk
kategoryzacji treci z wykorzystaniem dowolnie dobranych sw kluczowych. W znaczeniu
potocznym odnosi si to ju do grupy ludzi wsppracujcych spontanicznie w celu
uporzdkowania informacji w konkretnych kategoriach. W zwizku z tym, e klasyfikatorami
informacji s zazwyczaj uytkownicy, ktrzy j wykorzystuj, zwolennicy folksonomii
twierdz, e daje ona rezultaty lepiej oddajce model informacji we wsplnocie.
Socjologowie i antropologowie od dawna zajmowali si problemem klasyfikacji przez ludzi
w jaki sposb zwykli ludzie (nie-eksperci) klasyfikuj wiat wok siebie.

2.5. AJAX
Najprociej rzecz biorc, AJAX [14] to technologia umoliwiajca tworzenie aplikacji
internetowych, w ktrej interakcja uytkownika z serwerem odbywa si bez przeadowywania
caego dokumentu, a tylko tych jego elementw, ktre ulegy zmianie w danym odcinku

27
Internetowy system e-CRM do obsugi biura podry

czasu. Jest to spore udogodnienie optymalizacyjne w funkcjonowaniu serwisw


internetowych. Uytkownicy, potencjalni klienci maj do niego szybszy dostp, a to jest w
cenie i to bardzo.

AJAX (skrt od Asynchronous JavaScript And XML) jest nazw nowej metody
programowania, ktra czy kilka rnych technik: (X)HTML i CSS do tworzenia interfejsu
uytkownika, DOM (Document Object Model) do obsugi elementw dynamicznych i
interakcji oraz XMLHttpRequest do asynchronicznej wymiany danych. czy si te techniki
w jedn cao za pomoc JavaScript, odpowiedzialnego za logik aplikacji, jak rwnie
dynamiczn aktualizacj interfejsu uytkownika.

AJAX mona najprociej zdefiniowa jako metod wykorzystania JavaScript do


komunikacji z serwerem niezalenie od tradycyjnych da POST i GET. Najwaniejsze s
zupenie nowe moliwoci tworzenia aplikacji internetowych.

Podstaw pracy AJAX-a jest obiekt XMLHttpRequest, stanowicy standardowy


element wielu przegldarek. Przy dodawaniu obsugi AJAX-a do swojej aplikacji za pomoc
biblioteki, wcale nie trzeba wiele wiedzie o samym XMLHttpRequest, gdy wszystkim
zajmie si odpowiednia biblioteka. Fizyczna implementacja obiektu XMLHttpRequest zaley
od danej przegldarki, na przykad w Internet Explorerze jest to wbudowany obiekt ActiveX,
natomiast w Firefoksie, Safari i wikszoci innych przegldarek jest on wewntrznym
obiektem JavaScript.

AJAX zdobywa popularno ze wzgldu na kilka swoich zalet, z ktrych najbardziej


zauwaaln jest znaczce rozszerzenie zakresu moliwoci interfejsu uytkownika. Jednak
samo to nie wystarczy. Przecie jest te wiele innych technologii o zblionych
moliwociach. O wyjtkowoci AJAX-a stanowi przede wszystkim to, e bazuje on na
uznanych standardach, dlatego w odrnieniu do innych narzdzi do tworzenia
interaktywnych aplikacji internetowych (na przykad Flasha) mona go z atwoci wpasowa
w istniejce ju procesy. Dlatego mona dalej korzysta ze swojego ulubionego edytora czy
rodowiska programistycznego, bez koniecznoci poznawania nowych narzdzi.

Istnieje te wiele darmowych zestaww narzdzi typu open source, czyli otwartych do
rozwoju, uatwiajcych tworzenie i rozwijanie aplikacji AJAX - przy okazji redukuj objto
kodu JavaScriptu, jaki trzeba normalnie wpisywa rcznie.

28
Internetowy system e-CRM do obsugi biura podry

2.6. Specyfika internetowych biur podry

Zgodnie z opublikowanym [15] w serwisie BiznesNet.pl raportem dotyczcym rynku


e-turystyki, czyli tej czci usug turystycznych, ktre s sprzedawane poprzez Internet, rynek
ten nieustannie ronie. Pojawia si na nim coraz wicej graczy, ktrzy wcale jeszcze nie s
pozbawieni szans. Najwiksze serwis, takie jak na przykad Wakacje.pl podwajaj przychody
w cigu kolejnych lat. Pojawiaj si nowi inwestorzy, a niektrym firmom, takim jak
Travelplanet.pl udaje si wej nawet na gied papierw wartociowych.
Raport ten pokazuje, e najczciej klientami internetowych biur podry s mczyni, ale z
roku na rok odsetek ten spada i w momencie publikacji tego raportu osign ju tylko
warto 55%. Mwi si, e korzystaj z nich najczciej wyksztaceni, zapracowani ludzie,
ktrzy nie maj czasu, aby wybra si do tradycyjnego biura. Wierz dodatkowo, e
informacje, ktrych tam zasign wcale nie bd duo szersze od tych, ktre sami sprawdz
za pomoc Internetu. Ostatnio, rwnie ze wzgldu na niedostpno, coraz wicej jest
klientw z maych miasteczek i wsi, ludzi ktrych sta na wczasy zagraniczne, ale ktrzy
rwnie nie maj dostpu, tutaj z przyczyn lokalizacyjnych, do tradycyjnych biur podry.
Socjologicznie udao si okreli, e klientami sieciowych biur podry s najczciej ludzie
w wieku midzy 27 a 35 lat, ktrzy wyjedaj na wycieczk z jedn osob towarzyszc, a
nawet sami. rednia warto jednego zamwienia zawiera si w granicach 4-5 ty zotych.
Osoby te korzystaj najczciej z ofert redniego i wyszego puapu cenowego to wycieczki
czarterowe (hotel + samolot). Jako najwikszy atut takiej formy sprzeday usug
turystycznych uytkownicy uznaj caodobowy dostp do bazy ofert, ich szerok gam i brak
ogranicze geograficznych zwizanych z dostpem do ofert. Pracownicy najbardziej
intensywnie rozwijajcych si internetowych biur podry uznaj, e osoby do 30-ego roku
ycia oraz studenci, to dla nich najbardziej perspektywiczna grupa i staraj si o jej wzgldy
ju teraz, aby kiedy osign waciwy status spoeczny miao korzystali z oferty konkretnego
biura. Autorzy raportu wspominaj rwnie, e w tradycyjnych biurach podry ciko
znale bardziej atrakcyjne i rnorodne oferty od standardowych wczasw. Dlatego ci,
ktrzy chc znale na przykad bardziej egzotyczne oferty musz skorzysta ju bardziej z
ofert zamieszczonych w Internecie, a takich, na szczcie, jest coraz wicej. Okazuje si, e
dostrzeega si nisz niestandardowych ofert turystycznych i ta cz rynku powoli przestaje

29
Internetowy system e-CRM do obsugi biura podry

ju ni by, a zaczyna by coraz mocniejsz gazi rynku, ktry w zwizku z coraz wiksz
iloci opcji ofert do wyboru staje si coraz bardziej rnorodny. To bardzo obiecujce
zjawisko.
Warto przeledzi, jak funkcjonuj teraz najlepsze serwisy, czyli travelplanet.pl,
wakacje.pl, traveliada.pl, tui.pl, eholiday.pl

Rysunek 7 gwna witryna travelplanet.pl

Rysunek 8 gwna witryna serwisu wakacje.pl

30
Internetowy system e-CRM do obsugi biura podry

Rysunek 9 gwna witryna serwisu traveliada.pl

Rysunek 10 witryna serwisu tui.pl, ktry daje moliwo wyszukiwania oferty zwizanej z hobby
potencjalnego klienta

31
Internetowy system e-CRM do obsugi biura podry

Rysunek 11 gwna witryna serwisu eholida.pl

Powysze obrazy gwnych witryn jednych z najbardziej dochodowych internetowych


biur podry w Polsce pokazuj, e kryteria selekcji ofert s tam dosy do siebie podobne
najczciej pytania o termin wyjazdu, jego kierunek i rodzaj rodku transportu, na serwisie
eholiday.pl jest to wanie cakiem zoptymalizowane, natomiast na serwisach Wakacje.pl oraz
Travelplanet.pl moliwe jest bardziej szczegowe wyszukiwanie, jeli tylko uytkownik ma
na to ochot. Trzeba przyzna, e zapytania adnego z biur nie maj na celu okrelenie profilu
wyszukujcego uytkownika, ktremu mona zaoferowa co bardziej spersonalizowanego w
miar moliwoci.
Oprcz rozpowszechnionego terminu last minute, ktry okrela oferty
atrakcyjniejsze cenowe ze wzgldu na to, e za niedugo koczy si termin ich wanoci,
powysze serwisy wprowadzaj krok po kroku oferty first minute, czyli na przykad
zaprezentowanie klientom jeszcze w zimie ofert na nadchodzce lato i cena tutaj jest duo
bardziej atrakcyjna dla tych, ktrzy tak wczenie, kilka miesicy wczeniej, zdecyduj si na
konkretne rozwizanie sprzedaowe.
Serwisy te s dosy oglne, powszechne, nastawione na masowego klienta. Mnogo
ofert na gwnej witrynie moe dezorientowa potencjalnego klienta serwis Traveliada.pl
jest tego najlepszym przykadem. Nawet jeli odpowiedni serwis ma w swojej ofercie bardziej

32
Internetowy system e-CRM do obsugi biura podry

niestandardowe, oryginalne oferty, ciko w takim natoku je klientowi znale. Jedynie


serwis Tui.pl daje moliwo odpowiedzenia nam na pytanie, jakie jest nasze hobby i prbuje
zaoferowa nam usugi do niego zblione. Szkoda, e nie ma tam moliwoci sprofilowania
tego serwisu, aby zarwno mniej wymagajcy klient, oraz taki, ktry ma ochot na bardziej
egzotyczny wypoczynek, mogli mie przekonanie, e ten serwis jest specjalnie dla nich
dedykowany.

33
Internetowy system e-CRM do obsugi biura podry

3. Stosowane metody i rozwizania

3.1. Architektura systemu:


Aplikacja zostaa napisana przy uyciu wzorca projektowego Ruby on Rails ,
zbudowanego w oparciu o 3-wartswow architektur Model-Widok-Kontroler (Model-View-
Controller, MVC). Wzorce projektowe MVC do operacji na bazach danych uywaj modeli i
mapowania relacyjno-obiektowego, w Rails jest to Active Record. Uycie modeli upraszcza
typowe operacje - wywietlanie ze stronicowaniem, edycj danych, a take uniezalenia od
konkretnego typu bazy danych.
Wspln cech wielu webowych wzorcw projektowych MVC w tym Rails jest
narzucanie pewnych praktyk programistycznych - samo uycie wzorca MVC jest tego
przejawem, zwykle te narzuca si pewn konwencj nazw pl w bazie danych, struktur
katalogw i plikw w projekcie, konwencj nazw klas, szablonw. Dziki temu mona
unikn mudnej konfiguracji kadego aspektu takiej aplikacji, a powstajce projekty s
spjne i atwiejsze do zrozumienia przez nowe osoby. Jest to realizacja idei przedkadajcej
konwencje nad konfiguracje (z ang. convention over configuration).
Praktycznie kada aplikacja WWW korzysta z baz danych operacje na bazach
stanowi modele danych. Operacje te (zwane rwnie reguami biznesowymi) umieszczone w
modelu sprawiaj, e moemy by pewni, e operacje na danych reprezentujcych w model
zostan przetworzone poprawnie. Szablony HTML (w przypadku Rails s to szablony
RHTML) odpowiedzialne za wygld i wywietlanie danych s czci widokw. Za
wykonanie odpowiednich operacji i komunikacj pomidzy modelem a widokiem
odpowiedzialne s kontrolery [18, 19, 20]. Operacje te i kierunek wymiany informacji
obrazuje czytelny rysunek na nastpnej stronie.

34
Internetowy system e-CRM do obsugi biura podry

1. http://url/trips/show/2
2. Rutowanie odnajduje
kontroler Trips
3. Kontroler wchodzi w
interakcje z modelem
4. Kontroler wywouje widok
5. Widok generuje kolejn
stron i do niej przechodzi.

Rysunek 12 Sposb i kierunek wymiany operacji w modelu MVC w Rails

3.2. Zastosowane technologie i metody


Podstawowe technologie, ktre zastosowano przy realizacji naszej aplikacji to system
bazodanowy MySQL oraz wzorzec projektowy Ruby on Rails. Oprcz wymienionych
uyto takie technologie jak wzorzec projektowy Aculo oparty o bibliotek JavaScript
Prototype, Ajax.
Jako e jednym z celw pracy byo zapoznanie si i zbadanie moliwoci wzorca
projektowego Ruby on Rails. W tej czci przedstawimy krtko funkcje i moduy, jakie
wykorzystano w trakcie realizacji aplikacji. Przedstawione zostan rwnie fragmenty kodu
pokazujce zalety wybranego przez autorw rozwizania.

3.2.1. Mysql
MySQL jest systemem zarzdzania baz danych MySQL, jest relacyjnym systemem
zarzdzania baz danych. Relacyjna baza danych przechowuje dane w oddzielnych tabelach
zamiast wrzucenia wszystkiego do jednego zbioru danych. Takie podejcie owocuje
szybkoci i elastycznoci. Tabele s poczone ze sob poprzez zdefiniowane zwizki
midzy nimi, co umoliwia czenie na danie danych z kilku tabel. Cz SQL w nazwie
MySQL oznacza "Structured Query Language" - najbardziej powszechny i ustandaryzowany
jzyk dostpu do baz danych. Dostpne rda oznaczaj, e kady moe ich uy i je

35
Internetowy system e-CRM do obsugi biura podry

modyfikowa. Kady moe cign MySQL poprzez Internet i korzysta z niego bez
adnych opat. MySQL dostpny jest na licencji GPL, ktra okrela, co mona, a czego nie
mona zrobi z oprogramowaniem w rnych sytuacjach. MySQL jest bardzo szybki,
niezawodny i atwy w uyciu. MySQL oryginalnie by rozwijany znacznie szybszej ni
istniejce rozwizania do obsugi bardzo duych baz danych i przez ostatnie lata zosta
pomylnie wdroony w wielu bardzo wymagajcych projektach. Mimo e w cigym
rozwoju, MySQL oferuje dzi bogaty i uyteczny zestaw funkcji. Spjno, szybko i
bezpieczestwo sprawiaj, e MySQL jest doskonaym narzdziem stosowanym przy
dostpie do baz danych przez Internet [21,22].

3.2.2. Ruby on Rails:

Podstawowe moduy stanowice trzon rozwizania, jakim jest Ruby on Rails to : Active
Record, Action Pack, Scaffolds , Test oraz Action Mailer.

Active Record
Active Record kontroluje interakcje midzy nasz aplikacj a baz danych. Dziki
prostocie rozwizania Active Record, prawie cakowicie zostaa wyeliminowana potrzeba
dodatkowych konfiguracji. W schemacie Active Record uytkownicy wykonuj operacje na
tabelach bazy danych za pomoc obiektw rekordw. Kady rekord reprezentuje wiersz w
tabeli bazy danych, a przy tym kady obiekt Active Record posiada zestaw czterech metod
zwanych w skrcie CRUD (ang. Create , Read, Update, Delete), umoliwiajcych dostp do
bazy danych. Rozwizanie to pozwala na uproszczenie projektu i umoliwia proste
mapowanie midzy tabelami a obiektami aplikacji.
W wielu wzorcach projektowych stosuje si obecnie technologi mapowania
relacyjno-obiektowego (ang. object-relational mapping, ORM)[23]. W przypadku jzyka Java
wie si to ze stworzeniem odpowiedniego mapowania w kodzie lub odpowiednia
konfiguracj XML. Wad tego rozwizania jest konieczno wielokrotnego programowania
tych samych rzeczy, poniewa trzeba zdefiniowa kad z kolumn w modelu obiektw, a
nastpnie w plikach konfiguracyjnych. W Rails natomiast, zamiast mapowania stosuje
strategi obudowywania. Programista Rails rozpoczyna programowanie od utworzenia
relacyjnej bazy danych i obudowuje kad tabel odpowiedni klas Active Record. Kada
instancja klasy reprezentuje jeden wiersz w bazie danych. Szkielet Active Record bdzie

36
Internetowy system e-CRM do obsugi biura podry

nastpnie automatycznie odnajdywa odpowiednie kolumny w bazie danych i dynamicznie


dodawa je do klasy Active Record. [24]
Rewolucyjne cechy, idee, ktre odrniaj Rails od innych mechanizmw
programistycznych [25].
o Bazowanie na konwencjach nazewniczych zamiast konfiguracji
Niezbdn wiedz o schemacie bazy danych Active Record dysponuje dziki
przestrzeganiu przez programist pewnych prostych i intuicyjnych konwencji
nazewniczych.
o Metaprogramowanie
Wykrywa funkcje naszego schematu bazy danych i automatycznie dodaje je do
naszego modelu obiektw.
o Specjalny jzyk dla mapowania
Suy do okrelania relacji midzy tabelami.

Przykady powyszych cech zostan przedstawione w dalszej czci pracy.


Przykad kodowania modelu. Prosz zwrci uwag na relacje pomidzy prezentowanymi
obiektami:
User.rb
Class User < ActiveRecord::Base
#relacja
has_many :orders
#1. Specjalny jzyk do okrelania relacji midzy tabelami. Prosz zwrci
uwag na liczb mnog. Jest to przykad stosowania konwencji nazewniczych.

# standardowa walidacja
validates_presence_of :login, :email
validates_presence_of :password,:if => :password_required?

before_save :encrypt_password
end

Order.rb
class Order < ActiveRecord::Base
belongs_to :user #prosz zwrci uwag na liczb pojedyncz

# Oprcz standardowej walidacji pokazanej na przykadzie powyej istnieje


moliwo dodawania wasnej w ramach modelu
protected
def validate
errors.add(:total_tickets,"Dodatnia ma byc") unless total_tickets > 0
end

end

37
Internetowy system e-CRM do obsugi biura podry

Metoda has_many to metoda klasy Base, a :orders to symbol jzyka Ruby. Na


przykadzie wida, e w bardzo prosty sposb, dziki konsekwentnemu stosowania si do
konwencji nazewniczych mona okreli relacje pomidzy modelami. Jest to przykad relacji
1 do wielu. Jzyk sucy do obsugi mapowowania obiektw na relacje jest jzykiem klasy
DSL (domain-specific language), czyli jzykiem przeznaczonym do specyficznych
zastosowa [26].
W ramach modelu moemy rwnie zawrze wasne metody walidacji, ktre w
przypadku bycia nie spenionymi generuj odpowiedni komunikat tak jak to pokazuje
poniszy zrzut ekranu :

Rysunek 13 Przykad dziaania mechanizmu walidacji

Przy okazji komponentu naley te wspomnie o podklasie Active Record, a mianowicie


Migration [27]. Migracje pozwalaj w wygodny sposb zarzdza struktur bazy danych. Do
ich uycia nie jest konieczna znajomo SQL. Zalety, ktre ze sob nios to:

moliwo uruchomienia tej samej migracji dla rnych typw baz danych (MySQL,
SQLite, PostgreSQL i inne). Migracje pozwalaj w atwy sposb utworzy/przywrci
struktur bazy
obsugiwanie wersji, dziki czemu mona w atwy sposb porusza si miedzy
kolejnymi wersjami struktury bazy danych
ich przygotowywanie jest znacznie wygodniejsze od rcznego tworzenia za pomoc
SQL

38
Internetowy system e-CRM do obsugi biura podry

Przykad migracji:

class CreateOrders < ActiveRecord::Migration


def self.up
create_table :orders do |t|
t.column "price", :integer
t.column "data", :datetime
end
end

def self.down
drop_table :orders
end

end

Kada migracja skada si z dwch czci. Pierwsza z nich opisuje operacje, jakie
maj zosta wykonane w celu stworzenia wyszej wersji struktury bazy danych. Druga cz
opisuje operacje, ktre powinny zosta wykonane podczas przywracania poprzedniej wersji
struktury.

Action Pack: Widok i Kontroler [29]


Widoki i kontrolery w aplikacjach Rails cile ze sob wsppracuj. Kontrolery
wysyaj dane do widokw, a widoki dostarczajc interfejs uytkownikowi, dostarczaj
rwnie informacje o zdarzeniach do kontrolerw. Z racji tej interakcji, biblioteki dla
kontrolerw i widokw zawarte s w tym jednym komponencie Action Pack

o Widok
W Rails, widok odpowiedzialny jest za tworzenie czciowych oraz caociowych
widokw. Widoki generowane s za pomoc akcji kontrolera. Najczciej celem jest
wygenerowanie owej zawartoci dynamicznie. Dynamiczna zawarto generowana moe by
na 3 sposoby. Najpopularniejszym jest generowanie rhtml , s to fragmenty jzyka Ruby,
wczane pomidzy elementy jzyka HTML za pomoc narzdzia Erb (z ang. Embedded
Ruby). Kolejnym sposobem jest generowanie dokumentw XML zwany rxml. Ostatnim
sposobem jest generowanie widokw rjs. Daj one moliwo tworzenia caych blokw kodu
JavaScript na podstawie pojedynczych komend. Jest to szczeglnie wykorzystywane przy
tworzeniu dynamicznych interfejsw Ajax-owych.
Przykady dynamicznego generowania widokw:
o generowanie hiperczy, w poczeniu z JavaScript

39
Internetowy system e-CRM do obsugi biura podry

Kod w RHTML:
<%= link_to 'Usun', { :action => 'destroy', :id => trip }, :confirm => 'Are
you sure?', :method => :post %>

Wynikowy kod w HTML :


<a href="/trips/destroy/3" onclick="if (confirm('Are you sure?')) { var f =
document.createElement('form'); f.style.display = 'none';
this.parentNode.appendChild(f); f.method = 'POST'; f.action =
this.href;f.submit(); };return false;">
Usun
</a>

Przykad ten pokazuje jak w przejrzysty i intuicyjny sposb moemy generowa


dynamicznie fragmenty kodu, nie naraajc go na bdy skadniowe oraz bez wikszej
potrzeby znajomoci skadni takich blokw. Interesuje nas tylko wynik jego dziaania.
Kolejne dwa przykady pokazuj przypadki, w ktrych nie tylko oszczdzamy
znacznie na iloci implementowanego kodu, ale take w atwy sposb umoliwia nam
implementowanie nowoczesnych funkcjonalnoci w aplikacji. W przypadku generowania
formularzy, dziki stosowaniu konwencji nazewniczych otrzymujemy wiksz wydajno i
niezawodno. Kod jest wyranie ustrukturyzowany i wygenerowany zgodnie z reguami
W3C [28]. Poza tym jak pokazuj przykady kod zyskuje na przejrzystoci i jest bardziej
przystpny dla osb pniej wdraanych do projektu. Stanowi to bardzo wan zalet z
punktu widzenia firm rozwijajcych due projekty.

o generowanie odwoania Ajax-owego


Kod w RHTML:
<%=link_to_remote( "Pokazy terminy",
:update => "periods_list",
:url => { :controller => 'periods', :action => "periods_lookup",
:trip_id => @trip.id },
:before => %(Element.show('spinner')),
:success => %(Element.hide('spinner'))
) %>
<p id="periods_list"></p>

Wynikowy kod w HTML :


<a href="#" onclick="Element.show('spinner'); new
Ajax.Updater('periods_list', '/periods/periods_lookup?trip_id=4',
{asynchronous:true, evalScripts:true,
onSuccess:function(request){Element.hide('spinner')}}); return false;">
Pokazy terminy
</a>

40
Internetowy system e-CRM do obsugi biura podry

o generowanie formularzy
Kod w RHTML:
<% form_tag :action => 'create' do %>
<%= error_messages_for 'trip' %>
<p><label for="trip_country">Country</label><br/>
<%= text_field 'trip', 'country' %></p>

<p><label for="tags">Tagi</label><br/>
<ul>
<% @all_tags.each do |c| %>
<li>
<%=
check_box_tag("tags[]",c.name,@trip.tag_list.names.include?(c.name)) %>
<%= c.name%>
</li>
<% end %>
</ul>
</p>
<%= submit_tag "Create" %>
<% end %>

Wynikowy kod w HTML :


<form action="/trips/create" method="post">
<!--[form:trip]-->
<p>
<label for="trip_country">
Country
</label>
<br>
<input id="trip_country" name="trip[country]" size="30" type="text">
</p>
<p>
<p>
<label for="tags">
Tagi
</label>
<br>
</p>
<ul>
<li>
<input id="tags[]" name="tags[]" value="1" type="checkbox">
1
</li>
<li>
<input id="tags[]" name="tags[]" value="1" type="checkbox">
1
</li>
<li>
<input id="tags[]" name="tags[]" value="dla dzieci" type="checkbox">
dla dzieci
</li>
<li>
<input id="tags[]" name="tags[]" value="dla emerytw" type="checkbox">
dla emerytw
</li>
<li>
<input id="tags[]" name="tags[]" value="wyprawy" type="checkbox">
wyprawy
</li>

41
Internetowy system e-CRM do obsugi biura podry

</ul>
<!--[eoform:trip]-->
<input name="commit" value="Create" type="submit">
</form>

Kontroler
Jest logicznym centrum aplikacji. Koordynuje interakcje pomidzy uytkownikiem,
widokami i modelem. Koordynowanie to odbywa si automatycznie, przez co programista
moe skoncentrowa si tylko na pisaniu kodu implementujcego podan funkcjonalno.
Czyni to te kod czytelnym. Kontroler jest rwnie odpowiedzialny za trasowanie (z ang.
routing) przychodzcych zapyta do odpowiednich akcji. Generuje przyjazne dla
uytkownika linki URL, zarzdza pamici podrczn oraz dostarcza wiele innych
funkcjonalnoci.

Scaffolds (szkielety , ang. singletons)


W pocztkowej fazie tworzenia aplikacji stosunkowo duo pracy pochania tworzenie
typowych interfejsw aplikacji, ktrych zadaniem jest wykonywanie typowych funkcji, takich
jak dodawanie elementw do bazy na podstawie formularzy, wywietlanie informacji o
elemencie, sporzdzanie listy elementw i zarzdzanie nimi. Scaffolds suy do tego, aby
czynnoci te wykona szybko. Generuje on automatycznie kod sucy do manipulacji
modelem. W tym celu model skanuje skojarzon z nim tabel, byuzyskaniu informacji o jej
kolumnach. Z kolei na podstawie typw danych przypisanych do kolumn Scaffolds
generuje formularze HTML. Oprcz formularzy generowane s rwnie odpowiednie metody
w kontrolerach oraz widoki.
W kolejnych fazach implementacji zazwyczaj zachodzi potrzeba modyfikacji
wygenerowanego automatycznie kodu w celu dostosowania go do potrzeb aplikacji. Scaffold
jest bardzo uytecznym narzdziem w pocztkowej fazie tworzenia. Widoki i podstawowa
funkcjonalno, ktr wida na kolejnej stronie zostaa wygenerowana automatycznie.

42
Internetowy system e-CRM do obsugi biura podry

Rysunek 14 Wygenerowany automatycznie formularz

Rysunek 15 Wygenerowana lista, oraz dostpne funkcjonalnoci

Na powyszych ilustracjach wida jak modu scaffolds generuje podstawow


funkcjonalno po przeskanowaniu tabeli w bazie danych powizanej z tym obiektem.

Action Mailer
Jest to komponent Rails sucy do obsugi wszelkich funkcji zwizanych z
generowanie, tworzeniem, wysyaniem i odbieraniem maili.

43
Internetowy system e-CRM do obsugi biura podry

3.2.3. Uyte wtyczki

Wtyczki (z ang. Plugin) uywane w Rails tworzone s przez otwart spoeczno (z


ang. open community). S one oglnodostpne, wic kady moe na wasn rk
cign, uy, a nawet modyfikowa funkcjonalno takiej wtyczki. Dziki temu, e w
prace nad nimi zaangaowana jest spoeczno programistw, wtyczki te s cigle
rozwijane i adaptowane do zmieniajcych si czynnikw takich jak np. zmiany w rdzeniu
Rails.
Stosowanie ich ma na celu zwikszenie wydajnoci pracy programistw w myl
zasady o nie wymylaniu koa na nowo. W tej pracy dziki zastosowaniu wielu wtyczek
udao si stworzy cakiem rozbudowan aplikacj, jednoczenie nie implementujc
samodzielnie zbyt wiele funkcjonalnoci. Ta praca opieraa si w wikszoci na
odpowiednim dobraniu i wykorzystaniu istniejcych ju komponentw. Zatem w
dzisiejszych czasach warto zapozna si z dostpnymi wtyczkami celem nie tylko
zaoszczdzenia znacznej iloci czasu, ale rwnie podniesienia stopnia niezawodnoci
caoci naszej funkcjonalnoci.

o Acts As Taggable On Steroids

Wtyczka ta umoliwia w atwy i szybki sposb dodanie funkcjonalnoci kategoryzowania


treci do dowolnych obiektw Active Record tej bazy danych. Pozwala ona na dodawanie
znacznikw do obiektw i na ich podstawie ich wyszukiwania.

o Acts_as_rated

atwy w uyciu i wygodny system do oceniania dla modeli Active Record. Jego
najwaniejsze zalety uywane w naszej aplikacji to:

o Ocena modeli (wycieczek, cech uytkownika)


o Dodawanie statystyk do ocenianych modeli
o Pozwala uywa dowolnego modelu jako model oceniajcy (uytkownik
administrator)
o Ograniczony zasig ocen
o Wyszukiwanie obiektw na podstawie ocen
o Wyszukiwanie ocen obiektw

44
Internetowy system e-CRM do obsugi biura podry

o Acts As Authenticated
Bardzo rozbudowana i popularna wtyczka, umoliwiajca autentykacj uytkownikw.
Opcje uyte na potrzeby tej aplikacji :

o Autentyzacja uytkownika
o Edycja profilu (po dodaniu odpowiedniej aty)
o Opcja Zapamitaj mnie, pozwala pomin konieczno logowania si przy
kadej wizycie na stronie
o Dwustronnie kodowane hasa
o Moliwo zmiany hasa
o Opcja pozwalajca okrela konieczno bycia zalogowanym na konkretnej
podstronie
o Przekierowania do strony z logowaniem w przypadku bycia nie zalogowanym

o Sitealizer

Wtyczka dostarcza administratorowi systemu moliwo analizy statystyk szczegowych


takich jak np. stopie korzystania z danej funkcjonalnoci.
Dodatkowo posiada funkcjonalno umoliwiajca ledzenie, na jakiej witrynie
uytkownik znalaz link do naszej strony, monitorowanie wyszukiwanych hase, obecnoci
robotw i inne. Twrcy wtyczki informuj, e jej zalet jest rwnie nie wpywanie na
wydajno serwisu.

o Flickr

Wtyczka, ktra w atwy sposb udostpnia interfejs do serwisu Flickr.com.

3.2.4. Wzorzec projektowy Prototype.js

W tej aplikacji autorzy chc pokaza przystpno korzystania z biblioteki Prototype,


dziki interfejsowi programistycznemu Aculo, integrujc Prototype z Rails. Framework
Prototype pozwala w atwy sposb rozwija dynamiczne aplikacje internetowe,
dostarczajc m.in. nowoczenie wygldajcych interfejsw graficznych. Dobrze integruje si

45
Internetowy system e-CRM do obsugi biura podry

ona z aplikacjami implementowanymi obiektowo. Dziki tym cechom i poczeniu z


bibliotek Ajax, Prototype staje si standardem przy tworzeniu aplikacji internetowych.

Przykad uycia biblioteki Prototype za pomoc API Aculo w Rails:


page[:details].visual_effect :toggle_blind,
gdzie details jestem blokiem div, visual_effect metod Prototype, a toggle_blind argumentem.
Wicej przykadw i informacji na temat technologii, o ktrych si tu wspomina
mona znale w [30, 31, 32].

46
Internetowy system e-CRM do obsugi biura podry

3.3. Podstawowe funkcjonalnoci naszej aplikacji


W tym podrozdziale zaprezentowano, w jaki sposb stosujc powysze technologie
implementuje si funkcjonalnoci tej aplikacji. Na pocztku rozdziau graficznie, za pomoc
wybranych diagramw UML [33] zaprezentowano ramow funkcjonalno naszego systemu.

3.3.1. Diagram przypadkw uycia

W celu wstpnego zaprezentowania funkcjonalnoci naszej aplikacji posuono si


diagramem uycia przypadkw przedstawionym na rysunku poniej.

Rysunek 16 Diagram przypadkw uycia

47
Internetowy system e-CRM do obsugi biura podry

3.3.2. Diagram klas


W celu przedstawienie ramowej struktury systemu, poniej przedstawiono diagram
klas tego systemu.

Naley do Grupa
-motyw graficzny
0..*
Uzytkownik
Administrator
-login
-superuzytkownik : bool skada
-email
1
posiada 1
Daty
0..* -data poczatkowa
-data koncowa
-ilosc miejsc
-ilosc zajetych

0..*
0..*

* Wycieczki 0..* 1 Zamowienia


Cechy profilu *
-lokalizacja -ilosc
-nazwa cechy -opis

*
wartosciuje Cechy wycieczek
-id wycieczki
-id cechy
*

Oceny
-typ ocenianego obiektu
-wartosc
-cecha
-obiekt

Rysunek 17 Diagram klas

3.3.3. Przegld funkcji systemu.


W skad funkcjonalnoci uytkownika wchodzi:

o Tworzenie kont uytkownikw

Wyrnia si dwa typy kont uytkownikw. W pierwszym przypadku uytkownik


rejestruje si podczas pierwszej wizyty na tej stronie, w drugim natomiast jest on
zapamitywany przez system jako unikalny, anonimowy uytkownik.
W celu realizacji funkcjonalnoci opisanej w drugim przypadku, wykorzystuje si
mechanizm ciasteczek (z ang. Cookies).
Opcja Zapamitaj mnie zostaa rwnie zaimplementowana z wykorzystaniem
mechanizmu ciasteczek. Wykorzystana w tym celu zostaa funkcjonalno wtyczki Acts
As Authorized.

48
Internetowy system e-CRM do obsugi biura podry

o Ograniczanie wynikw wyszukiwa

Funkcja dynamicznie ograniczajca rezultat kryterialnego wyszukiwania. Wyniki


dziaania funkcji aktualizuj cz widoku za pomoc odwoania Ajax-owego.

o Generowanie oferty dla uytkownika

Jedna z kluczowych funkcji naszej aplikacji. Pozwala ona wygenerowa oferty na


podstawie cech uytkownika. Zaimplementowano dwa sposoby doradzania klientowi:
o Przez biuro
Algorytm wyszukiwania przedstawiony zosta poniej.
1. Z bazy danych pobierana jest tablica z przypisanymi do kadej
wycieczki wartociami poszczeglnych cech profilu.
2. Pobierane s dane o profilu cech uytkownika.
3. Porwnywane s wartoci cech poszczeglnych wycieczek z
cechami uytkownika.
4. Do tablicy wynikw zapisywane s informacje o iloci wsplnych
cech z cechami uytkownika. Odrzucane s wycieczki, nie majce
cech wsplnych.
5. Tablica wynikw jest kompaktowana i sortowana w kolejnoci od
najwikszej liczby cech wsplnych do najmniejszej.

o Na podstawie opinii i preferencji spoecznoci (przez grup)


Sposb bardziej obiektywny i ciekawszy, wymagajcy jednak zaistnienia
spoecznoci wok naszego biura. Klientowi oferty doradzane s w podobny sposb,
jednak w tym wypadku wartociowania ofert dokonuj grupy uytkownikw o
podobnych preferencjach. Wpyw innych uytkownikw na ostateczny ksztat oferty
jest tym wikszy, im wiksza jest ich ilo cech wsplnych z naszym aktualnie
obsugiwanym klientem. Algorytm wyboru wycieczek skada si z nastpujcych
krokw:
1. Wyznaczenie listy uytkownikw o podobnych preferencjach. Lista
owych uytkownikw posortowana jest w kolejnoci od najbardziej
podobnych do najmniej podobnych. Nie brani s pod uwag
uytkownicy nie majcy cech wsplnych.

49
Internetowy system e-CRM do obsugi biura podry

2. W zalenoci od stopnia podobiestwa na podstawie preferencji


uytkownikw przypisywane s konkretne wartoci kadej z
dostpnych wycieczek. Uytkownicy o podobnych preferencjach, a
dokadniej ich oceny, za pomoc odpowiednio dobranych
wspczynnikw maj najwikszy wpyw na ilo przypisywanych
punktw dla danej wycieczki. Punkty mog by ujemne w
przypadku negatywnej oceny wycieczki. Poniej zaprezentowany
jest fragment kodu implementujcy opisan funkcjonalno.
Fragment ten dobrze przedstawia zarwno moliwoci jzyka Ruby
jak i zalety koncepcji Active Record.

# petla iterujaca po tabeli podobnych uzytkownikow


@arrResListSimilar.each_index do |u|
# sprawdzenie czy podobni uytkownicy istnieja
if !@arrResListSimilar[u].nil?
# wygenerowanie listy ocenianych przez uzytkownika wycieczek
rat = Rating.find(:all,:conditions => ["rater_id=? and rated_type='Trip'"
,u.to_s])
# iteracji po tabeli ocen
rat.each do |r|
flaga = true
# dodanie liczbowej reprezentacji opini podobnego uzytkownika
@trip_list[r.rated_id] += ((r.rating-2.5)*@arrResListSimilar[u])
# (aktualna ocena - 2.5) * wzmocnienie podobienstwem usera
# maksymalna ocena wynosi 5
end
end
end

3. Kolejny krokiem jest dokonanie operacji porzdkujcych wyniki.


Kompaktowanie, sortowanie, odwrcenie tabeli.

W nastpnym rozdziale zaprezentowany zostanie scenariusz dziaania tego algorytmu.

o Zbieranie informacji o uytkowniku poprzez tworzenie jego profilu cech i


preferencji.
Jest to kluczowa cz CRM-owej czci tej aplikacji. Za pomoc kilku bardzo
starannie dobranych pyta staramy si jak najdokadniej okreli profil i preferencje
uytkownika. Do zaimplementowania uyta zostaa funkcjonalno wtyczki Acts As Rated
w poczeniu z asynchronicznym uaktualnianiem treci strony (Ajax).

50
Internetowy system e-CRM do obsugi biura podry

o Wysyanie mailingw
W tym celu zostaa uyta funkcjonalno wchodzca w skad moduu Action
Mailer.

o Kreowanie spoecznoci wok firmy


Zaimplementowane funkcjonalnoci wchodzce w skad tej czci aplikacji to:
o moliwo oceny ofert wycieczek
Opcja ta implementuje system rekomendowania ofert pomidzy uytkownikami
podobnych grup, a take dostarcza informacji na temat oglnej oceny konkretnej oferty przez
spoeczno. Mechanizm, jakim si posuono podczas dokonywania oceny to poczenie
funkcjonalnoci wtyczki Acts As Rated oraz technologii Ajax i CSS.
o udostpnianie galerii fotografii z wycieczek
Funkcja zaimplementowana dziki integracji z serwisem Flickr.com. Serwis Flickr
udostpnia programistom swj API (z ang. Application Programming Interface) przez co
wykorzystujc zewntrzne zasoby infrastruktury informatycznej mona dostarczy
uytkownikom systemu wysokiej jakoci wydajno, nie ponoszc samemu przy tej okazji
dodatkowych kosztw. Jedyne co musi zrobi uytkownik, to w czasie procesu rejestracji
poda swj identyfikator, a pniej dodajc zdjcia albumy dodatkowo opatrywa
odpowiednim znacznikiem, unikalnym z punktu widzenia serwisu. Realizacja funkcjonalnoci
zwizanej z integracj z portalem Flickr jest wyjtkowo przejrzysta i sprowadza si do kilku
linijek kodu:
# nalezy zalaczyc odpowiednia biblioteke
require 'flickraw'

class AlbumController < ApplicationController


def search
# wyszukiwany jest uzytkownik o podanym loginie
fuser = flickr.people.findByUsername :username => params[:flick_login]
# pobierane s fotografie oznaczone odpowiednim tagiem.
# Aplikacja podaje uzytkownikowi nazwe taga jakim powinien dodac do
swojego albumu
list = flickr.photos.search :user_id => fuser.id , :tags =>
"wspinaczka"

id = list[0].id
secret = list[0].secret
info = flickr.photos.getInfo :photo_id => id, :secret => secret
# generowany jest odpowiedni widok
render :partial => "photo", :collection => list
end
end

51
Internetowy system e-CRM do obsugi biura podry

o motywy uytkownika grupy


Funkcjonalno pozwalajca na skojarzenie motywu graficznego z profilem
uytkownika. Wykonana wg gotowej koncepcji [34]

o skategoryzowana oferta
W celu wygenerowania listy najbardziej popularnych kategorii uywa si funkcji
wchodzcej w skad wtyczki Acts As Taggable generujcej tzw. chmur tag-w.

o szczegowe statystyki
W tym celu integruje si z t aplikacj modu Sitealizer.

3.3.4. Opis bazy danych


Centralnym punktem aplikacji jest baza danych zbierajca oraz udostpniajca
wszelkie informacje potrzebne do dziaania aplikacji. Baza danych zbudowana jest o
relacyjny model danych. Opis struktury logicznej przedstawiony zosta poniej.

Baza danych zostaa zaprojektowana dla systemu MySQL. Jest to obecnie


najpopularniejszy oraz oglnodostpny system do zarzdzania relacyjnymi bazami
danych. Poniej zamieszczona jest lista uytych tabel :

Tabela groups posiada nastpujce kolumny :


group_uid jest to zakodowany cig cyfr odpowiadajcy cechom
uytkownikw. Dziki takiemu zakodowaniu uytkownik jest jednoznacznie
kojarzony z grup.
style_name skojarzony z grup motyw graficzny opisany za pomoc CSS

Tabela orders posiada nastpujce kolumny :


trans_date data zakupu
user_id identyfikator kupujcego
total_tickets ilo zakupionych biletw
period_id identyfikator terminu zakupionej wycieczki

52
Internetowy system e-CRM do obsugi biura podry

Tabela periods posiada nastpujce kolumny :


begin_date termin pocztkowy wycieczki
end_date termin kocowy wycieczki
trip_id identyfikator wycieczki
sold_tickets ilo dotychczas sprzedanych biletw
all_tickets_amount ilo biletw przypisanych do konkretnej wycieczki

Tabela profile_features posiada nastpujce kolumny :


feature_name nazwa cechy profilu
question pytanie zadawane przy okazji danej cechy profilu
options_to_choose lista opcji do wyboru, oddzielanych rednikami
rating_count, rating_total, rating_avg dane wykorzystywane w celach
statystycznych

Tabela ratings posiada nastpujce kolumny :


rater_id identyfikator obiektu dokonujcego oceny
rated_id identyfikator obiektu ocenianego (np. uytkownika)
rated_type nazwa klasy obiektu ocenianego
rating ocena

Tabela schema_info posiada nastpujce kolumny :


version warto reprezentujca aktualn wersj struktury bazy danych.
Wykorzystywana na potrzeby migracji.

Tabela sitealizer posiada nastpujce kolumny :


path cieka aplikacji wywoanej przez zdalnego hosta
ip IP wywoujcego hosta

Tabela taggings posiada nastpujce kolumny :


tag_id identyfikator znacznika
taggable_type nazwa tag-owanego obiektu
taggable_id identyfikator obiektu klasy taggable_type

53
Internetowy system e-CRM do obsugi biura podry

Tabela tags posiada nastpujce kolumny :


name nazwa tag-a

Tabela trips posiada nastpujce kolumny :


country, klasa region ,long_info podstawowe informacje o wycieczce
rating_count, rating_total, rating_avg dane dla moduu oceniajcego
visits dane dla moduu statystycznego

Tabela trip_ratings (tabela porednia) posiada nastpujce kolumny :


trip_number numer ocenianej wycieczki
question_number - numer cechy, ktrej warto jest przypisywana do wycieczki

Tabela users posiada nastpujce kolumny :


login login
email adres email
group_id identyfikator grupy, do ktrej naley klient
flick_login identyfikator w portalu Flickr.com
su informacja o tym, czy uytkownik jest klientem, czy administratorem

54
Internetowy system e-CRM do obsugi biura podry

4. Rezultaty pracy.

4.1. Dyskusja o otrzymanym rezultacie CRM


Kolejno prezentacji aplikacji zostaa tak opracowana, aby uytkownik mg czytajc
t cz pracy swobodnie si odnale w odpowiednim miejscu podczas obsugi w
przegldarce.

W skad funkcjonalnoci oferowanej klientowi biura podry wchodzi:

4.1.1. Dodawanie kont uytkownikw


Funkcja ta zostaa zaimplementowana w taki sposb, aby nie ogranicza moliwoci
uytkownikw nie zalogowanych. Tworzony jest profil tymczasowy i do niego przypisywane
s zbierane informacje. Uytkownik moe korzysta z niepenej funkcjonalnoci systemu a w
pniejszym czasie, gdy dostrzee pozostae zalety posiadania konta w naszym serwisie,
bdzie mg si zarejestrowa. Pocztkowo, jak to ilustruje poniszy zrzut ekranu z tej
prototypowej aplikacji, uytkownikowi przypisany zostaje losowy login.

Rysunek 18 Strona gwna, kadorazowo tworzony jest tymczasowy uytkownik, przez co od samego
pocztku dostpna jest dla uytkownika prawie pena funkcjonalno.

55
Internetowy system e-CRM do obsugi biura podry

Oprcz standardowych pl uytkownik ma moliwo podania loginu do serwisu


flickr.com , co umoliwi pniejsze udostpnienie fotografii z wycieczek uytkownikom
zainteresowanym tymi samymi miejscami. Okno rejestracji przedstawia rysunek poniej.

Rysunek 19 Okno rejestracji

Funkcjonalno przewiduje zapamitywanie danych potrzebnych do autoryzacji,


dziki czemu uytkownik nie jest zmuszony do kadorazowego logowania si do systemu
(opcja Zapamitaj mnie).

Rysunek 20 Okno logowania do systemu (opcja 'Zapamitaj mnie')

4.1.2. Skategoryzowana oferta

Funkcjonalno ta pozwala na generowanie list wycieczek najbardziej popularnych


kategorii. W przypadku, gdy znacznik zosta przypisany do wielu wycieczek, staj si on

56
Internetowy system e-CRM do obsugi biura podry

znacznikiem popularnym, a wycieczki, do ktrych zosta przypisany, pojawiaj si w


momencie kliknicia w hipercze.
Opisywana funkcjonalno dostpna jest na stronie gwnej aplikacji oraz w
momencie przegldania informacji dotyczcych konkretnej wycieczki. W drugim przypadku
jest to krtka lista wycieczek podobnych do aktualnie przegldanej pod ktem przypisanych
do nich znacznikw.
Znaczniki mog by przydzielane do poszczeglnych wycieczek zarwno przez
administratora jak i zwykego uytkownika.

Rysunek 21 Lista najpopularniejszych znacznikw i przypisanych do nich wycieczek.


Znacznik 1 i 3 zosta rozwinity w list wycieczek, do ktrych zosta przypisany.

Rysunek 22 Podobne wycieczki na podstawie przypisanych znacznikw

57
Internetowy system e-CRM do obsugi biura podry

4.1.3. Ograniczanie wynikw wyszukiwania


Funkcja dynamicznie ograniczajca rezultat wyszukiwania kryterialnego. Wyniki te na
podstawie odpowiedzi na kolejno zadawane pytania zostaj zawone do najbardziej
pasujcych do profilu uytkownika.
Uytkownik po otrzymaniu penej listy rezultatw, zostaje zachcony do skorzystania
z opcji ograniczania na podstawie odpowiedzi na kilka pyta. Kolejne zrzuty ekranu obrazuj
jak wynikowa lista ulega skrceniu. Jednoczenie generowany jest profil cech uytkownika.
Ponisze ilustracje obrazuj poszczeglne kroki podczas realizacji funkcji ograniczania.

Rysunek 23 Pena lista wynikw

58
Internetowy system e-CRM do obsugi biura podry

Rysunek 24 Uruchomienie ankiety majcej na celu skrcenie rezultatw oraz stworzenie profilu
uytkownika.

Rysunek 25 Wynikowa oferta po ograniczeniu jej cechami.

4.1.4. Zbieranie informacji o uytkowniku poprzez tworzenie jego


profilu cech i preferencji
Jest to kluczowa cz CRM-owej czci tej aplikacji. Za pomoc kilku starannie
dobranych pyta naley jak najdokadniej okreli profil i preferencje uytkownika. Owe

59
Internetowy system e-CRM do obsugi biura podry

cechy mona skojarzy z ofert oraz skierowa przekaz w sposb charakterystyczny dla
grupy, jak reprezentuje klient (np. motyw graficzny przypisany do grupy). Od tego momentu
klient moe odnosi wraenie, e traktowany jest w sposb unikalny.
Ponisze zrzuty ekranu prezentuj pytania (ich tre) oraz sposb zadawania.

Rysunek 26 Pytanie 1

Rysunek 27 Pytanie 2

Rysunek 28 Pytanie 3

Rysunek 29 Pytanie 4

60
Internetowy system e-CRM do obsugi biura podry

4.1.5. Generowanie oferty dla uytkownika


Dostpne s dwie opcje doradzania klientowi.

o Przez biuro
Konkretnej ofercie wycieczki przypisywane s wartoci cech profilu
uytkownika, ktrym wg opinii administratora biura dana wycieczka odpowiada.
Oferta generowana jest w kolejnoci od najlepiej dopasowanych.

o Przez spoeczno
Sposb bardziej obiektywny, wymagajcy jednak zaistnienia spoecznoci
wok tego biura. W tym wypadku wartociowania oferty dokonuj grupy
uytkownikw. Wpyw innych uytkownikw na ostateczny ksztat oferty jest tym
wikszy, im wiksza jest ich ilo cech wsplnych z aktualnie obsugiwanym
klientem.
Scenariusz otrzymania wyniku przedstawionego na rysunku poniej jest
nastpujcy:
1. Warunki pocztkowe
a. Konta uytkownikw istniej.
b. Wycieczki Country 1111 i Country 1211 do tej pory nie
posiadaj adnych ocen.
2. Uytkownicy okrelili swoje profile
a. Profil cech pierwszego z nich jest identyczny z profilem aktualnie
obsugiwanego uytkownika. Dlatego jest to klient o bardzo
zblionych preferencjach.
b. Profile dwch pozostaych maj po jednej cesze wsplnej (jest to
warunek konieczny, by ich gosy byy brane pod uwag).
3. Uytkownicy dokonuj oceny wycieczek
a. Pierwszy gosuje na wycieczk o nazwie Country1111 z ocen 1,
a na wycieczk Country 1211 z ocen 5
b. Pozostali dwaj ofert wycieczki o nazwie Country1111 oceniaj
na 5, natomiast Country1211 na 1
4. Rezultat

61
Internetowy system e-CRM do obsugi biura podry

Pomimo tego, e wycieczka Country1111 zostaa dwukrotnie


oceniona na 5 , a Country1211 raz, w kolejnoci wynikw znajduje si
ona wyej z racji tego, e ocenie bardziej zblionego preferencjami
uytkownika zostaa przypisana wiksza waga.

Rysunek 30 Rezultat dziaania algorytmu generujcego ofert na podstawie opini uytkownikw o


podobnych preferencjach

4.1.6. Internetowa kampania reklamowa


Wan czci strategii dziaania takiego wirtualnego biura podry s kampanie
reklamowe przy uyciu poczty elektronicznej. Zarzdzaniem takimi kampaniami zajmuje si
administrator. Oferta wysyana jest do tych klientw, ktrych na podstawie cech wczeniej
okrelonych moe ona dotyczy. Dziki takiemu podejciu wiadomoci poczty elektronicznej
nie bd traktowane przez naszych klientw jako tzw. spam. W wiadomoci pocztowej
wysanej do klienta znajdowa si bd 3 sekcje oferowanych przez nas wycieczek. W
przypadku kadej z sekcji jest to 5 najlepszych wynikw (najlepiej ocenionych wycieczek), a
w przypadku sekcji podzielone na kategorie bdzie to 5 najpopularniejszych kategorii.
Pierwsza sekcja to lista wygenerowana na podstawie ocen uytkownikw o podobnych
preferencjach. Druga wygenerowana jest na podstawie ocen pracownika biura. Trzecia
natomiast to lista najpopularniejszych kategorii z odnonikami do odpowiadajcych im
listami wycieczek. W wiadomoci wysyanej uywa si rwnie motywu graficznego
skojarzonego z uytkownikiem, co przedstawiono czytelnie na nastpnej stronie.

62
Internetowy system e-CRM do obsugi biura podry

Rysunek 31 Przykad kampanii reklamowej za pomoc poczty elektronicznej. Zastosowany zosta motyw
charakterystyczny dla uytkownika. U gry wida wygenerowane nagwki wiadomoci.

4.1.7. Kreowanie spoecznoci wok firmy


Dziki funkcjonalnoci charakterystycznej dla trendu Web2.0 chce si osign cel,
jakim jest stworzenie jak najwikszej liczby lojalnych klientw, oraz zapewnienie im
wszystkiego czego mog oczekiwa od biura podry. Umoliwia si im jakociowe
wartociowanie oferty, podtrzymywanie kontaktw, udostpnianie galerii ze zdjciami ze
wsplnie odbytych wycieczek, komentowanie i wyraanie opinii. Dziki ostatniej opcji
moliwe jest monitorowanie poziomu zadowolenia klientw i odpowiednio szybkie
reagowanie na ich potrzeby.
Sposb, w jaki realizowane jest wartociowanie wycieczek przedstawiony, jest na
nastpnej stronie na zrzucie ekranu przykadowej oferty wycieczki. Jest to metoda obecnie
najczciej spotykana. Poziom ty reprezentuje redni ocen, poziom zielony ocen dan
przez aktualnie zalogowanego uytkownika. Skala wynosi od 1 do 5.

63
Internetowy system e-CRM do obsugi biura podry

Rysunek 32 Prezentacja pojedynczej oferty wycieczki oraz sposobu tworzenia oferty przez spoeczno
internetow

Poniszy fragment zrzutu ekranu prezentuje funkcjonalno zwizan z


utrzymywaniem relacji midzy klientami dziki udostpnianiu sobie zdj z podry oraz
dyskusji i wyraaniu opinii na forum (odnonik komentarze). Ponadto uytkownicy maj
moliwo bezporedniego skontaktowania si ze sob.

Rysunek 33 Udostpnianie galerii fotografii z wycieczek - integracja z serwisem Flickr.com

64
Internetowy system e-CRM do obsugi biura podry

4.1.8. Przypisywanie znacznikw (tag-w) do wycieczek

Funkcjonalno implementujca folksonomi w tej aplikacji. Uytkownicy po raz


kolejny mog pomc tworzy ofert. Czyni to poprzez samodzielne przypisywanie
znacznikw do ofert wycieczek.
Ilustracja nr 31 jest wycinkiem oferty wycieczki obrazujcym sposb
przypisywania znacznikw do wycieczek.

4.1.9. Sprzeda i walidacja


Poniszy zrzut ekranu przedstawia panel do dodawania nowych terminw
wycieczek. Naley poda dat pocztkow i kocow. Poniszy przykad prezentuje
rwnie funkcjonalno, jak nies ze sob walidacje w Ruby on Rails. Walidacja
zostaa zdefiniowana w warstwie modelu i jest sprawdzana przy kadej prbie edycji
lub stworzenia obiektu.

Rysunek 34 Dodawanie okresw dla wycieczek z przykadem walidacji.

65
Internetowy system e-CRM do obsugi biura podry

4.1.10. Motywy uytkownika grupy


Funkcjonalno pozwalajca na skojarzenie motywu graficznego na podstawie grupy,
do ktrej automatycznie na podstawie swoich cech naley uytkownik. Motyw ten kojarzony
bdzie z uytkownikiem na stronie biura podry jak rwnie w wiadomociach mailowych.
Zarzdzanie motywami powierza si administratorowi. Przykady motyww graficznych
spotykanych w aplikacji.

Rysunek 35 Motyw letni

Rysunek 36 Motyw ekstremalny

66
Internetowy system e-CRM do obsugi biura podry

4.1.11. Animowane menu uytkownika


Poniej prezentowana funkcjonalno ma na celu zaprezentowanie moliwoci
biblioteki Prototype, dziki interfejsowi programistycznemu Aculo, integrujcej si w
peni z Rails.
Rezultatem jest nowoczenie wygldajcy i dziaajcy panel nawigacyjny, ktrego
statyczn form prezentuje poniszy rysunek.

Rysunek 37 Animowane menu (Aculo + CSS)

W skad funkcjonalnoci oferowanej administracji biura podry wchodzi:

4.1.12. Tworzenie oferty wycieczek


Fragmenty okien edycji nowych wycieczek. W pierwszym kroku definiowane
s podstawowe informacje dotyczce wycieczki oraz przypisywane s im
znaczniki w celu kategoryzacji oferty. W drugim kroku administrator przypisuje
wycieczkom wartoci cech przedstawione to jest na rysunku na kolejnej stronie.
Dziki temu biuro podry bdzie mogo zaproponowa klientowi
spersonalizowan ofert.

67
Internetowy system e-CRM do obsugi biura podry

Rysunek 38 Kolejne etapy tworzenia oferty nowej wycieczki.

4.1.13. Edycja cech pyta i odpowiedzi


Aplikacja umoliwia dodawanie, modyfikowanie, usuwanie nowych pyta i
moliwych odpowiedzi do wyboru. W przypadku dodania nowej cechy, uytkownik
przy okazji najbliszego zalogowania zostanie poproszony o odpowied na takie
pytanie. W oknie edycji wycieczek rwnie pojawi si nowa cecha. Administrator
bdzie mg przypisa wtedy jej warto. Nie jest to jednak konieczne.

Rysunek 39 Okno suce do definiowania cech profili i pyta

68
Internetowy system e-CRM do obsugi biura podry

4.1.14. Analiza popularnoci i statusu wycieczek


Administrator ma rwnie do dyspozycji funkcj, dziki ktrej moe nadzorowa
sprzeda i podejmowa decyzje zwizane z ksztatowaniem oferty.

Rysunek 40 Okno analizy oferty biura podry

4.1.15. Prowadzenie szczegowych statystyk ruchu


Funkcjonalno ta umoliwia administratorowi sytemu monitorowanie statystyk
ruchu, a wic popularnoci ofert wycieczek, a take moliwo okrelenia, w jakim stopniu
uytkownicy korzystaj z funkcji oferowanych przez aplikacj.

Rysunek 41 Szczegowe statystyki

69
Internetowy system e-CRM do obsugi biura podry

Z powyszych statystyk da si na przykad wywnioskowa, jak czsto uytkownicy


korzystaj z funkcjonalnoci ograniczajcej ilo wynikw wyszukiwania wielokryterialnego
(rekord nr 4). Cennych informacji dostarczy nam mog rwnie ponisze statystyki.
Poddajc je dalszej analizie mona wykorzysta je do geotargetyzowania.

Rysunek 42 Statystyki pod ktem lokalizacji uytkownika

oraz

Rysunek 43 Okrelanie jzyka osoby korzystajcej z przegldarki

4.2. Wnioski na temat Ruby on Rails

Dobrym podsumowaniem, jeli chodzi o zalety Rails jest lista 10 powodw (wedug
Dave'a Thomas'a), dla ktrych warto je wyprbowa :

1. Zrczne programowanie aplikacji WWW


2. atwe dodanie do tworzonych stron ciekawych, dynamicznych efektw (AJAX i
biblioteka JS Prototype)
3. Skupienie si na rozwoju aplikacji, a nie na zarzdzaniu frameworkiem
4. Wraz z rozwojem aplikacji, moliwe jest utrzymanie ich w dobrym stanie
5. Nasi klienci czciej sysz odpowied "Tak"

70
Internetowy system e-CRM do obsugi biura podry

6. Testowanie jest wbudowane we framework


7. Natychmiastowe efekty zmian: zmie kod, kliknij "Odwie" i zmiany s widoczne
8. Metaprogramowanie oznacza, e mona programowa na bardzo wysokim poziomie
9. Generatory kodu umoliwiaj szybkie rozpoczcie pracy
10. Brak plikw konfiguracyjnych XML

W dzisiejszych czasach realizacja projektw w Ruby on Rails pozwala twrcy


aplikacji skupi si na tworzeniu i realizacji koncepcji. Dziki swojej elastycznoci daje
szerokie pole do eksperymentowania. Now funkcjonalno mona zaimplementowa w
bardzo krtkim czasie, a po ewentualnym niepowodzeniu nie zostaje po tym ladu dziki
mechanizmom zwizanym z Active Records. W tym przypadku teza ta rwnie znalaza
potwierdzenie. Realizacj projektu rozpoczto i zakoczono, uywajc tej samej bazy i
obszaru roboczego, pomimo wielokrotnych zmian koncepcji i struktury. Jest to dowd na to
e Ruby on Rails idealnie nadaje si do szybkiego tworzenia modeli koncepcji. Co do
samego jzyka Ruby, to programici innych technologii (Javy i .Net) zauwayli, e ich jzyki
niekoniecznie s najlepsze w kadej sytuacji. Std zainteresowanie Ruby w postaci JRuby
oraz IrobRuby, nowych implementacji tego jzyka. Umoliwiaj one dowoln interakcj,
czyli uywanie kodu jednego jzyka w drugim.
Wszystko, co ma jednak dobre strony, musi mie rwnie ze. W przypadku Rails s
to w gwnej mierze problemy zwizane z wydajnoci oraz utrzymaniem dostpnoci, tzw.
hostingiem aplikacji. Mimo to porwnanie wydajnoci [35] trzech frameworkw: Symfony,
Ruby on Rails i Django pokazuje, e Rails jest znacznie szybszy od Symfony (PHP), a
Django (Python) znacznie szybszy od Rails. Tak wic wynik jest poredni. Sdzi si jednak,
ze rnice w wydajnoci midzy Rails a Django Rails nadrabiane s prostot implementacji
oraz jego bogat dokumentacj. Jeli chodzi o perspektyw uytkownika kocowego, to
najlepsz wydajnoci moe popisa si Django, czyli framework napisany w jzyku Python.
Jednak zarwno Rails, jak i Django maj podobny problem, a mianowicie hosting. Jest
droszy i mniej popularny ni hosting np. PHP. Zalecanym rozwizaniem dla Rails jest
wirtualny serwer prywatny lub dedykowany serwer.
Wykres, przedstawiony na kolejnej stronie, napawa jednak optymizmem. Ilo
projektw pisanych w Rails lawinowo ronie.

71
Internetowy system e-CRM do obsugi biura podry

Rysunek 44 Wykres obrazujcy wzrost popularnoci Rails jako technologii do tworzenia aplikacji
internetowych

Dobrym podsumowaniem zdobytych wnioskw o Ruby on Rails mog by opinie


osb znanych i powaanych w rodowisku programistycznym [36]. James Duncan Davidson,
twrca Tomcata i Anta powiedzia na temat Ruby on Rails, e jest to najlepiej
przemylany wzorzec projektowy do tworzenia aplikacji internetowych. Tim OReilly,
zaoyciel OReilly Media, stwierdzi e Rails jest przeomem pod tym wzgldem, i sprawia,
e programowanie aplikacji stao si o wiele atwiejsze.

4.3. Wnioski na temat Web 2.0

W tej czci przedstawione s wnioski i dowiadczenia, jakie autorzy zdobyli w


trakcie realizacji tej aplikacji. W bardzo wielu miejscach toczy si bardzo oywiona dyskusja
na temat tego jaki zjawisko Web 2.0 powinnno przyj ksztat oraz jaki jest jego przyszo.
Oparto si gwnie na artykuach z gazet i Internetu, opiniach na forach oraz prezentacji na
konferencji, w ktrej autorzy tej pracy brali udzia.

72
Internetowy system e-CRM do obsugi biura podry

Stworzenie nowego serwisu odznaczajcego si cechami trendu Web 2.0 to bardzo


trudne zadanie. Tylko w polskiej przestrzeni internetowej dziaa takich serwisw okoo 250.
Przecitny uytkownik zna jednak tylko kilka z nich. Te, ktre oferuj mu dotychczas
niedostpn dla niego nigdzie indziej zawarto. Oprcz unikalnoci serwis taki musi
odznacza si maksymaln intuicyjnoci i prostot obsugi.
Bardzo dobrze uj istot problemu w swoim wywiadzie Seton-Rogers [37]. Wymieni on
osiem cech jakie witryna musi speni, aby miaa szans odnie sukces:
a) Moliwo nawizywania kontaktw
Nie ma serwisu Web 2.0 bez elementw spoecznociowych. Produkt Web 2.0. musi
uatwia ludziom nawizywanie kontaktw.
b) amanie istniejcych zasad
Serwisy klasyfikowane jako Web 2.0 powinny dawa uytkownikowi now warto,
ama schemat, ktry do tej pory krlowa na rynku.
c) Partycypacja
Serwisy Web 2.0 umoliwiaj atwe dzielenie si i wymienianie informacj, a take
aktywne uczestnictwo. Nawet osoba, ktra tylko konsumuje informacje, moe to robi kiedy
chce i jak chce, ma moliwo komentowania i oceniania.
d) Kreatywno
Dziki serwisom Web 2.0 uytkownicy maj dowolno twrcz i mog da upust
swojej kreatywnoci. W wiecie wirtualnej gry spoecznociowej Second Life waciwie
wszystko od ubra, poprzez przedmioty codziennego uytku, czy nieruchomoci jest
tworzone przez uytkownikw.
e) Niskie koszty
Serwis Web 2.0 to dla funduszy VC wielokrotnie mniejsze inwestycje ni te sprzed
kilku lat. rednia kwota przeznaczana przez VC na nowy serwis internetowy wynosi 2 mln
USD, kiedy byo to ok. 20 mln USD.
f) To czego chc i kiedy chc
Serwisy Web 2.0 daj uytkownikowi dowolno, dziki technologiom takim jak RSS
czy otwartym API, kady moe decydowa jakie treci, kiedy i w jakiej konfiguracji chce
konsumowa.
g) Szybko
Serwis Web 2.0 moe powsta relatywnie szybko. Jeli pomys jest dobry naley go
intensywnie realizowa, by nie wyprzedzia nas konkurencja.
h) "miertelno"

73
Internetowy system e-CRM do obsugi biura podry

Znikanie wielu serwisw z rynku jest nieodcznym elementem Web 2.0. I


przedsibiorcy nie powinni si tym bardzo przejmowa, a raczej uczy na wasnych bdach.
Na tak konkurencyjnym rynku przetrwaj tylko produkty, ktre ciesz si najwikszym
powodzeniem wrd uytkownikw. Bardzo wana jest wsppraca z waciwym funduszem
VC, ktry nie tylko zapewnia pomoc finansow, ale take wsparcie w postaci doradztwa i
strategii.
Autorytet z dziedziny projektowania aplikacji internetowych, Jakob Nielsen [38], jako
gwne problemy i bdy, jakie przeszkadzaj serwisom w odniesieniu sukcesu dostrzega w :

o zasypywaniu uytkownikw rnorak, zwykle zbdn przy pierwszym kontakcie z


serwisem funkcjonalnoci
o projektowaniu zbyt dynamicznych aplikacji, co ma swoje odzwierciedlenie w ich
wydajnoci
o tworzeniu funkcjonalnoci personalizujcych witryn pod uytkownika w serwisach,
gdzie jest to cakowicie zbdne

Badania pokazuj, e uytkownicy ktrzy regularnie udzielaj si na amach serwisu


to zaledwie 1%, ci ktrzy robi to czasami 9%, natomiast ci ktrzy prawie nigdy nie udzielaj
si stanowi pozostae 90%. Uytkownikom powinna zosta rwnie pozostawiona
moliwo atwego dostpu do podstawowej funkcjonalnoci, poniewa wikszo z nich
chce po prostu wej, odnale interesujc ich informacj i wyj. Nie powinno si takich
uytkownikw zraa do tego serwisu, gdy jeli opuszcz nasz witryn zadowoleni jest
wiksza szansa, e wrc ponownie, a nawet zostan naszymi klientami, co ma bardzo due
znaczenie w przypadku kategorii serwisu, jaki reprezentuje ta aplikacja.

74
Internetowy system e-CRM do obsugi biura podry

5. Podsumowanie

Pozyskanie nowego klienta na dynamicznie rozwijajcym si rynku, jakim


niewtpliwie jest obecnie rynek internetowych biur podry, jest atwiejsze od przekonania
go do swoich usug na rynku dojrzaym, jednak zawsze taniej jest utrzyma klienta, z ktrym
istnieje ju pewna relacja oraz historia transakcji. Coraz bardziej powszechna komunikacja
za pomoc medium, jakim jest Internet, doprowadza do tego, e sprzedaowe moliwoci
wielu firm staj si dziki temu coraz wiksze. Tak jak dawniej firmy w celu zwikszenia
tradycyjnej sprzeday, zaczy korzysta z analitycznych systemw klasy CRM, tak teraz
te firmy, ktre oferuj swoje usugi przez Internet zaczynaj korzysta z systemw e-CRM.
Jest to jedna z lepszych metod podtrzymywania relacji z klientem, dziki ktrym
odpowiednio segregowane s informacje o upodobaniach klienta tak, aby w przyszoci
prezentowa mu ofert najbardziej odpowiedni do jego potrzeb. Relacje handlowe typu
klient-firma to nie wszystko. Moemy dodatkowo utrzyma klienta przy firmie, jeli damy
mu moliwo nawizania relacji z innymi klientami, ktrzy w pewnym sensie mog by
mu bliscy. Mona to osign, korzystajc z zaoe zjawiska Web 2.0, ktre daje
uytkownikom serwisw internetowych moliwo podejmowania decyzji w pewnym sensie
o jego ksztacie, o treciach w nim zawartych. Wane jest te, aby uytkownicy mieli
moliwo oceniania treci serwisu, jak i jego szeregowania. Serwisy takie staj si bardziej
wiarygodne dla uytkownikw ni te, ktre im jednostronnie narzucaj treci. rodowisko
programowania Ruby on Rails jest na tyle nowoczesne, e posiada w sobie wiele cech,
ktre udostpniaj atwiejsze i szybsze zaimplementowanie i wdroenie funkcjonalnoci
zwizanych z trendem Web 2.0. Technologia AJAX pozwala dodatkowo na optymalizowanie
funkcjonowania internetowego serwisu w czasie. Wanie wszystkie te czynniki,
funkcjonujce na rnych paszczyznach dziaalnoci firmy, decyduj o finalnym sukcesie
rynkowym.
W ramach tej pracy skonstruowano system e-CRM dla oglnego biura podry.
Dziaania byy skoncentrowane na technikach nakaniania uytkownikw do transakcji w tak
funkcjonujcym serwisie internetowym, a nie na samej realizacji sprzeday, czyli wymiany
danych handlowych. W zwizku z wczeniejszymi analizami wspczesnych internetowych
biur podry oraz z rozpracowaniem funkcjonalnoci serwisw typu Web 2.0 zosta dobrany
specjalny interfejs graficzny do stworzonego w ramach pracy serwisu profilowanie jego

75
Internetowy system e-CRM do obsugi biura podry

w zalenoci od cech uytkownika, ktry z niego korzysta, jak rwnie dynamiczne


uszeregowanie kategorii usug w zalenoci od ich popularnoci handlowej. Wanie
na podstawie profilu uytkownika, po zaledwie kilku wstpnych pytaniach, system
automatycznie dobiera, z tego punktu widzenia, najbardziej odpowiedni ofert. Uytkownicy
maj w tym serwisie prawo do oceny i oznaczania poszczeglnych ofert oraz zamieszczania
odnonie nich swoich opinii i komentarzy, przyczyniajc si w ten sposb do tworzenia
i szeregowania oferty. Dodatkowo klienci w ramach moduu Web 2.0 maj moliwo
integrowania swoich zewntrznych albumw zdj z wycieczek ze swoim kontem w serwisie
biura podry czy te przegldania fotografii innych ludzi w kontekcie konkretnego miejsca,
do ktrego odnosi si konkretna oferta wycieczki. W ten sposb klienci maj moliwo
tworzenia spoecznoci opartych na wsplnych dowiadczeniach. Dla przyszych
uytkownikw taka funkcjonalno ma spore znaczenie, gdy uwiarygodnia ofert takiego
biura podry oraz stanowi du warto dodan. Przy tworzeniu okresowej internetowej
komunikacji handlowej tzw. e-mailing, system bierze pod uwag dotychczasow histori
transakcji oraz profil danego klienta to spersonalizowana i atrakcyjna optymalizacja dialogu
z klientem.
Udao si rwnie zrealizowa wiele zaoe dotyczcych klasycznych systemw
klasy CRM. Pod wzgldem analitycznym system ten zbiera, przetwarza i interpretuje dane
dotyczce uytkownikw, ofert wycieczek, zamwie oraz stopnia wykorzystania dostpnych
funkcjonalnoci. Wycieczki analizowane s na kilku paszczyznach. Sprzedaowo analizuje
si, ile razy dana oferta zostaa nabyta, przez jakich klientw oraz, czy cieszya si ona
popularnoci. Jest to zawarte w specjalnych raportach. Informacje dotyczce profilu danego
uytkownika pozwalaj identyfikowa potrzeby klienta. To pewien sposb na segmentacj
zarwno ofert jak i klientw. W ramach przyszego rozwoju systemu mona powikszy
opcje raportowania, a take dokona dalszej automatyzacji generowania spersonalizowanej
oferty, wykorzystujc wnioski dostarczane w odpowiedniej postaci z moduu analiz.
Wyniki prac i biece analizy sugeruj, e system ten bardzo dobrze nadaje si
do tego, aby go rozwija w przyszoci. Przyjazn funkcjonalnoci rozszerzajca moliwoci
skonstruowanego w ramach tej pracy systemu mogoby by take zaimplementowanie
wirtualnej hostessy w postaci tzw. chatbota, ktry mgby klientowi dosy atrakcyjnie
przedstawia ofert. Wanie w drodze zwikszenia multimedialnoci serwisu mona doda
moliwo zamieszczania krtkich filmw pod konkretnymi ofertami. Zwikszenie dynamiki
serwisu jest rwnie wan kwesti i tak mona nie tylko dostosowywa szat graficzn
interfejsu oraz ofert pod ktem profilu uytkownika, ale rwnie mona byoby dynamicznie

76
Internetowy system e-CRM do obsugi biura podry

udostpnia dodatkowe funkcjonalnoci pod ktem konkretnych cech uytkownikw


to bardzo nowoczesna myl. Rwnie na czasie jest tzw. geotargetowanie, czyli aby system
na podstawie np. adresu IP identyfikowa, z jakiego regionu jest uytkownik i pod wzgldem
tej dodatkowej cechy dobiera jeszcze lepsz dla niego ofert.
Podczas pracy nad stworzeniem aplikacji wykorzystano innowacyjn technologi
Ruby on Rails do tworzenia aplikacji internetowych. Oprcz samych zalet udao si
dostrzec rwnie jej wady oraz to w jaki sposb na Rails-y zareagowao rodowisko i w jakim
kierunku zostay podjte dziaania. Autorzy przyjrzeli si testom porwnujcym wydajno
implementacji w podobnych do Rails technologiach oraz zapoznali si z trendami, jakie
zarysoway si po zauwaeniu przez rodowiska programistyczne. Wyniki przestudiowania
tego tematu autorzy przedstawili w rozdziale dotyczcym rezultatw swojej pracy.
Wanym wnioskiem jest to, e warto wykorzystywa tego typu rozwizania, ktre
s przyjazne w tworzeniu takich serwisw, a zwaszcza w ich prototypowaniu i modelowaniu.
Dziki rozwojowemu podejciu do tej pracy odkryto ciekawe zastosowania najnowszych
technologii informatycznych. Starano si jak najbardziej kreatywnie poczy je ze sob.
Dogbne przestudiowanie trendu Web 2.0 pozwolio bardziej wiadomie patrze na to,
co dzieje si teraz w wiatowych serwisach internetowych. Dziki temu autorom pracy udao
si lepiej zrozumie rozwizania komunikacji marketingowej, ktre obecnie zaczynaj by
wdraane w tej formie przez liczce si firmy midzynarodowe. Dostrzeono rwnie nowe
drogi w rozwoju systemw klasy CRM. Teraz dziki temu mona efektywniej obserwowa
rynek i przewidywa, w ktr stron moe zmierza rozwj nowatorskich systemw e-CRM.
Wiedza ta, ktr zdobyto na potrzeby stworzenia systemu dla internetowego biura podry,
zostaa w duym stopniu przyswojona i skonia autorw do wielu przemyle, nad
przyszymi kierunkami rozwoju internetowych systemw informatycznych. Wanie
dostosowanie wszystkich tych rozwiza pod ktem brany turystycznej, a przede wszystkim
e-turystyki, zaangaowao twrcw tego systemu w blisze poznanie tej brany - rwnie
na jej technologicznej oraz komunikacyjnej paszczynie.
Zainteresowanie wspczesnymi technologiami informatycznymi, trendami relacji
konsumenckich oraz spoecznych zainspirowao twrcw aplikacji do stworzenia tego typu
systemu, ktry daje wiele moliwoci rozwoju. Autorzy pracy pewni maj przekonanie,
e przyszo naley wanie do rozwiza, ktre cz w sobie aspekty technologiczne z tymi
mniej wymiernymi, mikkimi zalenociami komunikacji midzyludzkiej.

77
Internetowy system e-CRM do obsugi biura podry

Literatura
1. Adrian Horzyk - Sekrety negocjacji z satysfakcj wykady 2006 / 2007
2. Dariusz Tarczyski (2000) Zrozumie czowieka z wygldu, Studio Astropsychologii
3. Jill Dyche (2002) CRM - relacje z klientami, Helion
4. Agnieszka Dejnaka (2002) CRM - Zarzdzanie kontaktami z klientami, Helion,
5. Frederick Newell (2002) Lojalno.com - Zarzdzanie Relacjami z Klientami w nowej
erze marketingu internetowego
6. Krystyna Mazurek opaciska (2002) Orientacja na klienta w przedsibiorstwie, Polskie
Wydawnictwo Ekonomiczne
7. Mazur A., Jaworska K., Mazur D. (2001), CRM Zarzadzanie kontaktami z klientami, Madar
8. Nowiska S. : CRM dla duych i maych, Direct Communication, 2004
9. Szewczyk J, Fiedorowicz J. : Moda na CRM, "Computerworld Raport" 2001 padziernik,
s. 13-15
10. Zachara M. : CRM w klimacie B2B, Magazyn Modern Marketing, 2000 nr 9
11. Justyna Adamczyk (2000) : CRM w ujciu klasycznym i internetowym, Materia
konferencyjne - Electronic Commerce: "Teoria i zastosowania", Politechnika Gdaska,
12. Antoni Leniek (2006) Co oznacza okrelenie Web 2.0? - http://www.i-
slownik.pl/1,1894,web,2,0.html
13. Zbigniew Domaszewicz (2006) Web 2.0 to rewolucja w internecie? -
http://gospodarka.gazeta.pl/gospodarka/1,68367,3196659.html
14. Joshua Eichorn (2007) Ajax porzdkowanie aplikacji - www.phpsolmag.org
15. Wolfgang Jackowski (2005) Rynek e-turystyki 2005 - http://www.biznesnet.pl/a/7934/2
16. WWW: http://www.ruby-lang.org/en/
17. WWW: http://www.ruby-lang.org/pl/dokumentacja/udane-wdrozenia/
18. WWW: http://wiki.rubyonrails.org/rails/pages/MVC
19. WWW: http://wiki.rubyonrails.org/rails/pages/UnderstandingMVC
20. WWW: http://wiki.rubyonrails.org/rails/pages/UnderstandingRailsMVC
21. WWW:
http://www.webdeveloper.pl/manual_mysql/show.php?str=manual_Introduction_pl.html#
What-is
22. WWW: http://dev.mysql.com/doc/refman/5.1/en/index.html
23. WWW: http://www.agiledata.org/essays/mappingObjects.html
24. Bruce A. Tate, Curt Hibbs (2005), Ruby on Rails wprowadzenie, Helion
25. Micha Sobczak (2005), Ruby on Rails wiczenia, Helion
26. WWW: http://martinfowler.com/bliki/DomainSpecificLanguage.html
27. WWW: http://community.programuj.com/p/comboy/+Migracje+w+Ruby+on+Rails
28. WWW: http://www.w3.org/
29. Dave Thomas (2005), Agile Web Development with Rails - second edition, pdf
30. WWW: http://wiki.script.aculo.us/scriptaculous/show/IntegrationWithRubyOnRails
31. WWW: http://wiki.script.aculo.us/scriptaculous/show/Demos
32. WWW: http://prototypejs.org/
33. Praca zbiorowa pod redakcj Stanisawa Wryczy (2006), UML 2.1 wiczenia, Helion
34. Chad Fowler (2005), Rails. Przepisy, Helion
35. WWW: http://wiki.rubyonrails.com/rails/pages/Framework%20Performance
36. WWW: http://www.rubyonrails.org/quotes
37. WWW: http://www.internetstandard.pl/news/107199.html
38. WWW: http://news.bbc.co.uk/2/hi/technology/6653119.stm

78
Internetowy system e-CRM do obsugi biura podry

39. Portal CRM - Customer Relationship Management - Zarzdzanie Relacjami z Klientem -


"Rodzaje systemw CRM (2003-07-15)" - http://www.crmreview.pl/news.php?news=54

79
Internetowy system e-CRM do obsugi biura podry

Spis rysunkw
Rysunek 1 Ilustracja wzrostu popularnoci jzyka Ruby .......................................................12
Rysunek 2 Rysunek obrazuje proces zarzdzania relacjami, ktrego celem jest zatrzymanie
klienta w czasie. Wszystkie dziaania w poszczeglnych dziaach firmy s ze sob powizane.
Najistotniejszym za komponentem efektywnego administrowania CRM jest zarzdzanie....15
Rysunek 3 model sekwencji funkcjonowania firmy na danym rynku w kontekcie relacji z
klientem ...............................................................................................................................21
Rysunek 4 Gwna witryna popularnego serwisu Web 2.0 www.goldenline.pl ..................24
Rysunek 5 Przykad specjalistycznego serwisu Web 2.0. www.miejsce.info .........................25
Rysunek 6 Popularny modzieowny serwis spoecznociowy oparty na wartociowaniu treci
za pomoc tagw www.mojageneracja.pl .............................................................................27
Rysunek 7 gwna witryna travelplanet.pl ............................................................................30
Rysunek 8 gwna witryna serwisu wakacje.pl ..................................................................30
Rysunek 9 gwna witryna serwisu traveliada.pl................................................................31
Rysunek 10 witryna serwisu tui.pl, ktry daje moliwo wyszukiwania oferty zwizanej z
hobby potencjalnego klienta .................................................................................................31
Rysunek 11 gwna witryna serwisu eholida.pl..................................................................32
Rysunek 12 Sposb i kierunek wymiany operacji w modelu MVC w Rails...........................35
Rysunek 12 Przykad dziaania mechanizmu walidacji .........................................................38
Rysunek 13 Wygenerowany automatycznie formularz..........................................................43
Rysunek 14 Wygenerowana lista, oraz dostpne funkcjonalnoci .........................................43
Rysunek 15 Diagram przypadkw uycia .............................................................................47
Rysunek 16 Diagram klas .....................................................................................................48
Rysunek 17 Strona gwna, kadorazowo tworzony jest tymczasowy uytkownik, przez co od
samego pocztku dostpna jest dla uytkownika prawie pena funkcjonalno......................55
Rysunek 18 Okno rejestracji .................................................................................................56
Rysunek 19 Okno logowania do systemu (opcja 'Zapamitaj mnie')......................................56
Rysunek 20 Lista najpopularniejszych znacznikw i przypisanych do nich wycieczek..........57
Rysunek 21 Podobne wycieczki na podstawie przypisanych znacznikw..............................57
Rysunek 22 Pena lista wynikw ..........................................................................................58
Rysunek 23 Uruchomienie ankiety majcej na celu skrcenie rezultatw oraz stworzenie
profilu uytkownika..............................................................................................................59
Rysunek 24 Wynikowa oferta po ograniczeniu jej cechami...................................................59
Rysunek 25 Pytanie 1 ...........................................................................................................60
Rysunek 26 Pytanie 2 ...........................................................................................................60
Rysunek 27 Pytanie 3 ...........................................................................................................60
Rysunek 28 Pytanie 4 ...........................................................................................................60
Rysunek 29 Rezultat dziaania algorytmu generujcego ofert na podstawie opini
uytkownikw o podobnych preferencjach ...........................................................................62
Rysunek 30 Przykad kampanii reklamowej za pomoc poczty elektronicznej. Zastosowany
zosta motyw charakterystyczny dla uytkownika. U gry wida wygenerowane nagwki
wiadomoci. .........................................................................................................................63
Rysunek 31 Prezentacja pojedynczej oferty wycieczki oraz sposobu tworzenia oferty przez
spoeczno internetow .......................................................................................................64
Rysunek 32 Udostpnianie galerii fotografii z wycieczek - integracja z serwisem Flickr.com
.............................................................................................................................................64
Rysunek 33 Dodawanie okresw dla wycieczek z przykadem walidacji. .............................65
Rysunek 34 Motyw letni.......................................................................................................66

80
Internetowy system e-CRM do obsugi biura podry

Rysunek 35 Motyw ekstremalny...........................................................................................66


Rysunek 36 Animowane menu (Aculo + CSS) .....................................................................67
Rysunek 37 Kolejne etapy tworzenia oferty nowej wycieczki. ..............................................68
Rysunek 38 Okno suce do definiowania cech profili i pyta.............................................68
Rysunek 39 Okno analizy oferty biura podry ....................................................................69
Rysunek 40 Szczegowe statystyki......................................................................................69
Rysunek 41 Statystyki pod ktem lokalizacji uytkownika ...................................................70
Rysunek 42 Okrelanie jzyka osoby korzystajcej z przegldarki........................................70
Rysunek 43 Wykres obrazujcy wzrost popularnoci Rails jako technologii do tworzenia
aplikacji internetowych.........................................................................................................72

81

You might also like