TÉMATICKÝ OKRUH TZD, DIS a TIS



Podobné dokumenty
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Programování v jazyku C# II. 5.kapitola

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Nové jazykové brány do Caché. Daniel Kutáč

Seznámení s knihovnou ADO.NET

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

TÉMATICKÝ OKRUH Softwarové inženýrství

O Apache Derby detailněji. Hynek Mlnařík

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Použití databází na Webu

Microsoft Office 2003 Souhrnný technický dokument white paper

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

4. lekce Přístup k databázi z vyššího programovacího jazyka

Databázové a informační systémy

Excel a externí data KAPITOLA 2

Business Intelligence

SYBASE ADAPTIVE SERVER JAVA V DATABÁZI

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Ukládání a vyhledávání XML dat

Modul. Univerzální tabulkový export

8.2 Používání a tvorba databází

Formy komunikace s knihovnami

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

(Enterprise) JavaBeans. Lekce 7

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

PŘÍLOHA C Požadavky na Dokumentaci

Informační systém pro vedení živnostenského rejstříku IS RŽP

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Stopařův průvodce po ADO.NET a LINQ aneb Foxařův průvodce po práci s daty v.net Milan Kosina

Úvod do Web Services

Tvorba informačních systémů

GeoPlan. Administrátorská příručka. Výstup byl vytvořen s finanční podporou TA ČR v rámci projektu TA Verze 1.0

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o.

Vývoj multiplatformní aplikace v Qt

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Tvorba informačních systémů

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Požadavky pro výběrová řízení TerraBus ESB/G2x

java remote method invocation Kateřina Fricková, Matouš Jandek

Provádí ochranu sítě před napadením (ochrana počítačů nestačí) Odděluje uživatele (prvek nespolehlivosti) od prvků ochrany

TÉMATICKÝ OKRUH Softwarové inženýrství

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

Obsah OLAP A ESO9... 3

Copyright 2001, COM PLUS CZ a.s., Praha

Vladimír

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Úvod do databázových systémů

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

EMBARCADERO DATASNAP. OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7

Compatibility List. GORDIC spol. s r. o. Verze

Evidence a správa kanalizace v GIS Kompas 3.2

Programování a implementace Microsoft SQL Server 2014 databází

1 Webový server, instalace PHP a MySQL 13

Evidence městského mobiliáře v GIS Kompas 3.2

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení.

Archivace relačních databází

Windows Server 2003 Active Directory

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

POKROČILÉ POUŽITÍ DATABÁZÍ

Profilová část maturitní zkoušky 2013/2014

Obsah. KELOC CS, s.r.o... v ý v o j a p r o d e j e k o n o m i c k é h o s o f t w a re

Oracle XML DB. Tomáš Nykodým

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Technická specifikace

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Architektury informačních systémů

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Otevřený svět ICS. Radim Navrátil. aneb co svět oken a ICS? Vedoucí oddělení aplikační administrace a bezpečnosti, YOUR SYSTEM, spol. s r.o.

BIOMEDICÍNSKÝ SYSTÉM PRO AGENTURY DOMÁCÍ PÉČE. Ondřej Krejcar, Dalibor Janckulík, Leona Motalová

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Internetový obchod ES Pohoda Web Revolution

Datová vrstva informačního systému. Miroslav Beneš

Artlingua Translation API

Instalace SQL 2008 R2 na Windows 7 (64bit)

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Nová áplikáce etesty Př í přává PC ž ádátele

5. POČÍTAČOVÉ CVIČENÍ

Databázové systémy BIK-DBS

Vazba ESO9 na MS Outlook a MS Exchange

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Transkript:

TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 20. Otázka : Datová vrstva informačního systému. Nezávislý přístup k datům - standardy ODBC/JDBC. Architektura a použití ADO.NET. Obsah : 1. ODBC 2. JDBC 2.1 Rozdělení 2.1.1 Typ 1 2.1.2 Typ 2 2.1.3 Typ 3 2.1.4 Typ 4 2.2 JDBC Ovladač 2.3 Spojení s databází 2.4 Pooling 3. ADO.NET

