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



Podobné dokumenty
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Použití databází na Webu

(Enterprise) JavaBeans. Lekce 7

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

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

Návrh architektury škálovatelné cloudové služby aneb nespalte se v cloudu. Mgr. David Gešvindr MCSE: Data Platform MCT MSP

RESTful API TAMZ 1. Cvičení 11

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB)

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

Server-side technologie pro webové aplikace

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

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

KIV/PIA 2013 Jan Tichava

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

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

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

WCF. IW5 - Programování v.net a C# WCF

PA165: Úvod do Java EE. Petr Adámek

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

Vladimír

Tvorba informačních systémů

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

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

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

SOAP & REST služby. Rozdíly, architektury, použití

Název prezentace 1. Poskytovatel garantovaných služeb NDC včetně kybernetické bezpečnosti ve státní správě

Platformy / technologie. Jaroslav Žáček

Úvod do Web Services

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Databáze II. 1. přednáška. Helena Palovská

Diagnostika webových aplikací v Azure

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

Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework

Microsoft Azure Workshop

Spring framework 2.0. Roman Pichlík CZJUG

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz>

Databázové systémy úvod

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

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

Cloudová Řešení UAI/612

Stěhování aplikací. Michal Tomek, Sales Manager

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Web Services na SOAP

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

Technologie Java. Jaroslav Žáček


Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

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

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

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Geografické informační systémy p. 1

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Architektury informačních systémů

Relační nebo NoSQL databáze? Nebo obojí? Jan Musil CEE IBM Analytics Platform Technical Sales IBM Corporation

Architektury informačních systémů

Oracle XML DB. Tomáš Nykodým

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

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Představuje. Technický Informační Systém nové generace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

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

Kubernetes Azure Service Fabric

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

Příloha č. 2 - Integrace SpiritÚAP do ESB Jihočeského kraje

Webové služby. Martin Sochor

O autorech 13 O odborném korektorovi 13. Poděkování 15 Úvod 17. Cílová skupina této knihy 17 Témata této knihy 17

Databázová řešení IBM

Systémová administrace portálu Liferay

Korporátní identita - nejcennější aktivum

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

Microsoft Sync Framework. Jiří Činčura blog.cincura.net

FORPSI Cloud Computing Virtuální datacentrum v cloudu

Tabulka základních vlastností nástroje C++Builder dle edice

Tvorba informačních systémů

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Databázové systémy BIK-DBS

Okruhy z odborných předmětů

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

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

DATA ULOŽENÁ NA VĚČNÉ ČASY. (ICZ DESA / Microsoft Azure) Mikulov Michal Matoušek (ICZ) / Václav Koudele (Microsoft)

Databázové systémy úvod

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Vývojář a (Azure) cloud. Michael Juřek Software Architect Microsoft s.r.o.

Databázové systémy úvod

Enterprise Java Beans 3.0

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

INFORMAČNÍ SYSTÉMY NA WEBU

Michal Krátký, Miroslav Beneš

Roční periodická zpráva projektu

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

Vzdálený přístup k počítačům

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Datová úložiště CESNET

Projekt JetConf REST API pro vzdálenou správu

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

Transkript:

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging 1. Vhodnost nasazení jednotlivých webových architektur - toto je podle Klímy spíš diskusní téma, to znamená použít zdravý rozum a být schopen přemýšlet, na co se hodí cloud - třídy aplikací a způsoby jejich nasazení: desktop klasické webové aplikace na aplikačním serveru cloudová řešení - která řešení by měla běžet ve webovém prostředí? - rozdíly instalovaného SW a webové aplikace / služby popsáno v otázce 21 - příklad: elektronické bankovnictví, které má 20 let starý back-end legacy system naprogramovaný v COBOLu klienti přistupují přes webové JEE (JSP) rozhraní zvážit architekturu systému vzhledem k nárůstu počtu klientů nebo růstu banky zvážit privátní cloud vs. existující provideři AWS, Google, MS Azure další příklady: eshop, náročné vědecké výpočty, něco jako youtube 2. Sdílení dat, perzistence - hlavně relační DB, protože objektové nejsou moc cool - nevýhody přímého použití JDBC ORM - blíže OO paradigmatu - JPA (konfigurace anotacemi), Hibernate (konfigurace v XML), ibatis (konfigurace v XML) - ORM by měl být neintruzivní - pracuje přímo s POJO (implicitní konstruktor, settery a gettery, ne final atributy) - o perzistenci se starají třídy EntityManager nebo Hibernate Session - podpora ISA hierarchie: SINGLE_TABLE - vše v jedné tabulce + rozlišující sloupec TABLE_PER_CLASS - každá entita má vlastní tabulku s celou sadou atributů JOINED - hlavní tab. má základní attrib., ostatní se s ní spojují (slabé entity) - podpora vztahů (1:1, 1:N, M:N) - dialekty SQL - operace persist, find, merge, remove, query 3. Cloudová řešení perzistence - poskytovatelé: Google App Engine, Amazon Web Services, Microsoft Azure -1-

