Szybkie tworzenie aplikacji handlu elektronicznego za pomocą rozwiązań Dreamweaver UltraDev i PayPal


Autorzy: Joel Martinez i Ray West (www.basic-ultradev.com)

W niniejszym artykule opisano sposób integracji oprogramowania UltraDev z systemem PayPal przy użyciu bezpłatnego zestawu działań serwera w celu zaprezentowania rozwiązań dla trzech typowych scenariuszy sprzedaży w trybie online. Te działania serwera nazywane pakietem rozszerzeń PayPal są dostępne w witrynie Shore Computers Mike'a Aherna pod adresem http://www.shorecomp.com/ultradev/paypal/default.asp. Pakiet ten jest bezpłatny, ale zachęcamy do wsparcia projektu przy użyciu systemu PayPal, jeżeli okaże się on przydatny w pracy.

Korzystanie z koszyka PayPal bez używania tego zestawu działań serwera wymaga jedynie podstawowej znajomości języka HTML. Można więc łatwo skorzystać z oferowanych funkcji koszyka, jedynie kopiując i wklejając kod bez konieczności używania tego rozszerzenia. Ten pakiet jednak integruje się znakomicie z oprogramowaniem UltraDev i zapewnia łatwy w użyciu interfejs użytkownika. W poniższych przykładach zaprezentowano, jak korzystać z systemu PayPal w trzech typowych scenariuszach transakcji:
  • Zakup pojedynczego przedmiotu umożliwiający sprzedanie jednego przedmiotu przy ustawieniu rodzaju aukcji.
  • Koszyk standardowy umożliwiający ustawienie wielu przedmiotów do zakupu w jednej transakcji PayPal.
  • Koszyk oparty na bazie danych umożliwiający skonfigurowanie systemu magazynu, który może być zarządzany i wyświetlany dynamicznie na stronach z bazy danych.

Tworzenie witryny handlu elektronicznego za pomocą systemu PayPal


Tworzenie witryny handlu elektronicznego przy użyciu systemu PayPal jest prawdopodobnie najłatwiejszym we wdrożeniu rozwiązaniem. Oszczędność czasu wynikająca z braku konieczności projektowania sprawia, że jest to rozwiązanie atrakcyjne cenowo. Wymaga to jednak odrobiny kompromisu. Ponieważ wszystkie dynamiczne funkcje koszyka są obsługiwane w okienku wyskakującym, możliwości dostosowania tej funkcji poza dodaniem firmowego logo do koszyka są ograniczone. Jak przedstawiono, w większości witryn nie jest wymagane umieszczenie całkowicie dostosowanego interfejsu użytkownika i dlatego doceniane są w nich zalety używania tego systemu. Znajome interfejsy utworzone przez firmę PayPal służą rzeczywiście do zachowania poufności informacji o klientach.

Jest to pakiet rozszerzeń, w którym dostępnych jest wiele działań serwera, każde oferujące trochę inne możliwości. Niektóre elementy są jednak wspólne.
  • Adres e-mail systemu PayPal — każde działanie serwera będzie wymagało wprowadzenia adresu e-mail używanego dla konta PayPal. Jeśli przy użyciu konta będzie prowadzona działalność firmowa, warto jest wybrać konto firmowe.
  • Pola statyczne/dynamiczne — prawie każde działanie serwera korzysta z pól umożliwiających wybranie przedmiotów z okna danych powiązanych w oprogramowaniu UltraDev lub wartości statycznych. Warto pamiętać, że używane wartości statyczne muszą zostać umieszczone w cudzysłowach podwójnych. (np. „5,00”)
  • Pieniądze — wszystkie pola dotyczące pieniędzy muszą mieć format „xx.xx”. Jeśli wartość jest przypisywana do jednego z tych pól za pomocą palety danych powiązanych, należy upewnić się, że dane mają ten format. Można skorzystać z wbudowanej funkcji oprogramowania UltraDev w celu przypisania schematu formatowania do tej wartości.

Rysunek 1: formatowanie wartości monetarnych palety przypisywania danych powiązanych
  • Pola adresu URL — niektóre z działań serwera wymagają podania adresu URL do znaku logo lub strony wysyłanych do użytkownika po przetworzeniu transakcji. Wszystkie adresy URL muszą być pełne, co oznacza, że muszą mieć postać http://www.nazwadomeny.com.
