Přizpůsobení JSTL pro Google App Engine Datastore



Podobné dokumenty
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

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

KIV/PIA 2013 Jan Tichava

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Použití databází na Webu

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Platformy / technologie. Jaroslav Žáček

Databázové a informační systémy Jana Šarmanová

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

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

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

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

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

BIG DATA je oveľa viac ako Hadoop. Martin Pavlík

Cloudová Řešení UAI/612

Architektury informačních systémů

MBI - technologická realizace modelu

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

Tvorba informačních systémů

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš

InterSystems Caché Post-Relational Database

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové systémy úvod

Server-side technologie pro webové aplikace

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Datová věda (Data Science) akademický navazující magisterský program

SQL - trigger, Databázové modelování

Tvorba informačních systémů

Technologie Java. Jaroslav Žáček

Databázové systémy. Cvičení 6: SQL

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

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

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

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

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

Data x Informace x Znalosti

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

RESTful web service v Javě

Java Server-side. Štěpán Kuchař. VŠB-TUO FEI Katedra informatiky

UAI/612 - Cloudová Řešení. Technologie

Karta předmětu prezenční studium

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

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE. Cloud computing řešení IT podpory pro malé a střední společnosti

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

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

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

Elektronická podpora výuky předmětu Komprese dat

Publikujeme web. "Kam s ním?!"

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

WWW dotazovací služby pro prostorová data URM. Jiří Čtyroký Útvar rozvoje hl. m. Prahy

Vývoj informačních systémů. Přehled témat a úkolů

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Informační systémy ve zdravotnictví. 6. cvičení

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

Vývoj informačních systémů. Přehled témat a úkolů

Microsoft Azure Workshop

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Spark SQL, Spark Streaming. Jan Hučín

Tvorba informačních systémů

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

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

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Architektury informačních systémů

Tvorba informačních systémů

Návrhové vzory pro J2EE

Informatika. tercie. Mgr. Kateřina Macová 1


Příloha č. 4 Detailní vymezení předmětu zakázky

Databázové systémy úvod

Spark SQL, Spark Streaming. Jan Hučín

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Oracle XML DB. Tomáš Nykodým

Úvod. Boj se zavlečeným impedančním nesouladem na úrovni databáze

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

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Tvorba informačních systémů

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í

Databázové systémy BIK-DBS

Michal Krátký, Miroslav Beneš

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Jazyk SQL databáze SQLite. připravil ing. petr polách


Datové modelování II

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

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

ArcGIS Server 10.1/10.2

Identifikátor materiálu: ICT-3-16

Možnosti aplikací Google pro analýzu (geo(

Databázové systémy úvod

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Transkript:

Přizpůsobení JSTL pro Google App Engine Datastore Vítězslav Novák Katedra Aplikovaná informatika Ekonomická fakulta, VŠB-TU Ostrava 1

Google App Engine Google App Engine je zástupcem distribučního modelu cloud computingu zvaného Platform as a Service - poskytuje kompletní prostředky pro podporu celého životního cyklu tvorby a poskytování webových aplikací. Google App Engine poskytuje mimo jiné tyto funkce: dynamické webové stránky s plnou podporou pro běžné webové technologie napsané v programovacích jazycích Java, Python nebo Go. Datastore - trvalé úložiště dat s dotazy, řazením a transakcemi, automatické škálování a vyvažování zátěže, API pro autentizaci uživatele a posílání e-mailů pomocí Google účtu, vývojové prostředí, které simuluje Google App Engine na vašem počítači. 2

Datastore Datastore je objektová databáze! Google App Engine implementuje následující API pro přístup k databazázi Datastore: nízkoúrovňové Datastore API, Java Data Objects jako dotazovací jazyk využívá JDOQL (Java Data Objects Query Language), SELECT FROM package.word ORDER BY date DESC Java Persistence API jako dotazovací jazyk využívá JPQL (Java Persistence Query Language). SELECT word FROM Word word ORDER BY word.date DESC 3

JSTL JavaServer Pages Standard Tag Library JSTL zapouzdřuje do jednoduchých značek základní funkcionalitu běžnou pro mnoho webových aplikací. JSTL poskytuje podporu pro běžné, strukturované úlohy jako jsou iterace nebo podmínky (Core), značky pro manipulaci s XML dokumenty (XML), internacionalizaci a formátování (Formatting) a značky SQL pro přístup k relačním databázím (SQL). <sql:query datasource="jdbc/mydatasource" var="tabulka"> SELECT word FROM Word ORDER BY date DESC </sql:query> <table> <c:foreach items="${tabulka}" var="radek"> <tr><td>${radek.word}</td></tr> </c:foreach> </table> 4

Problémy při použití JSTL značek typu SQL s databází Datastore JSTL značky typu SQL využívají JDBC, které Google App Engine neimplementuje. Příkazy SELECT jednotlivých dotazovacích jazyků jsou sice podobné, ale přesto se výrazně liší. SQL: SELECT word FROM Word ORDER BY date DESC JDOQL: SELECT FROM package.word ORDER BY date DESC JPQL: SELECT word FROM Word word ORDER BY word.date DESC Rozdíl je také v datovém typu výsledku provedeného dotazu v programovacím jazyce Java: SQL (JDBC) java.sql.resultset, JDOQL, JPQL java.util.list. 5

Návrh řešení problému při použití JSTL značek typu SQL s databází Datastore Naštěstí ostatní značky JSTL (např. typu Core) jsou univerzální a dokážou zpracovat i jiné datové typy než java.sql.resultset, např. java.util.list, který je výsledkem JDOQL nebo JPQL dotazu. Proto by stačilo jen JSTL značky typu SQL nahradit značkami podobnými, ale přizpůsobenými dotazovacím jazykům JDOQL nebo JPQL, např. pro JDOQL: <jdoql:query persistencemanagerfactory="${pmf}" var="seznam"> SELECT FROM package.word ORDER BY date DESC </jdoql:query> <table> <c:foreach items="${seznam}" var="objekt"> <tr><td>${objekt.word}</td></tr> </c:foreach> </table> Nové značky je možné vyvinout pomocí technologie Custom Tags, která je součástí Java Enterprise Edition. 6

Návrh značky <jdoql:query> <jdoql:query persistencemanagerfactory="${pmf}" var="seznam"> SELECT FROM package.word ORDER BY date DESC </jdoql:query> 7

Závěr Google App Engine je zajímavá možnost, jak lze prakticky vyzkoušet vyučované technologie Java Servlets, JSP, JSTL atd. na oboru Aplikovaná informatika na Ekonomické fakultě VŠB-TU Ostrava. Databáze Datastore sice není relační, přesto je možné si přístup k ní na JSP stránkách přizpůsobit pro použití standardních technologií, jako je např. JSTL. Děkuji za pozornost. 8