Elméleti áttekintés Web adatbázis programozás

Slides:



Advertisements
Hasonló előadás
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Advertisements

Hálózati és Internet ismeretek
Egy kisvállakozás dinamikus weboldalának fejlesztése: tervezés, problémák, megoldások Szilágyi Gábor.
Intranet portál bemutató
Önkormányzati informatika ASP alapokon
WordLearner.com -- Learn or Teach Words in Almost Any Language WordLearner.com online és offline nyelvoktatás mobiltelefonon és interneten Benedek Balázs.
Webszolgáltatások PHP-ben
Iratkezelő rendszer fejlesztése WPF alapokon
RENDSZERINTEGRÁLÁS B_IN012_1
Többfelhasználós és internetes térkép kezelés, megjelenítés.
Tanuló (projekt)szervezet a Magyar Nemzeti Bankban
SQL Server 2005 Reporting Services a gyakorlatban
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
Trendek a szoftveriparban: e-business és e-development Csontos Péter IQSOFT Rational e-development szakmai nap 2000 február 16.
Az ETR technológia DEXTER Informatikai kft..
Virtuális méréstechnika
Kincses Zoltán, Mingesz Róbert, Vadai Gergely
Mérés és adatgyűjtés laboratóriumi gyakorlat Makan Gergely, Mingesz Róbert, Nagy Tamás 2. óra szeptember 9., 10. v
Informatika matematika speciális tagozat - tematika évfolyam -
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
Microsoft szoftverek a szakképzésben
Látványos vektrorgrafikus és deklaratív prezentációs réteg 3D támogatássalLátványos vektrorgrafikus és deklaratív prezentációs réteg 3D támogatással Egységesített.
Adatbázis-kezelés Papp-Varga Zsuzsanna. Elérhetőségek    as.
Szombathely Dinamikus WEB programozás: PHP és JSP.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Vizuális és web programozás II.
WEB MES (webes gyártásirányító rendszer)
XML támogatás adatbázis-kezelő rendszerekben
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Webes Információs Rendszerek fejlesztése
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Tudásmenedzsment eredmények és tapasztalatok a MOL Csoportban Tóth Róbert Tudásmenedzsment vezető, MOL Csoport Budapest, 2006.február 23.
Web Application for Resource Planning
Budapesti Műszaki Főiskola Neumann János Informatikai Főiskolai Kar A Műszaki Tervezés Rendszerei 2000/2001 tanév, I. félév 1. előadás Bevezető a számítógépen.
Adatbázisrendszerek világa
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
WEB 2.0. Amiről szó lesz… Web átalakulóban, a WEB 2.0 –Újszerű weboldalak… –Első a tartalom! –A felhasználók hatalomátvétele?! –A Web mint platform –
PHP oktatási tapasztalatok
Bevezetés a PRADO keretrendszerbe Kardos Gergely.
Gábor Dénes Főiskola Rendszertechnikai Intézet
Weboldal tervezés programozó szemmel. Alapok Minden webcím www. –tal kezdődikMinden webcím www. –tal kezdődik Webböngésző = Internet ExplorerWebböngésző.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Java web programozás 11..
Az üzleti rendszer komplex döntési modelljei (Modellekkel, számítógéppel támogatott üzleti tervezés) II. Hanyecz Lajos.
Topológiák Hálózati eszközök
4/7/2017 StorSimple: A felhő-integrált tároló Windows Server 2012 R2 konferencia © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows,
Kommunikáció a hálózaton Kommunikáció a hálózaton.
Szoftver születik Eötvös Konferencia Köllő Hanna.
Webes alkalmazásfejlesztés
CALDERONI FORRÁSKEZELŐ RENDSZER A Calderoni Program során fejlesztésre kerülő rendszer vázlatos bemutatása.
Webfejlesztés, Internet Explorer 10 Komjáthy Szabolcs
Mobilitas Illés Zoltán Heizlerné B. Viktória Dr Illés Zoltán Készült az "Országos koordinációval a.
CALDERONI FORRÁSKEZELŐ RENDSZER A Calderoni Program során fejlesztésre kerülő rendszer vázlatos bemutatása.
Illés Zoltán ELTE Informatikai Kar
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Kommunikáció-technológia specializáció
A web site minősítése Források: Bokor Péter szakdolgozata (2002) és a benne megadott hivatkozások: Dotkom Internet Consulting: Üzleti weboldalak elemzése,
2. Operációs rendszerek.
Piramis klaszter rendszer
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Nagyvállalati dokumentumkezelés 2. Fejér Gábor PYLON KFT DMS megoldás nyílt forráskódú környezetben – az XDocs rendszer.
EUCIP konferencia október 20. Cséfalvay Katalin Fejlesztés (BUILD) modul.
Kulcsrakész Közgyűjteményi Portál
DRUPAL Előadja: Nagy Nikoletta :05.
Tarcsi Ádám, egyetemi tanársegéd ELTE Informatikai Kar
Előadás másolata:

Elméleti áttekintés Web adatbázis programozás Horváth Győző, Menyhárt László, Papp Szabolcs, Tarcsi Ádám 2009. szeptember. 10. Tarcsi Ádám: SOA és Web 2.0

Bevezetés, témafelvetés, előzmények Hálózati, szerver és kliens oldali megoldások (TCP/IP és HTTP protokoll és működése)  Számítógépes hálózatok WEB-es prezentációs megoldások (HTML nyelv, CSS), web-grafika  Web-fejlesztés I. (HTML speci) és Web-szerkesztés WEB szerverek, böngészők, kliens oldali WEB programozás alapjai (pl. JavaScript)  Web-fejlesztés II., Web-programozás I. Adatbázis-kezelés (a relációs modell, adatmodellezés, SQL)  Adatbázis-kezelés Rendszerek közti adatkommunikáció „önleíró” dokumentum nyelven = XML (XML felépítése, használata, kapcsolódó technológiák érintőlegesen: DTD, XSD, XSL ill. XSLT)  Adatkezelés – XML és Web adatbázis programozás XML alapú adatbázisok (XML adattárolás alapjai, lekérdező nyelvek: XPath, XQuery)  Adatkezelés – XML és Web adatbázis programozás Multimédiás adatbázisok (nagy méretű multimédiás anyagok tárolása adatbázisokban, visszakeresés, hatékonyság)  Web adatbázis programozás Programozási módszertan  Programozás tárgyak WEB programozás (módszerek, beágyazott script-nyelvek általában, PHP részletesen)  Web-fejlesztés II, Web-programozás I. Vállalati környezetre tervezett webes fejlesztői környezetek (pl.: .Net, Java)  Web-programozás II, Programozási nyelvek (Java), Elosztott alkalmazások készítése, Java alkalmazások, Java

Bevezetés, témafelvetés, előzmények Multimédiás WEB programozás – bináris tartalmak (stream-ek, header, letöltés, feltöltés)  Web adatbázis programozás Multimédiás WEB programozás – vektorgrafikus és programozott tartalmak (SVG, Flash)  Web-animáció és Web adatbázis programozás Informatikai biztonság (adatvédelem, kommunikációs vonalak védelme, védelem illetéktelen behatolásokkal szemben, meghibásodások elleni védelem)  Számítógépes hálózatok, Web adatbázis programozás Többrétegű (összetett) webes alkalmazások fejlesztése  Web adatbázis programozás

Architektúrák – „Evolúció”

Egygépes (standalone) alkalmazások A program teljes egészében a munkaállomáson fut. Az adatok ugyanitt tárolódnak. Egyszerre csak egy felhasználó használhatja. Semmilyen hálózati kapcsolat nincs, a különálló programok közti adatszinkronizáció meglehetősen nehézkes.

Egyszerű kliens-szerver alkalmazások 1. Egy vagy több szerver gép erőforrásait (jellemzően adatait) megosztja a kliensek között. Jobb esetben on-line. Az alkalmazás egy része (adatbázis-kezelő rsz.) a szerven fut. Az alkalmazás logikát implementáló rész a kliens gépeken fut. „vastag kliens rendszerek” Egy adatbázist többféle kliens program is használhat. Egyszerre több konkurrens felhasználó használhatja.

