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



Podobné dokumenty
(Enterprise) JavaBeans. Lekce 7

Tvorba informačních systémů

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

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

Architektury informačních systémů

Architektury informačních systémů

Technologie Java. Jaroslav Žáček

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

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

Tvorba informačních systémů

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

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

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

Sísyfos Systém evidence činností

Platformy / technologie. Jaroslav Žáček

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

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

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

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

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

Tvorba informačních systémů

Softwarové komponenty a Internet

Server-side technologie pro webové aplikace

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

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

Technologie Java. Jaroslav Žáček

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

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

X33EJA Enterprise Java

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

Platformy / technologie. Jaroslav Žáček

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

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

KIV/PIA 2013 Jan Tichava

Úvod do Web Services

Architektura GIS KMA/AGI. Karel Jedlička

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Enterprise Java Beans 3.0

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

Informační systém autoškoly

DPKOM_2. Technologie Enterprise JavaBeans Řízení zdrojů a primární služby

Architektura aplikace

Komponentový návrh SW

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

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

RESTful web service v Javě

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

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

Ověřování nahraditelnosti EJB komponent. Pavel Stuna

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

Systémová administrace portálu Liferay

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

Michal Krátký, Miroslav Beneš

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

Tvorba informačních systémů

Návrhové vzory pro J2EE. Miroslav Beneš

Návrhové vzory pro J2EE

Základy počítačových sítí Model počítačové sítě, protokoly

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

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

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

Komponentní technologie

Správa dat v podniku. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Co je nového v Java EE 6

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

Analýza a Návrh. Analýza

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

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

Informace ke stavu celoměstsk xxx

JAVA EE ORGANIZÉR - SOFTWAROVÁ ARCHITEKTURA

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

A7B39WPA Webové podnikové aplikace. Zdeněk Kouba Petr Aubrecht Petr Křemen

InternetovéTechnologie

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

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

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


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

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

SYBASE ADAPTIVE SERVER JAVA V DATABÁZI

Použití databází na Webu

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+

Testování Java EE aplikací Petr Adámek

Common Object Request Broker Architecture

Serverová infrastruktura. Jaromír Ocelka, ÚVT MU. 1 Centrální serverová infrastruktura. systémů a rostoucími požadavky na jejich

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

Ruby on Rails: zapomeňte na Javu

Tvorba informačních systémů

UNIVERZITA PARDUBICE

VÝVOJ DISTRIBUOVANÝCH APLIKACÍ V SYSTÉMU PLAANT

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

Využití EJB 3.0 při tvorbě podnikových aplikací

Formy komunikace s knihovnami

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

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

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

Optimalizace aplikací Java/EE

Transkript:

Seminář Java X J2EE Seminář Java X p.1/23

J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh, vývoj, testování, spotřeba zdrojů = co nejméně peněz snížení nákladů pro vývoj těchto aplikací v Jave = Java Enterprise Edition (J2EE) J2EE = komponentní přístup pro návrh, vývoj, sestavení a nasazení obchodních aplikací Java = platformově nezávislé (Windows Server, Linux, Unix,... ) J2EE nabízí : vícevrstvý distribuovaný aplikační model, opakovaně použitelné komponenty, flexibilní kontrolu transakcí,... Seminář Java X p.2/23

Kde se J2EE používá? Seminář Java X p.3/23

Distribuované vícevrstvé aplikace J2EE platforma používá distribuovaný vícevrstvý model pro obchodní aplikace. Co znamená distribuovaný, vícevrstvý, obchodní logika, prezentační vrstva? Seminář Java X p.4/23

J2EE komponenty Celá J2EE aplikace je složena z komponent J2EE komponenta = nezávislá funkční SW jednotka, která je vložena do J2EE aplikace a která komunikuje s dalšími komponentami Specifikace J2EE definuje tyto typy komponenty: Klientské aplikace, applety (klient) Java servlet, JSP (WEB komponenty) Enterprise JavaBeans (EJB) komponenty (server) Seminář Java X p.5/23

J2EE klienti Web klienti 2 části dynamická stránka (HTML, XML), browser thin" klient http Applet Malá klientská aplikace bežící v prohlížeči Komunikace například se servletem http Aplikace Aplikace běžící na straně klienta GUI (Swing) thin" klient, neobsahuje obchodní logiku RMI Seminář Java X p.6/23

J2EE web komponenty Servlety Stránky vytvořené technologií JSP Tyto technologie budou probírány na další přednášce Seminář Java X p.7/23

J2EE komunikace Komunikace přes jednotlivé vrstvy Seminář Java X p.8/23

