Internetes alkalmazásfejlesztés Endrődi Tamás

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Internetes alkalmazásfejlesztés Endrődi Tamás"

Átírás

1 Internetes alkalmazásfejlesztés Endrődi Tamás

2 Internetes alkalmazás rétegei

3 Háromrétegű Web architektúra Internetes alkalmazásfejlesztés 3

4 Többrétegű architektúra példa Internetes alkalmazásfejlesztés 4

5 Thin/Thick-client Vékony kliens (Thin-client) Böngésző-független Sok forduló a Web szerver és a kliens gép között Vastag kliens (Thick-client) Böngésző-függő Látványos Web-lapok Gyors interaktív funkciók Internetes alkalmazásfejlesztés 5

6 Technológiai eligazodás Windows Forms Windows Presentation Foundation (WPF) WPF with Explorer (XBAP) WPF/E (Silverlight) ASP.NET ASP.NET with AJAX Internetes alkalmazásfejlesztés 6

7 Alkalmazásfejlesztési csapat tagjai Web fejlesztő Programozó HTML szerző Grafikus Web adminisztrátor Adatbázis adminisztrátor Internetes alkalmazásfejlesztés 7

8 HTML alapok összefoglalása

9 Alap HTML tagok (1) HTML konténer tagok Karakter formázó HTML tagok Sorformázó HTML tagok P H1, H2, stb. BR, NOBR PRE CENTER Internetes alkalmazásfejlesztés 9

10 Kép (IMG) Hiperhivatkozás (A) Alap HTML tagok (2) 1.7 A HREF attribútum megadásának lehetőségei Listák létrehozása Rendezetlen lista (UL) 1.8 Rendezett, sorszámozott lista (OL) Lista elemek (LI) 1.9 Internetes alkalmazásfejlesztés 10

11 HTML tábla TABLE elem Táblasorok (TR) Táblacellák (TD) 1.10 Táblázatok formázásának attribútumai BORDER CELLSPACING, CELLPADING BGCOLOR, BACKGROUND COLSPAN, ROWSPAN HTML táblák egymásba ágyazása 1.11 Összetett Web lap megjelenítése táblaként 1.14 Internetes alkalmazásfejlesztés 11

12 HTML keret (Frame) Frame és Frameset szerepe COLS attribútum In-line keretek alkalmazása (IFRAME) Frameset-ek egymásba ágyazása Navigálás a keretek között TARGET attribútum Internetes alkalmazásfejlesztés 12

13 További HTML elemek COMMENT FIELDSET és LEGEND MAP SPAN és DIV XMP A karakter egyedek használata 1.23 Internetes alkalmazásfejlesztés 13

14 Cascading Style Sheet

15 A CSS előnyei A tartalom szétválasztható a formától Önállóan tervezhető és újrafelhasználható A régi technikában számos szöveg grafikaként jelent meg, ami lassú A CSS csak egyszer megy le a kliens gépre, és nem laponként külön-külön Egységes megjelenés Külön CSS lehet a képernyőre, és külön a nyomtatóra. Internetes alkalmazásfejlesztés 15

16 Láthatóság (visibility) Megjelenítés (Display) CSS vezérlés pl. reflow (maradjon-e üres hely, vagy az alatta lévők feljebb kússzanak) Z-sorrend (Z order) Az adott elem relatív mélysége Web Embedding Font Tool (WEFT) Csak az IE használja Internetes alkalmazásfejlesztés 16

17 Szintaktika: CSS szabályok definiálása szabályhatáskör {attr:érték;attr:érték; } Tag példa: body {font-family:ariel;font-size:10;} Osztály példa:.error {font-color:red} A pont (.) jelenti azt, hogy ez egy osztályszabály Elem példa: #elem {font-color:green} Internetes alkalmazásfejlesztés 17

18 CSS használata Magába a tagba is rakható stílus információ Kivételes körülmények között Stíluslap szintaktikája 2.2 Globális stíluslap a /HEAD szekcióban HTML LINK tag használata 7.6 Az elsődlegeshez ezt célszerű használni Osztályok Stílus osztályok 2.4 Globális osztályok 2.5 Pszeudoosztályok Internetes alkalmazásfejlesztés 18

19 Internetes alkalmazásfejlesztés 19

20 DHTML alapok

21 A DHTML komponensei (1) Document Object Model Objektumok, tulajdonságok, metódusok, események Dynamic Styles Dinamikus stílus beállítás lehetősége A stílus élesen elválik a tartalomtól Dynamic Positioning A betöltést követő helyváltoztatás lehetőségét nyújtja. Animáció készítésének lehetősége. Internetes alkalmazásfejlesztés 21

22 A DHTML komponensei (2) Dynamic Contect A tartalom dinamikus változtathatósága Elemek beillesztése, illetve törlése Szöveg és egyéb attribútumok módosítása Data binding Adathordozó vezérlőelemek beépíthetősége Internetes alkalmazásfejlesztés 22

23 Internetes alkalmazásfejlesztés 23

24 Kliensoldali script alkalmazása HTML komment technikát lehet használni <SCRIPT Language=JScript> <!-- function Valami() {.. } --> </SCRIPT> Internetes alkalmazásfejlesztés 24

25 VBScript szabályok VBScript-nél csak Variant adattípus van. A típust a VarType fg-vel lehet lekérdezni. Nem lehet konstans deklarálni. Automation objektumok: Dictionary, Err, FileSystemObject, TextStream Szerveroldali VBScript-ben tilosak: InputBox, MsgBox, GetObject függvények Internetes alkalmazásfejlesztés 25

