XML adatkezelés. 13. témakör. XML szabványok. Az adatkezelés és XML kapcsolata XSLT. XQuery XPath. XML-DB XMLSchema. rugalmasság.



Hasonló dokumentumok
5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

SQLServer. DB Recovery modes

Debreceni Egyetem Informatikai Kar. Szolgáltatás-orientált programozás az Oracle-ben

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

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Webszolgáltatások (WS)

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

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

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis kezelés Delphiben. SQL lekérdezések

Bevezetés: az SQL-be

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

Tranzakciókezelés PL/SQL-ben

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

XML adatbázis kezelésének lehetőségei

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

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

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Hozzunk ki többet abból amink van. Fehér Lajos

Készítette: Szabóné Nacsa Rozália

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

B I T M A N B I v: T M A N

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Folyamat alapú integráció alapjai

SQL/PSM kurzorok rész

Adatbázis rendszerek. dr. Siki Zoltán

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

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Osztott alkalmazások fejlesztési technológiái Áttekintés

Elemi alkalmazások fejlesztése IV.

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Adatbázis-kezelés ODBC driverrel

Szolgáltatás technológiák (WS, WS-*) Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Adatbázis rendszerek 7. előadás State of the art

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Vizuális programozás gyakorlat

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

Az Oracle dokumentumkezelési környezetei. Markovits Péter Oracle Hungary


SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Indexek és SQL hangolás

Mikor? Milyen alkalmazásnál?

Adatbázis, adatbázis-kezelő

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

Adatmodellezés. 1. Fogalmi modell

A Java EE 5 plattform

34. Elsődleges kulcs megadása XMLSchema-ban Idegen kulcs megadása XMLSchema-ban Típusok kategóriái és saját típus megadásának

Web-fejlesztés NGM_IN002_1

Elektronikus levelek. Az informatikai biztonság alapjai II.

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adattípusok. Max. 2GByte

Informatikai alapismeretek Földtudományi BSC számára

Web-fejlesztés NGM_IN002_1

Adattípusok. Max. 2GByte

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Többfelhasználós és internetes térkép kezelés, megjelenítés

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

ColourSMS Protokol definíció. Version 1.2

Multimédiás adatbázisok

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

BEVEZETÉS Az objektum fogalma

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

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Junior Java Képzés. Tematika

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

Az SQL*Plus használata

S z á m í t ó g é p e s a l a p i s m e r e t e k

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

JAVA webes alkalmazások

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Az XML dokumentumok adatmodellje

Átírás:

XML adatkezelés 13. témakör XML szabványok Az adatkezelés és XML kapcsolata XML XSLT XQuery SQL XPath XML-DB XMLSchema dokumentum orientáltság adat orientáltság rugalmasság hatékonyság integritás 1

Oracle XML-DB XML dokumentumok tárolásának fő elemei: XMLType XML DB Repository XML XMLSchema XML-DB XMLType mezők, táblák Táblák XML tárolási formátumok (CLOB, binary, OR) XML-DB Repository séma ellenőrzés XSLT indexelés adatkezelés ACL védelem verzió követés katalógusok Oracle XML-DB Tárolási alternatívák: - CLOB (karakterlánc) : + : egész dokumentum egyben - : lekérdezés, módosítás - shredded (elemekre bontott, objektum-relációs táblákba átvitt): +: lekérdezés, érték módosítás -: bővítés, törlés, teljes dokumentum átfésülés - binary (az struktúra elemek tokenekkel kódoltak) +: tömörség -: teljes dokumentum átfésülés - hibrid (egyes részek más és más módon tárolódnak) 2

Oracle XML-DB XML indexelése tárolási típus shredded CLOB CLOB index típus B-fa, bitmap XMLIndex OracleText XMLIndex: (dokumentum ID, position of the node, xpath, value) Oracle XML-DB XML-DB Repository Az XML-DB Repository célja, hogy egy virtuális file-rendszert tegyen az XMLType mezőkben tárolt XML dokumentumok fölé. XML-DB Repository ACL verziókezelés relációs struktúra FTP HTTP virtuális file-rendszer 3

