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



Podobné dokumenty
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.

Architektury informačních systémů

Architektury informačních systémů

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

Technologie Java. Jaroslav Žáček

Server-side technologie pro webové aplikace

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

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

X33EJA Enterprise Java

Tvorba informačních systémů

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

Tvorba informačních systémů

Tvorba informačních systémů

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

Michal Krátký, Miroslav Beneš

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

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

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í:

(Enterprise) JavaBeans. Lekce 7

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

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

Úvod do Web Services

KIV/PIA 2013 Jan Tichava

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

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

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

Komponentní technologie

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems

Spring framework 2.0. Roman Pichlík CZJUG

Platformy / technologie. Jaroslav Žáček

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

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

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

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

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

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

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

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

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

Systémová administrace portálu Liferay

Technologie Java. Jaroslav Žáček

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

Softwarové komponenty a Internet

Správa a sledování SOA systémů v Oracle SOA Suite

Co by měl umět dobrý vývojář. Petr Adámek Home Credit International a.s.

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

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

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

J2EE Application Servers

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

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

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

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

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

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

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

Návrhové vzory pro J2EE. Miroslav Beneš

Návrhové vzory pro J2EE

Komunikace systémů pomocí Hradec Králové

java remote method invocation Kateřina Fricková, Matouš Jandek

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

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

Co je nového v Java EE 6

Kubernetes Azure Service Fabric

Common Object Request Broker Architecture

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

Tvorba informačních systémů

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Michal Krátký, Miroslav Beneš

Oddělení webového a aplikačního serveru. Běží zde několik aplikací.

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

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

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

Ant aneb Ferda Mravenec, práce všeho druhu

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

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

Architektura GIS KMA/AGI. Karel Jedlička

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

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

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

KIV/PIA Semestrální práce

Informační systém autoškoly

Microsoft Azure Workshop

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

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

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

<Insert Picture Here> Vývoj portálových řešení v Javě

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

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

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

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

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Komponentový návrh SW

Transkript:

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

Agenda: Java ve zkratce architektura aplikací aplikaèní servery a Enterprise Java DEMO enterprise aplikace zajímavé produkty vývojová IDE Java a J2EE

Co je Java Java Plnì objektovì orientovaný jazyk Zdrojový kód je pøekládán do platformovì nezávislého byte-code Byte-code je interpretován v Java Virtual Machine (JVM) Pro každou platformu musí být specifická JVM existují JVM rùzných výrobcù (Sun, IBM, Blackdown, GNU Kaffe)

Java Java aplikace Java Virtual Machine Operaèní systém Hardware

Architektura Client - server server - C/C++.. client - C/C++.. Thin client server - WebForms, PHP... client - HTML

Architektura Výhody: - oddìlení obchodní logiky od dat - oddìlení obchodní a prezentaèní logiky - více typù klientù sdílí jednu obchodní logiku client business logic data storage

J2EE Co to je? aplikaèní server poskytuje kompletní tzv. middleware middle-ware = database connection, resource pooling, security, transactions, session-tracking, location transparency Komponenty: distribuované objekty rozdìl a panuj Proè J2EE standard? stejný kód funguje na rùzných platformách stejný kód funguje v aplikaèních serverech rùzných výrobcù platformy i AS jsou snadno porovnatelné z hlediska vlastností i výkonu

Co to je 'Enterprise' Java? J2EE Klíèová API: JDBC, RMI/IIOP, JNDI, EJB, Servlets, JSP, JMS, JTA Rozšiøující API: JAXP, JAAS, JCA, JavaMail, JMX Aplikaèní kontejner = RMI/IIOP + JNDI + EJB + JMS + JTA + JDBC Webový kontejner = Servlets + JSP

EJB - serverová komponenta EJB Session EJB reprezentuje logiku - akci, výpoèet apod. stateless, statefull Entity EJB reprezentuje data je persistentní mùže být ukládána programovì (BMP) nebo pomocí kontejneru (CMP) Message-driven EJB reakce na asynchronní (JMS) zprávu

