Wstęp do pracy magisterskiej – „Sklep I nternetowy – PHP5 i MySQL zastosowania...

31
Wstęp do pracy magisterskiej – „Sklep Internetowy – PHP5 i MySQL zastosowania e-commerce” Konrad Pawłowski Poznań, 8.III.2007

description

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 - PowerPoint PPT Presentation

Transcript of Wstęp do pracy magisterskiej – „Sklep I nternetowy – PHP5 i MySQL zastosowania...

Page 1: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

Wstęp do pracy magisterskiej – „Sklep Internetowy – PHP5 i MySQL zastosowania e-commerce”

Konrad Pawłowski Poznań, 8.III.2007

Page 2: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

2

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żenia2. 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

Spis zagadnień

Page 3: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

3

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ń;

Czy warto zaistnieć w internecie?

Page 4: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

4

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

Pozyskanie większej liczby klientów

Page 5: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

5

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

Page 6: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

6

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)

Nakłonienie klientów do zwiększenia zakupów

Page 7: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

7

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

Zmniejszenie kosztów realizacji zamówień

Page 8: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

8

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

Page 9: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

9

Sporządzanie kopii zapasowych ( 5 minut które są bardzo ważne)

Właściwe procedury logistyczne (terminowe dostarczanie zakupionych towarów)

Ryzyko i zagrożenia

Page 10: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

10

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;

Projektowanie z uwzględnieniem możliwości rozbudowy

Page 11: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

11

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

Page 12: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

12

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.

Długookresowa funkcjonalności przy minimalnym nakładzie pracy

Page 13: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

13

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.

Zalety architektury trójwarstwowej

Page 14: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

14

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 prezentacji

Page 15: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

15

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 biznesowa (warstwa pośrednia)

Page 16: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

16

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.

Warstwa danych(warstwa bazodanowa)

Page 17: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

17

◦ 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.

Sposób przekazywania informacji w aplikacji trójwarstwowej

Warstwa prezentacji

Warstwa biznesowa

Warstwa danych

Page 18: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

18

Sposób przekazywania informacji w aplikacji trójwarstwowejTu będzie opis poszczególnych

kroków

Warstwa prezentacji

Warstwa biznesowa

Warstwa danych

Internet

1

2

3

4

5

6

7

Użytkownik korzystający z przeglądarki internetowej

Trójwarstwowa architektura aplikacji WWW zaimplementowana w systemie serwera

WWW

Page 19: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

19

Architektura trójwarstwowa – znaczenie liczbTu będzie opis poszczególnych kroków

Produkt nie jest

dostępny

Warstwa prezentacji

Warstwa biznesowa

Warstwa danych

Kliknięcie przycisku „Dodaj

do koszyka”

Poinformowanie użytkownika o tym, że produkt nie może zostać dodany do koszyka zakupów

Dodanie produktu do

koszyka zakupów

Jaki jest stan magazynowy

produktu0

Page 20: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

20

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

Page 21: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

21

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

Page 22: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

22

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.

Architektura trójwarstwowa

Page 23: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

23

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 -PHP

Page 24: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

24

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 szablonystron.

◦ Nie jest konieczny, ale bardzo przydatny wprofesjonalnych projektach.

Wybór technologii i narzędzi projektowych – szablony Smarty

Page 25: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

25

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 iprogramistów, wszyscy pracują na tych samych plikach zawierających kod HTML i PHP

Wybór technologii i narzędzi projektowych – szablony Smarty

Page 26: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

26

Zalety◦ bezpieczeństwo kodu źródłowego (projektanci układu

strony nie mogą naruszyć struktury aplikacji);◦ nieprawidłowości w szablonach są ograniczone do

systemuobsł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

Page 27: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

27

Wybór technologii i narzędzi projektowych – szablony SmartyNa rysunku została przedstawiona zależność między plikiem szablonu interfejsu (Smarty Design Template) i plikiem modułu dodatku Smarty.

Page 28: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

28

Język PHP współdziała z wieloma RDBMS (Relational Database Managment 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

Page 29: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

29

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)

Page 30: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

30

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_connect i mysql_query na pg_connect i pq_query.

Wybór technologii i narzędzi projektowych – moduł PEARL DB

Page 31: Wstęp do pracy  magisterskiej –  „Sklep  I nternetowy  –  PHP5  i  MySQL zastosowania e-commerce”

31

Dziękuje za uwagę!

Pytania?Konrad Pawł[email protected]

Koniec