Oracle XML-DB XML adatok generálása objektum-relációs forrásból tábla XML/SQL SQL PL/SQL Oracle XML/SQL XML XML/SQL elemei: - XMLElement() - XMLForest() - XMLAggreg() - XMLQuery() - XMLValidate() Oracle XML/SQL elemei: - UpdateXML() - DeleteXML() - InsertXMLBefore() Az XML/SQL csomag segítségével XML View definálható a relációs adattáblák fölé Oracle XML-DB XMLType adatok tárolóinak létrehozása Tároló adatelem létrehozása: CREATE TABLE xx (, mezo XMLType, ); CREATE TABLE yy OF XMLType; XML dokumentum betöltése (SQL) katalógus kijelölés: CREATE DIRECTORY kk AS katalogus; betöltés: INSERT INTO xx(mezo) VALUES (XMLType(bfilename( kk, file ), nls_charset_id( cc ))); 4

Oracle XML-DB A lekérdezés XML objektumokból: XMLTable SELECT des.column_value FROM purchaseorder p, XMLTable('/LineItems/LineItem/Description' PASSING p.object_value) des WHERE existsnode(p.object_value, '/PurchaseOrder[Reference="SDT"]') = 1; COLUMN_VALUE ------------------------------------------------------------ <Description>A Night to Remember</Description> <Description>The Unbearable Lightness Of Being</Description> <Description>Sisters</Description> SELECT count(*) FROM purchaseorder p, XMLTable('/PurchaseOrder/*' PASSING p.object_value) WHERE existsnode(p.object_value, '/PurchaseO[Reference="S3"]') = 1; Oracle XML-DB Szöveges tartalom kiemelése a csomópontból: extractvalue SELECT extractvalue(des.column_value, '/Description') FROM purchaseorder p, XMLTable('/LineItems/LineItem/Description' PASSING p.object_value) des WHERE existsnode(p.object_value, '/PurchaseO[Reference="ST"]') = 1; EXTRACTVALUE(DES.COLUMN_VALUE,'/DESCRIPTION') --------------------------------------------- A Night to Remember The Unbearable Lightness Of Being Sisters 5

Oracle XML-DB Csomópontok létezésének ellenőrzése XMLExists XMLQuery SELECT count(*) FROM purchaseorder WHERE XMLExists('$p/PurchaseOrder/Ref' PASSING OBJECT_VALUE AS "p"); Az argumentum XPath kifejezés SELECT XMLCast(XMLQuery('$p/PurchaseOrder/Ref' PASSING OBJECT_VALUE AS "p" RETURNING CONTENT) AS VARCHAR2(30)) FROM purchaseorder WHERE XMLCast(XMLQuery('$p/PurchaseOrder/User' PASSING OBJECT_VALUE AS "p" RETURNING CONTENT) AS VARCHAR2(30)) LIKE 'S%'; Oracle XML-DB Adatkezelő (DML) parancsok UpdateXML UPDATE purchaseorder SET OBJECT_VALUE = updatexml(object_value, '/PurchaseOrder/User/text()','SKING') WHERE existsnode(object_value, '/PurchaseOr[Refű="SB60"]') = 1; UPDATE purchaseorder SET OBJECT_VALUE = updatexml( OBJECT_VALUE, '/PurchaseOrder/LineItems/LineItem[1]', XMLType('<LineItem ItemNumber="1"> <Description>The Lady Vanishes </Description> <Part Id="37429122129" UnitPrice="39.95" Quantity="1"/> </LineItem>')) WHERE existsnode(object_value, '/PurchaseOr[Ref="SB601"]') = 1; 6

