Csoporttagok:

 

Név

Tankör

Neptunkód

E-mail

Kocsis László

G-3BIW

S05EZK

lacos83@gmail.com

Leczó Attila

G-5S7I

QHSG7R

leczo77@t-online.hu

Márton Tibor

G-6S8

AXWIJV

marton1@iit.uni-miskolc.hu

 

Tartalomjegyzék

 

0. Bevezetés

1. Rendszerkövetelmények

1.1 Hardveres követelmények

1.2 Szoftveres követelmények

1.2.1 Webszever

1.2.2 PHP

1.2.3 Adatbázis

1.2.4 Operációs rendszer

2. Az adatbázis

3. Legfontosabb funkciók

3.1 Bejelentkezés

3.2 Regisztráció

3.3 Böngészés

3.4 Kosár

3.5 Rendelés leadása

 

0. Bevezetés

 

Ezen dokumentum célja, hogy ismertesse az alaklmazásunk futtatáshoz szükséges hardveres és szoftveres követelményeket, valamint betekintést nyújt az általunk legfontosabbnak tartott funkciók működésébe.

 

1. Rendszerkövetelmények

1.1 Hardveres követelmények

Az alkalmazás futtatásához olyan hardverre van szükség, amely képes a lentebb tárgyalt szoftverek futtatására, alkalmas nagy mennyiségű kérés kiszolgálására, valamint kellően nagy tárhelyen rendelkezik az adatok tárolásához. Jelen állapotban a szoftverünk futtatásához elegendőnek látjuk az 1Ghz-es órajelű processzorral, 512 MB memóriával illetve 40 Gb tárhellyel rendelkező számítógépet. További információkért forduljon az alább bemutatandó szoftverek gyártóihoz!

 

1.2 Szoftveres követelmények

A továbbiakban részletesebben tárgyaljuk az alkalmazásunk futtatásához elengedhetetlen szoftvertveres komponenseket.

1.2.1 Webszever

Mivel az alaklmazásunk elsősorban WEB-en keresztül érhető el, ezért elegedhetetlen egy Webserver futtatása. Esetünkben az Apache HTTP Server 2.2.3-as változatát használjuk

Apache

Az Apache HTTP Server (röviden Apache) egy nyílt forráskódú webkiszolgáló alkalmazás, szabad szoftver, mely sok szabványt támogat melyeknek nagy része fordított modulok formájában áll rendelkezésre a mag kiegészítéseként. Ezek a modulok sok területet lefednek a kiszolgálóoldali programnyelvtámogatástól kezdve a hitelesítési sémákig. Az ismertebb, támogatott programnyelv modulok a a mod_perl, a mod_python, a Tcl és a PHP. A népszerűbb hitelesítési modulok a mod_access, mod_auth és a mod_digest.
Statikus és dinamikus weboldalak közzétételére egyaránt használják. Sok webalkalmazást az Apache által nyújtott környezethez és szolgáltatásokhoz terveznek. Az Apache alkotja a webszerver komponenst a népszerű LAMP alkalmazáscsomagban, melynek további komponensei a MySQL adatbázisszerver és a PHP/Perl/Python programozási nyelvek mellett.

Az Apache webszervert különböző kereskedelmi szoftvercsomagok (például az Oracle Database és az IBM WebSphere) részeként is terjesztik. A Mac OS X is magába foglalja az Apache-ot beépített webszerverként. A Novell NetWare 6.5 alapértelmezett webszervere is az Apache.

Az Apache nem csak weboldalak, hanem egyéb tartalom publikálására is használható, például tetszőleges file-ok megosztására is.

Az Apache legújabb verziója hozzáférhető a http://httpd.apache.org/download.cgi oldal

 

1.2.2 PHP

PHP

