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



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

(Enterprise) JavaBeans. Lekce 7

Tvorba informačních systémů

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

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

KIV/PIA 2013 Jan Tichava

Server-side technologie pro webové aplikace

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

Tvorba informačních systémů

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

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

Architektury informačních systémů

Architektury informačních systémů

Úvod do Web Services

Spring framework 2.0. Roman Pichlík CZJUG

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

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

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

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

Technologie Java. Jaroslav Žáček

Platformy / technologie. Jaroslav Žáček

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

Architektura softwarových systémů

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

Softwarové komponenty a Internet

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Tvorba informačních systémů

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

Tvorba informačních systémů

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

Tvorba informačních systémů

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

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

X33EJA Enterprise Java

Michal Krátký, Miroslav Beneš

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

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

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

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Microsoft Azure Workshop

RESTful web service v Javě

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

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

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

1 Webový server, instalace PHP a MySQL 13

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

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

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

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

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

1. Webový server, instalace PHP a MySQL 13

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

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

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

Architektura aplikace

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Ruby on Rails: zapomeňte na Javu

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

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

UJO Framework. revoluční architektura beans. verze

INFORMAČNÍ SYSTÉMY NA WEBU

KIV/PIA Semestrální práce

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

Internet Information Services (IIS) 6.0

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

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

Web Services na SOAP

programátor vs. vývojář

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Webové služby a XML. Miroslav Beneš

Session Beans. Petr Aubrecht CA. Vtipy budou tentokrát o krizi:

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Enterprise Java Beans 3.0


Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

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í

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

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

Komponentní technologie

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Příprava dokumentů pro archivaci v souladu s platnou legislativou. Vladimír Střálka Adobe Systems Praha

Systémová administrace portálu Liferay

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

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

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

Úvod do problematiky vývoje Vývoj informačních systémů

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

Technologie Java. Jaroslav Žáček

Tvorba informačních systémů

Úvod do programování v jazyce Java

Analýza a Návrh. Analýza

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Systém pro evidenci a vyhodnocování hovorů

Transkript:

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

Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP stránky Jednoduchá a složitější aplikace Frameworky pro webové Java EE aplikace Další enterprise Java technologie 2

Co jsou velké webové aplikace? Často zvané enterprise Velké množství klientů (>1000) Složitá struktura, velký rozsah (subsites, tisíce stránek) Integrují více systémů dohromady Vytvářené postupně mnoha týmy 3

Pozn: jsou weby ještě větší které nepoužívají Java technologie 4

Jak vypadá aplikace zevnitř Více aplikací v jednom serveru Vzájemně oddělené administrace, aktualizace bezpečnost, výkon, Složená z komponent, podle 3-vrstvé architektury výkonné tzv. servlety zobrazovací generují HTML stránky persistenční ukládání dat pomocné např. filtry 5

image by Mokund http://www.flickr.com/photos/trevi55/296946221/ 6

Java co je to zač? Jeden z nejdůležitějších jazyků pro sw průmysl zhruba 20% veškerého software [data z tiobe.com] spolu s C, C++, Microsoft.NET jazyky (C#), PHP, Python Většina syntaxe původem z C spolu s C++, C#, PHP Objektový jazyk Velká síla knihoven Překládána do bytecode, prováděna JVM platformová nezávislost 7

Hello.java package cz.zcu.kiv.hello; public class Hello { public static void main() { System.out.println("Hello, " + kohopozdravit()); } } private static String kohopozdravit() { return "world"; } 8

Hello2.java 9

Java EE součástí jsou nástroje pro web Java: API 10

11

HTML formuláře Příklad form - action - method input type, name, value Validace hodnot, předvyplnění Dvojí odeslání 12

13

Části třívrstvé struktury v Java EE Java EE servlety výkonné komponenty JSP stránky zobrazovací vrstva filtry generují HTML stránky Standardní Java persistenční třídy ukládání dat 14

Jednoduchá aplikace Servlet obslužné metody zpracování GET, POST získávání dat požadavku = hodnot z formuláře předávání hodnot do dalších kroků zpracování nasměrování na zobrazovací JSP JSP vkládání Java kódu do HTML získání hodnot nastavených servlety zobrazení hodnot a dalších výsledků 15

Vybrané oblasti Aplikační logika ověřování a přihlašování uživatelů udržování hodnot během session nákupní košík validace vstupních hodnot Zobrazení společné části stránek JSTL v JSP stránkách procházení kolekcí lokalizace a výpis zpráv Vázané na HTTP a vlastnosti webu chybové kódy nastavování vlastností odpovědi 16

17

Co je potřeba pro provoz takových enterprise aplikací Komplexní infrastruktura web server + proxy aplikační server(y) databázový server adresářové služby integrační služby clustery, firewall 18

Co je potřeba pro aplikaci webovou Podmnožina předchozího schematu server (hardware) webový kontejner (databáze) někdy předřazen holý web server Kontejner = aplikace pro provoz aplikací 19

Struktura a nasazení aplikace Implementační struktura standardizovaný archivní formát (.war) adresářová struktura kontejner načítá popisný soubor aplikace Proces nasazení vytvoření archivu nasazení do kontejneru hot deploy / management app (restart kontejneru) 20

Jak se velké aplikace vytváří? Technologická stránka věci doopravdy Omezení rutinních činností a částí programového kódu práce s daty v databázi ověřování uživatelů zobrazování bloků stránky předzpracování dat z formulářů Usnadnění vývoje a aktualizace rozdělení do modulů, které jsou samostatně nasaditelné snadné logování sledování provozu generování vzhledu pro různá koncová zařízení frameworky 21

Frameworky pro webové Java EE aplikace Spring MVC, obrázek z http://static.springsource.org/spring/docs/2.5.x/reference/mvc.html 22

23 Frameworky pro webové Java EE aplikace Java ServerFaces Podobný přístup jako desktopové aplikace zpracování událostí na GUI

Další enterprise Java technologie RPC Async Msg XML Encryption, Signature, and Trust APIs JAXB JavaBean EJB MessageListener/Producer EJB XML Encryption, Signature, and Trust APIs J A X R Web Service Registry Meta-Data J N D I MessageDrivenBean JAXRPC JAXM SOAP 1.1/ebXML Servlet java.net JMS JavaMail FTP JCA J2EE Web Container J2EE EJB Container HTTP(S) TCP JMQ SMTP FTP App 24

Výhody? Je s tím poměrně dost práce (v porovnání s PHP) Robustnost možnost otestovat, zabezpečit ověřené technologie s garancí spolehlivosti => enterprise Škálování rozložení vrstev mezi fyzické stroje clustery, cache součást možností kontejnerů Udržovatelnost dobré (a vynucené) oddělení vrstev a modulů aplikace 25

26

Knihy. Web Computer Press, Grada? Amazon.com http://www.oracle.com/technetwork/java/javaee/ > The Java EE 5 Tutorial javaworld.com > servlet tutorial, jsp tutorial stackoverflow.com 27