DbMan Výjezdní zasedání UISLednice, 23. – 26. 10. 2002 Ing. Milan Šorm Vedoucí vývoje a provozu Vývojový tým Univerzitního informačního systému Mendelova.

Slides:



Advertisements
Podobné prezentace
Makra v Excelu.
Advertisements

Spisová služba pro organizace zřízené Olomouckým krajem
Webové rozhraní pro datové úložiště
(B1 Print and Delivery) B1 Tisk a odeslání Ing. Miroslav Beran Servis/Helpdesk.
Pomůcka pro tvorbu prezentací závěrečné a diplomové práce
VISUAL BASIC Práce se soubory.
C# pro začátečníky Mgr. Jaromír Osčádal
CZ.1.07/1.4.00/ VY_32_INOVACE_133_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Výpočetní technika Akademický rok 2011/2012 Letní semestr Novák Petr
Tvorba webových aplikací
Microsoft Office Project 2007 kritická cesta
Praha6.cz Nové trendy v e-publishingu Statické stránky, mapa stránek, menu a fulltextové vyhledávání.
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Vývoj aplikací pro SharePoint
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Uložení a analýza bodového mračna bodů v Oracle Spatial Fakulta aplikovaných věd / Katedra matematiky Západočeská univerzita v Plzni Bc. Michal.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
4IT445 – Testování a ladění v PHP Ing. Jan Mittner
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Databázové systémy II Přednáška č. X Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Reporting Ing. Jan Přichystal, Ph.D.. Úvod Uživatelé obvykle přistupují k DW pomocí BI aplikace Většina využívá předdefinované reporty Poskytují standardizovaný.
Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
UŽIVATELSKÉ ROZHRANÍ MS POWERPOINT
Databázové modelování
Aktivní škola - podpora, zlepšení kvality vzdělávání a výuky na základní škole Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
Integrovaný regionální knihovní systém 3. generace Ing. Petr Štefan, Kp-sys s.r.o. Pardubice.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová.
Architektury a techniky DS Cvičení č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.
Univerzita třetího věku kurz Pokročilý Tabulkový procesor 4.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
Tisk z UISu Výjezdní zasedání UISLednice, 23. – Jan Přichystal Sekce studijního systému Vývojový tým Univerzitního informačního systému Mendelova.
23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Hotel Tatra, Velké Karlovice Univerzitní informační systém Milan Šorm.
Algoritmizace a programování Soubory. Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový.
Univerzitní informační systém VIII., Karlov 2009 Fulltextové vyhledávání v UIS Miroslav Prachař.
Průvodní list Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Vzdělávací materiál: Prezentace – zápis pro žáky Určen pro: 3. ročník oboru.
ÚVOD DO PŘEDMĚTU INFORMAČNÍ TECHNOLOGIE. OPERAČNÍ SYSTÉM Je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti.
Zahradnická fakulta v Lednici S4U – Seminář o Univerzitním informačním systému 23. – 25. dubna 2008 S 4 U – Seminář o Univerzitním informačním systému.
Návrhy designu Výjezdní zasedání UISLednice, 23. – Jitka Křeménková Sekce ostatních aplikací a dokumentace Vývojový tým Univerzitního informačního.
Univerzitní informační systém III., Lednice 2004 Nové aplikace portálu SIF a OSSA a telefonních seznamů Ing. Hana Netrefová
Kamerový systém Výjezdní zasedání UISLednice, 23. – Bc. Martin Pokorný Sekce centrálních aplikací Vývojový tým Univerzitního informačního.
23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Hotel Tatra, Velké Karlovice Portlety, navigace a personalizace UIS Milan Šorm.
Konference Informatika XVI./2005, Svratka Studijní systém z pohledu systémového integrátora Ing. Jitka Šedá
Univerzitní informační systém IV., Svojanov 2005 UIS jde do světa … Ing. Tomáš Procházka
Databáze MS ACCESS 2010.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Moduly.
Úvodní slovo o sekci SJS
Evidence aplikací a jejich dokumentace
Martin LEDÍNSKÝ Univerzita Karlova v Praze Ústav výpočetní techniky
Integrace IS na datové vrstvě
Úvodní slovo o sekci studijního systému
Výukový materiál zpracován v rámci projektu
Profesionální poštovní program mutt
Právní systém Tomáš Klein Sekce jádra systému Vývojový tým Univerzitního informačního systému Mendelova zemědělská a lesnická univerzita v Brně Výjezdní.
Rukověť programátora portletů
Nástroje pro manažerské řízení vývoje
Evidence studijních plánů
Název školy: Střední odborná škola stavební Karlovy Vary
Prezentace univerzitního informačního systému
5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová.
Přednáška 9 Triggery.
Nové webové mapové aplikace ČGS RNDr. Vít Štrupl, PhD. Nesuchyně 4. 4
Transkript prezentace:

