.NET web szolgáltatások

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements


Kamarai prezentáció sablon
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Hálózati és Internet ismeretek
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Erőállóképesség mérése Találjanak teszteket az irodalomban
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
Humánkineziológia szak
Mellár János 5. óra Március 12. v
Elektromos mennyiségek mérése
Cég RegisztrálásaCég Regisztrálása > 1. Lépés > 2. Lépés > 3. Lépés > 4. Lépés | Céges Felhasználó Regisztrálása > 1. Lépés > 2. Lépés > 3. Lépés > 4.
Koordináta transzformációk
Utófeszített vasbeton lemez statikai számítása Részletes számítás
JavaScript.
A tételek eljuttatása az iskolákba
Elektronikai Áramkörök Tervezése és Megvalósítása
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Fejlett programozási technikák II.
Programrendszerek fejlesztése Bilicki Vilmos
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
Authentication & Authorization Belinszki Balázs terméktámogató mérnök Juhász Mihály alkalmazásfejlesztési tanácsadó.
Átállás.
Kliensoldali Programozás
Szombathely Dinamikus WEB programozás: PHP és JSP.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Egyszerű webes alkalmazás fejlesztése
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
XML támogatás adatbázis-kezelő rendszerekben
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
PHP VII Sütik, munkamenetek. Sütik Mi az a süti? A süti (cookie) állapotot tárol a felhasználó böngészőjében. Pl. ha egy oldalon beállítható, hogy milyen.
…az ISA Server 2006 segítségével Gál Tamás Microsoft Magyarország.
Hálózatkezelési újdonságok Windows 7 / R2
1.NET web szolgáltatások XSLT Bilicki Vilmos
1.NET web szolgáltatások XSLT programozás XSLT hivatkozások Bilicki Vilmos
szakmérnök hallgatók számára
Felhasználók azonosítása és jogosultságai, személyre szabás Borsi Katalin és Fóti Marcell NetAcademia Oktatóközpont.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
Készítette: Gocsál Ákos, Gocsál Klára, Fehér Péter 1 A program megvalósulását az Apertus Közalapítvány támogatta. Internet az oktatásban – taneszközök.
Hernyák Zoltán XSLT transzformációk.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
1 Verseny 2000 gyakorlat ODBC Adatforrás létrehozása.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
XML adatkezelés 1. témakör Az XML szabvány.
Webprogramozó tanfolyam
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
Webprogramozó tanfolyam
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Illés Zoltán ELTE Informatikai Kar
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Algoritmizálás, adatmodellezés
1 Az igazság ideát van? Montskó Éva, mtv. 2 Célcsoport Az alábbi célcsoportokra vonatkozóan mutatjuk be az adatokat: 4-12 évesek,1.
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Előadás másolata:

.NET web szolgáltatások ASP.NET harmadik rész XML, XPATH Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv

Az előző előadás tartalma ASP.NET Saját vezérlők gyártása Állapot kezelés Alkalmazás állapot Viszony állapot Állapot mentés Süti URL Gyorstár kezelés Cache objektum Kimeneti gyorstár Web alkalmazás telepítése

A mai előadás tartalma ASP.NET felasználó azonosítás XML kezelés IIS Név nélküli Alap Kivonatolt Windows beágyazott Űrlap alapú Microsoft Passport XML kezelés XML dokumentum XPATH kifejezések Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

Források Microsoft 2310B official curriculum Microsoft 1913A official curriculum http://www.gotdotnet.com/ Eszköz http://www.xmlcooktop.com/

ASP.NET azonosítási megoldások Windows-alapú azonosítás Az operációs rendszertől és az IIS-től függ Űrlap alapú hitelesítés Az azonosítatlan kérések egy HTML űrlapra lesznek átirányítva A felhasználó itt bizonyítja azonosságát Egy sütit kap ajándékba Microsoft Passport hitelesítés Központosított, egyszeri belépés A Microsoft Passport egy XML Web szolgáltatás