1. ODBC Je standardem navrženým firmou Microsoft. ODBC jako takové bylo založené na X/Open CLI specifikaci a bylo primárně přístupné pouze přes C/C++ aplikace, případně přes různé wrappery volání z různých vývojových prostředí (Visual Basic, Powerbuilder atd.). ODBC je tedy čisté céčkové API, které nemá žádný objektový základ a je poměrně nepřehledné a nestrukturované. I proto firma Microsoft v podstatě tuto technologii opustila a v.net je přístup k datům a databázím řešen sofistikovaně. Nativní rozhraní je ovladač síťového rozhraní specifický pro daný databázový server. Nativní připojení k MS SQL se většinou realizuje pomocí komponenty ActiveX Data Objects (ADO), což je sada součástí umožňujících přístup k datům přes poskytovatele OLE DB. Existuje také univerzální rozhraní ODBC (Open Database Connectivity), se kterým by se dle norem mělo pracovat stejně pro libovolný SQL server i pro libovolnou ODBC-schopnou aplikaci. Dřívější verze ODBC tvořily jen jakýsi mezistupeň mezi aplikací a nativními ovladači databázového serveru. V současnosti takovéto ztráty výkonnosti nehrozí, neboť i ODBC přistupuje přímo. Je to prostě jen jiný ovladač síťového rozhraní. 2. JDBC Základem konceptu JDBC je využití funkčnosti poskytované JDBC ovladačem, který je následně překládá do nativních volání dané databáze. Díky tomu je aplikační programátor odstíněn od specifického API databáze a může se naučit jednotné rozhraní JDBC, které pak použije pro přístup do libovolné databáze, která poskytuje JDBC ovladač. V dnešní době to jsou prakticky všechny hlavní systémy a ovladače jsou optimalizované a vyvíjené samotnými výrobci databázových strojů.

JDBC navíc není určeno pouze pro přístup k relačním databázím, ale k libovolnému formátu dat, ukládaného ve sloupcové podobě, což mohou být i datové soubory spreadsheetů, textové soubory (např. CSF) atd. Hlavní výhody JDBC: S JDBC není aplikace pevně svázaná s nejakou konkrétní databází Kombinace JDBC API a Java API výrazně zjednušuje a urychluje vývoj aplikací. JDBC skrývá před programátorem komplexnost problematiky přístupu k datům Není potřeba konfigurovat síťové počítače a pracovní stanice, stačí jen mít JDBC ovladač napsaný v Javě a klientské aplikace si sami zavedou ovladače jako součást appletu ze serveru. Technologie JDBC úspěšně využívá internetový adresovací standard URL (Uniform Resource Locator) pro jednoznačné zadání spojení s databází JDBC je jednoduší a bezpečnější neš ODBC a je ideální pro využití v heterogenních sítích 2.1 Rozdělení JDBC specifikace rozpoznává čtyři typy JDBC ovladačů, typ 1 až 4. 2.1.1 Typ 1 Tento typ ovladače využívá lokální ODBC ovladač a přistupuje k němu přes JDBC-ODBC bridge. Taková aplikace vyžaduje nainstalování a nastavení lokálního ODBC ovladače pro danou databázi společně s aplikací v Javě, která tento ODBC ovladač využívá. ODBC ovladače jsou specifické pro každého výrobce databáze, a proto je práce s nimi složitá, je nutné instalovat lokální DLL knihovny, které musí být synchronizovány s ohledem na aktuální použitou databázi, jejich administrace je časově náročná díky nejednotnosti rozhraní, použití a nastavení atd. 2.1.2 Typ 2 Ovladač typu 2 má za úkol překládat požadavky z JDBC do určitého specifického ovladače, který je v nativní podobě nainstalovaný na počítači a který je určen právě pro jeden typ databáze. Dalo by se říci, že JDBC-ODBC bridge je podmnožinou tohoto typu ovladače, s tím, že je čistě vázán jen na ODBC. Pochopitelně se s tímto typem ovladačů pojí stejně výhod a nevýhod jako v případě JDBC-ODBC. Kromě toho ale mohou nastat ještě větší komplikace při administraci a při