EJB - distribuovaný objekt EJB objekt net stub skeleton stub, skeleton - objekty pro pøenos informací pøes sí client ani objekt nemusí obsahovat komunikaèní logiku nezávislost na použitém sí ovém (http, rmi) ani "datovém" (CORBA, XML-RPC) protokolu

J2EE client SOAP, UDDI, IIOP... HTTP (HTML, WML)... browser EJB EJB JSP JCA DB JMS legacy

DEMO

distribuované transakce Chyba: let je již obsazen X DB ck DB hotel DB ÈSA Java a J2EE obtížnì øešitelný chybový stav vìtšinou vyžaduje lidský zásah Øešení = distribuované transakce nároèné na prostøedky musí být podporováno db øešeno pomocí JTA

infrastruktura Java a J2EE DB lbb klient webserver AS ldap

Aplikaèní server JBoss jboss Základ tvoøí 30kb mikrokernel, zbytek dokonale modulární Jako web kontejner lze použít Tomcat nebo Jetty, pro jednoduší instalaci existují pøedkonfigurované verze Clustering - propracovaný systém pro škálovatelnost výkonu, clusterované JNDI, ošetøení výpadku a load balancing RMI všech EJB typù a èásteènì MDB, replikace SFSB http://www.jboss.org

JSP a servlety umí: umí oddìlit prezentaèní a business logiku resource pooling Java a J2EE JSP a servlety neumí: sdílet logiku pro více frontendù data caching, distribuované objekty apod. kdy NEPOUŽÍT EJB: když je potøeba aplikaci udìlat relativnì rychle když je potøeba udìlat relativnì jednoduchou aplikaci

Java Database Connection standardní API pro pøístup k databázi pøístup je realizován JDBC driverem více typù driverù (JDBC-ODBC bridge) pøístup ke všem relaèním databázím je unifikován možnost rozšiøování standardní cestou transparentní pøipojení k více databázím (URL) JDBC Ukázka kódu

Java a J2EE TagLibs možnost definovat vlastní JSP tagy tag je normální Java tøída, implementující urèitý interface Jakarta taglibs sada JSP tagù, øešící obvyklé situace - pøístup k databázi, internacionalizace, logování, I/O operace apod. <i18n:ifndef key="specialdisclaimer"> <H3>DISCLAIMER</H3> <i18n:message key="specialdisclaimer" /> Only those locales that do NOT have a specialdisclaimer key in their ResourceBundle will see the special disclaimer text. </i18n:ifndef>

MVC Model-View-Control standardní design pattern model - logika a øízení toku programu (data) control - ovládací prvky view - prezentace dat Java a J2EE Jakarta Struts open-source implementace MVC pro JSP stránky <th align="right"> <bean:message key="prompt.username"/> </th> <td align="left"> <html:text property="username" size="16"/> </td> <action path="/logon" type="example.logonaction" name="logonform" scope="request" input="/logon.jsp" unknown="false" validate="true" />

rychlost Javy http://dada.perl.it/shootout

IDE 100% pure Java subjektivnì pomalejší, potøebují více pamìti. využití vlastností jazyka - pro zobrazení tøíd, závislostí tøíd, inteligentní doplòování kódu, ladìní. vìtšinou umožòují snadnou tvorbu pluginù v Javì. Netbeans (Forte), JBuilder... nativní rychlejší, potøebují málo pamìti. nenabízí takové možnosti jako èistì Javové IDE. JCreator... kombinace kombinuje vlastnosti obou typù prostøedí Eclipse, Visual Age

Resources: Java a J2EE http://java.sun.com http://jakarta.apache.org http://www.builder.cz http://dione.zcu.cz/java/ http://www.techware.cz http://www.netbeans.org http://www.eclipse.org http://www.intellij.com