Összehasonlítás Módszer Előnyök Hátrányok Windows alapú A meglévő infrastruktúrát használja Érzékeny adatokhoz megfelelő Nem alkalmas internetre Űrlap alapú Alkalmas internetre Minden klienst támogat Süti alapú Microsoft Passport Sok helyre egyszeri belépés Nem kell foglalkozni a felhasználói adatbázissal A regisztrációs oldal testreszabható Nem ingyenes

IIS azonosítási megoldások Módszer Biztonsági szint Leírás Anonymous Nincs (IUSR_gepnev ) Nincs azonosítás Alap Alacsony (közepes ha SSL-t haszáluk) A név és jelszó titkosítítlan Titkosítható SSL-lel A HTTP specifikáció része Kivonatolt Közepes Az információt kivonatolva küldi el Szügséges legalább Internet Explorer 5 Szükség van Active Directory-ra Windows integrált Magas NTLM-et vagy Kerberos-t használ Intranetre jó, Internetre nem A tűzfalak nem engedik át

DEMÓ IIS IIS azonosítási eljárások

Secure Sockets Layer SSL titkosítási réteg: Adat titkosítás -Csak a címzett érti meg Kölcsönös azonosítás -Digitális tanúsítvány segítségével Adat integritás -Ne írhasson bele észrevétlenül harmadik fél Fölötte tipikusan a HTTP protokoll használatos

Windows alapú azonosítás(1) IIS: Alap Kivonat Integrált Windows azonosítás A Web.config-ban is be kell álítani 1 2 <system.web> <authentication mode="Windows" /> </system.web>

Windows alapú azonosítás(2) Jogosultság beállítás Web.config IIS infromáció kérés 3 <location path="ShoppingCart.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> 4

Felhasználói infó olvasása Azonosítás után olvashatjuk a felhasználói információkat lblAuthUser.Text = User.Identity.Name; lblAuthType.Text = User.Identity.AuthenticationType; lblIsAuth.Text = User.Identity.IsAuthenticated;

Űrlap alapú azonosítás IIS 1 2 ASP.NET Űrlap azonosítás  Nincs Azonosítva Azonosítva A kliens lekér egy oldalt Username 6 Someone 4 Jogosultságok Hozzáférés megtagadva  Password Logon Page (Users enter their credentials) *********** Nincs Azonosítva Submit 3 Azonosítva Azonosítási süti Jogosultságok 7 Requested Secure Page 5

Engedélyezése IIS név nélküli bejelentkezés Web.config Jogosultságok 1 IIS név nélküli bejelentkezés Web.config Jogosultságok Belépő űrlap létrehozása 2 <authentication mode="Forms" > <forms name=".namesuffix" loginUrl="login.aspx" /> </authentication> 3 4

