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



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

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

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

Platformy / technologie. Jaroslav Žáček

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

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

(Enterprise) JavaBeans. Lekce 7

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

Server-side technologie pro webové aplikace

X33EJA Enterprise Java

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

KIV/PIA 2013 Jan Tichava

Architektury informačních systémů

Architektury informačních systémů

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

Platformy / technologie. Jaroslav Žáček

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

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems

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

Tvorba informačních systémů

Technologie Java. Jaroslav Žáček

Michal Krátký, Miroslav Beneš

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

Tvorba informačních systémů

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

Úvod do Web Services

Komponentní technologie

Tvorba informačních systémů

Co je nového v Java EE 6

Tvorba informačních systémů

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

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

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

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

Systémová administrace portálu Liferay

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

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

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)

Komponentový návrh SW

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

RESTful web service v Javě

Enterprise Java Beans 3.0


Softwarové komponenty a Internet

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

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

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

J2EE Application Servers

ArcGIS Server 10. Řešení pro sdílení geodat

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

Sísyfos Systém evidence činností

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

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

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

Technologie Java. Jaroslav Žáček

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

Spring framework 2.0. Roman Pichlík CZJUG

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o.

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

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

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

Využití JBoss Fuse ve skandinávské energetice

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

IBA CZ průmyslový partner FI MU

Michal Krátký, Miroslav Beneš

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

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

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

JAVA EE ORGANIZÉR - SOFTWAROVÁ ARCHITEKTURA

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

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

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

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

Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

Formy komunikace s knihovnami

SYBASE ADAPTIVE SERVER JAVA V DATABÁZI

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

Business Intelligence

KIV/SI. Rozílová témata. Jan Valdman, Ph.D.

Architektury Informačních systémů. Jaroslav Žáček

Architektury Informačních systémů. Jaroslav Žáček

Různé tváře WebSphere Portal

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

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

Ruby on Rails: zapomeňte na Javu

Tvorba informačních systémů

Integrace dat. MI-DSP 2013/14 RNDr. Ondřej Zýka,

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

Řešení integrace Profinit ESB. Michal Bureš

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

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

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

UNIVERZITA PARDUBICE

PV207. Business Process Management

Podniková sběrnice služeb

Transkript:

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

Co je J2EE J2EE je standard pro vývoj robustních, škálovatelných a bezpečných serverových systémů v Javě. Poskytuje business component framework, komponenty pro tvorbu webových aplikací a služeb, které lze snadno integrovat do stávající infrastruktury. Je to jen specifikace + dokumentace. Pro běh je potřeba J2EE aplikační server.

Vysvětlení pojmů robustnost bezpečnost škálovatelnost distribuovanost interoperabilita integrovatelnost enterprise aplikace business komponenta

Potřeba J2EE v ranných dobách (96) sice Java poskytovala některé nástroje a specifikace, jak docílit robustních a distribuovaných aplikací (RMI, JTA) každá firma si to dělala jinak muselo se začínat vždy od začátku nebylo to navzájem kompatibilní sjednocení = kompatibilita