Egyszerű kliens-szerver alkalmazások 2. Jellemzően intranet-es alkalmazásoknál használatos. Terheli a kliens gép erőforrásait. Gyakran mindenféle driver-ek telepítését igényli a kliens gépeken Verziófrissítés alkalmával az összes kliens-en frissíteni kell a programot. A RAD (Rapid Application Development) sok eszközzel támogatott, számos jó vizuális fejlesztőkörnyezet: gyorsan „összekattint-gathatunk” és leprogramozhatunk komoly alkalmazásokat.

Többrétegű (multitier) hálózati alkalmazások Minimálisan három réteg létezik: Front End = kliens oldali felhasználói réteg (általában egy WEB böngészőben) Middleware = szerver oldali prezentációs és logikai réteg (általában egy WEB szerveren beágyazott script-ekben összeolvasztva a megjelenítés és az egyszerűbb logika) Back End = hátsó szerver oldali nagykapacitású tároló (adatbázis szerver) vagy számoló réteg

Háromrétegű architektúra

Többrétegű architektúra

Többrétegű architektúra jellemzői Load balancing, terhelésmegosztás. Tervezést támogató környezetek: Java J2EE, .Net. Architektúra felosztás-összevonás logikai szinten. A rendszer logikai architektúrája (tervezés, programozás) független a számítógépes megvalósítástól, hálózattól. A logikai réteg tovább osztható. Nagyon sok konkurens felhasználó kiszolgálására optimalizálva

Többrétegű architektúra jellemzői Kliens gép: böngésző, a logika – többnyire – a szerveren található – vékony kliens architektúra Minimális logika a klienseken: a beviteli adatok validálására, a lapok speciális megjelenítésére (pl. JavaScript). A szerveren elkülönül az adattárolás, a logika és a prezentáció  eltérő szerepkörök Az egyes szintek önmagukban is tesztelhetőek. A rendszer egyes komponensei több célra vagy újra felhasználhatók.

Többrétegű architektúra jellemzői A vékony kliensek miatt nagyon gyenge kliens gépek is elegendők. A technológia platformfüggetlen. A kliensekre nem kell drivert telepíteni. A verziófrissítés csak a szervert érinti, a klienseket nem. Sajnos egyelőre elég kevés eszköz támogatja a RAD-ot (Rapid Application Development), a környezet kevés segítséget nyújt a programozónak a megoldási lehetőségek kiválasztásában  „Házi szabványok”, saját keretrendszerek készülnek. Nehezebb tesztelni

Fejlesztői - megrendelői „evolúció”

Fejlesztői evolúció 1. szint – Kezdeti Fejlesztő oldaláról Legtöbb web programozó, HTML-t "írók". Statikus web lapok WYSIWG szerkesztők, szövegszerkesztők Nem használnak mintákat, sablonokat Nem használnak fejlesztést segítő eszközöket Tesztelés hiányzik vagy kezdetleges Nem jellemző a program logika Kis csapat, kezdetleges oldalak Nincsenek elkülönült szerepek Megrendelő szempontjából Elsődleges cél a jelenlét az Interneten Kevés, ritkán változó tartalom Csak egy ún. elektronikus prospektus oldalt várnak el Kevés visszatérő látogató (ha van egyáltalán) Nincs web-es stratégia, vagy cél

Fejlesztői evolúció 2. szint – Ismételhető Fejlesztői oldalról A hagyományos web programozást segítő tananyagok, könyvek segítségével ezt a szintet lehet elérni Tapasztalat útján, sok megrendelést követően juthat el ide a cég  a fejlesztő cég mérete növekedik Elkezdenek újrafelhasználható komponenseket, sablonokat használni Dinamikus weblapok megjelenése, kezdetleges program logikábal.  A növekvő megrendelési igények miatt is Típus hiba: kísérletező fejlesztő, a legújabb technológiákat használja a "szép oldalakért", de a funkcionalitás rovására. Megrendelő szempontjából A megrendelő is fejlődik, a tartalom frissessége is számít már. A megrendelő szeretné a tartalmat maga alakítani

Fejlesztői evolúció 3. szint - Meghatározott Megrendelő szempontjából A marketing stratégia és a web stratégia összetalálkozik  Konkretizálódnak az elvárások Vevőkkel, partnerekkel is elektronikusan akarják tartani a kapcsolatot Intranet oldalak megjelenése Fejlesztő oldaláról E-kereskedelmi, ügyfélszolgálati szolgáltatások megjelenése Profi fejlesztő csapat szükséges Használnak már fejlesztő, tervező eszközöket. Biztonsági elvárások is megjelennek Folyamatos fejlesztői képzések Adatbázisok használata A fejlesztői szerepek szétválnak: programozó, adatbázis és (web) server adminisztrátor, designer