Działania serwera

Poniższe działania serwera są dostępne w pakiecie, udostępniając interfejs do obsługi funkcji systemu PayPal.
  1. Działanie pojedynczego zakupu
    Po zastosowaniu do obrazu lub fragmentu tekstu to zachowanie serwera zapewnia bezpośrednie łącze do ekranu realizacji transakcji w systemie PayPal. Umożliwia tworzenie łącz, takich jak „Kup mnie teraz!”. Rozwiązanie to jest przydatne dla witryn, w których sprzedawany jest tylko jeden produkt lub usługa.
  2. Wykorzystanie innego koszyka
    Jeśli zostanie wybrane korzystanie z innego mechanizmu koszyka, takiego jak UltraCart II, nadal można będzie korzystać z usług zapewnianych przez system PayPal w celu przyjmowania płatności za produkty. Jedynymi wymaganymi do udostępnienia informacjami (poza identyfikatorem systemu PayPal i kilkoma adresami URL) są numer zamówienia i łączna kwota zamówienia. Informacje te są z łatwością zbierane i przekazywane do prostego interfejsu użytkownika.
  3. Działanie Dodaj do koszyka
    Jest to prawdopodobnie najczęściej używane działanie serwera. Działanie Dodaj do koszyka można bardzo łatwo zintegrować z ekranem wyświetlania przedmiotów z bazy danych, umożliwiając klientom dokonywanie zakupów i dodawanie przedmiotów do koszyka. Po każdym kliknięciu wygenerowanego łącza otwierane jest okienko wyskakujące, które wyświetla w dogodny sposób zawartość koszyka. Użytkownicy mogą następnie przejść z tego ekranu do obszaru realizacji transakcji, w którym mogą zalogować się do konta PayPal lub jedynie udostępnić informacje dotyczące płatności.
  4. Działanie Pokaż koszyk
    Jest używane w połączeniu z działaniem „Dodaj do koszyka”. Po kliknięciu łącza wygenerowanego przez działanie serwera Pokaż koszyk wyświetlane jest okienko wyskakujące wyświetlające zawartość koszyka. Wymagane jest jedynie podanie identyfikatora adresu e-mail używanego w systemie PayPal.
  5. Działanie darowizny
    Łącze tworzone przez to działanie serwera przenosi użytkownika do ekranu, w którym może on wysłać pieniądze ze swojego konta PayPal. Osoby sprzedające oprogramowanie shareware oraz organizacje niekomercyjne mogą skorzystać z tego rozwiązania, ponieważ umożliwia ono przyjmowanie pieniędzy za pomocą witryny bez konieczności definiowania zakupu.
  6. Działanie subskrypcji
    Witryny oferujące dostęp do treści na zasadzie subskrypcji mogą korzystać z zalet tej unikalnej usługi oferowanej przez system PayPal. Użytkownicy, którzy dokonają subskrypcji usługi, otrzymają z systemu PayPal odnawialny miesięczny rachunek. Pieniądze są przesyłane bezpośrednio na konto PayPal firmy, która także otrzymuje wiadomość e-mail powiadamiającą o każdej płatności dokonanej przez użytkowników przedłużających subskrypcję. Łącze wygenerowane przez to działanie serwera wyświetla okienko wyskakujące z prośbą o podanie informacji na temat płatności.

Praktyczne zastosowania pakietu PayPal


Można przytoczyć dwa typowe scenariusze, które obejmują większość scenariuszy handlu elektronicznego obserwowanych aktualnie w sieci Web. Pojedyncza sprzedaż przypomina model aukcji, w którym sprzedający oferuje tyko jeden przedmiot, a po jego sprzedaniu nie zamawia kolejnych egzemplarzy. Model koszyka obejmuje sprzedaż wielu przedmiotów i wielu egzemplarzy przedmiotów. Poniżej przedstawiono trzy przykłady, w których usługa PayPal jest przeznaczona do sprzedaży jednego przedmiotu, koszyka przy użyciu koszyka PayPal oraz koszyka innej firmy współpracującego z systemem PayPal.

Przygotowaliśmy także witrynę demonstracyjną dostępną pod adresem http://www.codecube.net/teksales/. Można w niej znaleźć przykłady opisane w niniejszym artykule.


Rysunek 2: witryna demonstracyjna teksales