nasazení (opět záleží na umístění, zda se jedná o klienta nebo o serverový systém). 2.1.3 Typ 3 Tento typ již nepoužívá žádný nativní kód pro ovladač, ale je založen čistě na Javě a JDBC, které konvertuje svoji komunikaci do síťového protokolu, který se spojuje s centrálním serverem (Network Server), který poskytuje připojení k databázi (obvykle s poolem připojení, viz dále). Tento server konvertuje síťový protokol, kterým komunikuje s klienty, do databázově specifického protokolu, jemuž již databáze rozumí. Takový model je vysoce efektivní, a to jak s ohledem na možnost poolingu připojení a tím i zrychlení dotazování a práce s databází, tak i možnost připojení k sadě heterogenních databázových systémů. 2.1.4 Typ 4 Ovladač typu 4 je napsán celý čistě v Javě s plnou podporou pro optimalizace vzhledem k dané databázi. Výhodou tohoto ovladače je, že klient nemusí být jakkoli konfigurován a nejsou nutné žádné lokální klientské instalace ovladačů. 2.2 JDBC ovladač Ovladač je specifická třída, obvykle poskytována výrobcem databáze. Předtím, než budou provedeny jakékoli operace nad databází, je nutné ovladač nahrát a registrovat. K tomu slouží příkaz Class.forName("jméno_JDBC_ovladače");. Příkladem může být JDBC-ODBC bridge, jehož ovladač se registruje (rozumějte, že se registruje pro použití ve vaší aplikaci) příkazem Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");. Registrace JDBC ovladače je vázána na DriverManager, což je třída s metodami pro správu a práci s JDBC. V podstatě jde o vrstvu mezi aplikačním kódem a JDBC ovladačem, přičemž v této vrstvě je provedena registrace JDBC ovladače ve chvíli, kdy je zavolána výše popsaná metoda forname(). Obecně by měl tento ovladač zavolat při nahrání metodu registerdriver() třídy DriverManager. Ten pak ovladač eviduje a je poskytnut pro práci s databází.

2.3 Spojení s databází Jakmile byl JDBC ovladač nahrán a správně zaregistrován DriverManagerem, je možné navázat spojení s databází. Spojení s databází se identifikuje jako databázové URL, které se skládá z těchto součástí: URL musí být uvedeno jdbc., což je určeno specifikací. Poté může být uveden podprotokol, což je záležitost závislá od daného poskytovatele databáze. Například pro ODBC je nutné uvést odbc.. Poslední částí pak je DSN (Data Source Name), který identifikuje název databáze (u ODBC to je název ODBC zdroje). V zásadě URL jednoznačně identifikuje datový zdroj a lze s ním navázat spojení. K tomu slouží metoda getconnetion(), kterou je nutné zavolat u třídy DriverManager. Jakmile se aplikační kód snaží navázat spojení s databází, DriverManager provádí základní testování ovladače (voláním metody connect, kterou musí ovladač implementovat, jako všechny ostatní z rozhraní java.sql.driver) a předává URL jednotlivým registrovaným ovladačům, přičemž u prvního, který uspěje s připojením na dané URL, získá Connection objekt. Ten je pak následně předán volajícímu kódu. V případě, že jsme autorizovaní k získání připojení a vše je nastaveno správně, metoda getconnection() vrátí požadované spojení, které je základem pro další práci s databázi a přes které se provádí všechny operace nad databází. Jakmile máme spojení s databází, můžeme nad ní začít provádět datové operace. 2.4 Pooling Jedná o poolování objektů Connection, neboli samotných připojení. Protože vytvoření samotného připojení je časově i systémově velmi náročná operace, která by při neustálém provádění při každém dotazu klienta znamenala nepřijatelné zpomalení aplikace, tyto objekty se předvytvářejí a ukládají se po použití zpět do poolu, odkud se zase berou podle potřeb klie nta. Práce s poolingem je dosti aplikačně závislá a liší se podle výrobce aplikačního serveru.