Oracle XML-DB XML adatok generálása relációs adatokból XMLElement : csomópont létrehozása XMLAttributes : jellemzők létrehozása XMLForest : elemek halmazának meghatározása XMLAgg : elemek összevonása összesítő formátumba SELECT XMLElement( "Department", XMLAttributes(d.Department_id AS "DepartmentId"), XMLForest(d.department_name AS "Name"), XMLElement( "Location", XMLForest( street_address AS "Address", city AS "City", FROM XForms Tervezés egyszerűsítése Moduláris tervezés, MVC alapon Adatmodell független a megjelenítéstől Az üzleti logikai szeparált, átláthatóbb Kevesebb kódolás Nem kell írni javascript kódot <script/> A meglévő korszerű technológiákra épül Felhasználja pl. az AJAX technológiát 7

XForms XFORMS utasításokat XML-ben adjuk meg A végrehajtás során XFORMS (D)HTML+Javascript Pre-compile source code Dynamic compilation on server Dynamic compilation on client (browser) Pre-compilation AJAXForms XFormation XForms Server support Orbeon IBM Workplace Forms Browser support X-Smiles Browser addons/extensions Mozilla XForms MozzIE FormsPlayer FormFaces 8

MVC modell Controller: megkötések, üzleti logika Model: adatszerkezet View: megjelenítés elérési felület <patient> <title/> <sex/> <dob/> <children/> </patient> MVC modell Controller: megkötések, üzleti logika Model: adatszerkezet View: megjelenítés elérési felület Nem lehet üres String, max hossz 50 Enumeration (nő férfi) dátum intervallum{0 < x < 10} <patient> <title/> <sex/> <dob/> <children/> </patient> 9

MVC modell Controller: megkötések, üzleti logika Model: adatszerkezet View: megjelenítés elérési felület <patient> <title/> <sex/> <dob/> <children/> </patient> XForms Data model Control binding View <html> <head> <xforms:model> <xforms:instance> <person> <name/> </person> </xforms:instance> <xforms:bind nodeset="/person/name" type="xs:string" constraint= string-length(.) < 50"/> </xforms:model> </head> <body> <p>hello world. Please enter your name here: <xforms:input ref="/person/name /></p> <body> </html> 10

SOA elemei SOA: szolgáltat ltatás orientált architektúra ra Szolgáltat ltatás adó 3. kapcsolat felvétel Szolgáltat ltatás kérők 1. szolgáltat ltatás regisztrálás Szolgáltat ltatás nyilvántart ntartó 2. szolgáltat ltatás keresés A MOM kapcsolat architektúrán alapszik: - üzenetek a nyilvántart ntartón n keresztül - üzenet várakozv rakozósor - üzenet konverzió (szabályos interfész) SOA elemei WEB Services: : szolgáltat ltatás orientált architektúra ra WEB Services: : A SOA egyik lehetséges megvalósítása sa Kapcsolódó elemek: WSDL: szolgáltat ltatás interfész leíró nyelv (XML) UDDI: erőforr forrás regisztráci ciós nyelv (xml( xml) SOAP: adatforgalom, üzenet leíró nyelv (XML) 11

SOA elemei A WSDL nyelv elemei A szolgáltat ltatás használat latához szüks kséges interfészt írja le Hívás szignatúrája Válasz adattípusa Szolgált ltási portok Source: Neet Wadhwani Kapcsolódási si protokoll SOA elemei A WSDL nyelv elemei <port name= WeSoapPort WeSoapPort binding= wsdlns:weathersoapbinding wsdlns:weathersoapbinding > <soap:address location= http:// http://..../weats weatsrv.asp v.asp /> </port> Szolgáltat ltatás elérése <message name= Weather.GetTemp Weather.GetTemp > <part name= zipcode zipcode type= xsd:string xsd:string /> <part name= celsius celsius type= xsd:boolean xsd:boolean /> </message> <message name= Weather.GetTempResponse Weather.GetTempResponse > Üzenet szignatúra <part name= Result Result type= xsd:float xsd:float /> </message> Library azonosító <porttype name= WeatherSoapPort WeatherSoapPort > <operation name= GetTemp GetTemp parameterorder= zipcode celsius > <input message= wsdlns:weather.gettemp wsdlns:weather.gettemp /> <output message= wsdlns:weather.gettempresponse wsdlns:weather.gettempresponse/> </operation> Függv ggvény azonosító </porttype porttype> 12

SOA elemei Az UDDI nyelv elemei UDDI: szabvány a szolgáltatások a regisztrálására 1. 2. SW companies, standards bodies, and programmers populate the registry with descriptions megadásaof different types of services Szolgáltatás típusok UDDI Business Registry 4. Marketplaces, search Szolgáltatás engines, and business apps megkeresése query the registry to discover services at other companies Businesses populate the registry with descriptions of the services they support Szolgáltatás feltöltése 3. Business Registrations Segrvice Type Reistrations UBR assigns a programmatically unique identifier to each service and business registration Szolgáltatás regisztrálása 5. Business uses this data Szolgáltatás to facilitate easier integration with használata each other over the Web SOA elemei Az UDDI nyelv elemei <businessentity businesskey= A687FG00-56NM-EFT1-3456-098765432124 > <name>acme Travel Incorporated</name> <description xml:lang= en > Acme is a world leader in online travel services </description> <contacts> <contact usetype= US general > <personname>acme Inc.</personName> <phone>1 800 CALL ACME</phone> <email usetype= >acme@acme-travel.com</email> <address>.</address> </contact> </contacts> <businessservices>.... </businessservices> <keyedreference tmodelkey= UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384 keyname= Electronic check-in keyvalue= 84121801 /> </categorybag> </businessentity> Szolgáltató neve, azonosító Tevékenység jellege Kontakt adatok Tevékenység funkcionális leírása 13

SOA elemei A SOAP nyelv elemei SOAP: szabvány az üzenetek plattform független továbbítására Feladatok: - üzenetek csomagolása - adatok konvertálása - hibajelzések kódolása - formátum, kódtábla konverzió Üzenet felépítése: - XML formátum - borítékot képez - fej és törzsrész Header Body SOA elemei A SOAP nyelv elemei <SOAP-ENV:Envelope xmlns:soap-env= ENV= http:// http://schemas.xmlsoap.org schemas.xmlsoap.org/soap/envelope/ /soap/envelope/ SOAP-ENV:encodingStyle ENV:encodingStyle= "http://schemas.xmlsoap.org schemas.xmlsoap.org/soap/encoding/ /soap/encoding/ > <SOAP-ENV:Header> <t:transid xmlns:t= http://a.com/trans http://a.com/trans >345</ >345</t:transId t:transid> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:add xmlns:m= http://a.com/calculator http://a.com/calculator > <n1>3</n1> </m:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Kérés üzenet 14

SOA elemei A SOAP nyelv elemei <SOAP-ENV:Envelope xmlns:soap-env= ENV= http:// http://schemas.xmlsoap.org schemas.xmlsoap.org/soap/envelope/ /soap/envelope/ SOAP- ENV:encodingStyle="http:// ="http://schemas.xmlsoap.org schemas.xmlsoap.org/soap/encoding/ /soap/encoding/ > <SOAP-ENV:Header> <t:transid xmlns:t= http://a.com/trans http://a.com/trans >345</ >345</t:transId t:transid> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:addresponse xmlns:m= http://a.com/calculator http://a.com/calculator > <result>7</result> </m:addresponse m:addresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Válasz üzenet BPEL Szerepe 15

16

BPEL alapok <switch> többszörös elágazás megadása <case condition= > </case> <otherwise> </otherwise> </switch> <while condition= > ciklus megadása </while> <variable name= type= > változó megadása </variable> <reply partnerlink= porttype= operation= variable= > válasz küldése </reply> <assign> <copy> <from variable= /> <to variable= /> </copy> értékadás </assign> BPEL/2 <sequence> <receive createinstance="yes" operation="echo" partnerlink="echoplt" porttype="ns1:echoservice" variable="echorequest"/> <assign> <copy> <from expression= "concat( bpws:getvariabledata('echorequest', 'echopart1'), bpws:getvariabledata('echorequest', 'echopart2') )" /> <to part="echopart1and2" variable="echoresponse"/> </copy> </assign> <reply operation="echo" partnerlink="echoplt" porttype="ns1:echoservice" variable="echoresponse"/> </sequence> </process> 17

- XML célja, szerepe, jelentősége - XML reprezentációs szintek - XML szabványok, felhasználás - XML helyesen formáltság - XML névterek - XML szimbólumok, CDATA - XML DTD - XML DTD integritási, entity elemek - XDM modell elemei - XMLSchema működési elve - XMLSchema tipusok megadása - XMLSchema ComplexType - XMLSchema SimpleType - XMLSchema Element, Attribute - XML származtatások - XMLSchema integritási elemek - XMLSchema névtér kezelés - XMLSchema több forrásból, csoport - XML Schematron - XML SAX elve - XML SAX API - XML SAX programozása - XML DOM elve - XML DOM API elemei - XML DOM programozása - XSLT elve, szerepe - XSLT minta kezelési parancsok - XSLT ciklus, halmaz kezelés - XSLT másolás - XSLT feltételes rész - XSLT elem generálás - XSLT változók, eljárások - xquery elve, szerepe - xquery FLOWER elemei - xquery szelekcio, projekcio - xquery join - xquery csoportképzés - xpath elemei - xpath feltételes rész - XMLDB tárolási formátumok - XMLDB függvények - xforms működési modell - xforms MVC elemei - WSDL, UDDI - SOAP - BPEL 18