Server-side technologie pro webové aplikace



Podobné dokumenty
Úvod do Web Services

Serverové skriptovací technologie

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

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

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

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

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

Tvorba informačních systémů

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

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

Architektury informačních systémů

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

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

Architektury informačních systémů

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition

Tvorba informačních systémů

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í

Instalace a konfigurace web serveru. WA1 Martin Klíma

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

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

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Java a J2EE. Cleverlance. Lukáš Marek lukas.marek@cleverlance.com

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

X33EJA Enterprise Java

Komponentní technologie

Technologie Java. Jaroslav Žáček

Internet 2 css, skriptování, dynamické prvky

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

(Enterprise) JavaBeans. Lekce 7

Softwarové komponenty a Internet

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

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

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

Michal Krátký, Miroslav Beneš

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

language="javascript">... </script>.

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

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

KIV/PIA 2013 Jan Tichava

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Tvorba informačních systémů

Webové služby. Martin Sochor

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

DATABÁZE V PROSTŘEDÍ WEBU

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

INFORMAČNÍ SYSTÉMY NA WEBU

InternetovéTechnologie

X36WWW. Technologie aplikačních serverů. Miroslav Bureš,, Martin Klíma. X36WWW: 12. přednáška 1

PROGRAMOVÁNÍ INTERNETOVÝCH APLIKACÍ

Použití databází na Webu

Internet Information Services (IIS) 6.0

RESTful web service v Javě

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové programování a Open Source. Open-source. Liberix o.p.s

Webové Aplikace (6. přednáška)

Programovací jazyky Přehled a vývoj

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

1. Webový server, instalace PHP a MySQL 13

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

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN)

Web Services na SOAP

Úvod do tvorby internetových aplikací

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

Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno

Tvorba informačních systémů

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

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

Platformy / technologie. Jaroslav Žáček

Tvorba informačních systémů

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

Teze. Moderní WWW technologie

Tvorba informačních systémů

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

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Užitečné odkazy:

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

Rodina protokolů TCP/IP, verze 2.3. Část 10: World Wide Web

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

Systémová administrace portálu Liferay

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

Technologie Java. Jaroslav Žáček

HTTP: Hyper Text Transfer Protocol

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

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

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

Ruby on Rails: zapomeňte na Javu

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Protokoly požadavku na URL URL je odkaz na konkrétní prostředek na Internetu v konkrétním umístění a má následující standardní

Úvod do aplikací internetu a přehled možností při tvorbě webu

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

Content Management Systems

Transkript:

Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita

Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace legacy aplikací Prostředky externí aplikace napojená na web server aplikační server, který řeší i webový přístup webový kontejner, který umožňuje aplikační komunikaci embedded skriptování 2

Externí aplikace Server spouští samostatný spustitelný soubor CGI (Common Gateway Interface) kompilované (C) nebo interpretované (perl) jazyky identifikováno a spuštěno serverem na základě URI flexibilita, integrace legacy aplikací ale: run-time náklady, netransparentnost, bezpečnost mod_perl interpret perl vestavěný v Apache serveru snižuje režijní náklady (spawn, šifrovací cache) 3

Scripty zabudované do HTML Server obsahuje interpretovací engine, scripty součástí stránek server parsuje kód stránek, přes engine spouští script» skripty interpretovány serverovým modulem/rozšířením scripty ani data nejsou persistentní rychlý vývoj, malý footprint ale: nedá se škálovat, komplikovaná integrace 4

Servlety (Externí) web-aware, kompilované aplikace aplikace (servlety) běží v kontejneru = část serveru objekty jsou persistentní mezi požadavky nízké režijní náklady, vysoký výkon, vstup aplikace větší run-time náklady, vývojový čas 5

Technologie

CGI Common Gateway Interface Externí skripty/aplikace spouštěné httpd specifikace: v1.1 NCSA (hoohoo.ncsa.uiuc.edu) první, dnes zastaralé Klient posílá data přes GET nebo POST URI / tělo požadavku application/x-www-form-urlencoded Server spouští CGI, vrací jeho stdout skript spouštěn v samostatném procesu generuje kompletní odpověď (včetně HTTP hlaviček) hlavičky dotazu a parametry prostředí přes proměnné 7