„Poproszę jeden” — sprzedaż pojedynczego przedmiotu


Działanie serwera pojedynczego zakupu jest używane, gdy wymagane jest sprzedanie jednego przedmiotu. Użytkownicy serwisu eBay już długo korzystają z tej funkcji do otrzymywania płatności za przedmioty wystawiane na aukcjach. Jeśli w witrynie jest sprzedawany więcej niż jeden przedmiot, wówczas należy skorzystać z innych działań, które lepiej obsługują to zadanie. Jednak dla jednorazowej sprzedaży używanego lub kolekcjonerskiego przedmiotu działanie serwera pojedynczego zakupu zapewnia szybką i prostą metodę.

Wyobraź sobie, że masz najbardziej pożądany w okolicy motor — Ducati Monster S4Fogarty. Pewnego dnia, podczas przejażdżki samochód nagle zajechał Tobie drogę podczas zmiany pasa. Od tamtej pory, po tym jak przejażdżka omal nie skończyła się tragicznie, nie możesz już jeździć na motorze, ponieważ samo wspomnienie tamtej sytuacji wywołuje w Tobie dreszcze. Decydujesz więc sprzedać motor za pomocą swojej witryny. Wykonujesz szybki projekt w oprogramowaniu UltraDev i umieszczasz go w witrynie.


Rysunek 3: witryna sprzedaży motoru Ducati

Wydawało się, że ludzie ustawią się w kolejce do kupna tego postrachu szos, ale niestety nikt się nie zgłasza. Przyczyn może być wiele. Możliwe, że cena jest zbyt wysoka, aby wiele osób mogło wypisać czek na taką kwotę.

Korzystanie z działania serwera pojedynczego zakupu

Korzystanie z działania serwera pojedynczego zakupu jest całkiem proste. Po zaprojektowaniu strony wystarczy tylko wybrać element strony, który będzie pełnił funkcje przycisku zakupu. Może to być obraz „Kup mnie” lub tekst o takiej treści. Podświetl obiekt i zastosuj działanie serwera, tak jak każde inne. Działanie serwera pojedynczego zakupu można znaleźć w palecie działań serwera w obszarze PayPal > Pojedynczy zakup systemu PayPal.



Rysunek 4: pojedynczy zakup

Wypełnij pola w interfejsie działania serwera i już wszystko jest gotowe. Gdy użytkownik kliknie łącze wygenerowane przez działanie, zostanie wyświetlone okno zawierające informacje dotyczące dokonania płatności, a następnie użytkownik zostanie przeprowadzony przez proces realizacji transakcji. Po ukończeniu sprzedaży odbierzesz potwierdzenie dotyczące ukończenia sprzedaży z serwisy PayPal i możesz już przygotować motor do wysłania.


„Poproszę po dwa każdego typu” — koszyk standardowy


Aktualnie większość przeprowadzanych transakcji w Internecie to transakcje pojedynczej sprzedaży, szczególnie że aukcje w trybie online są bardzo popularne. Osoby, które chcą uczynić swoją witrynę stałym źródłem dochodów, stają przed kolejnymi wyzwaniami. Zazwyczaj oferują one różne produkty i mają nadzieję, że klienci będą dokonywać wielokrotnie zakupu kilku przedmiotów jednocześnie.

Powróćmy więc do przykładu dobrze zapowiadającego się sprzedawcy motorów. Sprzedanie motoru Ducati pokazało, że istnieje wysoki popyt na sprzedaż motorów, dlatego warto założyć firmę internetową oferującą niektóre modele. Dzięki nowemu systemowi płatności internetowych PayPal firma się rozwija. Osiągasz wysokie zyski ze sprzedaży motorów w swojej witrynie, ale pragniesz więcej, więc postanawiasz rozpocząć sprzedaż produktów uzupełniających asortyment, takich jak kaski i gogle. To całkiem prosty pomysł, ale nie można go zrealizować przy użyciu poprzedniego rozwiązania. Podczas cotygodniowych zakupów w markecie uświadamiasz sobie, że wkładasz do koszyka z zakupami rozpuszczalnik tuż obok mleka i jajek. Właśnie tego potrzebujesz — koszyka z zakupami.