A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt a PHP-t jórészt szerver-oldalon használják, bár létezik parancssori interfésze is, illetve önálló, grafikus felületű alkalmazások is létrehozhatóak vele. Egy php oldal elérésekor, a kiszolgáló először feldolgozza a PHP utasításokat, és csak a kész (HTML) kimenetet küldi el a böngészőnek, így a programkód nem is látható kliens oldalról. Ehhez egy ún. interpretert (értelmezőt) használ, amely általában egy külső modulja a webszervernek.
A PHP nyelv lényegében nagymértékű kiegészítése a HTML-nek, ugyanis rengeteg olyan feladat végezhető el vele, amelyre az ügyféloldali szkriptek nem képesek (vagy ha igen, korlátozottan). Ilyen például a bejelentkezés, az adatbáziskezelés, filekezelés, kódolás, adategyeztetés, kapcsolatok létrehozása, e-mail küldése, adatfeldolgozás, dinamikus listakészítés stb. Minden olyan esetben, ahol nagyszámú ismétlődő feladatsort kell végrehajtani (például képek listázása és linkelése, listakészítés stb.), ott ez a programnyelv nagyszerű segítség.

Népszerűbb verziók és megjelenési évük:
PHP 4.0          2000   
PHP 4.1          2001   
PHP 4.2          2002   
PHP 4.3          2002   
PHP 4.4          2005   
PHP 5.0          2004   
PHP 5.1          2005   
PHP 5.2          2006

A PHP 4 fejlesztése 2007 végén maradt abba, az utolsó megjelent verziója a 4.4.8 .
A PHP 5 legnagyobb újdonsága a 4-eshez képest a teljes körű objektumorientáltság, jelenleg csak ezt a változatot fejlesztik, legutóbbi kiadása a 5.2.6 verziószámú, amely 2008. május 1-jén jelent meg. A PHP, mint kiszolgáló-oldali programozási nyelv, dokumentációja (kézikönyve) magyarul is elérhető a php.net oldalain.

 

1.2.3 Adatbázis

Szükségünk van egy adatbázis szerverre, mivel az alkalmazás javarészt adatbázisokkal dolgozik. Minden információ megfelelő adatbázis táblákban érhető el. A megvalósítás során a PostgreSQL adatbáziskezelőt használtuk.

PostgreSQL

A PostgreSQL egy szinte minden platformon működő nagy teljesítményű rendkívül megbízható és stabil adatbázis szerver alkalmazás, teljesen nyílt forráskódú és ingyenes. A  POSTGRES adatbázis management rendszer egy kiegészítése, ami egy következõ generációs DBMS kutatási prototípus. Megtartja a POSTGRES adatmodellét és gazdag adattípus választékát, de a PostQuel lekérdezõ nyelvet az SQL egy kiterjesztett verziójával helyettesíti. A PostgreSQL szabad és a teljes forráskód hozzáférhetõ. A legfrissebb kiadás a 8.0 verziószámú.
Rendelkezik a nagy, kereskedelmi DBMS-ek képességeivel: tranzakciók, al-lekérdezések, triggerek, nézetek, külsõ kulcsok, integrítás és kifinoult zármechanizmusok. Van néhány képessége, ami a kereskedelmi adatbázisokból hiányzik, mint például a felhasználó által definiált típusok, öröklõdés, szabályok és verzió kontroll a zárolási viták redukálásáért.
A PostgreSQL teljesítménye hasonlít a kereskedelmi és más nyílt adatbázis szerverekéhez. Lehet bizonyos esetekben lassabb, másokban gyorsabb. A MySQL nevû tanuló RDBMS például gyorsabban hajt végre insert/update mûveleteket, mivel a tranzakciókat elsumákolja. Persze a MySQL nem rendelkezik a képességek részben felsoroltak nagy részével.

A PostgreSQL szerver a következő programozási nyelvekkel érhető el:

C (libpq)
C++ (libpq++)
Embedded C (ecpg)
Java (jdbc)
Perl (DBD::Pg and perl5)
ODBC (odbc)
Python (PyGreSQL)
TCL (libpgtcl)
C Easy API (libpgeasy)
PHP ('pg_' functions, Pear::DB)  

A PostgreSQL legújabb verziója letölthető a http://www.postgresql.org/download/ címen

 

1.2.4 Operációs rendszer