dbMan Výjezdní zasedání UISLednice, 23. – Ing. Milan Šorm Vedoucí vývoje a provozu Vývojový tým Univerzitního informačního systému Mendelova zemědělská a lesnická univerzita v Brně

2 Obsah  Proč dbMan vznikl  Kde dbMana najít  Jaké funkce dbMan nabízí  Srovnání s jinými SQL konzolemi  Architektura dbManu  Jak dbMana rozšiřovat Výjezdní zasedání UIS

3 Proč dbMan vznikl  potřeba pracovat s RDBMS Oracle levně a přitom komfortně  potřeba pracovat s více RDBMS současně a ve stejném prostředí  snaha automatizovat řadu datamanažerských úkonů  vyzkoušet si nové techniky programování v Perlu  uvést se do světa open-source Výjezdní zasedání UIS

4 Kde dbMan najdu  primární vývoj probíhá na UIS/PEF (server is.mendelu.cz )  release putuje na PAUSE  PAUSE zajistí distribuci na CPAN  na freshmeat.net lze nalézt odkaz  instalaci nejlépe provedeme takto: perl –MCPAN –e shell cpan> install DBIx::dbMan Výjezdní zasedání UIS

5 Funkce dbMana  SQL konzole, historie příkazů, podpora readline knihovny  DBI/DBD pro spojení s RDBMS (20 nativních databází, CSV, Xbase, RAM, Proxy, ODBC aj.)  vícenásobné spojení na RDBMS, auto SQL  transakce, explain plan, seznam a popis objektů  long SQL, stránkování, TAB kompletace, nápověda  tvorba příkazových skriptů/jejich provádění  import CSV, clipboard (vč. unioncopy)  editace objektů ( vim – barevná syntaxe)  benchmarking, podpora různých výstupních formátů  rozsáhlé možnosti snadného rozšiřování Výjezdní zasedání UIS

6 Výhody/nevýhody  univerzální nástroj pro mnoho RDBMS  snadno rozšiřitelný  přívětivý (historie, TAB kompletace)  řada datamanažerských nástrojů  rychlý na pomalých linkách (možnost náhrady za DBAstudio)  díky obecnosti slabá podpora specifik jednotlivých RDBMS  vzhledem k užití Perlu netriviální instalace  absence GUI (zatím)  chybějící lokalizace (zatím)  není standardní součástí žádného velkého RDBMS Výjezdní zasedání UIS

7 Architektura dbManu I Výjezdní zasedání UIS dbMan core dbMan interfaces dbMan DBI DBI/DBDReadLine/Tk dbMan extensions dbMan MemPool dbMan history dbMan config

8 Architektura dbManu II Výjezdní zasedání UIS Zjištění události Tvorba akce Předání akce do rozšíření Moje akce? Vyber rozšíření s max. prior. Vyber další rozšíření v pořadí ne ano Vykonej akci Příznak? Změň akci, příp. nastav příznak ne

9 Architektura dbManu III Výjezdní zasedání UIS Akce COMMAND Akce SQL Cmd StandardSQL Akce SQL_RESULT SQL ShowResult Akce SQL_OUTPUT SQL OutputTable Akce OUTPUT StandardSQL Akce NONE FallbackOutput

10 Jak dbMana rozšiřovat I  Je třeba vytvořit rozšiřující modul DBIx::dbMan::Extension::Název  modul může být umístěn např. v aktuálním adresáři nebo tam, kam míří extensions_dir v konfiguračním souboru  modul musí být potomkem DBIx::dbMan::Extension a musí mít minimálně předefinovánu funkci IDENTIFICATION()  dále je vhodné definovat funkce preference() a handle_action()  další funkce (později) umožní přidat další funkcionalitu (nápovědu, TAB kompletaci…) Výjezdní zasedání UIS

