Előszó Ez a kis összeállítás elsősorban azoknak szól, akik már egy ideje használják az Internetet, akár levelezésre, akár böngészésre, és akikben felvetődött, vagy már meg is érlelődött a gondolat, hogy ettől többre, mondjuk, egy önálló webes alkalmazásra vágynak. Leginkább azok fogják hasznát venni az itt közölteknek, akik ismerkednek a weblap készítés (majd működtetés) rejtelmeivel, s szeretnének eligazodni, az elsőre kicsit bonyolultnak és áttekinthetetlennek tűnő, speciális ismerethalmazban. Itt van tehát az ideje, hogy egy kicsit mélyebben is elmerüljön kedves olvasó a webes technikákban, hogy amit az egyes weboldalakon tapasztalnak és használnak, annak megvalósítási -, működési részleteit is átlássák. Az alapokra építve, a megszerzett tudásanyag továbbfejlesztésével, minden bizonnyal sikeresen alkalmazzák majd a webet, különböző céljaik elérése érdekében. E-könyvünk, a webes világban való tájékozódást kívánja szolgálni, s a világháló célszerű alkalmazásának első lépéseihez szeretne segítséget nyújtani. Azoknak is ajánljuk ezt az kiadványt, akik már tettek néhány bátortalan kísérletet a terveik önálló megvalósítása érdekében, de szükségét érzik annak, hogy a virtuális polcukon legyen, egy rendszerezett ismeretanyag, mely segíthet a webalkalmazás egyes részterületei közötti eligazodásban. Szeretnénk, ha ez a kis összeállítás hozzájárulna, az Internet egyre táguló lehetőségeinek megismeréséhez és kiaknázásához. E-könyvünket főként, a saját erőből történő fejlesztésekkel és alkalmazásokkal foglalkozóknak ajánljuk. Megbízás keretében, vállalkozási alapon tevékenykedő, profi fejlesztők (üzemeltetők) tudása főként saját részterületükön az itt közöltekétől bizonyára jóval mélyebb -, s esetenként más-más eszköz-lehetőségekkel és -adottságokkal is dolgoznak. E kis összeállításban főként azokra az eszközökre és keretrendszerekre fókuszálunk, amiket nekünk, kvázi amatőrök számára fejlesztettek ki. Felmerül a kérdés: mit fog tudni, aki elolvassa e kiadványt? Be kell látni, hogy csupán ennek alapján, még nem fog tudni egyből profi weblapokat készíteni, de biztos vagyok benne, hogy a webes világot és annak összefüggéseit átlátva, sokkal jobban meg fogja tudni fogalmazni igényeit, reálisabban fogja látni céljait és lehetőségeit, alaposabban körvonalazhatja Copyright 2011 - VPSoft - Minden jog fenntartva 2
terveit. Kellő elszántságot és motivációt feltételezve - az itt követett, alaposan átgondolt koncepció és tervszerűen kialakított tematika alapján, akár célirányos kurzusok -, akár autodidakta módon, a neten megszerezhető ismeretek által, bizonyára minden olvasó el fog tudni jutni addig a szintig, hogy önállóan is alkalmazásba vegye a web-et céljai megvalósítása érdekében. Összeállításunkban szeretnénk a webalkalmazás teljes folyamatára kiterjedő alapismereteket átadni, amik megfelelnek a technika mai színvonalának, s amit folyamatosan frissíteni, aktualizálni szeretnénk, a szakterület fejlődésének megfelelően. Éppen ezért, meg kívánjuk adni a módját, hogy akik igénylik, azok számára, folyamatosan biztosítsuk, a naprakész ismeretek átadását. Szeretnénk, ha a webalkalmazók tábora, egyre csak növekednék. Hogyan használjuk ezt a leírást? Semmiképpen se olvassuk egyhuzamban és sokáig, mert akkor inkább altatóként ajánlhatnám. Fontos, hogy a webalkalmazás teljes folyamatát átlássuk annak elemeit és összefüggéseit megértsük. Mivel amúgy is lépésről-lépésre haladunk egy webes megvalósításban, ezt a kis könyvet is fokozatosan tanulmányozzuk. Egészítsük ki a tudásunkat az adott, feldolgozott téma vonatkozásában - akár a netről, akár az általunk ajánlott on-line kurzusokból. Ugyanakkor nagyon fontos, hogy, már a tanulással párhuzamosan próbáljuk is ki és alkalmazzuk az új ismereteket. Mielőtt rátérnénk a részletekre, először is járjuk kicsit körül e kiadvány tárgyát! Webalkalmazási fogalmak értelmezése Webalkalmazás szóösszetétel alatt egy komplex fogalmat értünk (forrás: wikipedia.org), amely magában foglal: tudományágakat, elméleti módszereket és eljárásokat (pl.: informatika, szoftver), továbbá gyakorlati technikákat és tapasztalatokat (pl.: kommunikáció, kereső-optimalizálás), számítástechnikai és hírközlési eszközöket, mint infrastruktúrát (pl.: hardver, hírközlési-, számítógépes hálózatok), gazdasági funkciókat és tevékenységeket (pl.: szervezés, marketing, vállalkozás). Copyright 2011 - VPSoft - Minden jog fenntartva 3
Fent felsorolt tényezők együttesen járulnak hozzá ahhoz, hogy egy adott szak-, vagy egyéb területen, egy előre meghatározott cél érdekében, a világháló (world wide web) lehetőségeit kiaknázzuk és eredményesen alkalmazzuk. Egy webalkalmazási technológiai folyamat (vagy ennek megvalósítását célzó projekt) több fázisból áll: az előkészítési (tervezési) részfolyamattal indul, azután ki kell fejleszteni, majd üzembe kell helyezni -, végül működtetni -, azaz fenn kell tartani a rendszert azon gazdasági vagy egyéb célok elérése érdekében, amiért azt létrehoztuk. A folyamat végén, ha már nincs szükségünk az adott rendszerre (szolgáltatásra), felszámolásra kerülhet, vagy jobbik esetben ha van piaca értékesíthetjük azt. A fejlesztés sikerének az egyik záloga, az adott felhasználási terület alapos ismerete, ezért nem hátrány, ha saját szakterületünket, vagy kedvenc hobbinkat választjuk az alkalmazás tárgyául, vagy legalábbis jól felkészülünk, az adott alkalmazási területből. Kit is tekinthetünk tehát webalkalmazónak? A feladatkör megvilágítása érdekében, különböztessünk meg néhány funkciót: Webfejlesztő az, aki speciális szaktudással rendelkezik, általában egy szűkebb részterülettel foglalkozik és megbízásra dolgozik a különféle profilokban. A fejlesztő mindig eszközt hoz létre, amit majd valamilyen alkalmazásba beépítünk, vagy használunk. Webszolgáltató az, aki az Internetes infrastruktúrát (a közművet ) szolgáltatja (üzemelteti), a felhasználók, alkalmazók, fejlesztők, azaz mindnyájunk számára. Web felhasználónak tekintjük azt, aki csupán használja (pl.: böngészi) az Internetet (mondhatni, passzív szerepben), általában eseti jelleggel, érdeklődési területének megfelelően. Webalkalmazó az, aki egy meghatározott - gazdasági, privát, és/vagy közösségi - célú alkalmazást (egy számítástechnikai, informatikai rendszert) hoz(at) létre, s mint tulajdonos a későbbiekben, azt maga is tartja fenn (üzemelteti, szolgáltatást végez vele). Webszolgáltatás: végül is minden, weben megvalósított alkalmazás (rendszer, szolgáltatás). Copyright 2011 - VPSoft - Minden jog fenntartva 4
1.2. Tervezés Egy jó terv már önmagában is fél siker. A fejlesztést sokkal könnyebb úgy megvalósítani, amennyiben egy kész forgatókönyvből dolgozunk. Különösen igaz ez akkor, ha egy nagyobb projekt megvalósításába fogunk, amelynek fejlesztése, megvalósítása több szereplőt is igényel. E tevékenység általában ún. team (csoport) munka formájában történik. Ennek keretében különösen fontos az egymásra épülő munkaszakaszok pontos szétválasztása, az egyes részfeladatok lehatárolása, az ún. interface-k (határfelületek) pontos definiálása, továbbá, a megrendelő és a fejlesztők szoros együttműködése. Természetesen akkor is célszerű a folyamatokat előre végiggondolni, ha kisebb, ún. egyszemélyes feladatról van szó. Többször tapasztaltam a gyakorlatban, hogy amikor valaki tervez egy honlapot és már sorolja is az elképzeléseit: hogy néz ki majd az oldala, miket kell, hogy tudjon (az emberek általában vizuális típusok, először a kinézetet képzelik el, mintsem a működést). Ilyenkor rendszerint leállítom, s kérem, hogy az illető írja le az elképzeléseit, hogy hozzávetőlegesen mit is akar megvalósítani. Ez az a pont, amikor általában véget is érnek a világmegváltó tervek (no, nem ezért kérdezek vissza). Előfordul persze, hogy ilyenkor elmegy az illető egy másik fejlesztőhöz, akivel kevesebb a macera, s aki - jobb híján - kitalálja, hogy a megrendelő vajon mire is gondolhatott. Az ehhez hasonló esetek Copyright 2011 - VPSoft - Minden jog fenntartva 5
túlnyomó többségében aztán jönnek a viták és ráfizetések, míg - jobb esetben - végre sikerül az elképzelt rendszerhez, egy nagyjából hasonlót elkészíttetni. A feladat végiggondolása alól, tehát ekkor sem mentesülhetünk, de mindenképpen előnyösebb ezt előbb megtenni, mintsem utólag (jóval drágább áron). Fentiek tanulságaként levonható, hogy minimális elvárás egy webalkalmazótól (megbízótól), annak megfogalmazása, hogy mit is szeretne megvalósítani, mit vár el a rendszertől. Mindenképpen megéri a fáradságot egy előzetes végiggondolás, ezáltal pénzt és időt takaríthatunk meg. Ezért is nagyon fontos a körültekintő, alapos tervezés. Tekintsük át, hogy milyen tervezési munkák tartoznak ebbe, az előkészítési fázisba: Piackutatás: amikor egy adott alkalmazási területen való webszolgáltatásban rejlő potenciális üzleti lehetőséget kutatjuk; vagy megfordítva, amikor azt vizsgáljuk, hogy mely webes alkalmazás kecsegtet a legtöbb üzleti lehetőséggel; Feladat specifikálás (vagy rendszerterv): amikor magát a feladatot elemezzük, a megvalósítás módszereit, folyamatait és eszközeit specifikáljuk; Üzleti terv: amikor a vállalkozásunk környezetében helyezzük el a fejlesztést, az adottságok, lehetőségek és egymásra hatások figyelembevételével; melyben a projekt feltételrendszerét vizsgáljuk, valamint a szükséges erőforrásokat határozzuk meg. Az alábbiakban vegyük sorra ezen tervezési feladatokat. 2. Webfejlesztés Egy webes alkalmazás megvalósítása alatt, a webfejlesztés és - szolgáltatás (-fenntartás) együttesét értjük. A webfejlesztési folyamat előkészítési fázisával az előzőekben foglalkoztunk. Ebben a fejezetben a webfejlesztés témakörét, annak különböző módozatait taglaljuk. A fejlesztés során természetesen - szükség szerint - eltérhetünk a tervtől (pl.: Copyright 2011 - VPSoft - Minden jog fenntartva 6
előfordul, hogy minden betervezett modult nem tudunk - akár erőforrás híján, akár más nehézségek okán megvalósítani), de ilyenkor mindig felül kell vizsgálni, hogy ennek milyen következményei lesznek a leendő szolgáltatásunkra nézve. Megvizsgálandó, pl. nem sérülnek-e olyannyira a kezdetben felvállalt célok, amik értelmetlenné teszik az egész alkalmazásunkat; illetve, az esetleges változtatások milyen kihatással lesznek, a többi rendszer összetevőire. Ilyen értelemben a fejlesztés megvalósítása alatt karban kell tartani a terveinket is, folyamatosan ellenőrizni kell az eredeti célkitűzéseinket, s ha szükséges, módosítani kell azokat is. A webfejlesztés folyamatának ismertetése során szólunk: az Internetről, mint médiáról (közvetítő közegről); a website építés technológiájáról, annak főbb elemeiről; bemutatjuk a webes alkalmazások különböző típusait, majd a site bevezetésével (üzembe helyezéssel) kapcsolatos teendőket vesszük szemügyre. = Mi is az a CMS? A tartalomkezelő rendszer (Content Management System = CMS) olyan szoftver-rendszer, amely internetes portálok, akár több felhasználó általi elkészítését, kezelését, és tárolását segíti, továbbá gondoskodik a tartalmak strukturált megjelenítéséről, statisztikák készítéséről, kiegészítő funkciók integrálásáról. Copyright 2011 - VPSoft - Minden jog fenntartva 7
A tartalomkezelő rendszerek célja, hogy a webalkalmazó viszonylag egyszerűen tudja megjelentetni on-line tartalmait. Jellemzője, hogy könnyen elsajátítható; segítségével az alkalmazás viszonylag egyszerűen létrehozható, kezelhető és működtethető. Egy gyors installálást követően szinte rögtön rá lehet térni, az érdemi tartalommal való feltöltésre és folyamatos ellátására. Fejlesztésről itt tulajdonképpen nem is beszélhetünk, legfeljebb magának az eszköznek a vonatkozásában (ami viszont nem a mi dolgunk). A CMS önmagában is egy web alapú program alkalmazás, amely lehetővé teszi változatos adatok - általában hypertext formátumban való - dinamikus publikálását programozói tudás nélkül. Sokféle szolgáltatást biztosít, pl.: kereshetőséget, verziókövetést, stb. A CMS-ek legfontosabb tulajdonsága a dinamizmus. A tartalmat, annak megjelenését megfelelő jogosultság esetén bármikor, bárhonnan meg lehet változtatni. Az oldalakhoz való hozzáférés, különböző szintű jogosultságokhoz köthető. Sokféle CMS rendszer létezik. Az igen népszerű ingyenes (szabad licencű, nyílt forráskódú), de ugyanakkor nagy tudású CMS-ek mellett, léteznek kereskedelmi termékek és egyedi fejlesztések is. A legtöbb CMS szintén PHP, szerveroldali programozási nyelvet és MySQL adatbázist használ. A tartalomkezelő rendszerek működésének lényege az alábbiakban foglalható össze. A CMS-t alkalmazók az egyes tartalmi egységeket (oldalakat, dokumentumokat), egy viszonylag könnyen kezelhető - adminisztrációs felületen keresztül viszik fel a rendszerbe (valójában, annak adatbázisába). Hasonló módon módosíthatják (törölhetik, bővíthetik) azokat. A rendszer a feltöltött tartalmakat a szükséges jóváhagyást követően egy előre kiválasztott arculati sablon segítségével jeleníti meg a böngészőben. Amennyiben új oldal került feltöltésre, az automatikusan bekerül a rendszerbe, linkje megjelenik az oldaltérképen és a menüben is. Tervezett portálunk először, akár a helyi szerverünkre is telepíthető, majd a kezdeti tartalommal való feltöltését és a szükséges tesztelését követően publikálható, azaz átköltöztethető az általunk bérelt szerverre (pl.: az FTP program segítségével). Sok esetben eleve a tárhelyünkön is létrehozható a rendszerünk, amennyiben a tárhely adminisztrációs felületén, az adott CMS program elérhető. Ezt követően a rendszerünket az adott tárhelyen folyamatosan Copyright 2011 - VPSoft - Minden jog fenntartva 8
menedzselnünk (üzemeltetnünk, aktualizálnunk) kell, tekintettel arra, hogy egy dinamikus site sohasem tekinthető befejezettnek. A nyílt forráskódú programok előnyei A nyílt forráskódú fejlesztéssel létrehozott programrendszerek igen előnyösek számunkra, mivel ezek: ingyenesek, folyamatos fejlesztésük (verziókövetés) biztosított, rugalmasan alkalmazhatók, a forrásszinten is elérhetők, sok modullal rendelkeznek, melyek könnyen integrálhatók. Méltán merül fel a kérdés mindnyájunkban, amikor először találkozunk ezekkel a nagyszerű lehetőségekkel: Jól értem, komoly dinamikus site-okat, portálokat tudok csinálni, mindenfajta programozói tudás nélkül? A válasz: igen. Majd rögtön következik a felismerés: Akkor ez éppen nekem való! A válasz erre is az, hogy igen, de azért tartsuk szem előtt, hogy ezeket a rendszereket is meg kell alaposan ismerni (s nem árt begyakorolni) ahhoz, hogy hatékonyan tudjuk őket Copyright 2011 - VPSoft - Minden jog fenntartva 9
alkalmazni céljainknak, választott témánknak megfelelően. Ehhez kívánunk némi segítséget nyújtani a legnépszerűbb CMS rendszerek rövid áttekintésével. A különböző tartalomkezelő rendszerekkel kapcsolatosan - éppen népszerűségük folytán nagyon sok szakcikk és oktató anyag található meg a neten. Ezekből viszonylag gyorsan elsajátíthatók az alapok, de számos közösségi fórum is foglalkozik ezekkel a témákkal, ahol konkrét kérdéseinkre is választ kaphatunk. Nagyon fontos viszont, hogy az új ismereteket rögtön a gyakorlatban is kezdjük megvalósítani. A legnépszerűbb tartalomkezelő rendszerek: a Drupal -, a Joomla -, és a Wordpress nevű CMS program. 3. Web fenntartás Azért hozunk létre egy honlapot vagy portált, hogy aztán működtessük, szolgáltassunk vele, vagyis elérjük azon céljainkat, amiket a kezdetekben kitűztünk, elterveztünk ezzel kapcsolatban. Egy site fenntartása (üzemeltetése) körében az alábbi feladatok tartoznak: Először is weblapjainkat el kell látni érdemi tartalommal, ami érdekli, sőt vonzza a potenciális felhasználókat, majd azt folyamatosan frissíteni, aktualizálni kell (lásd: 3.1. fejezetben). A mai, gyorsan változó világban, információ dömpingben nagyon gyorsan el tud avulni egy honlap tartalma. A látogatók hamar elfordulnak azon oldalaktól, amik nem frissülnek. A tartalmak persze a legkülönfélébbek lehetnek (lásd: a korábban bemutatott site-kategóriákat). A különböző jellegű tartalmaknak más-más az avulási idejük, amíg pl. egy céges honlap hosszabb időn át érvényes, addig, egy hírportál szinte órák alatt elveszti frissességét; Ha már egyszer létrehoztuk a site-unkat és az működőképes is, azt szeretnénk, ha minél többen látogatnák is azt. Nyilvánvaló, hogy ez az óhajunk, mármint a nagyobb számú látogatottság biztosítása nem teljesülhet egyik napról a másikra. Mindezt leginkább jól felépített marketing Copyright 2011 - VPSoft - Minden jog fenntartva 10
stratégiával, ügyes módszerekkel, trükkökkel lehet biztosítani (aminek szinte külön tudományága van, webes körökben). Az on-line marketingnek éppen ez a tárgya, mellyel mi is foglalkozunk (lásd: 3.2. Fejezetben); Miután elkészítettük és üzembe is helyeztük a weblapunkat, elkezdhetjük működtetni azt, a kezdetben felvállalt célok érdekében. A webes szolgáltatások esetében is felmerülnek azon menedzselési feladatok, amelyek minden más gazdasági tevékenységnél is előfordulnak (pl.: ügyfelekkel való kapcsolattartás, operatív irányítás, adminisztratív, ügyviteli feladatok, stb.). Ezen funkciók ellátásánál - élve a számítástechnika lehetőségeivel - korszerű módszereket és eljárásokat alkalmazhatunk, melyekben a folyamatok integrálására és automatizálására kell helyeznünk a fő hangsúlyt. Ezáltal a munkaerő megtakarításon túl, egyben működésünk hatékonyságát, versenyképességünket is növelhetjük (főként a nagyobb ügyfélkörök esetében). Mint bármely más gazdasági tevékenységnél itt is felmerülnek olyan, egyéb, kísérő jellegű funkciók és feladatok, mint pl.: ergonómia, biztonság, vagy jogügyi kérdések. Így webalkalmazásunk kapcsán is foglalkoznunk kell ezen általános funkciók - webes sajátságoknak megfelelő - módszereivel, eljárásaival és szabályaival. A TELJES 105 OLDALAS KIADVÁNY, TELEPORTEKA WEBBOLTUNKBAN MEGVÁSÁROLHATÓ (MOST KEDVEZMÉNYES ÁRON) Copyright 2011 - VPSoft - Minden jog fenntartva 11