Krótko mówiąc, internetowy koszyk umożliwia odwiedzającym zakupienie wielu przedmiotów podczas jednej transakcji. Gdy klienci przechodzą między stronami witryny, przeglądają dostępne przedmioty i wybierają przedmioty do zakupienia, koszyk „zapamiętuje” wybrane przedmioty przy użyciu zmiennych sesji, plików cookie i bazy danych. Gdy klient zdecyduje się na zrealizowanie transakcji, wprowadza informacje dotyczące płatności i tym samym składa zamówienie na wszystkie wybrane przedmioty.

Korzystanie z koszyka PayPal

Używanie działania serwera koszyka jest bardzo podobne do działania pojedynczego zakupu. Ale ponieważ działanie to jest używane wraz z mechanizmem koszyka, istnieje kilka różnic, które warto wymienić. Po pierwsze opcja ta umożliwia klientom wybieranie liczby egzemplarzy kupowanego przedmiotu, na przykład dwóch par rękawiczek czy trzech zestawów łat na spodnie skórzane. Dodatkowo działanie, które jest wykonywane po kliknięciu przycisku zakupu, dodaje jedynie przedmiot do koszyka i nie przerywa przeglądania asortymentu żądaniem o natychmiastowe wprowadzenie informacji dotyczących płatności.

Aby zastosować to działanie serwera do przedmiotu, wystarczy podświetlić obiekt lub tekst na stronie i wybrać działanie serwera Dodaj do koszyka ze strony PayPal > Dodaj przedmiot do koszyka w systemie PayPal dostępnej w palecie działań serwera. Czynność tę należy powtórzyć dla każdego przedmiotu dostępnego w witrynie.



Utworzone łącze będzie wyświetlało okienko wyskakujące z mechanizmem koszyka PayPal oraz każdy dodany do niego przedmiot. Po kolejnym kliknięciu przedmiotu liczba zostanie zwiększona o jeden. W tej sytuacji jest to zalecane rozwiązanie, ponieważ kupujący chcą zazwyczaj wykonywać jak najmniej czynności podczas kupowania produktów, więc jeśli można oszczędzić im kilku dodatkowych kliknięć, są bardziej zadowoleni z obsługi. Zadowoleni klienci natomiast kupują więcej produktów.

Korzystanie z systemu PayPal przy koszyku opartym na bazie danych


Poprzednie przykłady są dobrymi ćwiczeniami szkoleniowymi, ponieważ w wielu przypadkach może zajść podobna sytuacja, w której wymagane będzie zastosowanie jedynie bardzo podstawowych funkcji systemu PayPal. Prawdziwą moc tego pakietu rozszerzeń można przedstawić, gdy jest on używany w połączeniu z rozwiązaniem magazynu opartego na bazie danych. W przypadku korzystania z bazy danych do zarządzania produktami potrzebny jest dodatkowy czas przeznaczony na projektowanie, ale później pojawiają się zalety związane z łatwą obsługą i zarządzaniem. Po poprawnym zaprojektowaniu witryna sama zaczyna sprzedawać.

Struktura tabeli

Najwięcej czasu podczas tworzenia witryny tego typu zajmuje utworzenie samej bazy danych. Zastosowanie koszyka systemu PayPal jest w tym przypadku najprostszą czynnością. Na użytek tego omówienia przyjmiemy klasyczną strukturę danych nadrzędne/podrzędne — główne/szczegółowe. Jest to struktura bazy danych, z której korzysta 99% baz danych występujących w Internecie. Jeśli konieczne jest uzyskanie pomocy dotyczącej tworzenia bazy danych w takim projekcie, w Internecie dostępnych jest wiele zasobów, które mogą pomóc w ukończeniu tego etapu.

Dla każdego wiersza tabeli nadrzędnej może występować od zera do wielu wierszy w tabeli podrzędnej. W przypadku witryny sklepu online oznacza to, że tabela kategorii będzie tabelą nadrzędną, a tabela produktu — podrzędną. Poniżej znajdują się przykłady danych umieszczonych w kategoriach:

Telewizory
– Sony 20"
– RCA 19"
– Magnavox 32"

Magnetowidy
– Panasonic dwugłowicowy
– Samsung czterogłowicowy

Należy rozpocząć od zdefiniowania następujących pól tabeli Kategoria:
  • IDKat — numer automatyczny
  • NazwaKat — tekst