Fejlesztői evolúció 4. szint – Menedzselt Megrendelő szempontjából Tartalomkezelő rendszer használata szükséges Belső portál az alkalmazottaknak és a partnereknek Profi belső üzemeltetői csapat is kellhet (nem minden esetben!) Fejlesztői oldalról Web service – Szolgáltatás Orientált Architektúra Architektúra tervezés Alapvető Web 2.0 alkalmazások megjelenése Projektmenedzsment a középpontba kerül Munkafolyamat-kezelés Célok, eredmények mérése, értékelése További szintek: tervező, rendszerszervező, tesztelő Állandó együttműködés a megrendelővel Menedzselhető fejlesztő rendszerek: J2EE, .NET.

Fejlesztői evolúció 5. szint – Optimalizáló Megrendelő oldaláról ERP funkciók az Intraneten, Az elkülönült IT rendszerek összeköttetése, A piac gyors, rugalmas reakciókat vár el Fejlesztő oldaláról A szervezet fejlődik, alkalmazkodik, tanul! A fejlesztői folyamatok folytonos változása a legfontosabb. Produktivitás, hatékonyság, a megrendelői elvárások kerülnek a középpontba. Hiba megelőző, elemző módszerek a fejlesztésben. A termék a lehető legjobb minőségben készül el, határidőre!

Egyéb területek

Internetes alkalmazások korlátai Kliens erőforrásainak elérhetősége Kliensek különbözőségének kezelése Sávszélesség problémák Számítás-igényes alkalmazások nehézségei

Multimédiás adatbázisok Kurrens terület, ahol a web-es környezet le van maradva Kliens oldali nehézségek: A böngészőn esetleg speciális plug-in szükséges a tartalom megjelenítéséhez. Prezentációs és logikai szint: A tartalmakat nem tudjuk egyszerűen változókba tölteni, mint elemi típusok esetén, hanem stream-ekkel kell dolgozni. Ennek a technikáját meg kell ismerni. A HTTP protokoll ismerete is szükséges, hagyományos dinamikus WEB oldalakat általában a környezet default beállításaival le tudunk küldeni a kliens-re, míg multimédiás tartalom esetén a HTTP header-t módosítani kell. Adatbázis: A nagyméretű bináris adatok tárolása pl. relációs adatbázisokban; valamint a visszakeresés, módosítás egy külön nagy kutatási területet jelent az adatbázisokkal foglalkozó ágon belül. Ez korrelál bizonyos mesterséges intelligenciabeli módszerekkel is.

<nev>Gipsz Jakab</nev> XML mint tárolás: SVG, MPEG7 Kommunikáció Értelmezhető Platform-független Adat és megjelenés elválasztása XML (hierarchikus) adatbázisok vs. relációs modell

Miért PHP? Pro és kontra PRO Web-programozás I, PHP speci, mint alap. Elterjedt: az Apache WEB szerverrel együtt nagyon hatékony, ténylegesen képes akár több ezer konkurrens (párhuzamosan beérkező) kérést kiszolgálni. Egyszerű megtanulni. Példáink más nyelveken, környezetben is működnek. KONTRA Nehéz a funkciók (prezentáció és logika) szétválaszthatósága  a környezet nem segíti. A team munkát sem támogatja. Egyes feladatok könnyebben, szebben, jobban megoldhatóak egy erősebb fejlesztői környezetben pl.: Java, .NET

Irodalomjegyzék Frigó József: Többrétegű architektúrák. BME, 2000-2006 http://www.inf.bme.hu/~frigo/ooret7/tiers.odp Martin Fowler: Analysis Patterns - Reusable Object Models. Addison-Wesley, 1997 Papp Szabolcs: Bevezető jegyzet a Web-adatbázis programozás c. tárgyhoz. ELTE Informatikai Kar, 2005. Tarcsi Ádám: Quality measurement of Business WEB Applications. Serdica Journal of Computing, 2008.