- těží z výhod cloudu: škálování, replikace, dump, reporty - transakce, dotazy, téměř 100% uptime, konzistence - administrace přes webové rozhraní nebo klienty, command line - veřejné API (např. Google DataStore), které využívá ORM jako JPA nebo JDO - přístup zabezpečen autentizací - platí se jen za uskladněná / přenesená data - data jsou uložena v rozdílných geografických lokalitách (replikace a recovery) Obrázek 1 - Primární a sekundární replika Google App Engine DataStore - ukládání strukturovaných dat (entit) - není to relační DB, entita se ukládá jako key-pair value - DB nemá schéma - nezajišťuje referenční integritu - rozhraní JDO a JPA Google App Engine BlobStore - pro ukládání velkého množství dat (např. souborů) - soubor se uloží jako blob poté, co byl uploadován přes HTTP - každý blob až 2GB - blob je uložen pod unikátním klíčem - blob nelze měnit, pouze smazat Amazon Web Services Simple Storage - obdoba GAE BlobStore - umožňuje sdružovat jednotlivé objekty (1B až 5GB) do skupin (buckets) a těmto skupinám nastavovat práva pro přístup - každý objekt identifikován pomocí unikátního klíče - REST a SOAP rozhraní pro přístup -2-

Amazon Relational Database Service - plnohodnotná relační DB kompatibilní s MySQL Amazon Simple DB - strukturované úložiště podobné jako GAE DataStore Microsoft Azure Storage - obdoba GAE BlobStore Microsoft SQL Azure - relační DB - obdoba AWS Relational Database Service - synchronizace pomocí MS Sync framework - load balancer vyvažuje výkon a směruje na gateway - gateway je jakási proxy, která: akceptuje klientská připojení má na starosti bezpečnost a kontrolu paketů dělá účtování za přenesená data (provisioning) rozděluje requesty podle typu dotazu na DDL a DML - servery se škálují podle potřeby Obrázek 2 - Fyzická architektura SQL Azure Microsoft Azure Table - strukturované úložiště podobné jako GAE DataStore Microsoft Azure Blob - úložiště velkých objemů dat -3-

- podobné jako AWS Simple Storage a GAE BlobStore 4. REST - architektonický styl pro distribuovaná media - platformně nezávislé - založeno na technologii HTTP a URI - cíl: obecné aplikační rozhraní, možnost komunikace přes proxy - manipulace s prostředky (informace, data, soubory) - prostředky jsou beztypové - prostředek je identifikován svým URI - komunikace klient server, klient i server jsou stateless - linky obsahují sémantickou informaci, např. mujweb.cz/delete/person/321 - pro popis metadat se používají HTTP hlavičky - minimalizace závislostí klienta a serveru - server může cacheovat odpovědi - klient neví, zda komunikuje se serverem nebo prostředníkem (proxy, cache) - Amazon nabízí přístup k prostředkům přes SOAP a REST rozhraní - typicky se používá pro CRUD operace: create (metoda POST) read (metoda GET) update (metoda PUT) delete (metoda DELETE) 5. Messaging - synchronní (blokující) vs. asynchronní (neblokující) - granularita mezi aplikacemi nebo front-endem a back-endem (message driven beans, middleware, webservices, http, REST, sockety, AJAX) slouží zejména ke komunikaci a integraci aplikací mezi procesy (cloudová řešení jako AWS Simple Queue Service, GAE Task Queue, MS Azure Queue) slouží zejména k dávkovém zpracování velkého množství dat, ale i na posílání jednoduchých zpráv MS Azure Queue - komunikace mezi službami pomocí zpráv zajišťuje škálovatelnost aplikace odděluje Front End (uživatelské rozhraní) od Back End (business logika) zajistí korektní funkci v exponovaných momentech (postupné zpracování) - není vhodné pro dlouhodobé ukládání dat nebo objemná data - zprávy jsou zpracovávány v libovolném pořadí zpráva může být zpracována vícekrát -4-

6. Zdroje [1] Přednášky z WA2. http://edux.feld.cvut.cz/courses/a4m39wa2/_media/lectures [2] Dokumentace Google App Engine DataStore http://code.google.com/intl/cs/appengine/docs/java/datastore/jdo/relationships.html [3] Dokumentace Google App Engine BlobStore http://code.google.com/intl/cs/appengine/docs/java/blobstore/overview.html#int roducing_the_blobstore -5-