Belépő űrlap System.Web.Security Felhasználó ellenőrzése Sütiből olvasás User.Identity.Name FormsAuthentication.RedirectFromLoginPage private void cmdLogin_Click(object sender, EventArgs e) { if (login(txtEmail.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, false); }

Microsoft Passport A kliens lekér egy oldalt 1 Website.msft Az oldal átirányítja a Passport.com-ra 2 A kliens bejelentkezik a Passport.com-ra 3 4 Süti, jeggyel Kliens csatlakozik a weboldalunkhoz 5 6 A host visszaad egy Web űrlapot és egy sütit Client Passport.com

XML Adat reprezentáció XML-ben XML dokumentumok transzformációja XSLT-vel

XML dokumentum struktúra XML deklaráció <?xml version="1.0"?> <employees> </employees> xmlns="urn:nwtraders"> Dokumentum elem <employee> <name>…</name> <salary>…</salary> </employee> id="123" start="1997"> Carol Philips</name> 145000</salary> Elemek Tulajdonságok <employee> <name>…</name> <salary>…</salary> </employee> id="456" start="2000"> Szöveg tartalom Mike Reid</name> 91000</salary> Névterek

Névterek Alapértelmezett névtér xmlns=“egy-névtér-URI” A névterek URI-t, tipikusan URL-t használnak "http://www.nwtraders.msft" "urn:nwtraders" Alapértelmezett névtér xmlns=“egy-névtér-URI” <employees xmlns="urn:nwtraders"> Nem alapértelmezett névtér xmlns:a-prefix=“a-namespace-URI” <lit:employees xmlns:lit="urn:nwtraders">

XSLT Segítségével egy XML dokumentumot egy másik formátumra transzformálhatunk Sok kimenete lehet: Egy HTML dokumentum Másik XML dokumentum Egyszerű szöveg (EDI üzenet) PDF WML …

XSLT képességek Sok különböző transzformációra képes Példák: Egy XML szintaxis másikra cserélése Adat szűrés Adat rendezés XML átstruktúrálás Számítások elvégzése

XML HTML-é transzformálás XSLT XML dokumentum HTML dokumentum + XSLT processor XSLT stílus lap <employees> <employee> <name>Reid</name> <salary>91000</salary> </employee> … </employees> <HTML><TABLE> <TR> <TD>Reid</TD> <TD>91000</TD> </TR> … </TABLE></HTML>

XML más XML szintakszissá Más szintakszis XML dokumentum Más XML nyelvtan + XSLT processor XSLT stílus lap <employees> <employee> <name>Reid</name> <salary>91000</salary> </employee> … </employees> <staff> <staff-member name="Reid" pay="91000"/> … </staff>

XPath Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

XPath W3C szabvány Az XML dokumentumot faként kezeli Gyökér Elem Tulajdonság Szöveg Megjegyzés Feldolgozási információ Névterek Segítségével csomópontokat, vagy csomópontok csoportjait jelölhetjük ki Elérési útvonalak csomópontok kijelölésére XPath operátorok és függvények

XPath Miért használjuk Az XSLT stílus lapokban, minta illesztésre A DOM-ban,csomópontok kiválasztására XML XPath XPath XML XPointer-ben, a dokumentumok csatolására SQL Server-nél, XML-t is tud generálni

Csomópontok kiválasztása DOM Metódusok az XML fa kezelésére MSXML selectSingelNode selectNodes Set document = CreateObject("MSXML2.DOMDocument.3.0") document.setProperty "SelectionLanguage", "XPath" Document.async = False document.load("MyCatalog.xml") Set catalogNode = document.selectSingleNode("//catalog") Set productNodes = catalog.selectNodes("product")

XML DEMÓ(1)

Csomópont információk XPath fa struktúra és csomópont típusok A csomópontokbó kinyerhető információk DOM használata

XPath fa struktúra XML dokumentum XPath faként <catalog xmlns="urn:litwareinc"> <?proc instr?> <!--comment--> <product code="123"> Blue jeans </product> </catalog> "123" "Blue jeans" Root "urn:litware" "comment " "proc-instr" <product> "urn:litwareinc" <catalog>

A csomópontokbó kinyerhető információk Minden csomópont rendelkezik tulajdonságokkal Csomópont típusok Gyökér Egyed Tulajdonság Szöveg Névtér Feld. utasítások Megjegyzés Tulajdonságok Érték Név Szülő csomóp. Gyerek csomóp.

Csomópontok használata DOM-ban A csomópontko tulajdonságaihoz hozzáférhetünk a DOM tulajdonságokon keresztül Set node = document.selectSingleNode("//product") MsgBox "Text value: " & node.text MsgBox "Node base-name: " & node.baseName MsgBox "Namespace prefix: " & node.prefix MsgBox "Namespace URI: " & node.namespaceURI Set parent = node.parentNode MsgBox "Name of parent: " & parent.baseName Set children = node.childNodes For Each child In children …

Elérési útvonalak használata Mi az elérési útvonal? Elérési útvanalak szerkezete Tengelyek (Axes) Tengelyek használata elérési útvonalban Csomópont kritériumok Predikátumok használata

Elérési útvonalak Elérési útvonal egy olyan XPath kifejezés mely XML dokumentumban egy vagy több elemet jelöl ki Lehet: Relatív A jelenlegi csomóponthoz viszonyítva Abszolút ”/” karakterrel kezdődik A gyökérhez viszonyítja

Elérési útvonalak Útvonalat ábrázol Balról jobbra vannak kiértékelve Relatív útvonal Abszolút útvonal Balról jobbra vannak kiértékelve Útvonal az XML dokumentumban Minden lépés három részből áll Példa lépés product/price /catalog/product/price axis::node-test[predicate]… child::product[price > 35.95][3]

Tengelyek self following child following-sibling parent preceding <catalog> <product code="123"> <price>35.99</price> </product> <product code="456"> <price>22.95</price> <discount> <amount>25</amount> </discount> <product code="789"> <price>185.00</price> </catalog> <catalog> <product code="123"> <price>35.99</price> </product> <product code="456"> <price>22.95</price> <discount> <amount>25</amount> </discount> <product code="789"> <price>185.00</price> </catalog> self following child following-sibling parent preceding attribute preceding-sibling descendant descendant-or-self ancestor ancestor-or-self Root node <catalog> <product> <product> <product> code=123 <price> code=456 <price> <discount> code=789 <price> 35.99 22.95 <amount> 185.00 25

Tengelyek használata A gyakori XPath tengelyeknek van rövidített alakja is A többinek nincs Példa – ancestor::node() Tengely Példa teljes Példa rövidített child child::price price attribute attribute::code @code self self::node() . parent parent::node() .. descendant-or-self /descendant-or-self()/price //price

Csomópont kritériumok Név alapján Egy adott név Minden csomóp. Név és névtér Minden csomóp. a név.térben Típus alapján axis::node-type-function() Például a gyermek tengelyen: Child examples Attribute examples price @code * @* aprefix:price @aprefix:code aprefix:* @aprefix:* text() processing-instruction() node() comment()

Predikátumok használata Egy lépés egy vagy több predikátumot használhat Csomópont gyűjtemény szűrése Pozíció Partalom Létezés alapján Több predikátumot is használhatunk Balról jobbra vannak kiértékelve axis::node-test[predicate]… product[last()] product[@code="123"] product[@code] product[3][@discount]

DEMÓ XML COOKTOP

Operátorok és függvények használata Csomópont gyűjtemény kifejezések és függvények Logikai kifejezések és függvények Szám kifejezések és függvények Karakterlánc kifejezések és függvények

Csomópont gyűjtemény Az elérési útvonalak csomópont gyűjteményt adnak vissza Csomópont gyűjteményeket (“ | ”) jellel tudunk összefűzni Gyűjtemény függvények is használhatóak cd | dvd /*/(cd | dvd) (cd | dvd)/@capacity cd[position() = last()] count(cd[@capacity > 5.8])

Logikai kifejezések Logikai operátorok = != > >= < <= Logikai függvények Példa: product[(price > 25 and price < 35) or price > 50] true() false() boolean() not() lang() product[not(@code) and not(discount-policy)]

Szám kifejezések Egyenlőtlenség Bináris operátorok, + - * div mod Függvények Példa account[balance >= - overdraft-limit] account[(balance mod 100) > 0] number() floor() ceiling() round() sum() account[sum(transaction-amount) > 0]

Karakterláncok Kerekterlánc szűrő Karakterlánc módosító string-length(customer/@last-name) customer[ starts-with(@last-name, "Mac") ] customer[ contains(@last-name, "Mac") ] concat(@last-name, "[", @first-name, "]") substring(@middle-name, 1, 1) substring-before("12/3/1964", "/") or substring-after normalize-space(" To be or not to be ") translate(str, "aeiou", "AEIOU")

Tanácsok Rövidített szintakszist használjuk ha van Egyszerűbb karbantartani Kerüljük a túl általános kifejezéseket: // Ha tudjuk akkor szűkítsük le: /*/product Ne használjuk a count() –ot arra hogy megnáézzük van-e eleme Használjuk a last()-ot Ne használjuk a name() a név vizsgálatra Használjuk a namespace-URI() és local-name() függvényeket helyette

A mai előadás tartalma ASP.NET felasználó azonosítás XML kezelés IIS Név nélküli Alap Kivonatolt Windows beágyazott Űrlap alapú Microsoft Passport XML kezelés XML dokumentum XPATH kifejezések Bevezető XPath adat modell Navigálás a dokumentumban elérési utak segítségével Operátorok és Függvények használata elérési utakban

A következő előadás tartalma XML XSLT