3. ADO.NET ADO.NET (Microsoft ActiveX Data Objects.NET) představuje množinu tříd nabízejících služby pro přístup k datům a tvorbu databázových aplikací. Daty máme nyní na mysli převážně informace uložené v databázích. Ať již se jedná o data v databázích například na Microsoft SQL Serveru či data zpřístupněná přes OLE DB nebo XML. Mezi jeho přednosti patří především jednoduchý způsob použití, rychlost při zpracování a další. Stačí vytvořit spojení se serverem, s kterým budeme chtít pracovat, pomocí zvoleného adaptéru a zadaného dotazu získat z databáze data a ty pak načíst do některé z připravených konstrukcí pro práci s daty z tabulek. ADO.NET ale nemusí pracovat pouze s databázemi na nějakém serveru. Bylo navrhováno současně s XML třídami v prostředí.net Framework. Také díky tomu je možno data načítat i ve formátu XML nebo data zapisovat jako XML soubory spolu s definičním souborem XSD definujícím schéma dané databáze. Nástroje ADO.NET byly navrženy tak, aby se oddělil způsob přístupu k datům od manipulace s daty. K první skupině patří.net Framework data provider obsahující množinu komponent zahrnujících podmnožiny Connection (připojení), Command (množinu příkazů pro vybrání dat), DataReader (načítání dat) a DataAdapter (adaptér pro připojení k databázi). K druhé skupině řadíme mimo jiné objekt DataSet (skládající se z objektů DataTable, DataRow...). Jedná se o objekty uchovávající data načtená z databází. Tyto objekty mohou s daty pracovat stejně jako s daty v databázi. V dalším textu budeme převážně používat objekt typu DataSet. 3.1 Connection přístup k DB Pro to, abychom mohli s databází pracovat, je třeba nejprve vytvořit připojení. V závislosti na používaném serveru vybereme typ připojení. V našem příkladu budeme předpokládat, že používáme Microsoft SQL Server. Proto použijeme typ SqlConnection z jmenného prostoru System.Data.SqlClient. Pro připojení je nutné znát tzv. ConnectionString, tedy řetězec používaný pro připojení k databázovému serveru, ve kterém se uvádí název databáze, login, heslo a další parametry. Tím se vytvoří nový objekt SqlConnection. Po vytvoření objektu se vytvoří část kódu this.sqlconnection = new System.Data.SqlClient.SqlConnection(); kde sqlconnection je jméno instance tak, jak jsme si ji vytvořili. 3.2 Data adapter DataAdapter je užitečný především pro spolupráci s prvky dočasné databázové paměti typu DataSet. Pokud se tedy rozhodneme nepoužít DataSet, například u jednoduchých operací, můžeme s databází spolupracovat přímo bez DataAdapteru. Je na místě oznámit, že je třeba vytvořit tolik prvků SqlDataAdapter, do kolika tabulek databáze se budeme chtít připojovat.

3.3 Data reader V ADO.NET najdete třídy, které jsou velmi podobné těm z ADO - OleDbConnection, OleDbCommand a OleDbDataReader. Tyto objekty spolupracují s definovaným OLE DB providerem jako v klasickém ADO. Pro práci s Microsoft SQL Serverem lze použít i speciální sadu tříd SQLConnection, SQLCommand a SQLDataReader, které poskytují programátorovi vyšší výkon. 3.4 Data set DataSet je výsledkem úsilí spojit klasické ADO s XML datovým formátem. DataSet obsahuje tabulární data jedné nebo více tabulek ve formě XML. Tato data mohou být zpracovávána samostatně nebo mohou mít mezi sebou definovány relace podobně jako v relační databázi. DataSet je třída, která se nestará o spojení s databází nebo o SQL dotazy. Jedná se o klientský nástroj pro zpracování dat.