J2EE Containers Sdílení prostředků, transakce,... Složité pro implementaci J2EE server Containers = rozhraní mezi komponentou low-level platformově závislou funkcionalitou system-level" transakce, zdroje WebContainer, EJBContainer Seminář Java X p.9/23

Enterprise JavaBeans (EJB) server-side komponenta, obchodní logika aplikace jádro aplikace" Běží v EJB container Zjednodušení aplikace, efektivní řízení zdrojů kontejnerem Znovupoužitelné komponenty Kdy použít EJB? Lehce rozšířitelná aplikace Transakce, integrita dat Různé typy klientů Seminář Java X p.10/23

Typy EJB Session Interakce s klientem (aplikace, web) Entity Reprezentace obchodní" entity Perzistentní objekt Message-Driven Jako posluchač" pro JMS API Zpracování zpráv asynchronně Seminář Java X p.11/23

Session Bean Reprezentuje jednoho klienta uvnitř aplikačního serveru Klient volá metody session beanu Session bean není sdílený = jeden klient má jeden session bean nákupní košík" 2 typy Stateless Stav neobsahuje specifická data pro klienta Neudržuje si stav pro klienta, pouze při provádění volané metody vrat seznam zaplacených faktur" Stateful Stav obsahuje specifická data pro klienta Každý klient má svůj nákupní košík" Seminář Java X p.12/23

Session Bean kdy použít? Obecně Pouze jeden klient má přístup Stav beanu není perzistentní Stateful session bean Stav reprezentuje interakci mezi beanem a klientem Je třeba udržovat stav mezi voláními metod Zjednodušuje pohled klienta na ostatní komponenty Stateless session bean Všechny ostatní případy Stav beanu neudržuje specifická data pro klienta Seminář Java X p.13/23

Typy EJB Session Interakce s klientem (aplikace, web) Entity Reprezentace obchodní" entity Perzistentní objekt Message-Driven Jako posluchač" pro JMS API Zpracování zpráv asynchronně Seminář Java X p.14/23

Entity Bean Reprezentuje obchodní objekt" v systému trvalého uložení Zákazník, faktura, objednávka,... systém trvalého uložení = obvykle relační databáze ( řádek tabulky") Hlavní rozdíly oproti session beanům 1. Entitní bean je perzistentní 2. Sdílený přístup 3. Případná relace s jinými ent. beany 2 typy CMP (Container Managed Persistence) Veškerý přístup do DB obstarává Container Vytváření, změna hodnot apod. Jednoduchá implementace BMP (Bean Managed Persistence) Přístup do DB implementuje programátor v jeho metodách Složitá implementace Seminář Java X p.15/23

Entity Bean kdy použít? Pro reprezentaci obchodní" entity. Kreditní karta bude EntitníBean, Verifikace kreditní karty SessionBean. Stav beanu musí být perzistentní 1. Po zastavení aplikačního serveru musí být zachována perzistentnost (relační databáze) Seminář Java X p.16/23

Typy EJB Session Interakce s klientem (aplikace, web) Entity Reprezentace obchodní" entity Perzistentní objekt Message-Driven Jako posluchač" pro JMS API Zpracování zpráv asynchronně Seminář Java X p.17/23

Message-Driven Bean Bean který umožňuje J2EE aplikaci zpracovávat zprávy asynchronně JMS Hlavní rozdíly oproti session a entity beanům 1. Klient nekomunikuje přes rozhraní 2. Klient zasílá zprávy 3. Všechny instance jsou si ekvivalentní (zpráva jakémukoliv mess. beanu) 4. Možnost zpracovávat zprávy od několika klientů Seminář Java X p.18/23

Definice přístupu pro klienta Pomocí rozhraní (interface) 2 typy rozhraní 1. Vzdálené (a) Klient na různém JVM (b) web komponenta, aplikační klient, jiný bean 2. Lokální (a) Stejné JVM (b) web komponenta, jiný bean Seminář Java X p.19/23

Rekapitulace J2EE pro vývoj robusních obchodních aplikací Urychluje vývoj, komponentní architektura Obchodní logika na serveru Oddělení obchodní logiky a prezentační vrstvy thin" klient, různé typy Efektivní řízení zdrojů zajišt uje server Seminář Java X p.20/23

Implementace J2EE aplikační servery Sun Java System Application Server Edition 8 (J2EE SDK v1.4) JBoss (www.jboss.org) Oracle Application Server Borland Application Server SyBase Application Server Seminář Java X p.21/23

Kde lze nalézt takové aplikace? Bankovnictví Pojišt ovny Podnikové systémy Složité www aplikace Seminář Java X p.22/23

Co příště? Webové aplikace Servlety JSP Seminář Java X p.23/23