11 Jak dbMana rozšiřovat II  Identifikace vrací řetězec obsahující trojici údajů AUTOR-MODUL-VERZE, kde každý údaj je šestice cifer  AUTOR je číselný kód autora modulu (přiděluje contributor dbManu, pro pokusy použijte )  MODUL je číselný kód modulu (přiděluje si každý autor sám v rámci své číselné řady)  VERZE je číselný kód verze pro určení nejnovější varianty  při nalezení více kandidátů se stejným AUTOR-MODUL je jako modul zaveden kandidát s nejvyšším kódem VERZE Výjezdní zasedání UIS

12 Jak dbMana rozšiřovat III  Preference je celé číslo určující, v jakém pořadí jsou do rozšíření předávány akce  standardní akce mají preferenci 0  fallback– a output– mají preferenci < 0  výkonné moduly mají preferenci < 1000  command-parsery mají preferenci < 2000  preprocesory mají preferenci < 3000  makroprocesory mají preferenci < 4000  větší preference mají URGENT handlery (např. odstranění počátečních a koncových mezer apod.) Výjezdní zasedání UIS

13 Jak dbMana rozšiřovat IV  Ukázková páteř nového rozšíření: package DBIx::dbMan::Extension::Název; use strict; use vars use DBIx::dbMan::Extension; $VERSION = = qw/DBIx::dbMan::Extension/; 1; sub IDENTIFICATION { return " "; } sub preference { return 50; } sub handle_action { my ($obj,%action) # %action modification or something making $action{processed} = 1; return %action; } Výjezdní zasedání UIS

14 Jak dbMana rozšiřovat V  handle_action() má za úkol zpracovat %action ( $action{action}, může měnit celý hash) a případně nastavit příznak $action{processed}  je-li příznak nastaven, jde se na další rozšíření, jinak se restartuje cyklus předávání do rošíření  výstupy je nutné soustředit do akce OUTPUT, aby na ně mohl někdo jiný reagovat (stránkování, výstup do souboru)  na akci NONE nereaguje nikdo – kompletně splněná akce se tedy označuje jako NONE  průchod rozšířeními zobrazí SET TRACING ON Výjezdní zasedání UIS

15 Jak dbMana rozšiřovat VI  k dispozici je řada pomocných objektů  $obj->{-interface}  $obj->{-dbi}  $obj->{-mempool}  $obj->{-config}  $obj->{-core}  několikerý způsob práce s daty  %action uchová data do vyřízení události  $obj->{-mempool} uchová data do ukončení dbMana  $obj->{-config} uchovává data trvale Výjezdní zasedání UIS

16 Jak dbMana rozšiřovat VII  další funkce  for_version() určuje, jaký dbMan akceptuje rozšíření  known_actions() stanovuje, o jaké akce se zajímáme  init() je voláno při zavádění rozšíření  done() je opakem init()  cmdhelp() umožní obohatit výstup příkazu HELP  cmdcomplete() definuje pokyny pro TAB kompletaci  interface objekt umožňuje alokaci/dealokaci promptu, reálný výstup a práci s historií příkazů  mempool objekt nabízí funkce pro storage dat a funkce pro registraci/deregistraci údajů (např. typy formátů) Výjezdní zasedání UIS

17 Jak dbMana rozšiřovat VIII  mimo definice rozšíření můžeme dále rošiřovat:  interface objekty  dědí vlastnosti základního interface  musí nabízet funkci pro získání akce (typicky načtení příkazu)  musí nabízet funkci pro výstup  musí nabízet funkci pro definici šířky terminálu (výstupy formátovaných tabulek)  mohou rozšiřovat práci s historií  mohou zavádět TAB kompletaci  implicitně definován interface cmdline ( dbman ) a triviální tkgui ( xdbman ), bylo by pěkné vylepšit tkgui a vytvořit curses/slang variantu a příp. qtgui nebo gtkgui  vlastního dbMana  formou patchů zaslaných contributorovi  formou vlastní branch na freshmeatu Výjezdní zasedání UIS

18 Dotazy ? Výjezdní zasedání UIS