Jak można zauważyć, tabela nadrzędna zazwyczaj nie wymaga wielu informacji, ponieważ zwykle służy do organizacji wielu wierszy tabeli podrzędnej. Inne informacje, które mogą być przechowywane w tej tabeli, obejmują:
  • Szczegółowy opis
  • Obraz kategorii
  • Pole aktywności określające, czy dana kategoria jest aktualnie aktywna
Ta tabela może zostać użyta na stronie wyświetlającej listę wszystkich kategorii przedmiotów, które są dostępne w witrynie. Klient może następnie wybrać kategorię, aby wyświetlić szczegółowe informacje na temat produktów dostępnych w każdej kategorii.

Kolejną potrzebną tabelą jest tabela produktów. Będzie ona przechowywać informacje na temat poszczególnych produktów, więc musi zawierać pole dla każdego przedmiotu odpowiadającego działaniu serwera Dodaj do koszyka.
  • IDPrzedmiotu — numer automatyczny
  • IDKat — liczba
  • NazwaPrzedmiotu — tekst
  • Kwota — waluta
  • Wysyłka — waluta
  • Obsługa — waluta
Jeśli niektóre z powyższych pól nie będą używane (np. nie jest pobierana opłata za wysyłkę), można wstawić wartość „0”.

Podobnie jak w przypadku tabeli kategorii korzystamy tu z minimalnej liczby pól, aby zapewnić zwięzłość tabeli. Inne możliwe pola mogą obejmować:
  • Datę dodania
  • Aktywna
  • Widoki strony

Rysunek 6: relacyjne bazy danych
Graficzna prezentacja relacji między dwiema tabelami

Po utworzeniu struktury bazy danych warto wypełnić tabele danymi testowymi. Można je później zastąpić rzeczywistymi odpowiednikami. Najpierw należy utworzyć kilka kategorii.



Rysunek 7: zawartość tabeli

Należy pamiętać, że każda kategoria jest kontenerem logicznym przechowującym podrzędne tabele produktów. Relacja jest ustanawiana między tabelą kategorii a danym produktem przez umieszczenie wpisu „IDKat” kategorii nadrzędnej w polu numerycznym „IDKat” tabeli podrzędnej produktów. Bardziej złożona struktura tabeli może zostać utworzona w celu zapewnienia obsługi produktów, które mogą zaliczać się do więcej niż jednej kategorii, ale powyższe rozwiązanie wystarczy na początek przygody z bazami danych.


Rysunek 8: zawartość tabeli produktów


Wyświetlanie danych

Po wprowadzeniu danych do bazy danych, z którymi można przetestować jej działanie, następnym krokiem jest wyświetlenie tych danych na stronie. Na potrzeby tej demonstracji potrzebne są tylko dwie strony: główna strona wyświetlająca wszystkie kategorie, na której użytkownik może dokonać wyboru, oraz strona ze szczegółowymi informacjami wyświetlająca wszystkie produkty z wybranej kategorii.

Najpierw należy utworzyć tabelę w języku HTML, która posłuży jako interfejs użytkownika. Tabela o dwóch wierszach i kolumnach będzie odpowiednia w tym przypadku. Pierwszy wiersz będzie nagłówkiem opisującym zawartość danej kolumny, a drugi wiersz będzie wyświetlał zawartość zestawu rekordów. Utwórz zestaw rekordów pobierający nazwę i ID kategorii z tabeli.

Przeciągnij nazwę kategorii z palety źródła danych do drugiego wiersza pierwszej kolumny. W drugiej kolumnie umieszczone zostanie łącze podglądu produktu.

Aby utworzyć to łącze, podświetl tekst i za pomocą inspektora właściwości przejdź do strony, w której będą wyświetlane produkty. Kliknij ikonę folderu, aby wyświetlić listę stron dostępnych w witrynie. Wybierz stronę produktów, a następnie kliknij przycisk Parametry u dołu okna dialogowego. W oknie Parametry można teraz utworzyć parametr adresu URL o nazwie IDKat (który jest używany do filtrowania zestawu rekordów produktów) i przypisać mu wartość z bazy danych, wybierając pole IDKat i klikając ikonę błyskawicy. Teraz po kliknięciu przycisku podglądu obok kategorii odpowiadający identyfikator zostanie przekazany do zestawu rekordów produktów w adresie URL, a na stronie ze szczegółowymi informacjami zostaną wyświetlone tylko produkty z danej kategorii. Następnie w drugim wierszu można dodać działanie serwera powtarzania regionu.