26 Jscript szabályok Java-tól függetlenül jött létre Pontosvessző az utasítások végén Nem kötelező használni! Kommentjelek ( //, illetve /*..*/ ) Változódeklaráció var Kakukk Érzékeny a kisbetű-nagybetű különbségre! A deklaráció nem kötelező. Internetes alkalmazásfejlesztés 26

27 Jscript műveletek Boole algebrai műveletek: && AND OR! NOT Matematikai műveletek: A Math objektum metódusai: x = Math.PI y = Math.LN10 z = Math.max(num1, num2) String változók objektumként működnek Internetes alkalmazásfejlesztés 27

28 Jscript vezérlőszerkezetek if (feltétel { // igaz ág } else { // hamis ág } for (x=1;x<=10;x++) { // ciklusmag } Internetes alkalmazásfejlesztés 28

29 Kliensoldali programozás elemei Az IIS simán leküldi a böngészőnek Tipikusan UI elemek ActiveX control és Java applet ActiveX control ToolBox-ból kényelmesen felrakható Bármit megtehet a user gépén A VBScript és a Jscript nem tudott a file rendszerbe belenyúlni Certificate és Authenticode mechanizmus Eldöntheti a user, hogy letölti vagy sem. Internetes alkalmazásfejlesztés 29

30 Szintaktika: ActiveX control <OBJECT classid="clsid:registryszám" id=név <PARAM NAME="Year" VALUE="1999">.. </OBJECT> A classid egy Global Unique Identifier (GUID) az időből (msec), és az aktuális gép infoból csinál egy hexa számot A PARAM tagban lehet serverscript is, pl: <PARAM NAME <%=változó%>.. CodeBase tulajdonság adja meg a control URL-jét Akkor kell, ha le kellene tölteni, mert nincs a user gépén. Internetes alkalmazásfejlesztés 30

31 Java appletek Szintaktika: <APPLET code=valami.class id=kutya <PARAM NAME=Ez VALUE="Az"> /APPLET> Toolbox-ra felrakható, és újrafelhasználható A class file gépfüggetlen byte kódból áll..java file-ból generálja a Java compiler Egy applet több.class-ból is állhat. Intranet=ActiveX, Internet=Applet A legjobb a sima HTML(?!) Internetes alkalmazásfejlesztés 31

32 window objektum Metódusok open, showmodeldialog, showmodelessdialog, close, navigate Tulajdonságok document, event, history, location, navigator Események onload, onbeforeunload, onunload, onfocus, onblur Kollekció frames Internetes alkalmazásfejlesztés 32

33 document objektum Metódusok open, write, close, createelement, insertadjacentelement, insertbefore Tulajdonságok body, cookie, title Események onclick, onpropertychange, onmousexxx, onkeyxxx, ondragxxx Kollekciók 5.4 all, frames, forms Internetes alkalmazásfejlesztés 33

34 További DHTML objektumok navigator objektum Csak tulajdonságadatai vannak event objektum srcelement, type, propertyname, fromelement, toelement, returnvalue tulajdonságok A cancelbubble szerepe form objektum A document.forms kollekcióból származtatható Internetes alkalmazásfejlesztés 34

35 XML alapok

36 XML (Extensible Markup Language) Az SGML (Standard Generalized Markup Language) subset-je Platform-független adatátadás Bármilyen dokumentum Adatrekord Objektum adatokkal és metódusokkal Grafikai UI elem Séma információ Meta elem (pl. Channel Definition Format) Internetes alkalmazásfejlesztés 36

37 XML példa <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="konyv.xsl"?> <!DOCTYPE filmek SYSTEM "filmek.dtd"> <filmek> <film nyelv="angol"> <cím>matrix</cím> <szereplő>keanu Reeves</szereplő> <szereplő>laurence Fishburne</szereplő> </film> <film nyelv="magyar"> <cím>csinibaba</cím> <szereplő>gálvölgyi János</szereplő> <rendező>tímár Péter</rendező> </film> </filmek> Internetes alkalmazásfejlesztés 37

38 Az XML előnyei (1) Keresések értelmesebbek lehetnek: Könyvkeresésnél pl. ma a "Bill Gates"a róla szóló és az általa írt könyveket is kihozza Az egymással inkompatibilis adatbázisokban való kombinált keresés megoldható Az adat a séma révén az értelmezési és validálási infot is hordozza Egy XML a szervertől függetlenül is kezelhető, sőt módosítható is. Granuláris update: nem kell az egész lapot letölteni, ha csak egy adatsor változott Internetes alkalmazásfejlesztés 38

39 XML előnyei (2) Független a UI-től, ezért a user ízlésének megfelelő prezentációt lehet hozzá csatolni Hasonló a mail-merge-höz Jól tömöríthető az adatátadásnál A tagok szabályos ismétlődő szerkezete jól fekszik a tömörítő eljárásoknak A HTTP 1.1 szerverek és kliensek már ki is használják ezt. Internetes alkalmazásfejlesztés 39

40 Névterek (Namespaces) A különböző XML dokumentumok összekapcsolásakor a tagok megkülönböztetése miatt kell Példa: <Rendelesek xmlns:partner="//www.et.hu/x" xmlns:dsig="//dsig.org"> <partner:nev> <partner:vezeteknev>nagy</partner:vezeteknev> <partner:keresztnev>pál</partner:keresztnev> </partner:nev> <dsig:digalair> </dsig:digalair> </Rendelesek> Internetes alkalmazásfejlesztés 40

41 Adat és prezentáció szétválasztása HTML A Web lap "szöveges", nem változó része CSS A HTML rész stílus információi XML A Web lap "adat" része. (Minden, ami változhat) XSL (Extensible StyleSheet Language) Az "adat" rész stílusinformációi Internetes alkalmazásfejlesztés 41

42 XML dokumentum szabályok Kezdő és záró tag mindig kell (well-formed document) Rövidítés lehetséges, pl.: <Kutya/> Kisbetű/nagybetű különbségre érzékeny! Az XML dokumentum gyökéreleme egyedi Unicode-os karakterkészletet használ (1 karakter=16 bit) Az attribútumok megadásakor idézőjelek használata Internetes alkalmazásfejlesztés 42

43 XML Data Island Az adatsziget egy XML a HTML lap belsejében Inline megadás <XML ID="Valami"> <film> <cím>matrix</cím> </film> </XML> SRC hivatkozás <XML ID="Valami" SRC="film.xml"</XML> Script tag <SCRIPT LANGUAGE="xml" ID="Valami"> <film> stb. </SCRIPT> Internetes alkalmazásfejlesztés 43

44 XML ágak elérése a DOM-ból Valami.documentElement A komplett gyökér elemet éri el Valami.documentElement.childNodes A gyökér alatti ágak kollekcióját éri el Valami.documentElement.childNodes.item(0). nodename A gyökér alatti első ág nevét adja vissza nodename helyett a text a tartalmat adná vissza nodename helyett a childnodes.item(0).text eggyel beljebb menne a hierarchiában. Internetes alkalmazásfejlesztés 44

45 XML attribútumok elérése Valami.documentElement.childNodes.item(n).attri butes.item(z).nodename Az első szinten található n-edik ág z-edik attribútumának a neve Valami.documentElement.childNodes.item(n).get Attribute("nyelv") Az első szinten található n-edik ág "nyelv" nevű attribútumának az értéke Internetes alkalmazásfejlesztés 45

46 További elemek az XMLDOM-ban Data Island elemeinek elérése Valami.XMLDocument.documentElement.stb. Namespace elemek elérése xmlns:partner="//www.et.hu/x" esetén: nodename a teljes nevet adja vissza prefix-szel együtt namespaceuri az URI nevet vagy ""-t ad vissza prefix a példában "partner" basename a prefix nélküli nevet adja vissza adotttag.xml A teljes XML string-et adja vissza Internetes alkalmazásfejlesztés 46

47 XMLDOMDocument Kétféle interfész létezik: XMLDOM Interface (COM prog. Interface) XMLDOM Objects (ActiveX interface) XMLDOMDocument objektum létrehozása VBScript Set xmldok = CreateObject("Microsoft.XMLDOM") Jscript Var xmldok = new ActiveXObject("Microsoft.XMLDOM") Visual Basic Dim xmldok = New DOMDocument Internetes alkalmazásfejlesztés 47

48 XML file betöltése xmldok.load("//et/kakukk.xml") xmldok.loadxml("<vevő>.</vevő>") Aszinkron (default) és szinkron betöltés Mentés xmldok.async = false (még a load előtt) xmldok.abort-ra az aszinkron betöltés leállítható Az értelmezés elhalasztható xmldok.validateonparse = false (ezt is a load előtt) Hiba esetén a parseerror ad információt xmldok.save(server.mappath("minta.xml")) Internetes alkalmazásfejlesztés 48

49 Dokumentumágak elérése Set root = xmldok.documentelement For Each gyerek In root.childnodes MsgBox gyerek.text Next Set ynode=xmldok.documentelement. nodefromid("xxxyyzz") Set ynodelist=xmldok.documentelement. getelementsbytagname("film") vagy Set ynodelist=xmldok.documentelement. selectnodes("film/cím") Internetes alkalmazásfejlesztés 49

50 Új ágak beépítése createnode(típus,név,namespaceuri) Az egyes típusokra külön createtípus metódusok léteznek createelement példa: Set ujelem = xmldok.createelement("film") ujelem.setattribute("nyelv","német") ujelem.text = "akármi" xmldok.documentelement.childnodes.item(3). appendchild ujelem Egyéb lehetőségek replacechild, removechild, insertbefore Internetes alkalmazásfejlesztés 50

51 XMLDOMNode (1) Információ a Node-ról haschildnodes() igaz vagy hamis nodename prefix:név formában nodetype és nodetypestring NODE_ELEMENT 1 NODE_ATTRIBUTE 2 NODE_TEXT 3 NODE_CDATA_SECTION 4 stb. parsed specified Xml logikai iagz, ha ellenőrzött attribútumoknál, ha van default vagy meg van adva az adott node xml string-ként Internetes alkalmazásfejlesztés 51

52 XMLDOMNode (2) Adat olvasása és írása nodevalue nodetypedvalue Text Navigálás az adott Node-ból parentnode, firstchild, lastchild, previoussibling, nextsibling, ownerdocument tulajdonságok childnodes kollekció attributes kollekció révén jutunk el az attribútumokhoz definition visz el a sémához Internetes alkalmazásfejlesztés 52

53 XSL Extensible Stylesheet Language Olyan, mint a mail-merge, ahol az XSL a template, és az XML az adat Hasonlít az ASP ciklushoz és a Tabular Data Controlhoz Kétféle modell ötvözhető Template-driven model Data-driven model Internetes alkalmazásfejlesztés 53

54 Egyszerű XML-XSL-HTML példa <?xml version="1.0"?> <portfolio xmlns:dt="urn:schemas-microsoftcom:datatypes"> <részvény tőzsde="bse"> <név>otp Bank Rt.</név> <jel>otp</jel> <árf dt:dt="number">16000</árf> </részvény> <részvény tőzsde="nasdaq"> <név> </név> </részvény> </portfolio> Internetes alkalmazásfejlesztés 54

55 HTML template <HTML> <BODY> <TABLE Border="2"> <TR> <TD>Jel</TD> <TD>Név</TD> <TD>Árfolyam</TD> </TR> <TR> <TD> </TD> <TD> </TD> <TD> </TD> </TR> </TABLE> </BODY> </HTML> Internetes alkalmazásfejlesztés 55

56 A template "feltöltése" (1) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="//www.w3.org/tr/wd-xsl"> <xsl:template match="/"> <HTML> <BODY> <TABLE Border="2"> <TR> <TD>Jel</TD> <TD>Név</TD> <TD>Árfolyam</TD> </TR> Internetes alkalmazásfejlesztés 56

57 A template "feltöltése" (2) <xsl:for-each select="portfolio/részvény"> <TR> <TD><xsl:value-of select="jel"/></td> <TD><xsl:value-of select="név"/></td> <TD><xsl:value-of select="árf"/></td> </TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> Internetes alkalmazásfejlesztés 57

58 XSL alapszabályok <xsl:for-each> tag adja meg az elemhalmazt <xsl:value-of select="minta"> Az elemhalmazon belül egy gyereket azonosít A select adja meg az XSL pattern-t A file-könyvtár struktúrához hasonlít, de sima perjellel Az elért adat (attribútum, érték) kerül a hívás helyére A navigáció az aktuális node-nál indul Internetes alkalmazásfejlesztés 58

59 HTML template szabályok Well-formed HTML (nyitó és záró tagok) Kisbetű/nagybetű a tagokban fontos Legyenek nagybetűsek! Minden attribútum idézőjelek vagy aposztrófok között legyen HTML és HEAD tag sem maradhat ki Csak a következő karakter egyedek vannak < > & " &apos; A scriptek belsejében sem lehetnek más jelek <SCRIPT><![CDATA[ ide jön a script ] ] ></SCRIPT> Internetes alkalmazásfejlesztés 59

60 <TR> HTML tag új attribútuma <xsl:attribute name="title"> <xsl:value-of select="jel"/> adatai a <xsl:value-of származnak </xsl:attribute> <TD> Csak akkor lehet "TITLE"-t adni, ha még nincs neki. A <TD> tag előtt kell lennie, hogy a <TR>-re vonatkozzon Internetes alkalmazásfejlesztés 60

61 Feltételes template-ek <TD> <xsl:value-of select="jel"/> <xsl:if </xsl:if> </TD> <xsl:attribute name="style">color: <xsl:choose> <xsl:when test="price[. $le$ 25]">red </xsl:when> <xsl:otherwise>green</xsl:otherwise> </xsl:choose> </xsl:attribute> Internetes alkalmazásfejlesztés 61

62 "for-each" rendezése <xsl:for-each select="portfolio/részvény" order-by="árf"> Lehet csökkenő is order-by = "-árf" Több szempont is megadható order-by = "mező1; -mező2" order-by = "date(mező1);-number(mező2)" Ha a select-beli adatra akarunk rendezni: <xsl:for-each select="portfolio/részvény/név" order-by="-." Internetes alkalmazásfejlesztés 62

63 XSL pattern Egy egyszerű query nyelvhez hasonlít portfolio/részvény portfolio/*/név az összes ilyen node példa a joker használatára portfolio/részvény/* 3 részvény esetén 9 elemet ad portfolio/részvény[jel]/név csak azok, amelyeknek van "jel" node-juk portfolio/részvény[jel='otp']/árf részvények árfolyama jön le lévő részvények jönnek le vissza csak az 'OTP' jelű csak a BSE-n csak az attribútum értékpár jön Internetes alkalmazásfejlesztés 63

64 Active Server Pages alapfogalmak (Egy kis történelem)

65 ASP környezet IIS 3.0-tól felfele létezik az ASP. Állapotkezelés A stateless HTTP-vel szemben biztosítja a userenkénti, alkalmazásonkénti, illetve szerverenkénti állapotkezelést. MS ActiveX Data Objects (ADO) Adatbáziskezelés megvalósítása ASP komponensek is használhatók Nyelvek: VBScript, JScript, Perl Internetes alkalmazásfejlesztés 65

66 ASP file tartalma és nyelve Az ASP file tartalma: Sima szöveg HTML Script Kliens oldali Szerver oldali (<%.%>) Script nyelvek VBScript Jscript Perl Internetes alkalmazásfejlesztés 66

67 Határolójelek ASP szintaktikai elemek <.> a HTML határolójelei <%..%> az ASP Script határolójelei Response.Write helyett sima egyenlőségjel Példa: Ez a lap <% =Now %> -kor lett frissítve. Script példa: <SCRIPT RUNAT=Server Client LANGUAGE=VBScript JavaScript> itt van maga a script </SCRIPT> Internetes alkalmazásfejlesztés 67

68 Példa: Scriptek és HTML vegyítése <% If Time < #12:00:00PM# Then %> Good Morning <% Else %> Good Afternoon <% Endif %> Internetes alkalmazásfejlesztés 68

69 Beépített (built-in) objektumok Request Response Application Session Server Internetes alkalmazásfejlesztés 69

70 Request objektum A böngésző által küldött információ Browser A böngészőt adja vissza LogonUserIdentity WindowsIdentity objektumot ad Gyűjtemények QueryString A kérdőjel utáni paraméterek Cookies Adott változó tartalma Példa: Request.Cookies("Dolgozo")("Nev") ClientCertificate (Kulcs[almező]) Secure Sockets Layer (SSL) használatakor https lesz a sima http helyett Files Az upload-dal feljött fájlok Internetes alkalmazásfejlesztés 70

71 3 lehetőség van HTML Form készítése Statikus.HTM egy formcx-szel adatot ad át egy.aspnek.asp küld adatot egy másik.asp-nek.asp küld adatot önmagának (self-posting) Megvalósítás: <Form Method=Post Action=kakukk.asp> Begyűjti az adatokat és a SUBMIT gombra elküldi a kakukk.asp-nek. Internetes alkalmazásfejlesztés 71

72 Az átküldött adatok elérése Példák X = Request.Form("mezőnév") X = Request.Form("mezőnév")(n) Ha ugyanazzal a mezőnévvel több textbox is van Az index nélkül vesszőkkel elválasztott string jön Request.Form("mezőnév").Count Ezzel lehet megtudni, hogy hány azonos nevű van IsEmpty(Request("mezőnév") Ez dönti el, hogy van-e adat a mezőben. Self-posting-nál így dönthető el, hogy első hívás vagy önhívás történt-e Internetes alkalmazásfejlesztés 72

73 QueryString gyűjtemény QUERY_STRING szerver változóba kerül a kérdőjelet követő rész Request.QueryString("mezőnév") A sima Request helyett akkor kell, ha nem formból jött ide a felhasználó pl. REQUEST_METHOD nevű szerver változó X=Request.ServerVariables ("REQUEST_METHOD") "POST" vagy "GET" lesz az X értéke Internetes alkalmazásfejlesztés 73

74 Response objektum (1) Információ küldése a böngészőnek Tulajdonságadatok Buffer True esetén visszatartja a küldést, amíg az ASP le nem fut. Expires Meddig érvényes a lap a Cache-ben percekben. ExpiresAbsolute Meddig érvényes a lap abszolút időben mérve. Internetes alkalmazásfejlesztés 74

75 Metódusok Write Response objektum (2) Sima egyenlőségjellel helyettesíthető Redirect End Buffer=True esetén átszállhatunk egy másik ASP-re Response.Redirect "http://www.x.y/h.asp" Pufferezett esetben ekkor küldi el a böngészőnek Clear Ha mégse küldjük el, akkor az End helyett ez jön. Internetes alkalmazásfejlesztés 75

76 Response objektum (3) Cookies gyűjtemény Cookie: a felhasználó gépén tárolt adat. A böngészőben értesítés kérhető, sőt le is tiltható a használata. Példa: Response.Cookies("Kakukk") = "Valami" Response.Cookies("Dolgozo")("Nev") = "Kovács" Tulajdonságok Secure Haskeys (True vagy False) Internetes alkalmazásfejlesztés 76

77 Application objektum Metódusok Lock és Unlock az objektum zárolására Események Application_OnStart és Application_OnEnd A Global.Asa-ban kell ezeket deklarálni Változók Application("Macska") = "Nokedli" X = Application("Macska") Gyűjtemények Contents StaticObjects Az összes változó <OBJECT>-en belüli obj-ok Internetes alkalmazásfejlesztés 77

78 Session objektum Az állapot nélküli HTTP feloldására Példa: "Vásárlókosár" jellegű alkalmazás készíthető A Global.Asa kezeli Session("KakukkValt") = érték X = Session("KakukkValt") Tulajdonságok Metódus SessionID (long) és TimeOut (percek) Abandon Kierőszakolja a Session végét. Internetes alkalmazásfejlesztés 78

79 Application_OnStart Események Akkor, amikor az első user az első session-t nyitja. Application_OnEnd Akkor, amikor leállítják a Web szervert. Session_OnStart Minden usernél egyszer az elején fellép (Form_Load szerű). Itt lehet számolni a látogatókat. Session_OnEnd Amikor egy adott user elmegy. Internetes alkalmazásfejlesztés 79

80 Változók hatáskörei Dim Kakukk Az adat elvész, amikor a user lemegy a lapról. Session("Kakukk") Annyi példány lesz, ahány user éppen benn van Application("Kakukk") Egy közös példány lesz. (Variant) Ha többen akarják egyszerre módosítani: Application.Lock Application("Adat") = Application("Adat") + 1 Application.Unlock Internetes alkalmazásfejlesztés 80

81 Server objektum A Web szerverrel való kapcsolattartásra Tulajdonság ScriptTimeout Metódusok CreateObject Ezzel lehet az ActiveX komponenseket a szerveroldalon felhasználni. (ProgID-t kell átadni.) HTMLEncode, HTMLDecode MapPath UrlEncode, UrlDecode Internetes alkalmazásfejlesztés 81

82 Request.ServerVariables A szerverről, illetve a böngészőről ad infot. QUERY_STRING REMOTE_ADDR A request-et kiadó host gép IP-címe. SERVER_PORT Az a port szám, ahova a request-et küldtük. SERVER_SOFTWARE Név és verzió URL Az URL cím alaprésze Internetes alkalmazásfejlesztés 82

83 ActiveX szerver komponensek COM-ot tudó OLE Automation szerverek Elérik a file rendszert és a szerver hálózatot is (A VBScript és a Jscript nem éri el!) DLL-ként vagy EXE-ként működnek VB, C, C++, Cobol, Pascal, Java, stb. Jobb, mint a CGI Egy példány szolgálhatja ki az összes felhasználót Internetes alkalmazásfejlesztés 83

84 Szerveroldali komponensek ADO Command, Connection, Recordset Ad Rotator Browser Capabilities Content Linking Index Server Dictionary Filesystem Object Internetes alkalmazásfejlesztés 84

85 Web alkalmazás Az adott Web site-on található.asp,.htm és egyéb file-ok összessége. A virtuális gyökérben kell egy Global.Asa Analógia:.EXE ===>.ASA.DLL ===>.ASP és.htm.asp és.htm több alkalmazás része is lehet Application objektum =globális tárolóhely Alkalmazások közötti adatcserére nem jó. Internetes alkalmazásfejlesztés 85

86 Web alkalmazás ASP.NET-ben Global.asax HttpApplication ősosztályból származik this.applicationinstance Egyszerre csak egy kérést szolgál ki Automatikus esemény feliratkozás Application_eseménynév Csak egyszer _Start, _End Minden kéréshez _BeginRequest, _AuthenticateRequest stb. Minden sessionhöz Session_Start, Session_End Internetes alkalmazásfejlesztés 86

87 Az ASP.NET alapjai

88 A.NET keretrendszer Nyelvfüggetlen futtatórendszer (Common Language Runtime CLR) Alaposztályok és könyvtárak Adatkezelés (ADO.NET) Felhasználói interfész Web Forms Windows Forms Egyebek Web szolgáltatások Internetes alkalmazásfejlesztés 88

89 Az ASP.NET jellegzetességei (1) Sokféle nyelvet támogat, nemcsak script nyelveket Lefordított kódot használ A teljes keretrendszer elérhető Intelligens szerver vezérlőelemeket tartalmaz Web szolgáltatások építhetők Kibővített engedélyezési rendszer működik benne Internetes alkalmazásfejlesztés 89

90 Az ASP.NET jellegzetességei (2) Többrétegű skálázhatóság Munkamenet (session) kezelés sütik (cookies) nélküli böngészőknél Sokféle konfigurálási lehetőség Egyszerű telepítés Internetes alkalmazásfejlesztés 90

91 ASP.NET verziók 1.0 (Visual Studio 2002) 1.1 (Visual Studio 2003) 2.0 (Visual Studio 2005) 3.0 és 3.5 (Visual Studio 2008) Ajax, WPF Silverlight Beta az SP1-ben Internetes alkalmazásfejlesztés 91

92 Mappa alapú fejlesztés Mappa határozza meg a web projektet Nincs projekt fájl Projekt beállítások.sln-ben %UserProfile% \ My Documents \ Visual Studio \ Projects \ <webprojektnév> \ <webprojektnév>.sln Célszerű előbb létrehozni a solutiont Minden fájl a projekthez tartozik Minden source control alá tehető Dokumentáció, grafikai forrás fájlok Temp fájlok rejtett mappák Megosztás, FTP vagy FPSE Internetes alkalmazásfejlesztés 92

93 Fejlesztő szerver Korábbi Cassini alapjain Alapértelmezett, ha nincs IIS Use default web server opció a projekt tulajdonságlapján Csak lokális kéréseket szolgál ki Véletlen portszámon fut Hibakeresést támogatja A fejlesztő nevében fut Manuálisan is indítható Internetes alkalmazásfejlesztés 93

94 Speciális könyvtárak App_Browsers Mappa neve Tartalma Böngésző definíciós állományok (.browser) App_Code Kód: segédosztályok, üzleti objektumok (.cs,.vb,.xsd) App_Data App_GlobalResources App_LocalResources App_Themes* App_WebReferences bin Adatfájlok, adatbázisok (.mdf,.mdb,.xml) Alkalmazás szintű erőforrások (.resx,.resources) Oldal- és vezérlőelem szintű erőforrások (.resx,.resources) Témák és bőrök (.skin,.css) Webszolgáltatásokra mutató hivatkozások, sémák (.wsdl,.xsd,.disco) Lefordított szerelvények (.dll) Internetes alkalmazásfejlesztés 94

95 Fordítási bajok 1.x-ben Két fordítási környezet volt az 1.x-ben Fordítási időben nyelvi fordítók Futási időben ASP.NET v.1.x Törékeny: ID egyezés az ASPX és a CS fájl között Lassú: az egész alkalmazást kellett fordítani Sok hiba csak futási időben derült ki ASPX kód, adatkötés,konfiguráció 2.0-tól kezdve Több ellenőrzés fordítási időben 100% kompatibilitás %FrameworkDir% \ %FrameworkVersion% \ Temporary ASP.NET Files Internetes alkalmazásfejlesztés 95

96 Mögöttes kódot tartalmazó fájl Fordítás Az osztály neve, amiből származtatni kell Page CodeFile= Liba.aspx.vb" Inherits= Liba"... %> public partial class Liba : System.Web.UI.Page {... } System.Web.UI.Page -.Liba Generált részleges osztály:.profile.applicationinstance.master Vezérlők deklarációja -.Liba Megírt részleges osztály: Page_Load() Eseménykezelők Saját mezők, tulajdonságok, metódusok ASP.Liba_aspx Dinamikus fordítás Internetes alkalmazásfejlesztés 96

97 Kódgenerálás fejlesztéskor Deklaratív leírás fordítható kód Windows\Microsoft.Net\Framework\verzió\Temporary ASP.NET Runtime.ccu (Code Compile Unit),.compiled (XML file compiler információkkal Build-re ezek helyett DLL lesz Részleges osztályok Speciális mappák Adatkötések ExpressionBuilders $AppSettings, $ConnectionStrings, $Resources <asp:label ID="lblVersion" runat="server" Text="<%$ AppSettings:AppVersion %>" /> BuildProviders VS05/VS08 is elvégzi IntelliSense Internetes alkalmazásfejlesztés 97

98 Web űrlap (Web Form).ASPX kiterjesztésű direktívát tartalmaz: Page Language=Vb %> Szerveroldali űrlappal rendelkezik: <Form runat= server > </Form> Egy ASPX lap a System.Web.UI.Page osztályból öröklődő dinamikus osztály Az ASPX lapon lévő vezérlőelemek objektumok AutoEventWireup= True False Page_Event formájú eljárások automatikus kapcsolása Internetes alkalmazásfejlesztés 98

99 BuildProviders Minden projekt típusban: XSD DataSet, WSDL proxy ASP.NET-ben kiterjeszthető Tetszőleges fájl formátumhoz Tetszőleges fordítás előtti feldolgozás és kód generálás (CodeDOM) Web.config kapcsolja össze <buildproviders> szekció Globális web.configban 11 előre definiált pl. IgnoreFileBuildProvider Internetes alkalmazásfejlesztés 99

100 Kinek a nevében fut IIS Windows XP: Gépnév\ASPNET Megváltoztatható machine.config-ban <processmodel username= password= /> Windows Server 2003: NT Authority\Network Service Megváltoztatható AppPoolonként az IIS6-ban Fejlesztői szerver Fejlesztői fiók nevében SQL Server A szolgáltatáshoz megadott fiók nevében SQL Server Express: user instance mode Saját példány a futtató fiók nevében A felhasználó SysAdmin jogokkal kapcsolódik hozzá Internetes alkalmazásfejlesztés 100

101 Szerver vezérlőelemek A szerver oldalon programozható objektumok Tulajdonságok, metódusok, események Az események a kliensen következnek be, de a szerveren fut le az eseményvezérlő metódus Runat= server attribútummal rendelkeznek Böngészőfüggő HTML-t küldenek Típusai: Szerveroldali HTML vezérlőelemek Web vezérlőelemek Internetes alkalmazásfejlesztés 101

102 Szerveroldali HTML vezérlőelem Megegyezik a megfelelő HTML elemmel Runat= server attribútumot tartalmaz Egyedi ID tag van benne A System.Web.UI.HtmlControls névteret használja Well-formed XML szintaktikát kell használni <tag attr= érték runat= server >.</tag> vagy <tag attr= érték runat= server /> Property adatok Disabled, Visible, ID, Style, TagName, Attributes Rendereléskor a Name és az ID megegyezik Internetes alkalmazásfejlesztés 102

103 Web vezérlőelem Intelligens komponensként funkcionálnak Az asp névtérben működő tagok <asp:textbox id= kakukk runat= server /> A System.Web.UI.Webcontrols névteret használja Ez van leképezve az asp: tagprefixre Négyféle típusba sorolható: Belső (beépített, intrinsic) Gazdag (rich) Ellenőrzés (validation) Lista Dinamikus felrakás a Page_Init-ben történik Láthatóvá kell tenni (Visible=True) Hozzá kell adni a Form gyűjteményhez Form1.Controls.Add (újctl) Internetes alkalmazásfejlesztés 103

104 Hogyan működik egy Web űrlap? Method= post Action= ugyanez a lap Az űrlap egyedi id és name attribútumot kap Mindegyik vezérlőelemhez hozzárendelődik egy value tag Rejtett vezérlőelem gondoskodik az állapot megőrzéséről (_VIEWSTATE néven) Kikapcsolható az enableviewstate= false megadásával bármelyik vezérlőelemnél Internetes alkalmazásfejlesztés 104

105 Eseményvezérlő eljárás írása Kód deklarációs blokk vagy mögöttes kód <SCRIPT Language= VB Runat= server > Sub Valami(s As Object, e As EventArgs). End Sub </SCRIPT> Code-behind class file Összekapcsolás a szerver vezérlőelemnél: <tag runat= server onserverclick= Valami /> A metódus nevét kell leírni, és nem egy függvényhívást, mint az ASP-nél. Internetes alkalmazásfejlesztés 105

106 Page események sorrendje Init LoadControlState, LoadViewState, LoadPostData Load Ahányszor csak meghívják az ASPX lapot Change típusú események AutoPostBack nélkül (RaisePostDataChangeEvent) Click esemény és az AutoPostback-es Change események (RaisePostbackEvent) Vagyis az az esemény, amitől az űrlap elindult PreRender, SaveControlState, SaveViewState Render, Dispose, Unload Internetes alkalmazásfejlesztés 106

107 Internetes alkalmazásfejlesztés 107

108 Cache objektum Application-hoz hasonló, de több a lehetőség Példák: Cache( Macska )= Nokedli Cache.Insert( Macska, Nokedli ) Cache.Insert( conn, connstring, new CacheDependency (Server.MapPath( ~\config.xml ))) Cache.Remove( Macska ) Abszolút idő vagy TimeSpan is megadható, hogy meddig maradjon Callback metódussal értesítést is kaphatunk a törlésről

109 Deklaratív Page Output Cache Szintaktika: OutputCache Duration= 99 --másodperc Location=Server Client Any ServerandClient VaryByControl= cntida; cntidb; VaryByParam= qrystr; None * SqlDependency= adatbázis/tábla Cache típusok A lap nem, csak adott control-ok (VaryByControl) A teljes lap, kivéve néhány control (ASP.NET Substitution control használatával)

110 Page.IsPostback Ezzel tesztelhető, hogy első meghívás vagy újrahívás történt: If Not Page.IsPostBack Then Első meghívás Else Újrahívás End If Aszinkron postback (AJAX) ScriptManager és UpdatePanel kell hozzá Internetes alkalmazásfejlesztés 110

111 Page_Error Hibakezelés Server.GetLastError().Message kiírható pl. Trace-be Server.ClearError() Application_Error Global.Asax-ban használható Pl. Server.Transfer-rel átirányítható egy standard hibakezelő lapra Internetes alkalmazásfejlesztés 111

112 Belső (instrinsic) Web vezérlőelem Az eredeti HTML vezérlőelemek helyett Standard névkonvenciót használnak <input type=xxx> helyett Közös tulajdonsághalmaz Pl. Text, BackColor, ForeColor mindegyiknél A Windows-nál megszokott specifikus nevek Pl. Checked az asp:checkbox-nál SelectedItem az asp:listbox-nál Böngészőfüggő kódot generál Internetes alkalmazásfejlesztés 112

113 A Web vezérlőelemek típusai <asp:textbox> <asp:button> <asp:imagebutton> <asp:checkbox> <asp:radiobutton> <asp:listbox> <asp:dropdownlist> <asp:hyperlink> <asp:image> <asp:label> <asp:panel> <asp:table> <input type=text> <input type=button> <input type=image> <input type=checkbox> <input type=radiobutton> <select size= 5 > </select> <select> </select> <a href=.. > </a> <img src= > <span> </span> <div> </div> <table> </table> Internetes alkalmazásfejlesztés 113

114 Web vezérlőelemek (1) Közös tulajdonságok AccessKey, Attributes, BackColor, CssClass, Enabled, ForeColor, SkinID, TabIndex, ToolTip, Height, Width, EnableViewState TextBox Text (HtmlEncode-dal kell feldolgozni, hogy ne trükközhessen a felhasználó) TextMode=SimpleLine MultiLine Button CommandName (A Command event-nél ebből tudjuk, hogy melyik gombot nyomták meg) Checkbox, RadioButton Checked=True False GroupName (csak a RadioButton-nál) Internetes alkalmazásfejlesztés 114

115 Web vezérlőelemek (2) Literal Sima szövegként renderelődik, és nem <span> tagként, mint a Label control Literal.Mode=Passthrough (a Text-et értelmezi) Encode (kiírja) Table, TabelRow, TableCell Jobb a HTMLTable-nél, de gyengébb a GridView-nál, mert a programból hozzáadott TableRow elvész a Postback-nél Image ImageUrl, AlternateText ImageButton Image-ből öröklődik Click és Command eseménykezelést tud Internetes alkalmazásfejlesztés 115

116 Web vezérlőelemek (3) ImageMap Ez is az Image-ből öröklődik imgmap.hotspots.add (hotspot) hotspot létrehozás: PolygonHotSpot, CircleHotSpot, RectangleHotSpot Calendar Naptárelem, HTML Table lesz belőle FileUpload Textbox és egy Browse gomb, azaz <input type= file > Nem csinál Postback-et. Kell tehát egy külön gomb. Page_Load csak akkor lesz, ha a file már felment a szerverre. Internetes alkalmazásfejlesztés 116

117 Web vezérlőelemek (4) Panel <div> lesz belőle. Együtt lehet eltüntetni a tartalmát MultiView és View Több View közül az ActiveViewIndex által megadott renderelődik Wizard View-ből áll WizardStep kollekció StepType=Start Step Finish Complete Internetes alkalmazásfejlesztés 117

118 Web vezérlőelemek (ListControls) ListBox, DropDownList, BulletedList, RadioButtonList, CheckBoxList Items kollekció elemei ListItem objektumok Text és Value tulajdonságadatokkal DataSource és DataMember (adatforrások) DataTextField, DataValueField (összekapcsolás) DataTextFormatString SelectedIndex, SelectedItem, SelectedValue SelectedIndexChanged esemény AppendDataBoundItems=true Az előtte felvettek benne maradnak, így lehet a (Mind)-et beilleszteni Internetes alkalmazásfejlesztés 118

119 Web vezérlőelemek (Navigáció) Hyperlink NavigateURL property Button PostBackUrl=másik lap is lehet Page.PreviousPage éri el a korábbi lapot, és prevpage.findcontrol( txtdata ) éri el a controlt PreviousPageType VirtualPath= x.aspx %> esetén a Public Property-k prevpage.prop1 módon is elérhetők SiteMapPath Web.sitemap file kell <sitemap xmlns <sitemapnode url= title= decription= /> Internetes alkalmazásfejlesztés 119

120 Web vezérlőelemek eseménykezelése Csak szerveroldali eseményekre reagál Click-típusú események Listadobozoknál Change-típusúak (pl. SelectionChanged) esemény= metódusnév Pl. onclick= valami Itt az onclick jelenti azt, amit a HTML vezérlőelemnél az onserverclick jelentett autopostback tulajdonság Ha true, akkor egy change típusú esemény is azonnal a szerverhez fordul Internetes alkalmazásfejlesztés 120

121 Adatellenőrző vezérlőelemek Tipusok: RequiredFieldValidator CompareValidator RangeValidator RegularExpressionValidator CustomValidator Ellenőrzés helye Kliens (Javascript kezelő böngészőknél) Szerver (a többi böngészőnél) Internetes alkalmazásfejlesztés 121

122 Közös tulajdonságok controltovalidate="ellenőrzendő control ID-je" errormessage="hibaüzenet szövege" display="dynamic" vagy "static" vagy "none" static=fix helyet foglal el a képernyőn dynamic=ha nincs hiba, akkor nem foglal el helyet enableclientscript="true" vagy "false" Internetes alkalmazásfejlesztés 122

123 CompareValidator Összehasonlítás egy konstanssal vagy egy másik vezérlőelem értékével ValueToCompare="konstans" vagy ControlToCompare="másik vezérlőelem ID-je" Type="String" "Integer" "Date" "Double" "Currency" Operator="Equal" "NotEqual" "GreaterThan" "GreaterThanEqual" LessThan" "LessThanEqual" "DataTypeCheck" Internetes alkalmazásfejlesztés 123

124 RangeValidator Értéktartomány ellenőrzés MinimumValue="konstans" MaximumValue="konstans" Type="String" "Integer" "Date" "Double" "Currency" Internetes alkalmazásfejlesztés 124

125 ValidationSummary Page.isValid="true" esetén jelenik meg Az adott lap összes hibáját kiírja Az eredeti ellenőrző vezérlőelemek helyén ilyenkor "*" jel íratható ki <asp:xxvalidator >*</asp:xxvalidator> Internetes alkalmazásfejlesztés 125

126 RegularExpressionValidator Minta alapján történő ellenőrzés ValidationExpression="formátum" Példa adószámra: ValidationExpression="[0-9]{8}-[0-9]-[0-9]{2}" Internetes alkalmazásfejlesztés 126

127 Az ADO.NET alapjai

128 ADO.NET Internetes alkalmazásfejlesztés 128

129 Connection objektum Kétféle típusa van: SQLConnection (SQLServer 7.0, 2000) OLEDBConnection (a többi esetén) ConnectionString (SQLConnection-nél) Data Source=.. vagy Server=.. ; Initial Catalog=.. vagy Database=.. ; Integrated Security= vagy Trusted_Connection=sspi; vagy User ID=.. Pwd=.. Connection String (OLEDBConnection-nél) Provider=..; a többi ugyanaz ODBC-t nem támogat (külön ODBC.NET provider kell) Internetes alkalmazásfejlesztés 129

130 Connection példa Dim condb = new SQLConnection() condb.connectionstring="integrated Security=SSPI;Initial Catalog=northwind" condb.open() Az open nem kötelező Dataset esetén Internetes alkalmazásfejlesztés 130

131 Command objektum Kétféle típusa van: SQLCommand (SQLConnection-nél) OLEDBCommand (OLEDBConnection-nél) Konstruktor paraméterek CommandText (Maga az SQL mondat) Connection (Az xxxconnection objektum) Transaction (A Transaction objektum) Egyéb tulajdonság CommandType=CommandType.StoredProcedure.TableDirect.Text (default) Parameters Internetes alkalmazásfejlesztés 131

132 Command objektum metódusai ExecuteScalar Az eredményhalmaz első sorának első oszlopát adja ExecuteReader DataReader (Sql vagy OleDb) objektumot szolgáltat ExecuteXmlReader XmlReader objektumot szolgáltat ExecuteNonQuery Végrehajtja a megadott DDL vagy DML utasítást Visszaadja az érintett sorok számát Output paraméterek feltöltődnek Internetes alkalmazásfejlesztés 132

133 SqlParameter objektum Konstruktor paraméterek: ParameterName (pl. SqlDbType (pl. SqlDbType.Int) Size (a méret byte-ban, pl. 4) Egyéb tulajdonságok Direction = ParameterDirection.Input Output InputOutput ReturnValue Value (A paraméter értéke írható és olvasható) SourceColumn (Dataset-nél az eredeti oszlop neve) Internetes alkalmazásfejlesztés 133

134 SqlCommand paraméterei Paraméter hozzáadása SQLCommand-hoz cmdsqlcom.parameters.add(para1) ahol Para1 egy SqlParameter objektum Paraméterérték írása, olvasása: Az Executexxx után output paraméterre is A visszaadott érték átvétele Value Internetes alkalmazásfejlesztés 134

135 Két típusa van: DataReader objektum SqlDataReader OleDbDataReader Az xxcommand.executereader hozza létre Saját konstruktorral nem lehet létrehozni! Csak előrefele olvasható adathalmaz Nyitott xxconnection kell hozzá A végén le kell zárni a Readert és a Connection-t Memóriakímélő Internetes alkalmazásfejlesztés 135

136 DataReader tulajdonságok és metódusok Read metódus A következő sor beolvasása "False"-t ad vissza, ha nincs több rekord (EOF) Item (default property) dr.item("szlaszam").value vagy dr(1).value Object-et ad vissza, ezért gyakran CType kell GetValues (tömböt vár és tölt fel) GetOrdinal("SzlaSzam") IsDbNull(i) "true", ha az oszlop DbNull Internetes alkalmazásfejlesztés 136

137 DataReader példa Dim cmdpartner As SqlCommand=new SqlCommand( "SELECT PartAzon,PartNev FROM Partner",conDB) condb.open() Dim rdrpartner As SqlDataReader rdrpartner=cmdpartner.executereader() Do While rdrpartner.read() ListBox1.Items.Add(rdrPartner.GetInt16(0) & vbtab & _ rdrpartner.getstring(1)) Loop rdrpartner.close() I = rdrpartner.recordsaffected ' -1-et ad, mert SELECT condb.close() Internetes alkalmazásfejlesztés 137

138 Több Recordset kezelése Tárolt eljárás több eredményhalmazt is adhat vissza, ha több SELECT van benne rdrpartner.nextresult() megy rá a következő rekordhalmazra A RecordsAffected összeadja az INSERT, UPDATE, DELETE által érintett rekordokat Internetes alkalmazásfejlesztés 138

139 Tranzakciókezelés ADO.NET-ben SqlConnection.BeginTransaction adja vissza az SqlTransaction objektumot. A tranzakció hatálya alá tartozó Command objektumoknál cmdpartner.transaction = tranobj tranobj.isolationlevel = IsolationLevel.Serializable Tranzakció metódusai tranobj.commit() tranobj.save() tranobj.rollback() Internetes alkalmazásfejlesztés 139

140 Dataset Memóriában tárolt relációs adathalmaz Adatbázis kapcsolat nélkül működik Alaposztályok System.Data.DataSet System.Data.DataTable System.Data.DataColumn System.Data.Constraint System.Data.DatRelation System.Data.DataRow System.Data.DataView Internetes alkalmazásfejlesztés 140

141 A DataSet osztály objektummodellje Internetes alkalmazásfejlesztés 141

142 DataSet létrehozása és feltöltése 1. Programozott módon 2. A Visual Studio.NET grafikus eszközeivel 3. XML segítségével 4. DataAdapter használatával Internetes alkalmazásfejlesztés 142

143 DataSet programozott létrehozása Új DataSet objektum létrehozása Dim dsszamla As New DataSet("Szla") Új DataTable objektum létrehozása és hozzákapcsolása a DataSet objektumhoz Dim dtpartner As New DataTable = dsszamla.tables.add("partner") Ha nem adunk meg táblanevet, akkor "Table0,1,2" nevet ad Új DataColumn objektum hozzáadása a táblához Dim colpartazon As New DataColumn = dtpartner.columns.add("partazon", GetType(System.Int32)) Internetes alkalmazásfejlesztés 143

144 Columns DataTable tulajdonságok A tábla oszlopainak kollekciója (DataColumnCollection) Constraints A tábla Constrainst kollekciója (ConstraintCollection) ForeignKeyConstraint vagy UniqueKeyConstraint osztály PrimaryKey Rows DataColumn() tömbként kell megadni dtpartner.primarykey=new DataColumn() _ {dtpartner.column("partazon")} Az adatsorok kollekciója Internetes alkalmazásfejlesztés 144

145 DataColumn tulajdonságok AllowDbNull NULL constraints alkalmazása Unique UNIQUE constraints alkalmazása AutoIncrement colpartazon.autoincrement = True colpartazon.autoincrementseed = 1000 'Innen indul colpartazon.autoincrementstep = 1 ' Egyesével megy SqlTypes.SqlGuid alkalmazása biztonságosabb, ha adatbázishoz nem kapcsolt környezetet használunk Expression Számított kifejezés használata Internetes alkalmazásfejlesztés 145

146 DataRelation objektum Két DataTable összekapcsolása DataColumn objektumok mentén Rel1 = dsszamla.relations.add("fk_szamla_partner", _ dtpartner.columns("partazon"), _ dtszamla.columns("partazon"),true) "True" jelentése: constraint-ek felépítését kérjük A kapcsolt táblák elősegítik a navigálást DataRow.GetChildRows metódus pl. az adott partnerhez tartozó számlasorokat adja vissza DataRow() tömbként Törlési szabály beállítása Rel1.DeleteRule = Rule.Cascade Rule.SetNull Rule.SetDefault Rule.None Internetes alkalmazásfejlesztés 146

147 DataException események ConstraintException Kísérlet egy éles constraint megsértésére DuplicateNameException Valamelyik Add metódus duplikált elemet hozna létre InvalidConstraintException Rossz reláció létrehozása vagy elérése NoNullAllowedException Egy AllowDbNull=False mezőben NULL-t akarunk írni Internetes alkalmazásfejlesztés 147

148 Új sorok beillesztése a táblába DataRow objektum létrehozása drpartner = dtpartner.newrow() DataRow objektum feltöltése adatokkal drpartner("partnev") = "Kakukk Kft." drpartner("partvaros") = "Budapest". vagy drpartner.itemarray = new Object() {"Kakukk Kft.","Bp" } DataRow hozzáadása a DataTable objektumhoz dtpartner.rows.add(drpartner) Internetes alkalmazásfejlesztés 148

149 Adott sor megkeresése a táblában A DataTable.Rows kollekció segítségével DataRowCollection típusú objektumot ad vissza Item tulajdonság dtpartner.rows(3) a negyedik sort adja vissza Count tulajdonság a sorok számát adja A Find metódus az elsődleges kulcs alapján keres Dim Kulcs As Object Dim Sor As DataRow Kulcs = 214 Sor = dtpartner.find(kulcs) If Sor Is Nothing Then ' Nincs meg a keresett rekord Internetes alkalmazásfejlesztés 149

150 Meglévő sorok módosítása a táblában DataRow.BeginEdit metódussal kezdődik Kikapcsolja a constraint események kezelését DataRow.EndEdit vagy.canceledit metódussal zárjuk le a módosítást Visszakapcsolja az eseménykezelést Mintapélda: ' Behozzuk a keresett sort, például: drpartner = dtpartner.rows(7) drpartner.beginedit() drpartner("partnev") = "Teszt Kft." drpartner.endedit() Internetes alkalmazásfejlesztés 150

151 Fizikai törlés Sorok törlése a táblából dtpartner.rows.removeat(5) 'Törli a 6. sort drpartner = dtpartner.rows(5) dtpartner.rows.remove(drpartner) Logikai törlés drpartner.delete ' Ez is törli a 6. sort A drpartner.rowstate értékét RowState.Deleted-re állítja Internetes alkalmazásfejlesztés 151

152 Adatellenőrzés menete DataTable események ColumnChanging (oszlop módosítása előtt) ColumnChanged (oszlop módosítását követően) RowChanging (minden oszlop módosítását követően) RowChanged (minden RowChanging után) RowDeleting (akkor, amikor törlésre jelölünk egy sort) RowDeleted (a sor törlését követően) BeginEdit, EndEdit esetén Csak egyszer lép fel a RowChanging és a RowChanged Az események kezeléséhez WithEvents opcióval kell deklarálni a DataTable-t Throw-val lehet megakadályozni a módosítást Internetes alkalmazásfejlesztés 152

153 RowState és RowVersion DataRow.RowState lehetséges értékei: Deleted = a sort törölték DataRow.Delete-tel Modified = módosították, de AcceptChanges még nem volt Added = új sort vettek fel, de AcceptChanges még nem volt Unchanged = a legutolsó AcceptChanges óta nem módosult Detached = a DataRow nincs DataTable-hez kapcsolva DataRow.RowVersion lehetséges értékei: Current = az éppen aktuális értékek Default = az alapértelmezett értékek Original = az eredeti (módosítás előtti) értékek Proposed = módosítás közbeni (még nem elfogadott) értékek DataRow("PartAzon",DataRowVersion.Original) DataRow.HasVersion-nel lekérdezhető, hogy van-e olyan verzió Internetes alkalmazásfejlesztés 153

154 A módosítások véglegesítése AcceptChanges metódus DataRow, DataTable vagy DataSet szinten is kiadható Az "Original" értékek felveszik a "Current" értékeket A RowState értéke Unchanged lesz A RowError információk törlődnek A DataTable.HasErrors értéke false lesz RejectChanges metódus Internetes alkalmazásfejlesztés 154

155 DataView objektum Az SQL View szerepét tölti be DataSet-nél, DE!: A DataView nem tekinthető DataTable-nek Csak egy DataTable-re alapulhat (join-ok nem lehetnek) Nem hagyhatók ki oszlopok az eredményből Tipikusan rendezésre és szűrésre alkalmas Dim dv As New DataView(dsSzamla.Tables("Partner")) dv.sort = "PartNev" dv.filter = "Irszam = '5600'" A felhasználói interfészen használjuk Így pl. több vezérlőelemet is hozzákapcsolhatunk ugyanahhoz a DataTable objektumhoz. DataTable.DefaultView használata Internetes alkalmazásfejlesztés 155

156 DataAdapter objektum Kétféle formája van: SqlDataAdapter OleDbDataAdapter Hídnak tekinthető az adatbázis és a DataSet egy adott DataTable objektuma között Fill metódus tölti fel a DataTable-t az adatbázisból Update metódus viszi vissza a módosításokat a DataTable-ből az adatbázisba Mire alkalmas, és mire nem Jó: Tábla másolata egy közbenső rétegben Rossz: Kereső funkció eredménye egy Web site-on Internetes alkalmazásfejlesztés 156

157 DataAdapter létrehozása Két módszer kínálkozik Data Adapter Configuration Wizard használata Saját kód készítése DataAdapter felépítése egyelőre csak olvasásra Dim dapartner As SqlDataAdapter Dim cnszamla As SqlConnection("connection string adatok") Dim cmdpartner As New SqlCommand( _ "SELECT * FROM Partner",cnSzamla) dapartner.selectcommand = cmdpartner DataSet feltöltése DataAdapter-rel intsorok = dapartner.fill(dsszamla dtpartner dsszamla, "Partner") Internetes alkalmazásfejlesztés 157

158 Módosítások visszaírása az adatbázisba DataAdapter.Update(Para1) metódus meghívása A Para1 lehet DataSet, DataTable vagy DataRow() tömb A megfelelő SQL parancsok végrehajtása InsertCommand UpdateCommand DeleteCommand A kapcsolatot a DataTable-vel a megfelelő SQLParameter objektumok hozzák létre Internetes alkalmazásfejlesztés 158

159 Mintapélda módosításra Dim cmdmodos As New SqlCommand("UPDATE Partner SET" & _ WHERE _ cnszamla) cmdmodos.parameters.add(new _ SqlDbType.Int32, 4, ParameterDirection.Input, False, _ 0, 0, "PartAzon", DataRowVersion.Current, Nothing)) cmdmodos.parameters.add(new _ SqlDbType.Char, 30, ParameterDirection.Input, False, _ 0, 0, "PartNev", DataRowVersion.Current, Nothing)) cmdmodos.parameters.add(new _ SqlDbType.Int32, 4, ParameterDirection.Input, False, _ 0, 0, "PartAzon", DataRowVersion.Original, Nothing)) Internetes alkalmazásfejlesztés 159

160 DataSet módosítások kezelése DataTable.GetChanges metódus Előállít egy újabb DataTable-t, amibe csak az adott módosítások (pl. csak a törlések) kerülnek DataSet.GetChanges is hasonlóan működik DataTable.Select metódus Szűrő, rendezés és RowState alapján kijelölt sorokat egy DataRow() tömbbe rakja Nem másolás(!), hanem pointerek kialakítása DataSet.Merge metódus Az adott DataSet-hez hozzárakja egy másik DataSet vagy DataTable tartalmát Internetes alkalmazásfejlesztés 160

161 Konfliktusok kezelése Az optimista zárolás miatt konfliktusok keletkezhetnek Konfliktusok detektálása Konfliktusok feloldása 1. "Az utolsó győz" elv alapján 2. A konfliktust okozó adatok a DataSet-ben maradnak 3. A helyi DataSet-ben visszaállunk az eredeti adatra 4. A helyi DataSet-be betöltjük a legutolsó adatokat Internetes alkalmazásfejlesztés 161

162 XSD Schema DataSet és az XML Az XML dokumentum struktúráját írja le Az adatbázis szerkezeti leírásához hasonló Adattáblák és a táblák közötti kapcsolatok Adatmezők neve és adattípusa Kényszerek (pl. elsődleges kulcs, egyedi kulcs, stb.) Erős típusú DataSet Sémainformációval rendelkező DataSet A séma segíti az adatellenőrzést Hatékonyabb az adatimport és az adatexport Internetes alkalmazásfejlesztés 162

163 XSD séma alapelemei: element <xs:element name="partaz" type="xs:integer" /> Egyszerű vagy komplex adat leírására Kisbetű-nagybetű megadására érzékeny Primitív XML adattípusok string, Boolean, float, double, decimal, datetime, time, date, anyuri Származtatott XML adattípusok integer, long, short, int, byte, positiveinteger, unsignedlong Példa adatfeltöltésre <PartAz>2547</PartAz> <PartAz>XC35</PartAz> ' Jó példa ' Rossz példa Internetes alkalmazásfejlesztés 163

164 XSD séma alapelemei: attribute <xs:attribute name="partpri" type="xs:number"/> Csak egyszerű adat leírására jó Alapértelmezésbeli érték megadható Az attribútumok sorrendje tetszőleges, míg az elemek sorrendje a séma szerinti kell hogy legyen Internetes alkalmazásfejlesztés 164

165 XSD séma alapelemei: simpletype Létrehozás: <xs:simpletype name="ketjegyuszam"> <xs:restriction base="xs:positiveinteger"> <xs:maxinclusive value="99" /> </xs:restriction> </xs:simpletype> Felhasználás: <xs:element name="db" type="ketjegyuszam" /> Tipikus facet elemek: length, maxlength, minlength, maxexclusive, pattern Internetes alkalmazásfejlesztés 165

166 XSD séma alapelemei: complextype Létrehozás: <xs:complextype name="cim"> <xs:sequence> <xs:element name="varos" type="xs:string" /> <xs:element name="utcahsz" type="xs:string" /> <xs:element name="irsz" type="xs:string" /> </xs:sequence> </xs:complextype> Felhasználás: <xs:element name="szlacim" type="cim" /> A komplex típusok egymásba ágyazhatók Internetes alkalmazásfejlesztés 166

167 Példa: XSD séma alapelemei: group <xs:group name="rendfej"> <xs:sequence> <xs:element name="vevonev" type="xs:string" /> <xs:element name="rendszam" type="xs:number" /> <xs:element name="renddat" type="xs:date" /> </xs:sequence> </xs:group> Csoportok típusai: sequence choice all kötött sorrendben minden elem kötelező a felsoroltak közül csak az egyik kell nulla vagy több elem bármilyen sorrendben Internetes alkalmazásfejlesztés 167

168 XSD séma adatkiegészítése A névtartományt meg kell adni: xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" Elsődleges kulcs megadása <xs:key name="pkpartner" msdata:primarykey="true"> <xs:selector xpath=".//partner"/> <xs:field xpath="partazon"/> </xs:key> Egyedi kulcs megadása <xs:unique name="adoszam">.stb. Idegen kulcs megadása <xs:keyref name="fkrendpart" refer="pkpartner"> stb. Internetes alkalmazásfejlesztés 168

169 XSD betöltése egy DataSet-be Mintapélda: DS1 = new DataSet() DS1.ReadXmlSchema("C:\Proba\Kakukk.Xsd") Közvetlen filenév helyett használható: StreamReader, TextReader, XmlReader objektum is Metaadatok lekérdezhetők ezután: Ds.Tables tulajdonság, Ds.Relations tulajdonság Tables(index vagy név).columns(index).columnname Tables(index vagy név).columns(index).datatype Az InferSchema metódussal XML-ből is felépíti az adatszerkezetet Internetes alkalmazásfejlesztés 169

170 XML adatok betöltése a DataSet-be Ds.ReadXml(XmlObjektum,XmlReadMode) Az XmlObjektum filenév, stream, text vagy Xmlreader Az XmlReadMode lehetséges értékei: ReadSchema Az inline séma és az adatok együttesen IgnoreSchema Inline séma nélkül csak az adatok InferSchema Az adatok alapján épül fel a séma is DiffGram Berakja a DiffGram-ot a DataSet-be Fragment SQLServer-ből generált XML-nél A sémának nem megfelelő adatok kimaradnak Internetes alkalmazásfejlesztés 170

171 XML írása DataSet-ből Ds.WriteXmlSchema(XmlObjektum) Csak a sémainformációt írja ki egy file-ba vagy reader-re Ds.GetXmlSchema() String-ként írja ki a sémainformációt Ds.WriteXml(XmlObjektum,XmlWriteMode) IgnoreSchema Csak az adatokat írja ki az XML-be WriteSchema Inline sémát és az adatokat írja ki DiffGram Diffgram-ot ír eredeti és aktuális adattal Internetes alkalmazásfejlesztés 171

172 DiffGram Csak a DataSet változásait írja ki Disconnected DataSet esetén pont ez kell DiffGram névtér: xmlns:diffgr="urn:schemas-microsoft-com:xml:diffgram-v1" Három részre osztható: Aktuális adat a sémának megfelelő elemekkel, majd ezután <diffgr:before> elemben az eredeti tartalom <diffgr:errors> elemben a fellépett hibák DiffGram attribútumok (annotációk) diffgr:haschanges="modified inserted descent" diffgr:id = sorok egyedi azonosítása az összekapcsolás miatt Internetes alkalmazásfejlesztés 172

173 Adatok megjelenítése a Web űrlapon

174 Adatok vezérlőelemhez kapcsolása Szintaktikai alakja 1. <tagprefix:tagnév attr1=<%# Adatkötési kifejezés %> runat="server"> 2. sima szöveg <%# Adatkötési kifejezés %> A DataBind() metódus hozza létre a kapcsolatot Page.DataBind() Az adott lap összes adatkötését élesíti ctlvalami.databind() Csak az adott vezérlőelem adatkötéseire vonatkozik Internetes alkalmazásfejlesztés 174

175 Adatkötési kifejezés lehetséges formái Template vezérlőelemeknél (GridView, DataList, Repeater) Container.DataItem("mezőnév") Csak akkor egyszerű, ha a mező string-et ad, egyébként a String.Format segítségével át kell alakítani DataBinder.Eval(Container.DataItem,"mezőnév", "formátum") Futáskori kötéssel működik Szerver vezérlőelemek között Az adott vezérlőelem valamelyik tulajdonsága <asp:label text=<%# lstorszag.selecteditem.text %> runat="server"> Internetes alkalmazásfejlesztés 175

176 Egyirányú/kétirányú adatkötés Egyirányú (1.x-ben) <%# DataBinder.Eval(Container.DataItem, fieldname, formatstring) %> Egy és kétirányú (2.0-tól) <%# Eval(fieldName, formatstring) %> <%# Bind(fieldName, formatstring) %> Internetes alkalmazásfejlesztés 176

177 Adatkötési események Selecting Selected Inserting Inserted Updating Updated Deleting Deleted Filtering Databinding Databound Internetes alkalmazásfejlesztés 177

178 Adatelérési komponensek DataSource controls adatforrások Fizikai adatforrás eltakarása Data-bound controls vezérlők Leggyakoribb megjelenítési fajtákra komponensek DataBinding megfeleltetés Adatforrások vezérlőkkel történő összerendelése Konfigurációkezelés Internetes alkalmazásfejlesztés 178

179 Adatforrások (DataSource controls) VS2005 SqlDataSource ObjectDataSource XmlDataSource AccessDataSource SiteMapDatasource VS2008 LinqDataSource EntityDataSource Internetes alkalmazásfejlesztés 179

180 Vezérlők (Data-bound controls) VS DataList Repeater VS2005 GridView (DataGrid helyett) DetailsView FormView TreeView Menu VS2008 ListView Internetes alkalmazásfejlesztés 180

181 Konfiguráció kezelés <connectionstrings> <add name="pubs" ProviderName=" " connectionstring=" " /> </connectionstrings> <asp:sqldatasource ConnectionString="<%$ connectionstrings:pubs %>" SelectCommand="select au_id from authors" runat="server"/> Dim connectionstring as string = ConfigurationSettings.ConnectionStrings("pubs ) Internetes alkalmazásfejlesztés 181

182 GridView vezérlőelem Táblázatos adat megjelenítése Rendezhető, editálható elemek, de új sort nem lehet vele felvenni Bármelyik Collection osztály, ami IEnumerable System.Data.DataView, System.Collections.ArrayList, stb. A vezérlőelem létrehozása <asp:gridview id="dgpartner" runat="server"> Hozzákapcsolás egy adatforráshoz dgpartner.datasource=ds.tables("partner").defaultview dgpartner.databind() Internetes alkalmazásfejlesztés 182

183 GridView szerkezete Sor=GridViewRow objektum Van Cells kollekciója, melynek elemei DataControlFieldCell objektumok Oszlop=DataControlField objektum BoundField, TemplateField, ButtonField, CommandField, HyperlinkField, ImageField, CheckboxField A konkrét oszlopok a DataControlField-ből örökített osztályok, melyben felülírják az InitializeCell metódust Megjelenítés menete A grdx.initializerow sorban meghívja az egyes oszlopok InitializeCell metódusait, és így jön létre egy új sor Internetes alkalmazásfejlesztés 183

184 Adathoz kapcsolható tulajdonságok BoundField esetén DataField a megjelenített és editálható mező neve ButtonField esetén DataTextField adja a Text-hez kapcsolt mező nevét DataTextFormatString írja elő a megjelenítési formátumot HyperLinkField esetén DataTextField adja a Text-hez kapcsolt mező nevét DataTextFormatString írja elő a megjelenítési formátumot DataNavigateUrlField adja az URL-t hordozó mező nevét, ami a NavigateUrl tulajdonságba kerül DataNavigateUrlFormatString írja elő a megjelenítési formátumot Internetes alkalmazásfejlesztés 184

185 Template elemek használata TableRow-hoz vagy TableCell-hez rendelhető Hierarchikus sorrend RowStyle AlternatingRowStyle EditItemStyle ColumnStyle Egyéb stíluselemek HeaderStyle, FooterStyle PagerStyle RowDataBound eseménynél lehet programozottan stílust állítani Internetes alkalmazásfejlesztés 185

186 GridView példa <asp:gridview ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataSourceID="LinqDataSource1"> <Columns> <asp:boundfield DataField="ProductNumber" HeaderText="ProductNumber" ReadOnly="True" SortExpression="ProductNumber" /> <asp:checkboxfield DataField="MakeFlag" HeaderText="MakeFlag" ReadOnly="True" SortExpression="MakeFlag" /> <asp:checkboxfield DataField="FinishedGoodsFlag" HeaderText="FinishedGoodsFlag" ReadOnly="True" SortExpression="FinishedGoodsFlag" /> <asp:boundfield DataField="Color" HeaderText="Color" ReadOnly="True" SortExpression="Color" /> <asp:boundfield DataField="ListPrice" HeaderText="ListPrice" ReadOnly="True" SortExpression="ListPrice" /> </Columns> </asp:gridview> Internetes alkalmazásfejlesztés 186

187 Repeater vezérlőelem A megadott template alapján ismétli az adatokat Ez az egyetlen olyan elem, ahol a HTML tagok szétbonthatók, például: A nyitó <table> a <HeaderTemplate>-be kerül A <tr> az <ItemTemplate>-be A záró </table> pedig a <FooterTemplate>-be Adathordozó template elemek: ItemTemplate és AlternatingItemTemplate Az ItemTemplate az egyetlen kötelező elem Nem adathordozó template elemek: HeaderTemplate, FooterTemplate, SeparatorTemplate Internetes alkalmazásfejlesztés 187

188 Repeater példa <asp:repeater id="tabla1" runat="server"> <HeaderTemplate> Partnerek neve és címe: </HeaderTemplate> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "PartNev") %> (<%# DataBinder.Eval(Container.DataItem, "PartCim") %>) </ItemTemplate> <SeparatorTemplate>, </SeparatorTemplate> </asp:repeater> Tabla1.DataSource = ds ' Ez egy feltöltött DataSet Tabla1.DataMember = "Partner" Tabla1.DataBind() Internetes alkalmazásfejlesztés 188

189 DataList vezérlőelem A Repeater-hez hasonló template-ek EditItemTemplate és SelectedItemTemplate is létezik Ennek megfelelően editálható (a DataGrid-hez hasonlóan) Az ItemTemplate az egyetlen kötelező elem A DataGrid-hez hasonló stílusok Minden template-hez stílus is tartozhat, pl. ItemStyle Tulajdonságok RepeatLayout = Table vagy Flow RepeatColumns = Hány oszlopba rendezze az adatokat RepeatDirection = Horizontal vagy Vertical Internetes alkalmazásfejlesztés 189

190 DetailsView vezérlőelem Egy adatrekord kezelésére Megjelenítés,Feltöltés,Módosítás GridView komplementere, ez is <table> lesz Jól kiegészítik egymást, itt is van AllowPaging Internetes alkalmazásfejlesztés 190

191 FormView vezérlőelem DetailsView-hoz hasonló Mi magunk adjuk meg az egyes nézetek képeit Űrlap alapú adatkezelés, nagy markup lesz belőle Megjelenítés, Feltöltés, Módosítás Internetes alkalmazásfejlesztés 191

192 TreeView és Menu vezérlőelem TreeView:Hierarchikus adatok megjelenítésére TreeNode objektumokból áll, melyek Text-je jelenik meg, és Value-ja kapcsolódik az adatforráshoz Selection vagy Navigation módban használható Ha a NavigateURL meg van adva, akkor navigációs a mód Elemek kinyithatóak és becsukhatóak XML adatforrás jó párja <DataBindings><asp:TreeNodeBinding. Menu: Ez is hierarchikus adatokhoz való (főleg menü) Statikus: <Items><asp:MenuItem> Dinamikus: XMLDataSource vagy SiteMapDataSource Xpath= /root/* révén a gyökérelem kihagyható Kinyíló menüpontok Navigálás Internetes alkalmazásfejlesztés 192

193 Mesteroldalak, témák, bőrök

194 Mesteroldal (Master Page) Internetes alkalmazásfejlesztés 194

195 Mesteroldal működése Mester oldal tartalmazza a közös tartalmat és tartalom helyőrzőket (<asp:contentplaceholder>) Tartalom oldal hivatkozik a mesterre és kitölti a helyőrzőket (<asp:content>) Site.master default.aspx Content- PlaceHolder Content Internetes alkalmazásfejlesztés 195

196 Mesteroldal definiálása Master %> <html> <body> <!-- Banner shown on all pages that use this master --> <table width="100%"> <tr> <td bgcolor="darkblue" align="center"> <span style="font-size: 36pt; color: white"> Mintapélda címsora</span> </td> </tr> </table> <!-- Placeholder for content below banner --> <asp:contentplaceholder ID="Main" RunAt="server" /> </body> </html> Internetes alkalmazásfejlesztés 196

197 Mesteroldal alkalmazása Egy adott ASPX lapra Page MasterPageFile="~/Site.master" %> <asp:content ContentPlaceHolderID="Mester" RunAt="server"> Ez a szöveg jelenik meg a mester oldalon definiált "Mester" nevű kontrolban </asp:content> Egy egész webhelyre (web.config-ban) <system.web> <pages masterpagefile="~/site.master" /> </system.web> Internetes alkalmazásfejlesztés 197

198 Default tartalom Tartalom helyőrzőknek lehet saját tartalmuk (alapértelmezett tartalom) Ez csak akkor jelenik meg, ha a tartalom oldal nem tölti ezt ki Master %>... <asp:contentplaceholder ID= Mester" RunAt="server"> Ez lesz az alapértelmezett tartalom. De csak akkor jelenik meg, ha a Content lapon nincs megadva semmi sem. <asp:contentplaceholder> Internetes alkalmazásfejlesztés 198

199 Mesteroldal mesteroldala Mesteroldalak egymásba ágyazhatók Ha egy mesteroldalnak van mesteroldala, akkor az alsóbb mesteroldal Tölti ki a felsőbb helyőrzőit De neki is lehetnek saját helyőrzői VS2005-ben csak forrás nézetben (nincs design támogatás) <! Level1.Master --> Master MasterPageFile="~/Level0.Master" %> <asp:content ContentPlaceHolderID="..." RunAt="server"> <asp:contentplaceholder ID="..." RunAt="server">... </asp:contentplaceholder> <asp:content> Internetes alkalmazásfejlesztés 199

200 Mesteroldal elérése kódból Page.MasterPageFile Master beállítása futási időben Pre_Init fázisban vagy hamarabb Page.Master System.Web.UI.Page új tulajdonsága Referencia a mester oldalra NULL ha nincs mesteroldal A mester vezérlőinek elérése A mester public és protected metódusainak és tulajdonságainak elérése A mester és a tartalom oldalak kód szintű összekapcsolása Internetes alkalmazásfejlesztés 200

201 Témák és bőrök Webhely stílusinformációinak csoportokba gyűjtése Bőr = vezérlők vizuális jellemzője.skin fájlokban tárolva Alapértelmezett és névvel ellátott bőrök SkinID nélküli, illetve SkinID-val ellátott Téma = bőrök halmaza, gyűjteménye Themes alkönyvtárban Globális és lokális témák Internetes alkalmazásfejlesztés 201

202 Téma alkalmazása Egy alkalmazás minden lapjára <configuration> <system.web> <pages theme="basicblue" /> <!-- Case Sensitive!! --> </system.web> </configuration> Egy lap minden vezérlőjére Page Theme="BasicBlue"> Kódból void Page_PreInit (Object sender, EventArgs e) { Page.Theme = "BasicBlue"; } Internetes alkalmazásfejlesztés 202

203 Felhasználói vezérlőelemek és komponensek készítése

204 User Control Felhasználói szerver vezérlőelem (.ascx file) Az Include helyett használható Tipikus alkalmazás: fejléc, navigációs gombsor <Head>, <Body> és <Form> nem lehet helyett direktívát használjuk Control Language="vb" Inherits="Elem1" Src="UIElem.vb" %> Információátadás a controlt tartalmazó lapnak Public Property padat As Integer Get Return Cint(txtAdat.Text) End Get End Property Internetes alkalmazásfejlesztés 204

205 User Control beépítése Regisztrálni kell az adott ASP.NET lapon Drag & drop a Solution Explorer-ből Register TagPrefix="FoNev" TagName="AlNev" Src="Kakukk.ascx" %> A TagPrefix adja az egyedi névteret A TagName adja a user control egyedi nevét Szerver vezérlőelemként építjük be a lapra: <FoNev:AlNev id="vez1" runat="server"> FoNev:AlNev id="vez2" runat="server"> Információátadás a lap és a control között lblszam = Vez1.pAdat Vez1.pAdat = 23 ' A Public Property Get-je alapján ' A Public Property Set-je alapján Internetes alkalmazásfejlesztés 205

206 .NET komponensek A.NET komponensek előnyei a COM-hoz képest a telepítés szempontjából Nincs szükség regisztrációra Az alkalmazás/bin könyvtárba kell bemásolni Nincs névtartomány ütközés Nem kell a Web szervert újraindítani Minimum egy névtér és egy osztály Namespace EtKomp Public Class Szamla End Class End Namespace Internetes alkalmazásfejlesztés 206

207 Komponensek felhasználása Az alkalmazás indításakor a /bin könyvtárból a komponensek betöltődnek A Web.Config-ban beállítható, hogy melyek kellenek A komponens elérése az ASP.NET lapról 1. Import Namespace="projektnév.EtKomp" %> Dim x As New Szamla 2. Import nélkül: Dim x As New projektnév.etkomp.szamla Internetes alkalmazásfejlesztés 207

208 ASP.NET Membership

209 Membership szolgáltatás Felhasználók kezelése és azonosítása Deklaratív elérés: Web Site Admin Tool Programozott elérés: Membership API Egyszerűsíti az űrlap alapú hitelesítést Logika a felhasználó nevének és jelszavának ellenőrzésére, létrehozására stb. Felhasználók bejelentkezési adatainak, címének stb. tárolása Provider-alapú Internetes alkalmazásfejlesztés 209

210 Membership felépítés Vezérlők Login LoginStatus LoginView stb. API Membership MembershipUser Providerek SqlMembershipProvider ActiveDirectory- MembershipProvider stb. Adatok SQL Server Active Directory stb. Internetes alkalmazásfejlesztés 210

211 Aspnet_regsql.Exe SqlMembershipProvider által használt adatbázis létrehozását segítő eszköz Internetes alkalmazásfejlesztés 211

212 Felhasználó ellenőrzése if( Membership.ValidateUser( UserName.Text, Password.Text ) ) { RedirectFromLoginPage(UserName.Text,RememberMe.Checked ); } else { // TODO: Nem sikerült belépni } Internetes alkalmazásfejlesztés 212

213 Új felhasználó létrehozása try { Membership.CreateUser( Józsi", hahó", } catch( MembershipCreateUserException e ) { // Miért nem sikerült létrehozni a felhasználót switch( e.statuscode ) { case MembershipCreateStatus.DuplicateUsername: case MembershipCreateStatus.Duplicate case MembershipCreateStatus.InvalidPassword: default: } } Internetes alkalmazásfejlesztés 213

214 Felhasználó kitiltása if( Membership.ValidateUser( UserName.Text, Password.Text ) ) { MembershipUser user = Membership.GetUser( UserName.Text ); user.comment = "0"; // Hibás próbálkozások törlése RedirectFromLoginPage( UserName.Text, RememberMe.Checked ); } else { MembershipUser user = Membership.GetUser( UserName.Text ); if( user!= null ) { // Hibás próbálkozások számának növelése string count = Convert.ToInt32( user.comment ) + 1; // Ha 4-nél több, akkor kitiltjuk if( count > 4 ) user.isapproved = false; } } // Hibás próbálkozások számának frissítése user.comment = count.tostring(); Internetes alkalmazásfejlesztés 214

215 System.Web.Security.Membership osztály CreateUser DeleteUser FindUserByName GetAllUsers GetNumberOfUsersOnline GetUser() MembershipUser objektumot ad vissza UpdateUser ValidateUser Internetes alkalmazásfejlesztés 215

216 Web.Security.MembershipUser osztály Regisztrált felhasználót reprezentáló osztály. Tulajdonságok a felhasználó adatainak elkérésére / beállítására. A Membership osztály metódusai ezt adják vissza (pl. GetUser()) Internetes alkalmazásfejlesztés 216

217 Login vezérlők Külön template attól függően, hogy autentikált-e a felhasználó A bejelentkezett felhasználó neve LoginName Bejelentkező control Login LoginStatus Kétféle link: Bejelentkezés vagy Kijelentkezés LoginView Tagság és szerepkör kezelés CreateUser- Wizard Change- Password Password- Recovery Regisztráció Jelszócsere t küld vagy kérdést tesz fel- Login-nel együtt használjuk Internetes alkalmazásfejlesztés 217

218 Role manager szolgáltatás Szerep alapú jogosultság kezelés készen Deklaratív elérés: Web Site Admin Tool Programozott elérés: Roles API Egyszerűbb szerep alapú jogosultság kezelés űrlap alapú hitelesítés esetén Minden kérésnél szerepekhez rendeli a felhasználót Tárolja a szerepkörök adatait Provider-alapú Internetes alkalmazásfejlesztés 218

219 Role manager séma Vezérlők Login LoginStatus LoginView stb. Role API Roles Providerek SqlRole- Provider AuthorizationStore- RoleProvider WindowsToken- RoleProvider stb. Adatok SQL Server Authorization Manager stb. Internetes alkalmazásfejlesztés 219

220 Role manager bekapcsolása Alapértelmezés szerint kikapcsolt Web.config: <configuration> <system.web> <rolemanager enabled="true" /> </system.web> </configuration> Internetes alkalmazásfejlesztés 220

221 Roles osztály System.Web.Security Átjáró a Role Management API-hoz Legfontosabb feladatokhoz statikus függvények Szerepek létrehozása / törlése Felhasználók szerephez rendelése Felhasználók eltávolítása egy szerepből Provider beállítások elérése Internetes alkalmazásfejlesztés 221

222 Roles osztály használata // Ha nem létezik a szerepkör, létrehozzuk if(!roles.roleexists( Raktaros" ) ) { Roles.CreateRole( Raktaros" ); } // Elkérjük az aktuális felhasználót string name = Membership.GetUser().Username; // Hozzáadjuk a szerepkörhöz Roles.AddUserToRole( name, Raktaros" ); Internetes alkalmazásfejlesztés 222

223 Profilok használata Felhasználói adatok perzisztens tárolása Erősen típusos elérés ( Session) Csoportosítás, struktúra használata Perzisztens ( Session) Bejelentkezett és névtelen felhasználóknak Saját típusok támogatása Elérés HttpProfileBase segítségével Provider-alapú Internetes alkalmazásfejlesztés 223

224 Profil séma Profilok ProfileBase ProfileCommon Profil providerek SqlProfileProvider stb. Profil adatok SQL Server SQL Server Express stb. 224 Internetes alkalmazásfejlesztés 224

225 Profil definiálása és elérése <profile> <poperties> <!-- String tulajdonságok --> <add name="title"/> <!-- Guid tulajdonság --> <add name="authorid" type="system.guid"/> <!-- Összetett tulajdonság --> <add name="photo" type="system.drawing.image" serializeas="binary"/> </properties> </profile> // Cím és téma beállítása Profile.Title = Raktári rendszer"; // Szerző azonosítójának beállítása Profile.AuthorID = new Guid(user.ProviderUserKey.ToString()); // Fénykép beállítása Profile.Photo = myphoto; Internetes alkalmazásfejlesztés 225

226 Web config

227 Web config felépítése <?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.com/.netconfiguration/v2.0"> <appsettings/> <connectionstrings/> <system.web> <compilation debug="false"/> <authentication mode="windows"/> <!-- <customerrors mode="remoteonly" defaultredirect="genericerrorpage.htm"> <error statuscode="403" redirect="noaccess.htm"/> <error statuscode="404" redirect="filenotfound.htm"/> </customerrors> --> </system.web> </configuration> Internetes alkalmazásfejlesztés 227

228 system.web fontosabb szekciói <system.web> <anonymousidentification> <authentication> <authorization> <browsercaps> <caching> <compilation> <customerrors> <deployment> <globalization> <httpcookies> <httphandlers> <httpmodules> <httpruntime> <identity> <machinekey> <membership> <pages> <processmodel> <profile> <rolemanager> <sessionstate> <trace> </system.web> Internetes alkalmazásfejlesztés 228

229 Web.config elérése kódból WebConfigurationManager.GetSection( ) xxxsection osztályú objektumot ad vissza, illetve erre castolható Mindegyik szekció a <system.web> alatt van.appsettings( ).ConnectionStrings( ).OpenWebConfiguration(Nothing) ad vissza egy Configuration osztályú objektumot, ha módosítani akarunk. Erre kell.getsection, majd.save-vel menteni A Nothing helyett a subfolder relatív címe kell, ha nem a gyökér web.config-et akarjuk módosítani Internetes alkalmazásfejlesztés 229

230 web.config titkosítása Bizalmas információ a web.config-ban Pl. Connectionstring aspnet_regiis titkosítja A.NET fel tudja olvasni, nekünk nincs dolgunk vele aspnet_regiis pef ConnectionStrings c:\myproject prov DataProtectionConfigurationProvider Internetes alkalmazásfejlesztés 230

231 Erőforrás-kezelés, lokalizáció, globalizáció

232 Kakukk.aspx.resx Implicit lokalizáció Kakukk.aspx.en-us.resx Kakukk.aspx.hu.resx Generate Local Resource meta:resourcekey elemek bekerülnek a webcontrolokhoz Alapértelmezésben a böngésző beállított nyelvét használja Page uiculture= es %> App_Localresources mappába kerülnek Internetes alkalmazásfejlesztés 232

233 Explicit lokalizáció Kozos.hu.resx App_Globalresources mappába kerül Felhasználás: <asp:label Text= <%$ Resources:filenév, tagnév% /> Label1.Text=Resources.Filenév.Tagnév (strong binding) GetLocalResourceObject( Button1.Text ) GetGlobalResourceObject( Filenév, Tagnév ) Internetes alkalmazásfejlesztés 233

234 Page.Culture= en-us Page.UiCulture= es Ez a neutrális kultúra Kultúra beállítása web.config-ban is beállítható <globalization uiculture= es direktívában is beállítható Internetes alkalmazásfejlesztés 234

235 Web szolgáltatás Web Service

236 Web szolgáltatás működési modellje Internetes alkalmazásfejlesztés 236

Bevezetés Alapok Kontrolok Életciklus ASP.NET 1 / 33

Bevezetés Alapok Kontrolok Életciklus ASP.NET 1 / 33 ASP.NET 1 / 33 Áttekintés Bevezetés Alapok Szerver-oldali vezérlők (kontrolok) ASP.NET oldal életciklusa, eseménymodell 2 / 33 Áttekintés Bevezetés Alapok Szerver-oldali vezérlők (kontrolok) ASP.NET oldal

Részletesebben

ASP-s alkalmazás készítés

ASP-s alkalmazás készítés Áttekintés Megismerjük az ASP-s alkalmazások készítésének alapjait a Visual Studio 2010 környezetben. Megfigyeljük egy egyszerű Solution felépítését, a Web Form-okat, a Web.Config fájlt Először hagyományos

Részletesebben

Bevezetés Működési elv AJAX keretrendszerek AJAX

Bevezetés Működési elv AJAX keretrendszerek AJAX AJAX Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek

Részletesebben

Webshop készítése ASP.NET 3.5 ben I.

Webshop készítése ASP.NET 3.5 ben I. Webshop készítése ASP.NET 3.5 ben I. - Portál kialakíása - Mesteroldal létrehozása - Témák létrehozása Site létrehozása 1. File / New Web site 2. A Template k közül válasszuk az ASP.NEt et, nyelvnek (Language)

Részletesebben

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

JavaServer Pages (JSP) (folytatás)

JavaServer Pages (JSP) (folytatás) JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása

Részletesebben

Web programoz as 2009 2010

Web programoz as 2009 2010 Web programozás 2009 2010 Áttekintés A web rövid története Kliens szerver architektúra Néhány alapfogalom Kliens- illetve szerver oldali technológiák áttekintése Áttekintés: miről lesz szó (kurzus/labor/vizsga)

Részletesebben

Google Web Toolkit. Elek Márton. Drótposta kft.

Google Web Toolkit. Elek Márton. Drótposta kft. Google Web Toolkit Elek Márton Drótposta kft. Tartalom A GWT általában Java forrás, Web mód, Hosted mód Speciális szolgáltatások History kezelés, távoli eljárás hívás, Külső függvénykönyvtárak GWT-Ext,

Részletesebben

1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11

1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Tartalomjegyzék 1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Géptől gépig... 11 Számok a gépeknek... 13 Nevek az embereknek... 14 Programok egymás

Részletesebben

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás XML feldolgozás Áttekintés XML -bevezetés (XML érvényességének vizsgálata (DTD, XSD)) XML feldolgozók (DOM, SAX) XML transformációk (XSLT) Áttekintés XML -bevezetés (XML érvényességének vizsgálata (DTD,

Részletesebben

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés HLTML 5 formok gyorstalpaló Készítette: Gál Tamás A tananyag programozott változata itt érhető el: Webfejlesztés (http://webfejlesztes.gtportal.eu/) Creative Commons Nevezd meg!-ne add el!-így add tovább!

Részletesebben

Webes alapozás. url, http, szerver oldal

Webes alapozás. url, http, szerver oldal Webes alapozás url, http, szerver oldal http://localhost:8080/demo1/default.cshtml? name=vision%20-%20software;param2=value2#section1 URI, URL, URN "Egységes erőforrás-azonosító" schema name : schame specific

Részletesebben

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása DBMS spektrum Excel ODBC-ADO API Tevékenységpontok: - DBMS telepítés - ODBC driver telepítése - DSN létrehozatala -Excel-ben ADO bevonása - ADOConnection objektum létrehozatala - Open: kapcsolat felvétel

Részletesebben

Java programozási nyelv 11. rész Adatbázis-programozás

Java programozási nyelv 11. rész Adatbázis-programozás Java programozási nyelv 11. rész Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2 Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3

Részletesebben

HTML alapok 1. Minimális HTML file: cím ... Formátum parancsok:

HTML alapok 1. Minimális HTML file: <HTML> <HEAD> <TITLE> cím </TITLE> </HEAD> <BODY>... </BODY> </HTML> Formátum parancsok: HTML alapok 1 Minimális HTML file: cím ... Formátum parancsok: dőlt szöveg félkövér aláhúzott új sor vízszintes vonal

Részletesebben

Jobb egér a Solution Explorerben, majd az Add New Item menü kiválasztása:

Jobb egér a Solution Explorerben, majd az Add New Item menü kiválasztása: Mintafeladat ASP.NET adatbázis elérésre Az ASP.NET 2.0 újításai közé tartozott a Master page és a Site Navigation bevezetése. A Master Pages alkalmazásával egységesebb felületet tudunk kialakítani. A mester

Részletesebben

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit. Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009 A Http és a PHP kapcsolata Web-Sky Consulting Kft Tóth Imre 2009 Előadások címei 1. PHP nyelv alapjai 2. Objektumorientáltság a PHP-ben 3. A Http és a PHP kapcsolata 4. Adatbázis kezelés a PHP-ben 5. MVC

Részletesebben

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András Webapp (in)security Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt Veres-Szentkirályi András Rövid áttekintés Webalkalmazások fejlesztése során elkövetett leggyakoribb hibák

Részletesebben

A webhelyhez kötődő szoftverek architektúrája

A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája...1 A kliens-szerver funkcionalitások megoszlása...1 A böngésző mint web kliens...1 Web szerver (kiszolgáló)

Részletesebben

GeoServer, OpenLayers és WFS. Dolleschall János 2009. 08. 17.

GeoServer, OpenLayers és WFS. Dolleschall János 2009. 08. 17. GeoServer, OpenLayers és WFS Dolleschall János 2009. 08. 17. A GeoServer A GeoServer egy nyílt forráskódú szerver szoftver, ami lehetővé teszi térbeli adatok megosztását. Java-ban íródott, így platformfüggetlen.

Részletesebben

Adatbáziskezelés Delphi 5 alatt. Bese Antal 2006. http://toni.web.elte.hu/delphi

Adatbáziskezelés Delphi 5 alatt. Bese Antal 2006. http://toni.web.elte.hu/delphi Adatbáziskezelés Delphi 5 alatt Bese Antal 2006. http://toni.web.elte.hu/delphi 1. Bevezetés Számítógépes adattárolás fájlokban. Az egész adatbázist egy fájlban (Pl.: Access, Interbase,és a legtöbb SQL

Részletesebben

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 PHP beadandó 2 Honlapról elérhető Labirintus-játék

Részletesebben

Web programozás I. 4. előadás

Web programozás I. 4. előadás Web programozás I. 4. előadás CSS Pozícionálás http://www.brainjar.com/css/positioning/def ault.asp Design kialakívása http://www.albinoblacksheep.com/livedesign/ http://www.dynamicdrive.com/style/ http://www.opendesigns.org/

Részletesebben

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt. Csempe kalkula tor A küldetésünk az, hogy segítsünk kiszámítani egy fürdőszoba csempeszükségletét (felületét). Sőt, ha a kalkulátort használó ügyfél elégedett egyből elküldheti az e-mail címét, hogy a

Részletesebben

SQLServer. DB Recovery modes

SQLServer. DB Recovery modes SQLServer 13. téma Szöveges állományok kezelése XML DB Recovery modes A DML műveletek hatékonyságának fontos eleme a naplózás módozata: - FULL Recovery mode: minden elemi művelet naplózódik költséges,

Részletesebben

Weboldalak Biztonsági Kérdései

Weboldalak Biztonsági Kérdései Weboldalak Biztonsági Kérdései Kliens szerver modellek Kliens szerver modellek Offline világ Online világ és a programokkal szemben támasztott elvárások helyett... Fejlesztés üteme gyors Előregyártott

Részletesebben

ASP.NET 2.0 (Whidbey) Mi várható a 2005-ös ASP.NET-ben?

ASP.NET 2.0 (Whidbey) Mi várható a 2005-ös ASP.NET-ben? ASP.NET 2.0 (Whidbey) Mi várható a 2005-ös ASP.NET-ben? VII. rész: Hierarchikus adatok kezelése Sorozatunk korábbi részeiben már szó volt a Data Source vezérlôkrôl, és az adatkötés újdonságairól. Ebben

Részletesebben

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok Informix 11.50 upgrade esettanulmány 2011. január. 31. Átalakítandó architektúra (2009) Alapvetően az üzleti logikát tárolt eljárásokkal

Részletesebben

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1 XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1 A gyakorlat célja a webszolgáltatások létrehozásának és igénybe vételének elsajátítása egyszerű példákon keresztül. 1. Két

Részletesebben

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben Szabó János Lotus Brand Manager IBM Magyarországi Kft. 1 Testreszabott alkalmazások fejlesztése Lotus Notes és Quickr környezetben 2

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Szindikálás, aggregálás - RSS, Atom Tartalom betáplálás Gyakran frissül! webszájtok Új felhasználói igények el!fizetési igény az új tartalomra a tartalom újrafelhasználása eltér!

Részletesebben

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

Részletesebben

JAVA PROGRAMOZÁS 8.ELŐADÁS

JAVA PROGRAMOZÁS 8.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 8.ELŐADÁS 2014-2015 tavasz Véletlen elérésű állományok; JDBC 2 Véletlen elérésű állományok A RandomAccessFile osztály 3 Közvetlen hozzáférésű

Részletesebben

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11.1. A CA szerver szerepkör telepítése a DC01-es szerverre 11.2. Az FTP szervíz telepítése a DC01-es szerverre 11.3. A szükséges DNS rekordok létrehozása

Részletesebben

Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18.

Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18. Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18. Két projekt Mindkettőben folyamatirányítás Eltérő követelmények Eltérő megoldások Dokumentum gyártási folyamat Üzemeltetés

Részletesebben

Flex: csak rugalmasan!

Flex: csak rugalmasan! Flex: csak rugalmasan! Kiss-Tóth Marcell http://kiss-toth.hu marcell@kiss-toth.hu Magyarországi Web Konferencia 2006 2006. március 18. tartalom bevezető Adobe Flex alternatív technológiák bevezető az Internetnek

Részletesebben

w w w. h a n s a g i i s k. h u 1

w w w. h a n s a g i i s k. h u 1 w w w. h a n s a g i i s k. h u Adatbázis-kezelés Adatbázisok Az adatbázisok rendezett adatok halmaza. Rendezett adatok közt sokkal gyorsabban lehet keresni! Napjainkban a relációs típusú adatbázis terjedt

Részletesebben

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3 Tartalomjegyzék 1. BEVEZETŐ... 2 2. RENDSZER FELÉPÍTÉSE... 3 2.1. FELÜLET... 3 2.2. FELHASZNÁLÓI FUNKCIÓK... 4 2.2.1. Modulok... 4 2.2.2. Előzmények... 4 2.2.3. Lekérdezés működése, beállítások... 5 2.2.4.

Részletesebben

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.

Részletesebben

Komponens alapú fejlesztés

Komponens alapú fejlesztés Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Inheritance beállítás Ez egy olyan beállítás, amely a modell alapján

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit): Oracle adatbázis elérése A gyakorlat célja az, hogy a hallgató tapasztalatot szerezzen egy szerver oldali adatbázis kezelő rendszer elérésében, gyakorolja a vizuális eszközök és a kapcsolat nélküli (Disconnected

Részletesebben

Memória játék. Felhasználói dokumentáció

Memória játék. Felhasználói dokumentáció Memória játék Felhasználói dokumentáció Feladat: JavaScript segítségével, olyan programot írni, mely összekeveri a lapokat, majd a felhasználónak kell párosítani. HTML oldalba ágyazva és CSS-el formázva.

Részletesebben

MKB. Mobil NetBANKár. Mobil eszköz és böngészı beállítások

MKB. Mobil NetBANKár. Mobil eszköz és böngészı beállítások MKB Mobil NetBANKár Mobil eszköz és böngészı beállítások 1 Bevezetés A melléklet célja, hogy összesítse azokat a mobil eszköz és böngészı beállításokat, melyek ahhoz szükségesek, hogy az MKB Mobil NetBANKár

Részletesebben

Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.

Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket. Sakk játék Felhasználói dokumentáció Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket. Futtatási környezet: A http://10.0.0.101/~hgy/sakk/

Részletesebben

bb témakörök Programozás JavaScript nyelven A JavaScript szerepe Kliensoldali szkript alkalmazása JavaScript a weboldalon

bb témakörök Programozás JavaScript nyelven A JavaScript szerepe Kliensoldali szkript alkalmazása JavaScript a weboldalon bb témakörök Programozás JavaScript nyelven A JavaScript nyelv szerepe A JavaScript nyújtotta lehet ségek A JavaScript beillesztése a weboldalakra A JavaScript szerepe weblapok dinamikus kezelhet sége

Részletesebben

Access XP alapokon Tartalomjegyzék

Access XP alapokon Tartalomjegyzék Access XP alapokon Tartalomjegyzék Kapcsolódhat a fejezetben elkészítendő raktárrendszerhez egy számlázó program?...4 1. Az Access eszközigénye, telepítése...4 Az én Office programom nem tartalmazza az

Részletesebben

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő 2013. február 20.

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő 2013. február 20. Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő 2013. február 20. 1 2 3 4 5 6 7 8 Pentaho eszköztára Data Integrator Spoon felület Spoon

Részletesebben

A.NET Framework és programozása C# nyelven. Kedd 16-17 30 I104

A.NET Framework és programozása C# nyelven. Kedd 16-17 30 I104 A.NET Framework és programozása C# nyelven Kedd 16-17 30 I104 Feltételek I104 Visual Studio 2013 Letölthető http://msdn.mik.uni-pannon.hu oldalról Aki saját gépet hoz, annak javasolt a legújabb verzió

Részletesebben

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL nexonbér elektronikus munkabérjegyzék modul Kiszámolta már valaha, hogy mennyibe kerül egyetlen munkavállaló egyetlen havi munkabérjegyzéke (a nyomtatás, a borítékolás

Részletesebben

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel Készítette: Szabó Gábor, 1996 Az Az IntelliCorp IntelliCorp stratégiája: stratégiája: Kifinomult, Kifinomult, objektum-orientált objektum-orientált környezetet környezetet biztosít biztosít tervezéséhez,

Részletesebben

Cisco Catalyst 3500XL switch segédlet

Cisco Catalyst 3500XL switch segédlet Cisco Catalyst 3500XL switch segédlet A leírást készítette: Török Viktor (Kapitány) GAMF mérnökinformatikus rendszergazda FOSZK hallgató, Hálózatok II. tárgy Web: http://prog.lidercfeny.hu/ Források: Medgyes

Részletesebben

w w w. h a n s a g i i s k. h u

w w w. h a n s a g i i s k. h u Weblapkészítés weblap: hypertext kódolású dokumentumok, melyek szöveget képet linkeket, könyvjelzőket/horgonyokat táblázatokat / szövegdobozokat és más objektumokat tartalmaznak. Kódolásuk HTML (Hypertext

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 0621 ÉRETTSÉGI VIZSGA 2007. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM

Részletesebben

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia Java technológiák 11. előadás Perzisztencia ANTAL Margit Sapientia - EMTE 2010 Az előadás célja JPA Java Persistence API ORM Object Relational Mapping Entitások közötti asszociációk megvalósítása Fontosabb

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,

Részletesebben

SQLServer. SQLServer konfigurációk

SQLServer. SQLServer konfigurációk SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise

Részletesebben

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel Nyugat-Magyarországi Egyetem Geoinformatikai Kar Magyar Tudomány Ünnepe 2007 A térinformatika mindenkié GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel Kottyán László adjunktus Tartalom

Részletesebben

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport TANMENET Informatika szakmacsoport Programozási gyakorlatok III. tantárgy 12. évfolyam A osztály 2013/2014 tanév Heti óraszám: Éves óraszám: 3 óra 96 óra Készítette: Szikszai Gusztáv tanár Ellenőrizte:.

Részletesebben

IT Szolgáltatásirányítási Eszközfejlesztés ITIL szakemberek által: Alcím: Van megoldás a kis szervezetek részére is!

IT Szolgáltatásirányítási Eszközfejlesztés ITIL szakemberek által: Alcím: Van megoldás a kis szervezetek részére is! IT Szolgáltatásirányítási Eszközfejlesztés ITIL szakemberek által: Alcím: Van megoldás a kis szervezetek részére is! Előtörténet... ING SCB BS15000 minősítés 2004-ben a világon kilencedikként itsmfmagyarország

Részletesebben

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2 QBE Édes Otthon lakásbiztosítás tarifáló webservice Fejlesztői dokumentáció 1.0.2 Az ebben a dokumentumban található információ a FoxArt Kft. tulajdona, és bizalmas anyagként került átadásra. Az anyag

Részletesebben

A WEB programozása - Bevezetés. 2010. őszi félév Dr. Gál Tibor

A WEB programozása - Bevezetés. 2010. őszi félév Dr. Gál Tibor A WEB Programozása Dr. Gál Tibor Automatizálási és Alkalmazott Informatikai Tanszék Általános információ Kommunikáció az előadóval Iroda: V2. épület, IV. emelet 454. szoba Tel: 2835 email: gal@aut.bme.hu

Részletesebben

CLIPS (C Language Integrated Production System)

CLIPS (C Language Integrated Production System) CLIPS (C Language Integrated Production System) I. ALAPVETŐ TULAJDONSÁGAI szakértői rendszer fejlesztő eszköz (shell) 80-as évek közepe, NASA 1. prototípus 1985-ben (~ 2 hónap alatt), fejlesztések, bővítések

Részletesebben

SOAP komponensek Delphiben

SOAP komponensek Delphiben SOAP komponensek Delphiben (Simple Object Access Protocol) Bevezetés -Azegyszerűen programozható webhozzáférés azt jelenti, hogy a fejlesztők saját programjukat a weben elérhető szolgáltatásokból építik

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva by A feladat bemutatása...1 Táblák létrehozása...1 Táblák feltöltése...2 Adatbáziskezelés php-ben...5 Csatlakozás az MySQL szerverhez

Részletesebben

Microsoft SQL Server telepítése

Microsoft SQL Server telepítése Microsoft SQL Server telepítése Az SQL Server a Microsoft adatbázis kiszolgáló megoldása Windows operációs rendszerekre. Az SQL Server 1.0 verziója 1989-ben jelent meg, amelyet tizenegy további verzió

Részletesebben

Oralce kliens installálása Windows Server 2003-ra

Oralce kliens installálása Windows Server 2003-ra Oralce kliens installálása Windows Server 2003-ra Szükséges elofeltétel Szükséges operációs rendszer: Windows 2003 SP1 Oracle kliens verzió: 9.2.0.1.0 (9R2) Valid SQLNet.ORA fájl, amely tartalmazza a céges

Részletesebben

Generikus Típusok, Kollekciók

Generikus Típusok, Kollekciók Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections

Részletesebben

Nagios NSCA Indirect Monitoring, Passive Check

Nagios NSCA Indirect Monitoring, Passive Check Nagios NSCA Indirect Monitoring, Passive Check NSCA passzív monitoring Az NSCA-val végrehajtott passive check monitoringnak a lényege az ábrán jól látszódik. A központi Nagios nem küld (aktív) check parancsokat,

Részletesebben

System Center Service Manager 2012 műszaki előadás. Ker-Soft Kft. Kovács Gábor - rendszermérnök Nagy Dániel - rendszermérnök

System Center Service Manager 2012 műszaki előadás. Ker-Soft Kft. Kovács Gábor - rendszermérnök Nagy Dániel - rendszermérnök System Center Service Manager 2012 műszaki előadás Ker-Soft Kft. Kovács Gábor - rendszermérnök Nagy Dániel - rendszermérnök Témák 1. Architektúra 2. Connector-ok 3. Testreszabás 4. Újdonságok 1. Architektúra

Részletesebben

Kommunikáció. 3. előadás

Kommunikáció. 3. előadás Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek

Részletesebben

Jquery. Konstantinusz Kft.

Jquery. Konstantinusz Kft. Konstantinusz Kft. 2011 1 Tartalomjegyzék 1 Tartalomjegyzék... 2 2 Bevezetés... 3 3 Használata... 4 3.1 A $ függvény... 4 3.2 Elemek kiválasztása... 5 3.3 Fontosabb függvények... 6 3.3.1 Animációk... 7

Részletesebben

Telepítési Kézikönyv

Telepítési Kézikönyv Intelligens Dokumentum Kezelő Rendszer Telepítési Kézikönyv 1/15. oldal Dokumentum áttekintés Dokumentum címe: doknet telepítési kézikönyv Dokumentum besorolása: szoftver telepítési leírás Projektszám:

Részletesebben

WEB TECHNOLÓGIÁK 2.ELŐADÁS

WEB TECHNOLÓGIÁK 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda WEB TECHNOLÓGIÁK 2.ELŐADÁS 2014-2015 tavasz A HTML nyelv alapjai Mi a HTML? A HTML (angolul: HyperText Markup Language=hiperszöveges jelölőnyelv) Leíró nyelv,

Részletesebben

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz. Miről lesz szó? Setup Project készítése Szabadi Tamás tobias@inf.elte.hu Setup project készítése egy már meglévő, lefordított programhoz Specifikus Setup project készítése egy általunk készített projecthez

Részletesebben

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével Bakai Balázs bakaibalazs@gmail.com http://seamplex.blogspot.hu 2013. október 9. Miről lesz szó? A JSF működése (röviden ) Terheléses

Részletesebben

(ArcCatalog, ArcMap)

(ArcCatalog, ArcMap) Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, Esri programok alkalmazásával (ArcCatalog, ArcMap) Útmutató 2014. október 1. BEVEZETÉS Az útmutató célja az Országos

Részletesebben

Tartalomjegyzék. Előszó... 10

Tartalomjegyzék. Előszó... 10 Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.

Részletesebben

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés HLTML 5 hang videó gyorstalpaló Készítette: Gál Tamás A tananyag programozott változata itt érhető el: Webfejlesztés (http://webfejlesztes.gtportal.eu/) Creative Commons Nevezd meg!-ne add el!-így add

Részletesebben

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései?

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései? Mely Windows Server 2008 R2 kiadásra jellemzőek a következők: Maximum 32GB RAM és 4 CPU foglalatot, valamint 250 RRAS, 50 IAS és 250 RDS-GW licenszet nyújt? Web Standard Enterprise Datacenter Melyek a

Részletesebben

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009 Adatbázisok elleni fenyegetések rendszerezése Fleiner Rita BMF/NIK Robothadviselés 2009 Előadás tartalma Adatbázis biztonsággal kapcsolatos fogalmak értelmezése Rendszertani alapok Rendszerezési kategóriák

Részletesebben

Könyvtári címkéző munkahely

Könyvtári címkéző munkahely Könyvtári címkéző munkahely Tartalomjegyzék A RENDSZER HARDVER ELEMEI...3 1 RFID CÍMKÉK... 3 2 RFID ASZTALI OLVASÓ... 3 A RENDSZER SZOFTVER ELEMEI... 4 1 KÖNYV CÍMKÉZŐ MUNKAÁLLOMÁS... 4 2 A PC- S SZOFTVEREK

Részletesebben

JNDI - alapok. Java Naming and Directory Interface

JNDI - alapok. Java Naming and Directory Interface JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított

Részletesebben

Relációsémák létrehozása SQL nyelvben

Relációsémák létrehozása SQL nyelvben Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,

Részletesebben

Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT richard.jonas@tsoft.

Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT richard.jonas@tsoft. Komponensek együttműködése web-alkalmazás környezetben Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT Komponensek a gyakorlatban A szoftverkomponenseket fejlesztő csoportoknak szüksége van olyan

Részletesebben

9. Gyakorlat: Network Load Balancing (NLB)

9. Gyakorlat: Network Load Balancing (NLB) 9. Gyakorlat: Network Load Balancing (NLB) 9.1. Az NLB01 és az NLB02 szerverek létrehozása 9.2. Az NLB01 szerver konfigurálása 9.3. Az NLB02 szerver konfigurálása 9.4. Teszt weboldal létrehozása 9.5. Az

Részletesebben

Delphi programozás I.

Delphi programozás I. Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

ELTE SAP Excellence Center Oktatóanyag 1

ELTE SAP Excellence Center Oktatóanyag 1 ELTE SAP Excellence Center Oktatóanyag 1 ELTE SAP Excellence Center Oktatóanyag 2 ELTE SAP Excellence Center Oktatóanyag 3 A felhasználók három különböző képernyővel találkoznak Listák az adatmegjelenítéshez

Részletesebben