Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem mgr Grzegorz Grudziński Instytut Informatyki Czerwiec 2005
Oświadczenie kierującego pracą Oświadczam, że niniejsza praca została przygotowana pod moim kierunkiem i stwierdzam, że spełnia ona warunki do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego. Data Podpis kierującego pracą Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją elektroniczną. Data Podpis autora (autorów) pracy
Streszczenie W pracy przedstawiono opis systemu Aukcjomat, zaimplementowanego w czasie zajęć Zespołowego Projektu Programistycznego. Aukcjomat jest aplikacją wspomagającą wyszukiwanie ofert w sklepach internetowych i platformach aukcyjnych. Słowa kluczowe Aukcjomat, allegro, ebay, aukcje, oferty, HTML data mining 11.3 Informatyka Dziedzina pracy (kody wg programu Socrates-Erasmus) D. Software Klasyfikacja tematyczna
Spis treści Wprowadzenie....................................... 5 1. Zadania systemu.................................... 7 2. Technologie....................................... 9 2.1. Projektowanie.................................... 9 2.2. Omówienie architektury.............................. 9 2.3. Narzędzia...................................... 9 3. Wkład w pracę zespołu............................... 11 3.1. Skład zespołu.................................... 11 3.2. Wkład w projekt systemu............................. 11 3.3. Wkład w implementację systemu......................... 11 A. Załączniki........................................ 13 3
Wprowadzenie Celem systemu Aukcjomat jest dostarczenie użytkownikowi wygodnego interfejsu do wyszukiwania ofert w wielu sklepach internetowych i platformach aukcyjnych. Aukcjomat umożliwia swobodne przeszukiwanie bazy ofert, zgodnie z dowolnymi kryteriami. Możliwość wyboru kryteriów znacznie przewyższa oferowaną przez standardowe wyszukiwarki dostępne w obsługiwanych serwisach. Aukcjomat pozwala także na śledzenie zmian w bazie ofert i powiadamia użytkownika o odnalezieniu nowych ofert zgodnych ze zdefiniowanymi przez niego kryteriami. Ważną częścią systemu jest moduł ekstrakcji danych z pobieranych stron WWW. Dzięki funkcji konfiguracji możliwe jest dostosowanie go do różnych sklepów internetowych i platform aukcyjnych, bez ingerencji w kod źródłowy. 5
Rozdział 1 Zadania systemu Budowa i aktualizowanie bazy ofert System kataloguje aktualne oferty pobierając informacje ze stron WWW obsługiwanych serwisów. Wyszukiwanie w bazie wg kluczy złożonych i sortowanie Wykorzystując silnik wyszukujący Siets Aukcjomat potrafi szybko wyszukiwać interesujące aukcje. Dozwolone są koniunkcje kryteriów prostych (typu pole zawiera wartość ), możliwe jest także wyszukiwanie wg parametrów produktu (jeśli takie zostały zdefiniowane w serwisie). śledzenie pojawiających się aukcji i wyszukiwanie korzystnych ofert Dla serwisów ebay i Allegro istnieją programy wspomagające użytkownika w odnajdowaniu nowych, interesujących go aukcji i informujące go o tym drogą elektroniczną. Ich kryteria oceny korzystności ofert są jednak niezadowalające, a czas reakcji zbyt duży (przysyłają one informację zbiorczą raz dziennie). Aukcjomat rozszerza tę funkcjonalność pozwalając na śledzenie ofert według swobodnie dobranych kluczy, obsługuje wiele serwisów (obecnie: Allegro, ebay, Komputronik, Merlin), a informacje przesyła natychmiast po jej znalezieniu się w bazie danych. Dostarczenie konfigurowalnego narzędzia do dekompozycji syntaktycznej stron Częscią Aukcjomatu jest moduł FajnyParser, który, po wprowadzeniu przez użytkownika adresu przykładowej strony i określeniu jakie znajdują się na niej informacje, tworzy schemat do ekstrakcji danych z dowolnych stron o tej samej budowie. 7
Rozdział 2 Technologie 2.1. Projektowanie System Aukcjomat został zaprojektowany w oparciu o metodologię RUP (Rational Unified Process). Odpowiednie dokumenty zostały przygotowane w fazie analizy, projektowania i testowania. 2.2. Omówienie architektury System Aukcjomat został zaimplementowany w języku Java z użyciem narzędzi wchodzących w skład platformy J2EE. System działa w architekturze klient-serwer. Użytkownicy korzystają z serwisu za pośrednictwem przeglądarek WWW. Serwer składa się z modułów: Interfejs WWW wyszukiwanie, monitorowanie, obserwacja nowych ofert, obsługa logowania i kont użytkowników FajnyParser konfiguracja i pobieranie ofert z serwisów AukcjoEJB logika systemu 2.3. Narzędzia Następujące narzędzia były wykorzystywane w trakcie prac nad systemem lub są konieczne przy jego działaniu: Hibernate realizuje mapowanie obiektów Javy na relacyjną bazę danych Siets realizuje wyszukiwanie pełnotekstowe w dokumentach o strukturze XML JBoss serwer aplikacji J2EE PostgreSQL relacyjna baza danych przechowująca dane o użytkownikach systemu, ich kryteriach obserwacji i monitorowania aukcji L A TEX system składu tekstu użyty przy budowie dokumentacji Apache Ant system budowania projektu HTMLParser biblioteka do przekształcania strony w formacie HTML do postaci drzewa 9
Java SDK, J2EE SDK CVS repozytorium dokumentacji 10
Rozdział 3 Wkład w pracę zespołu 3.1. Skład zespołu System Aukcjomat został zaprojektowany i zaimplementowany w składzie: Zofia Barańczuk kontroler jakości Karol Cwalina Krzysztof Dulęba Paweł Parys Marek Turski kierownik zespołu 3.2. Wkład w projekt systemu Mój wkład pracy w projekt systemu obejmuje: Zebranie informacji o potrzebach potencjalnych użytkowników Zebranie informacji o używanych technologiach Opisanie części przypadków użycia Przygotowanie schematu bazy danych 3.3. Wkład w implementację systemu Mój wkład w implementację systemu obejmuje: Narzędzie do pobierania i dekompozycji syntaktycznej stron Graficzny interfejs do tworzenia schematów stron serwisów Dostosowanie programu do obsługiwanych serwisów (Allegro, ebay, Komputronik, Merlin) 11
Dodatek A Załączniki Na płycie CD-ROM dołączonej do niniejszej pracy znajdują się: dokumenty projektowe wykonane przez zespół kod źródłowy systemu wraz z skryptami do kompilacji dokumentacja użytkownika dokumentacja instalacji skrypty testowe 13