Gdy strona kategorii już działa, następnym krokiem jest utworzenie strony z informacjami szczegółowymi. Wiemy, że osoby wyświetlające tę stronę przejdą na nią ze strony kategorii i dlatego adres URL będzie miał człon składający się z wpisu IDKat w ciągu kwerendy. Dlatego należy zacząć od utworzenia zestawu rekordów pobierającego wartość każdego pola w tabeli. Pole IDKat będzie filtrowane według wartości z ciągu kwerendy przy użyciu funkcji request("IDKat").


Rysunek 9: zasoby kategorii

Interfejs użytkownika dla tej tabeli może mieć identyczny układ, z wyjątkiem dodatkowej kolumny zawierającej cenę. Przeciągnij nazwę przedmiotu do pierwszej kolumny, cenę do drugiej i wpisz tekst „Dodaj do koszyka” w trzeciej. Podświetl tekst „Dodaj do koszyka” i wybierz działanie Dodaj do koszyka z palety działań serwera. Dla większości pól w interfejsie użytkownika obok pola tekstowego znajduje się symbol małej błyskawicy. Umożliwia to zapełnienie pól wpisami bazy danych przy użyciu zestawu rekordów utworzonego w oknie źródeł danych. Wybierz pole z bazy dany dla każdego przedmiotu skojarzonego z działaniem serwera. Po wykonaniu tej czynności możesz dodać powtórzenie regionu w drugim wierszu. Gdy po uruchomieniu produkty z bazy danych zostaną wyświetlone na stronie, każda instancja działania Dodaj do koszyka będzie skojarzona z odpowiednimi informacjami. Kliknięcie dowolnego elementu spowoduje uaktualnienie koszyka wprowadzonymi informacjami. Można teraz obsługiwać przedmioty przy użyciu bazy danych bez konieczności edytowania kodu HTML stron.


Rysunek 10: dodaj do koszyka

To już wszystko na ten temat. Klienci mogą teraz przeglądać katalog przedmiotów, wybierać te, które chcą kupić i realizować transakcję. Szybkie projektowanie aplikacji jest jednym z elementów, które sprawiają, że pakiet PayPal jest doskonałym rozwiązaniem handlu elektronicznego. Inne mechanizmy koszyków wymagają poświęcenia dużej ilości czasu na konfigurację, a przy tym nie obsługują dokonywania płatności. Ta witryna demonstracyjna została utworzona w ciągu godziny przy użyciu oprogramowania Dreamweaver UltraDev i pakietu rozszerzeń PayPal.

Niniejszy artykuł jest fragmentem książki „UltraDev E-commerce Concepts: Next Steps” autorstwa Raya Westa, Toma Mucka i Joela Martineza. Więcej informacji na temat oprogramowania UltraDev i handlu elektronicznego można uzyskać, odwiedzając witrynę Basic UltraDev pod adresem www.basic-ultradev.com. Można w niej znaleźć informacje na temat książek, samouczki i rozszerzenia, które mogą znacznie zwiększyć możliwości wykonywania projektów internetowych.

DEKLARACJA WYŁĄCZENIA ODPOWIEDZIALNOŚCI: Poniższe treści zostały dostarczone przez autorów poszczególnych artykułów, a nie przez firmę PayPal, Inc., czy jej partnerów lub podmioty zależne. Artykuły te mogą zawierać błędy, a firma PayPal ich nie zatwierdza i nie bierze na siebie odpowiedzialności za ich treść. Firma PayPal zaleca skontaktowanie się z autorami tych artykułów w celu uzyskania odpowiedzi na pytania oraz informacji o pomocy technicznej, gwarancjach i/lub licencjach, o ile są one niezbędne. Użytkownik korzysta z treści artykułów na własne ryzyko. Firma PayPal nie ponosi żadnej odpowiedzialności za błędy, uszkodzenia i inne szkody powstałe w wyniku polegania na takich treściach, w tym za szkody przypadkowe, specjalne, pośrednie czy wtórne. Firma PayPal ZRZEKA SIĘ JAKIEJKOLWIEK ODPOWIEDZIALNOŚCI za takie treści i ich wykorzystanie.