Az alkalmazás futtatásához olyan operációs rendszer érdemes választani, amely képes az előzőekben megfogalmazott szoftverek futtatására. A fenti termékek elérhetőek mind Windows mind UNIX, illetve Linux rendszerekre. A szoftver megvalósítása során választásunk a Debian Linux disztribúcióra esett.

2. Az adatbázis

Az adatbázisban 4 tábla található:

vevo ( felhnev char(20), jelszo char(20), vnev char(20), knev char(20), email char(20), telefon integer, cím char (255)

termek (cikksz integer, termeknev char(255), ar integer, mennyiseg integer, leiras text)

kosar ( felhn char (20), cikk integer, db integer)

rendeles ( felhn char (20), cikk integer, db integer)

Az adatbázis táblák között ergyelőre nem valósul meg kapcsolat, mivel a webalkalmazásunk jelenlegi működéséhez nem szükséges.

 

3. Legfontosabb funkciók

Véleményünk szerint a webáruházunk működtetésének elengedhetetlen funkciói a következők:

 

3.1 Bejelentkezés (index.html)

Legelső dolog, amit a szoftverünk használatával megpillantunk a bejelentkező képernyő. Tartalmaz két szövegmezőt, ahol az előzőleg regisztrált felhasználónév és jelszó segítségével bejelentkezhetünk. A bejelentkezés során a rendszer a bejelentkezes.php oldalon keresztül ellenőrzi, hogy az adatbázis vevő táblájában a megfelelő névhez

 

3.2 Regisztráció (regisztracio.html)

Ahhoz, hogy a szotvert használhassuk szükség van regisztrációra.

A regisztrációs űrlapon az alábbi mezők találhatók:

Felhasználónév (maximum 20 karakter)

Jelszó (maximum 20 karakter)

Vezetéknév (maximum 20 karakter)

Keresztnév (maximum 15 karakter)

E-mail (maximum 255 karakter)

Telefon (maximum 15 karakter)

Cím (maximum 255 karakter)

Ezen az oldalon található a Regisztráció gomb, amelynek megnyomására az űrlap adatait elküldi a regisztracio.php oldalnak, ami a bevitt adatokat az adatbázis "vevo" táblájába. Ha valamely kötelezően kitöltendő mező üresen marad, akkor hibaüzenetet kapunk. Amennyiben olyan mezőt hagyunk üresen, amely kitöltése nem kötelező, akkor az üres mezőként kerül be az adatbázisba.

3.3 Böngészés (bongeszo.php)

A böngésző ablak bejelentkezés után érhető el. Megtalálható rajta az árlista, ami a "termek" tábla mezőiből épül fel dinamikusan, található egy űrlap két szövegmezővel, az egyiken a termekmek cikkszámát, a másikon a kívánt mennyiséget adhatjuk meg. A "Kosárba" gomb lenyomására a rendszer ellenőrzi, , hogy a beírt mennyiseg nem nagyobb e a "termek" tábla "mennyiseg" mezőjében lévő számnál. ha nem nagyobb, akkor az adott cikkszámot, az éppen bejelentkezett felhasználó azonosítóját, valamint a kívánt mennyiség számát beírja a "kosar" táblába, és a "termek" tábla adott cikkszámhoz tartozó rekorjának "mennyiseg" mezőjét az adott számmal csökkenti.

3.4 Kosár

A kosar.php lap tartalma a "kosar" adattábla adataiból épül fel. Itt található még egy "Megrendelem" gomb, amely segítségével véglegesíthetjük a megrendelésünket.

 

 

3.5 Rendelés leadása

A kosar.php oldalon találhatő "Megrendelem" gomb lenyomásának hatására a kosár adatai post metúdussal átadódnak a rendeles.php oldalnak, amely feltölti a "rendeles" táblát az adatbázisban, a felhasználó felhasználónevével és a rendelni kívánt termékek cikkszámával. Ezzel egyidőben a "kosar" táblából egyanezen adatok törlésre kerülnek.

 

 

 

Utoljára módosítva : 2008. december 11. Márton Tibor (további kiegészítések várhatók)