Potřeba J2EE - pohled zákazníka u každé větší firmy vzniká dříve či později potřeba vytvářet své aplikace ve standardizovaném distribuovaném prostředí nutnost interoperability a sjednoceného vývoje jednotná platforma = méně výdajů (méně hardwaru, serverů, administrátorů) když se přidají výhody Javy (přenositelnost, dobrý návrh jazyka, Java na tomto poli udává notu

Potřeba J2EE - pohled dodavatele znovupoužitelné komponenty svoje programy mohou nasazovat v různých prostředích (např. eshop běží na HP-UX/IBM WebSphere a u jiného zákazníka na RHEL/JBoss či na Win2003/Bea WebLogic) Java je v kursu - všichi velcí ji mají nebo chtějí dostupné programátorské nástroje (některé jako open source) jednotné prostředí - snadněji najdou programátory (uchopitelné pojmy)

Komplexnost J2EE když zadáte do Googlu why J2EE, polovina příspěvků je why J2EE too complex J2EE je komplexní, složitá ale co není - bylo třeba mnoho věcí standardizovat (otázkou je do jaké míry) J2EE řeší spoustu věcí (komponenty, web, distribuovanost, transakce, perzistenci, bezpečnost...) specifikace klíčové vlastnosti - EJB - je složitá Sun má tendenci EJB zjednodušovat (EJB 3...)

Co umí J2EE komponentový model (EJB) pokrývající aplikační logiku perzistenci messaging standardy pro vývoj webových aplikací Servlety JSP/JSF další specifikace a knihovny

J2EE: aplikační logika oddělená součást enterprise systému velmi důležitá - často know how firmy mělo by jí napojit na různé (prezentační) služby (web, webové služby, REST, messaging) kód nesmí obsahovat chyby musí jít dobře spravovat, upravovat

J2EE: perzistence obchodní data musejí být bezpečně uložena naprostý standard = relační databáze aplikační logika by neměla být součástí datové vrstvy ke stejným datům může přistupovat víc aplikací datová vrstva by měla být nezávislá na databázi, kód by měl být přehledný a snadno spravovatelný časté úpravy

J2EE: prezentace prezentace musí být ve vlastní vrstvě web, mobilní přístup, webové služby, messaging, tlustí klienti každá technologie má svá specifika J2EE poskytuje standardní způsob komunikace s business komponentami

Typická J2EE aplikace Zdroj: http://edndoc.esri.com/arcobjects/9.2/java/java/server/enterprise_adf/intro_eadf.htm

J2EE: integrace a interoperabilita tím ale nekončíme firma, do které budete aplikaci dodávat má víc systémů váš systém se musí umět bavit s ostatními J2EE poskytuje nástroje a specifikace webové služby, JMS, REST... SOA konektory do velikých systémů (ERP, CRM, mainframes) o integraci v sólo prezentaci

J2EE: integrace (c) Microsoft Corp.

J2EE: integrace (c) SAP AG

J2EE: (extrémní) příklad interop. máte výborný produkt, nepoužívá však J2EE umí vše, co zákazník potřebuje, není drahý zákazník má však na mainframe serveru klíčový systém, se kterým musíte komunikovat mainframu nerozumíte, můžete si najmout firmu, která vám za 12 mil. korun naimplementuje adaptér pro váš systém pokud by byla aplikace J2EE, za 3 mil. si takový adaptér můžete koupit

Nejprve: Co poskytuje J2SE základní třídy Javy (java.lang), reflexi, speciální reference IO - proudy, random acces, files, síťování matematické funce, utility, práce s textem java.beans - pro práci s Java Beany RMI, CORBA (základní CORBA implementaci) SWING, AWT, applety JavaDB - od verze 1.6 součástí JRE

Souhrn (nejen) J2EE technologií JMX Java Management Extensions Specifikace a komunikační protokol pro monitorování komponent a programů psaných v Javě. EJB Enterprise Java Bean Komponentová architektura (resp. komponenta) pro psaní obchodních aplikací pro platformu J2EE. JDBC Java Database Connectivity Knihovna pro připojení k relačním databázím.

Souhrn (nejen) J2EE technologií JPA Java Persistence API Nová (J2EE 5.0) knihovna pro objektově relační mapování pro relační databáze. BMP Bean-Managed Persistence Způsob ukládání entity beanů v EJB 2.1 a starších verzích. CMP Container-Managed Persistence Způsob ukládání entity beanů v EJB 2.1 a starších verzích. BMP a CMP nahrazen pojmem Entity

Souhrn (nejen) J2EE technologií JDO Java Data Objects Obecné objektové ukládání dat (nejen relační databáze), v podstatě obecnější a starší než JPA. JNDI Java Naming & Directory Interface Přístup k adresářovým službám včetně tvorby takových služeb. JTA Java Transaction Architecture Podpora distribuovaných transakcí.

Souhrn (nejen) J2EE technologií JSP Java Server Pages Technologie mixování HTML/XHTML/XML kódu, Javy a tzv. JSP značek pro vytváření (webových) aplikací. RMI Remote Method Invocation Vzdálené volání metod. JSF Java Server Faces Pokročilá komponentová technologie pro tvorbu (webových) aplikací.

Souhrn (nejen) J2EE technologií JAAS Java Authentication and Autorization Service Metody zapezpečení javovských programů (serverů a podobně). JCA Java Connector Architecture Možnost připojení se k enterprise systémům (ERP, CRM atd). JAXP Java API for XML parsing Specifikace pro parsování XML. StaX Streamimg API for XML Proudové zpracovávání XML.

Souhrn (nejen) J2EE technologií JAXB Java Architecture for XML Binding Pro mapování XML Schematu na Javu. JAXM Java API for XML Messaging Obecný framewok pro messaging webových služeb. SAAJ SOAP with Attachments API for JAVA Implementace API pro využití SOAP protokolu. JAF JavaBeans Activation Framework Framework pro práci s MIME a JavaBeany.

Souhrn (nejen) J2EE technologií JMS Java Message Service Messagingový framework (specifikace). JAX-RPC Technologie pro webové služby v Javě, od verze 2.0 přejmenována na JAX-WS. JAXR Java API for XML Registries Jednotné API pro přístup k registrům služeb (UDDI a podobně). Další (nejen javovské technologie): WSDL, UDDI, CORBA, HTTP atd.

Hlavní rozšíření J2EE oproti J2SE EJB JNDI JDBC + JPA (JTA) Servlety + JSP + JSF (JAXP, JSTL) JMS JAX-WS (JAXB, SAAJ, StAX) JCA + JavaMail

Deployment projevuje se výhoda Javy - více platforem vývojář vytvoří J2EE aplikaci, zabalí ji do předem specifikovaného formátu v ideálním případě ji předá administrátorovi a nezajímá ho, na jakém aplikačním serveru pojede, na jakém systému (UNIX, Windows...) v ideálním případě administrátor nahraje do serveru jeden soubor (archiv) a aplikace se za běhu systému spustí

Deployment EAR - archiv s aplikací JAR - komponenty, další knihovny WAR - archiv s webovou aplikací či WS (http) RAR - resource adaptér (konektor) obsahují deployment deskriptory popisující, co archivy obsahují (jaké komponenty, webové služby, aplikace atd) deskriptory = XML

J2EE certifikované servery J2EE 5.0: Sun Java System Application Server Platform Edition 9.0 (projekt GlassFish), WebLogic Application Server 10.0 from BEA Systems, SAP NetWeaver Application Server (SAP), JEUS 6 (TmaxSoft) J2EE 1.4: JBoss (Red Hat, open-source), Geronimo (Apache, open-source), JOnAS (ObjectWeb, open-source), Pramati Server 5.0, Oracle Application Server 10g, Resin, IBM WebSphere Application Server (WAS) + ty z 5.0 (jejich starší verze)

Databázové systémy Tradiční relační databáze: PostgreSQL, FirebirdSQL, MySQL, Oracle, Sybase, Interbase, MSSQL Javovské relační databáze: JavaDB (Apache Derby, IBM Cloudscape), IBM Pointbase, Borland JDataStore, HSQLDB, MckoiDB, H2 Objektové databáze: JDO (JPOX), Db4o, Oracle Berekley DB for Java, Caché

Ukázka nasezení J2EE aplikace ukázka serverů JBoss, Glassfish a Geronimo ukázka nasazení jednoduché aplikace spuštění test aplikace