WYDZIAŁ INFORMATYKI
STUDIA INŻYNIERSKIE
PRACA DYPLOMOWA
Grzegorz Warchoł
PORTAL INTERNETOWY DLA FIRMY HANDLOWEJ
Praca wykonana pod kierunkiem:
dr inż. Lech Kruś
WARSZAWA, 2007 r.
51
Autor: Grzegorz Warchoł
Tytuł: Portal internetowy dla firmy handlowej
Rok akademicki: 2006 / 2007
Dziekan Wydziału: dr inż. Jarosław Sikorski
Specjalność: sieci komputerowe
Opiekun specjalności: dr inż. Lech Kruś
Opiekun pracy: dr inż. Lech Kruś
1. Wstęp 4
2. Cele, założenia i problemy projektowe portalu 6
3. Wykorzystane technologie 10
4. Realizacja portalu dla firmy handlowej 13
4.1. Grupy zarejestrowanych użytkowników 15
4.2. Wykorzystanie baz danych 18
4.3. Synchronizacja danych 20
4.4. Uwierzytelnianie i bezpieczeństwo 25
4.5. Funkcje spełniane przez portal oraz ich realizacja 25
5. Użytkowanie systemu 37
5.1. Strona główna 37
5.2. Użytkownik zarejestrowany 39
5.3. Wyszukiwanie informacji 39
5.4. Zarządzanie portalem 40
6. Instalacja 46
7. Podsumowanie 49
Bibliografia 51
Załącznik: płyta CD z oprogramowaniem oraz elektroniczną wersją pracy.
Gwałtowny rozwój Internetu, stworzył możliwość licznym formom działalności gospodarczej wkroczyć w nowy etap rozwoju. Szczególną gałęzią biznesu która wykorzystuje powszechność i dostępność Internetu jest handel. Możliwość ukazania swojej oferty handlowej, wizerunku firmy sprawia, że podmioty handlowe mogą dotrzeć do praktycznie nieograniczonej liczby klientów. Właściwe wykorzystanie możliwości Internetu nie tylko w celach marketingowych, ale także w kierunku polepszenia zasad działania firmy może przynieść wymierne korzyści i oszczędności w prosperowaniu przedsiębiorstwa.
Podstawowym celem niniejszej pracy jest stworzenie oprogramowania portalu (aplikacji) wspomagającego działanie firmy handlowej. Portal ma za zadanie wspomóc szeroką komunikacje z klientem oraz z pracownikami wewnątrz firmy jak i tymi rozsianymi po całym kraju
W aplikacji zostaną zastosowane różne technologie internetowe, które ułatwią takie czynności jak przeglądanie, wyszukiwanie czy rejestrację, stworzone w możliwie przystępnym sposób dla nawet niedoświadczonego użytkownika Internetu. Dzięki zastosowaniu kontroli wprowadzanych danych do systemu, aplikacja pozwoli na bezpieczną pracę.
Aplikacja przeznaczona jest dla konkretnej firmy handlowej – GM Distribution, zajmującej się dystrybucją fonogramów (płyty z muzyką CD) oraz filmów (DVD, VHS).
W firmie tej do obsługi handlu używany jest komercyjny program magazynowy – SubiektGT firmy Insert, dla środowiska Windows oparty o bazę danych MSSQL. Proponowany portal będzie rozszerzał działanie programu magazynowego poprzez udostępnianie różnych danych w nim zawartych w Internecie.
Aplikacja pozwoli na przeglądania katalogu dystrybuowanych materiałów, zapowiedzi, nowości, możliwości komentowania i wyrażania opinii w postaci oceny na temat danego asortymentu oraz podstawowe dane dotyczące firmy. Nadrzędnym celem stworzenia portalu jest możliwość ulepszenia komunikacji pracownikom w tym także z pracującymi w terenie, łatwiejszy kontakt z klientem już współpracującym jak i tym potencjalnym zainteresowanym ofertą. Zostanie zapewniona możliwość tworzenia różnych wariantów zestawień analitycznych dotyczących pracy firmy.
W portalu zostaną wykorzystane dynamicznie tworzone strony HTML. Do tworzenia stron zostanie użyty, wykonywany po stronie serwera www, język skryptowy PHP[1] [2] [4] [5] [6] . Dane wyświetlane na stronach będą pobierane z dwóch baz danych – MSSQL[3] [7] oraz MySQL[2] [6] . Dane wprowadzane przez użytkowników portalu będą aktualizowane tylko w bazie MySQL, przez co obie bazy danych będą musiały pomiędzy sobą być synchronizowane. Synchronizacja baz zostanie rozwiązana poprzez stworzenie zestawu kilku funkcji.
W niniejszej pracy, w kolejnym rozdziale (drugim) przedstawia się cel stworzenia aplikacji, jej założenia oraz główne korzyści wynikające z działania portalu
W rozdziale trzecim są opisane techniki i technologie wykorzystane w implementacji portalu.
Rozdział czwarty zawiera opis realizacji portalu, poprzez pokazanie działania i synchronizacji baz danych, występowanie poszczególnych grup użytkowników oraz funkcji zestawień skierowanych do poszczególnych grup.
Rozdział piąty przedstawia przykłady ilustrujące administrowanie portalem i użytkownikami oraz prezentacje na tych przykładach interfejsu użytkownika.
W rozdziale szóstym jest przedstawiony zakres wymagań instalacji oprogramowania portalu.
Pracę kończy podsumowanie oraz bibliografia użyta przy realizacji projektu.
Załączona do pracy płyta CD zawiera:
· pliki źródłowe oprogramowania portalu
· oprogramowanie niezbędne do działania portalu
Celem niniejszej pracy jest zaprojektowanie i wykonanie portalu internetowego oraz jego implementacja w firmie. Aplikacja nie tylko będzie wizytówką firmy w Internecie, prezentującą jej ofertę handlową, informacje na temat rodzaju działalności, ale także wspomoże komunikacje pracowników pomiędzy sobą, klientów z firmą oraz rozszerzy możliwości programu do obsługi handlu SubiektGT, wykorzystywanego już wcześniej w firmie.
Jednym z podstawowych warunków prawidłowego działania średniej wielkości firm handlowych, sprzedających jakikolwiek asortyment jest posiadanie programu do obsługi handlu. Program taki umożliwia wystawianie faktur sprzedaży, przeglądnie kartotek klientów, stanów magazynowych oraz prezentuje podstawowe analizy aspektów prowadzonej działalności. Każda firma posiada własny sposób działania i często bywa tak, że ogólno dostępne, komercyjne programy do obsługi handlu nie spełniają indywidualnych potrzeb danego przedsiębiorstwa. Praktycznie, takie programy komercyjne są zwykle aplikacjami opartymi o zamknięty kod źródłowy, a jedynym sposobem rozszerzenia ich możliwości, jest opłacenie autorskiej firmy w celu stworzenia potrzebnych modułów. Takie rozwiązanie jest najczęściej bardzo nieopłacalne, przewyższające często wartość licencji programu. Alternatywą rozszerzającą możliwości takich aplikacji jest stworzenie portalu internetowego, wykorzystującego bazę danych na której pracuje program magazynowy i w której składuje wszystkie swoje dane. W nowoczesnych aplikacjach do obsługi handlu wszystkie dane przechowywane są w relacyjnych bazach danych. Dzięki temu można w łatwy sposób, używając bezpłatnych narzędzi, stworzyć aplikację rozszerzającą możliwości programów do obsługi handlu na potrzeby indywidualne dla danej firmy.
Portal zostanie stworzony dla średniej wielkości firmy handlowej GM Distribution zajmującej się dystrybucją fonogramów (płyty z muzyką CD) oraz filmów (DVD, VHS).
Firma nie prowadzi sprzedaży detalicznej. Jej klientami są małe sklepy jak i duże hipermarkety i hurtownie. Bardzo duży zasób tytułowy asortymentu pozwala firmie być w czołówce branży w kraju. W przedsiębiorstwie jest ustabilizowana struktura stanowisk:
· Magazynierzy
· Fakturzyści
· Księgowość
· Koordynatorzy sprzedaży (działają w terenie – na każde województwo)
· Informatyk
· Szef
Wykonany portal będzie aplikacją korzystającą w dużej mierze z danych pobieranych z programu do obsługi handlu SubiektGT[10] .
Portal umożliwi przeglądanie oraz wprowadzanie szeregu danych, usprawniając dzięki temu komunikację wewnątrz firmy, pozwoli także klientom na łatwiejsze przeglądanie oferowanego asortymentu oraz jego zamawianie.
Fakturzyści otrzymają dostęp do dynamicznie zmieniających się informacji na temat kontrahentów. Informacje te mogą dotyczyć takich rzeczy jak np. przyznanie rabatu, zmiana miejsca dostawy towaru, zmiana terminu płatności oraz innych informacji potrzebnych przy dokonania sprzedaży, a niedostępnych w programie SubiektGT.
Magazynierzy, niezależnie do programu do obsługi handlu będą mogli uzyskać dostęp do wszystkich danych o towarze, ewentualnych brakach wynikających dużego zapotrzebowaniu na dany tytuł. Dostają także informacje o zamówieniach złożonych poprzez portal.
Dział księgowości uzyska wgląd do wykazu dokumentów wystawionych danego dnia, tygodnia, przed ich dostarczaniem w formie fizycznej.
Koordynatorzy sprzedaży – będą mogli tworzyć uwagi i inne informacje na temat swoich klientów, będą mieli dostęp do analiz sprzedaży, możliwość sprawdzania zamówień klientów wprowadzonych przez Internet – zatwierdzenie lub negacja potencjalnych zamówień.
Użytkownicy zarejestrowani w portalu jako klienci mogli zgłaszać zamówienia na dany asortyment towarowy, modyfikować i przeglądać zamówienia wcześniej złożone. Zgodnie z tymi zamówieniami wystawiane są później faktury sprzedaży.
Szefostwo firmy uzyska dostęp do informacji analitycznych w formie różnych zestawień, odnoszących się do rejonu, danego pracownika czy asortymentu.
Administratorzy portalu otrzymają możliwość zarządzaniem uprawnieniami użytkowników poprzez przypisywanie ich do poszczególnych grup. Mogą także edytować profil poszczególnych użytkowników. Osoby zarządzające portalem będą mogły także przeglądać różne statystyki dotyczące portalu, informacje dotyczące bezpieczeństwa, jak historie systemu rejestrującego logowania użytkowników, jak i statystyk wykazujących popularność aplikacji poprzez prezentacje liczby komentarzy, ocen asortymentu, złożonych zamówień przez klientów. Administratorzy mają także możliwość modyfikowania opisów towaru, blokowania jego wyświetlania, gdy. np. towar zostaje wycofany ze sprzedaży.
Proponowana aplikacja będzie korzystała z dwóch systemów baz danych, komercyjnej bazy MSSQL dostarczonej wraz z programem SubiektGT oraz darmowego systemu baz MySQL. Zastosowanie dwóch baz wynika z braku możliwości ingerencji w kod źródłowy programu. Bezpośredni dostęp do bazy MSSQL i dokonywanie w niej zmian uniemożliwiają ograniczenia licencyjne. Portal dane będzie pobierał z bazy MSSQL jednak sam nie będzie w tej bazie żadnych danych zmieniał. Do wprowadzania danych będzie wykorzystana baza MySQL. Zastosowanie dwóch baz danych wymaga stworzenia funkcji synchronizujących dane pomiędzy nimi tak, aby użytkownik miał wrażenie spójnej pracy na jednym systemie.
Poniżej na Rys. 2.1 znajduje się ogólny schemat działania portalu, na którym widoczna jest wymiana danych pomiędzy użytkownikami, a serwerem WWW oraz dwie bazy danych – MySQL i MSSQL. Pierwsza zwraca zapytania wykonane przez użytkowników i ewentualnie wprowadza / aktualizuje dane, druga natomiast tylko wysyła dane, nie pozwalając na ich modyfikacje. Pokazane jest także wprowadzania danych przez pracowników firmy do bazy MSSQL poprzez program SubiekGT.
Rys. 2.1 Ogólny schemat działania portalu
Zaprojektowana aplikacja umożliwia tworzenie dynamicznych stron HTML z wykorzystaniem języka PHP, którego kod wykonuje się po stronie serwera WWW. Język ten wybrano ze względu na jego prostotę oraz bardzo duże możliwości tworzenia zaawansowanych aplikacji internetowych. Jego struktura składni oparta jest na innych popularnych językach takich jak Java, C, Perl, a ścisła integracja z protokołem HTTP powoduje, że język ten stał się bardzo popularnym narzędziem do tworzenia aplikacji internetowych. Innym ważnym atutem tego języka jest współpraca z bardzo wieloma standardami baz danych, zarówno komercyjnymi takimi jak Oracle, MS SQL czy „otwartymi” projektami jak MySql i PostgreSql. PHP bardzo wydajnie łączy się z bazami obsługującymi Open Database Connection (ODBC), dzięki czemu można podłączyć dowolną aplikację do tego typu baz. Istnieje bardzo wiele funkcji zawartych w PHP, które wspierają popularne technologie w Internecie. Generowanie plików PDF, arkuszy kalkulacyjnych Microsoft Excel, parsowanie i tworzenie plików XML jest proste dzięki zastosowanym w nim modułom. Jest to tylko mała część zawartych w PHP możliwości, a jako że jest to projekt otwarty, istnieją setki dodatkowych modułów tworzonych przez użytkowników tego języka zwiększających jego horyzonty działania.
Do kontroli danych, wprowadzanych przez użytkowników z wykorzystaniem formularzy, służy skryptowy język JavaScript. Stara on się sprawdzać dane wprowadzane przez użytkowników oraz wskazywać potencjalne błędy przy wypełnianiu formularzy, np. przy wypełnianiu formularza rejestracji. Skrypt stworzony w języku JavaScript umieszczany jest w załączonym, interpretowanym po stronie klienta pliku, lub bezpośrednio w kodzie strony HTML pomiędzy znacznikami <scritpt></script>. Wszystkie skrypty są interpretowane dzięki obiektom wbudowanym w przeglądarkę. Wykorzystując to JavaScript może komunikować się z użytkownikiem, kontrolować jego działania oraz modyfikować treść witryny, bez konieczności wysyłania jakichkolwiek danych do serwera.
Podstawowe dane każdego użytkownika, który przeszedł pomyślnie autoryzacje umieszczane są w systemie logów serwisu. System ten oparty jest na plikach XML parsowanych przez PHP. XML (Extensible Markup Language) to uniwersalny język przeznaczony do reprezentowania danych w strukturze, którą nadaję mu programista. Dzięki niezależności platformowej języka XML, dane z dokumentów tego typu zachowują zadaną im strukturę, bez względu na typ przeglądarki lub serwera. Zapis w sytemie logów do języka XML pozwala nie tylko na łatwe przeglądanie logów bezpośrednio poprzez przeglądarkę internetową, ale także na prosty eksport danych do np. arkuszy kalkulacyjnych w celu dalszych analiz.
Istotną cechą języków JavaScript i XML jest zastosowanie ich w technice AJAX[8] . AJAX (Asynchronous JavaScript and XML) czyli asynchroniczny JavaScript i XML - chociaż często jest nazywany oddzielną technologią – nią nie jest – jest raczej połączeniem kilku technologii, takich jak wspomniane Javascript, XML oraz języków skryptowych działających po stronie serwera – np. PHP. W aplikacji wykorzystuje się go do wykonywania pewnych procedur po stronie serwera, bez potrzeby ponownego przetworzenia przez przeglądarkę całej witryny, dzięki czemu użytkownik ma wrażanie ciągłej i efektywnej pracy. W aplikacji wykorzystano procedury AJAX do przyśpieszania niektórych działań, takich jak np. ocenianie towaru, gdzie nie ma potrzeby przeładowania całej strony – dzięki czemu użytkownik ma wrażenie, że witryna szybciej reaguje na jego działania.
Głównymi nośnikami danych w aplikacji są dwie struktury baz danych: MySQL i MSSQL. Pierwsza wymieniona baza jest bardzo popularnym narzędziem w tworzeniu serwisów internetowych. Powodem wyboru tej bazy były liczne zalety MySQL, takie jak prostota obsługi, elastyczność i prędkość działania oraz licencja GPL[1]. Baza ta dobrze współpracuje z PHP, dzięki czemu serwisy tworzone w tych technologiach są bardzo popularne w Internecie. Drugą bazą wykorzystywaną w aplikacji jest MSSQL (Microsoft SQL Server). Jest to komercyjne oprogramowanie wspierane i rozpowszechniane przez firmę Microsoft. Stworzona aplikacja wykorzystuje bazę MSSQL do pobierania danych wprowadzonych poprzez program obsługi handlu. Ograniczenia licencyjne oraz złożoność budowy komercyjnej bazy danych uniemożliwiają jakiekolwiek zmiany w tej bazie poprzez portal, więc wszelkie dane wprowadzane przez użytkowników portalu będą wyłącznie składowane w bazie MySQL. Baza MySQL będzie musiała być synchronizowana pod kątem bazy MSSQL, aby użytkownicy mieli wrażenie przezroczystej pracy ze względu na oba systemy.
Głównym programem do obsługi handlu w firmie GM Distribution jest SubiektGT, flagowy program wrocławskiej firmy Insert. Aplikacja ta została stworzona z myślą o małych i średnich firmach. Bardzo dobrze sprawdza się jako narzędzie do wystawiania dokumentów sprzedaży oraz obsługi magazynu. Głównym nośnikiem danych w tym programie jest właśnie wspomniana wyżej komercyjna baza danych MSSQL. Program w swoich podstawowych parametrach pozwala na dosyć ograniczone możliwości analiz po-sprzedażnych oraz nie daje możliwości udostępnienia swoich możliwości poza sieć firmową. Jednak zaletą jego jest zastosowanie właśnie wspomnian...
kargul8