310 likes | 477 Views
Wstęp do pracy magisterskiej – „Sklep I nternetowy – PHP5 i MySQL zastosowania e-commerce”. Konrad Pawłowski Poznań, 8.III.2007. Spis zagadnień. 1. Czy warto zaistnieć w internecie ? Pozyskanie większej ilości klientów Nakłonienie klientów do zwiększenia zakupów
E N D
Wstęp do pracy magisterskiej – „Sklep Internetowy – PHP5 i MySQLzastosowania e-commerce” Konrad Pawłowski Poznań, 8.III.2007
Spis zagadnień 1. Czy warto zaistnieć w internecie? • Pozyskanie większej ilości klientów • Nakłonienie klientów do zwiększenia zakupów • Zmniejszenie kosztów realizacji zamówień • Ryzyko i zagrożenia 2. Projektowanie z uwzględnieniem możliwości rozbudowy witryny • Długookresowa funkcjonalności przy minimalnym nakładzie pracy • Zalety architektury trójwarstwowej • Warstwa prezentacji • Warstwa biznesowa • Warstwa danych 3. Wybór technologii i narzędzi projektowych • PHP • szablony Smarty • MySQL • moduł PEARL DB
Czy warto zaistnieć w internecie? Przyczyny uruchomienia witryny internetowej: • chęć pozyskania większej liczby klientów; • nakłonienie dotychczasowych klientów do zwiększenia zakupów; • zmniejszenie kosztów realizacji zamówień;
Pozyskanie większej liczby klientów • Najważniejszy powód rozpoczęcia inwestycji • Nieprawdą jest, że liczba klientów wzrośnie natychmiast, klient musi dowiedzieć się o istnieniu sklep (także klasycznego sklepu). • Sposoby pozyskiwania klientów • rejestrowanie w wyszukiwarkach internetowych i usługach katalogowych • tworzenie forów dyskusyjnych • budowanie list informacyjnych
Nakłonienie klientów do zwiększenia zakupów • Jeśli klient nie jest zainteresowany produktem sklep internetowy tego nie zmieni. • Sklep w Internecie pomocny gdy: • Dotarcie do sklepu lub złożenie zamówienia jest wyjątkowo trudne. • Część towarów można kupić w innych dogodniejszych miejscach. • Godziny otwarcia sklepu pokrywają sie z godzinami pracy klientów. • Promowanie produktu jest bardzo trudne.
Nakłonienie klientów do zwiększenia zakupów • Zakupy można dokonywać poza godzinami pracy lub bezpośrednio z komputerów firmowych. • Przemyślany interfejs może nakłonić do zakupu produktów zazwyczaj niepotrzebnych • Sezonowe promocje, nowości, produkty związane z wcześniej zamówionymi towarami • Brak kosztów z osobami nie dokonującymi zakupów • Możliwość zbierania informacji o klientach (np. adresy e-mail)
Zmniejszenie kosztów realizacji zamówień • Formularz realizacji zamówień realizowany przez klientów (nie potrzeba pracownika) • Koszt rzeczywistego przetwarzania zamówienia bliski zeru (brak kasjerek, sprzedawców czy ochroniarzy) • Brak opłaty za lokal
Ryzyko i zagrożenia • Do zagrożeń związanych z prowadzeniem sklepu internetowego należy zaliczyć: • działanie hakerów, • wyłudzanie z wykorzystaniem kart kredytowych, • awarie sprzętu, • zawodność dostawców, • błędy oprogramowania, • zmieniające się prawo (np. wirtualne apteki). Należy pamiętać o ich istnieniu i zabezpieczyć się przed ich skutkami.
Ryzyko i zagrożenia • Sporządzanie kopii zapasowych ( 5 minut które są bardzo ważne) • Właściwe procedury logistyczne (terminowe dostarczanie zakupionych towarów)
Projektowanie z uwzględnieniem możliwości rozbudowy • Wygląd strony ważny, ale nie najważniejszy • Wygląd zachęca do rozpoczęcia korzystania z serwisu, jeśli jednak jest powolny w działaniu, trudny w użyciu, i nie zapada w pamięć to wygląd strony wiele nie pomoże • Błędne przekonanie o wyższości części wizualnej nad sposobem implementacji • Przed rozpoczęciem należy wykonać pewne czynności przygotowywawcze: • określenie stawianych oczekiwań; • przygotowanie architektury aplikacji;
Długookresowa funkcjonalności przy minimalnym nakładzie pracy • Powtórne wykorzystanie • Dodanie nowej opcji, nie powinno doprowadzać do zmiany projektu całej witryny. Wykorzystanie wcześniejszych rozwiązań, możliwość rozbudowy. • Elastyczna architektura • Złożona z łatwo dołączalnych komponentów. • Skalowalność architektury • Zdolność do liniowego zwiększania pojemności systemu przy zwiększaniu jego zasobów.
Długookresowa funkcjonalności przy minimalnym nakładzie pracy • Stabilność • Stabilne działanie rozwiązania zapewnia spójny mechanizm obsługi błędów i stosowanie wydajnych relacyjnych baz danych. Umożliwia to właściwe przetwarzanie niekrytycznych błędów, bez przerywania pracy skryptów.
Zalety architektury trójwarstwowej Każdy z modułów tworzonych na potrzeby witryny zawiera komponenty pochodzące z jednej z trzech wymienionych poniżej warstw serwera aplikacji: • warstwy prezentacji, • warstwy biznesowej, • Warstwy danych.
Warstwa prezentacji • Składa się z elementów interfejsu użytkownika. • Obsługuje interakcje użytkownika z warstwą biznesową. • Na jej podstawie użytkownik wyrabia sobie pierwsze wrażenie. • Ponieważ omawiana aplikacja jest witryną WWW, jej warstwa prezentacji składa się z dynamicznych stron WWW.
Warstwa biznesowa (warstwa pośrednia) • Przyjmuje żądania z warstwy prezentacji i przekazuje wyniki działania programu do warstwy prezentacji. • Większość zdarzeń zostaje obsłużonych w warstwie biznezowych. • Niektóre zdarzenia mogą być obsłużone lokalnie przez warstwę prezentacji. • Np. nieskomplikowane walidacje danych
Warstwa danych(warstwa bazodanowa) • Jest odpowiedzialna za zarządzanie danymi aplikacji i za udostępnianie ich na żądanie warstwy biznesowej. • W przypadku projektowanej przeze mnie aplikacji w warstwie danych zostaną zgromadzone informacje na temat wszystkich produktów, użytkowników, koszyków z zakupami itp. • Zagwarantowanie szybkiego działania baz danych ma zasadnicze znaczenie dla uzyskania wysokiej wydajności całej aplikacji.
Sposób przekazywania informacji w aplikacji trójwarstwowej • Głównym ograniczeniem trójwarstwowej architektury serwisu jest konieczność sekwencyjnego przekazywania danych między warstwami. • Warstwa biznesowa stanowi „mózg” aplikacji – komunikując się z pozostałymi warstwami i zarządzając przepływem informacji. Warstwa prezentacji Warstwa biznesowa Warstwa danych
Użytkownik korzystający z przeglądarki internetowej 1 7 Internet Trójwarstwowa architektura aplikacji WWW zaimplementowana w systemie serwera WWW Warstwa prezentacji 2 6 Warstwa biznesowa 3 5 Sposób przekazywania informacji w aplikacji trójwarstwowej Tu będzie opis poszczególnych kroków Warstwa danych 4
Produkt nie jest dostępny Poinformowanie użytkownika o tym, że produkt nie może zostać dodany do koszyka zakupów Kliknięcie przycisku „Dodaj do koszyka” Warstwa prezentacji Dodanie produktu do koszyka zakupów Warstwa biznesowa Jaki jest stan magazynowy produktu 0 Architektura trójwarstwowa – znaczenie liczb Tu będzie opis poszczególnych kroków Warstwa danych
Architektura trójwarstwowa • Oprogramowanie każdej z warstw. • Wyznaczanie granic między warstwami bywa trudne. • Czasami architektura jest łamana, jeśli dane rozwiązanie zwiększa wydajność serwisu. • Rozwiązanie na poprzednim slajdzie wymaga dwóch odwołań, przy przeniesieniu części oprogramowania z warstwy biznesowej do warstwy danych możemy użyć pojedynczego odwołania wprowadzając metodę tupu DodajProduktJeśliJest • Nie należy odwoływać się bezpośrednio do warstwy danych z warstwy prezentacji. Nadmierna złożoność.
Architektura trójwarstwowa • Trójwarstwowa architektura w projekcie pracy magisterskiej. • Wprowadzone reguły zapewniają elastyczność oraz możliwość rozbudowania z biegiem czasu. • Niezależność rozwiązania od wprowadzanych zmian. Np. w przypadku zmiany serwera MySQL bazą danych Oracle, zmiany nastąpią w warstwie danych oraz ewentualnie małe poprawki w warstwie biznesowej.
Architektura trójwarstwowa • Dlaczego nie stosuje się większej liczby warstw? • Dopuszczalne stosowanie architektur warstwowych, większa ilość warstw może wprowadzać większą elastyczność i skalowalność aplikacji. • Punkt równowagi między czasem definiowania architektury a czasem poświęconym na jej implementacje. • Architektura dwuwarstwowa (klient-serwer) wykorzystywana w projektach o mniejszej złożoności. Trudniejsza do zarządzania i rozbudowy w dłuższym przedziale czasowym.
Wybór technologii i narzędzi projektowych -PHP • Wykorzystanie języka PHP do generowania stron WWW, przyczyny popularności: • interpreter PHP jest dostępny za darmo; • Język PHP jest łatwiejszy do nauczenia niż inne języki skryptowe; • społeczność PHP działa bardzo efektywnie; • Interpreter PHP działa doskonale na różnych serwerach oraz w różnych systemach operacyjnych (platformy uniksowe, Windows, Mac OS X)
Wybór technologii i narzędzi projektowych – szablony Smarty • Smarty • Jest on napisaną w języku PHP klasą, za pomocą której będziemy w stanie połączyć tworzone oddzielnie: kod źródłowy sterujący witryną WWW oraz opracowane w HTML-u szablony stron. • Nie jest konieczny, ale bardzo przydatny w profesjonalnych projektach.
Wybór technologii i narzędzi projektowych – szablony Smarty • Istotne wady przeplatania instrukcji PHP z kodem HTML odpowiedzialnym za wygląd: • długie, złożone i trudne do analizowania listingi, są one trudne do zrozumienia już po tygodniu od napisania; • problem jednoczesnej pracy projektantów strony i programistów, wszyscy pracują na tych samych plikach zawierających kod HTML i PHP
Wybór technologii i narzędzi projektowych – szablony Smarty • Zalety • bezpieczeństwo kodu źródłowego (projektanci układu strony nie mogą naruszyć struktury aplikacji); • nieprawidłowości w szablonach są ograniczone do systemu obsługi błędów Smarty; • projektanci mogą zmieniać lub kompletnie przebudowywać layout strony bez interwencji programistów; • szablony umożliwiają szybkie zaprezentowanie demonstracyjnej wersji produktu (a jest to bardzo ważne np. na etapie negocjacji).
Wybór technologii i narzędzi projektowych – szablony Smarty Na rysunku została przedstawiona zależność między plikiem szablonu interfejsu (Smarty Design Template) i plikiem modułu dodatku Smarty.
Wybór technologii i narzędzi projektowych - MySQL • Język PHP współdziała z wieloma RDBMS (RelationalDatabaseManagment System), wliczając w to MySQL, PostgreSQL, Oracle i inne. • Wiele firm udostępniających usługi internetowe oferuje dostęp do baz danych MySQL. • Co ułatwia uruchamianie w sieci nowych witryn. • MySQL charakteryzuje się tym, że jest: • darmowy (w niekomercyjnych aplikacjach); • szybki i stabilny;
Wybór technologii i narzędzi projektowych - MySQL Wynik ankiety z której wynika, że MySQL jest najpopularniejszą bazą danych wśród programistów PHP. Tabela pochodzi z: http://www.zend.com/zend/php_survey_results.php (7.III.2007)
Wybór technologii i narzędzi projektowych – moduł PEARL DB • Moduł PEARL DB odpowiada pewnej abstrakcyjnej warstwie bazodanowej, wchodzącej w skład pakietu PEARL. • Oferuje zunifikowany interfejs dostępu do różnego rodzaju źródeł danych. • Stosując rozszerzenia PEARL DB nie trzeba zmieniać kodu skryptu odpowiedzialnego za dostęp do bazy danych w przypadku zmiany serwera. • Np. z MySQL na PostgreSQL. • Przy tej zmianie należałoby np. zmienić mysql_connecti mysql_query na pg_connecti pq_query.
Koniec Dziękuje za uwagę! Pytania? Konrad Pawłowski konradpaw@o2.pl