CGI: vybrané proměnné Požadavek QUERY_STRING, REQUEST_METHOD CONTENT_TYPE, CONTENT_LENGTH HTTP_* pro ostatní hlavičky (HTTP_ACCEPT atd.) Informace o serveru SERVER_SOFTWARE, SERVER_NAME, SERVER_PORT PATH_INFO (jaké bylo URI) SCRIPT_NAME Informace klienta REMOTE_HOST, REMOTE_ADDR HTTP_USER_AGENT HTTP_AUTHORIZATION http://www.essi.fr/~buffa/cours/internet2000/polys/servlets/servlet-tutorial-cgi-variables.html http://hoohoo.ncsa.uiuc.edu/cgi/env.html 8

Scripty zabudované do HTML PHP (PHP: Hypertext Preprocessor) http://www.php.net, R.Lerdorf et al.; Apache etc. malý footprint, rychlé, integrace db mnoho vlastností, open source ale: špatně škálovatelné, nehomogenní použito: O Reilly, freshmeat, root.cz JSP (JavaServer Pages) ne až tak úplně! http://java.sun.com/products/jsp/; Java EE platforma (Java Platform, Enterprise Edition) Tomcat etc. podpora, přenositelnost, integrace ostatních J2EE služeb použito: Rational, Sun 9

Scripty zabudované do HTML ASP/ASP.NET (Active Server Pages) http://msdn.microsoft.com/asp.net/; Microsoft (DCOM) platforma; IIS, Apache výkon, integrace BackOffice ale: single vendor, platformová nestabilita použito: Microsoft, Atlas, idnes, Compaq Oracle, Sybase zabudované jazyky PL/SQL pevná integrace databáze enginu 10

Další možnosti Apache SSI jednoduché HTML rozšíření pro stranu serveru Aplikační servery HTTP server částí aplikačního serveru Oracle PL/SQL volané přes URI, dává HTML EJB servery distribuované Java aplikace, které používají HTML pro uživatelský vstup Aplikační frameworky těsná integrace serveru, scriptovacího jazyka, knihoven a vývojového prostředí Zope aplikační server + webové IDE pro Python 11

Server side includes Útržky HTML kódu vkládané serverem při posílání dokumentu www.apache.org/docs/mod/mod_include.html Použití vytvoření standardního designu stránky vkládání opakovaných částí HTML vkládání samostatně editovaného obsahu 12

Základní SSI Zdroj base.html <!--#set var="nadpis" value="pia"--> <!--#include virtual="../_header.html" --> <p>na této stránce jsou... Zdroj../_header.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title><!--#echo var="nadpis" --></title> </head> <body> <h1><!--#echo var="nadpis" --></h1> <hr> </div> 13

Související technologie Abyste mohli implementovat webovou aplikaci, můžete potřebovat také jmenné služby (LDAP, JNDI) zabezpečení, autentikaci (GS API, JAAS) persistenci, přístup k datové vrstvě (JDBC, EJB, Hibernate) transakce (JTA) práci s XML (SAX, JAXP) 14

Architektury aplikací

Základní struktury Vždy klient-server tlustý klient tenký klient Nativní klient logika v klientu, data na serveru aplikační protokol Delphi, Java, Oracle Forms Aplet bez instalace, omezení přístupu na hostitele ActiveX, Java,.NET 3.0 16

Třívrstvá architektura Tenký klient GUI rendering» HTML-CSS-JS Aplikační server business logika vazba na legacy» Java,.NET,» EJB, JCA podpora GUI» JSP, JSF, ASP.NET Datový server obvykle RDBMS» MySQL Oracle 17

Další alternativy Mixovaný model tlustý klient někde, tenký jinde Webové služby přímá komunikace mezi aplikačními vrstvami RPC: aplikace přistupující k jiné aplikaci WSDL: popis rozhraní aplikace SOAP: protokol pro přenos vzdáleného volání přes HTTP UDDI: registr dostupných rozhraní REST: webové aplikace/služby s plain HTTP a čistými URL http://www.xfront.com/rest-web-services.html 18