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

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

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.

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

(Enterprise) JavaBeans. Lekce 7

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

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

Platformy / technologie. Jaroslav Žáček

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

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

X33EJA Enterprise Java

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

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

Architektury informačních systémů

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

Architektury informačních systémů

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

Tvorba informačních systémů

Server-side technologie pro webové aplikace

Tvorba informačních systémů

Technologie Java. Jaroslav Žáček

Michal Krátký, Miroslav Beneš

KIV/PIA 2013 Jan Tichava

Tvorba informačních systémů

Sísyfos Systém evidence činností

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

Platformy / technologie. Jaroslav Žáček

Tvorba informačních systémů

RESTful web service v Javě

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

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

Komponentní technologie

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

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

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

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

Systémová administrace portálu Liferay

Technologie Java. Jaroslav Žáček

Architektura GIS KMA/AGI. Karel Jedlička

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Softwarové komponenty a Internet

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

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

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

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

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

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

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

Úvod do Web Services

Spring framework 2.0. Roman Pichlík CZJUG

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

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

Novell Identity Management. Jaromír Látal Datron, a.s.

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

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

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


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

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems

Znalostní systém nad ontologií ve formátu Topic Maps

Enterprise Mobility Management

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

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

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

Firemní profil FG Forrest

Co je nového v Java EE 6

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

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Tvorba informačních systémů

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

Informace ke stavu celoměstsk xxx

Common Object Request Broker Architecture

UNIVERZITA PARDUBICE

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

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

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

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

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

SYBASE ADAPTIVE SERVER JAVA V DATABÁZI

Architektura softwarových systémů

IS pro podporu BOZP na FIT ČVUT

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

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

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

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

Obsah. 1.1 Cíl projektu Stručná specifikace 2

Vývoj informačních systémů. Obecně o IS

Různé tváře WebSphere Portal

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

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

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

Ruby on Rails: zapomeňte na Javu

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Analýza a Návrh. Analýza

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

Olga Rudikova 2. ročník APIN

Komponenta Human Task v Oracle SOA Suite

PODNIKOVÁ INFORMATIKA

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

Transkript:

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

J2EE Jedná se o přístup: sadu pravidel, technologií, metod, doporučení jak provádět design, vývoj, nasazení a provozování vícevrstvých aplikací pomocí jazyka Java formou několika základních komponent.

ÚVOD cituji pramen:zde uvádím citace V přednáškách jsou volně použity a citovány nejrůznější potřebné prameny. V Záhlaví uvádím vždy jejich zdroj. I v případě, že zdroj není uveden, je možné že jsem se inspiroval z široké nabídky presentací různých autorů a firem. Přednášky jsou proto kompilací nejrůznějších zdrojů a mých znalostí pro účel předmětu Tvorba podnikových aplikací v Javě.

J2EE Patří sem: Platforma J2EE - Standardizovaná platforma poskytující běhové prostředí pro J2EE aplikace Soubor testů kompatibility J2EE - Sada testů ověřující, zda je určitá platforma J2EE v souladu se standardem Referenční implementace J2EE - Implementace J2EE určená pro prototypování J2EE aplikací; poskytuje definici J2EE platformy J2EE BluePrints - množina nejlepších osvědčených a doporučených postupů při vývoji vícevrstvých aplikací

J2EE J2EE patří do rodiny Java Editions: J2ME - Java 2 Micro Edition - edice určená pro použití na zařízeních jako jsou mobilní telefony, pagery, PDA,... J2SE - Java 2 Standart Edition - základ jazyka Java, JFC (Java Foundation Classes -- AWT, Swing a jiné komponenty pro uživatelské rozhraní), IO slu¾by, applety, atd. J2EE - Java 2 Enterpise Edition - nadstavba nad J2SE pro rozsáhlé vícevrstvé podnikové aplikace

J2EE Systémová architektura Použit je distribuovaný víceúrovňový aplikační model. To znamená, že celá aplikace je rozdělena do několika vrstev. Samotná prezentační vrstva v rámci webového prohlížeče, appletu nebo Javovské aplikace je oddělena od logiky na straně serveru v podobě JavaServer pages nebo Java Servletů.

J2EE Systémová architektura Poslední vrstvou je business logika umístěna rovněž na straně serveru (např. EJB). Tyto vrstvy jsou propojeny pomocí J2EE API, které zajišťuje rozhraní a komunikaci mezi nimi. Rozhraní každé vrstvy je standardizované, což umožňuje programátorům znajícím základní principy J2EE, aby mohli jednoduše vyvíjet J2EE aplikace.

J2EE Systémová architektura Přínosem: důraz na rozšiřitelnost, udržovatelnost,... jednoduché principy programování Typicky 3-4 vrstvé webové aplikace s tenkým klientem

J2EE Systémová architektura

Platforma J2EE Jedná se o snahu vytvořit jednoduchý standard pro vývoj a nasazení rozsáhlých aplikací. J2EE platforma byla vytvářena tak, aby podchytila a podpořila širokou škálu požadavků při vývoji aplikace. J2EE platforma je založená na vícevrstvém distribuovaném aplikačním modelu. Díky tomu mohou odlišné části aplikace běžet na různých typech zařízení. J2EE architektura definuje klientskou vrstvu, střední vrstvu (mùže jich být i více) a backendovou vrstvu.

Platforma J2EE Klientská vrstva - podporuje řadu typů klientů (které mohou být umístěny jak před, tak za podnikovým firewallem). Střední vrstva - podporuje klientské služby prostřednictvím Web kontejnerů a business logiku prostřednictvím Enterprise JavaBeans (EJB). Backendová vrstva - slouží k umožnění přístupu a komunikaci s existujícími informačními systémy.

J2EE

Platforma J2EE Takto definovaná platforma J2EE přináší: Zjednodušení architektury a vývoje Technologický standard - pro všechny vrstvy a zahrnuté služby Jednotná specifikace nasazení aplikace Standard specifikace pro použité nástroje Návrhové vzory (Design patterns) (= blueprints) - nejlepší praktiky pro J2EE

Platforma J2EE Rozdělení problému na menší části Integrace s existujícími IS Umožňuje volbu serverů, nástrojů a komponent

Platforma J2EE

J2EE

J2EE cituji pramen:vzor aplikačního serveru WebSpehre IBM Aplikační server: Je ve své podstatě java proces Aplikace běžící v něm jsou spouštěny jako sub procesy hlavního procesu řídícího applikační server Z toho plyne řada omezení na která musí vývojář dbát: Není možné podnikové aplikace programovat stejným způsobem jako běžné java aplikace K datům přistupujeme přes datové zdroje Vyhýbáme se vícevláknovým aplikacím (pokud je přeci jen potřebujeme, používáme work managery) Uvědomujeme si, že případný memory leek může ovlivnit celý app server

J2EE cituji pramen: IBM WebSphere Application Server 7.x

J2EE Největší dodavatelé serverů podporují J2EE 1.4 Komerční IBM WebSphere Application Server BEA Weblogic Server Sun Java System Application Server Oracle Application Server Open-source JBoss Application Server Tomcat a Glassfish (používáme v projektu)

Struktura J2EE aplikace Od verze J2EE 1.4 má J2EE aplikace standardizovanou podobu nasazení a managementu. Díky tomu může jakýkoliv nástroj pro správu J2EE aplikace pracovat s libovolným aplikačním serverem. Také proces nasazení je pro každý aplikační server shodný.

Struktura J2EE aplikace Při vzniku J2EE aplikace je vytvořen.ear archiv, který má např. následující strukturu:

Struktura J2EE aplikace

Struktura J2EE aplikace webové moduly cituji pramen:http://docs.oracle.com/javaee/1.4/tutorial/doc/webapp3.html#wp225219

Vývojové role J2EE aplikace J2EE platforma definuje několik rolí podílejících se na životním cyklu vývoje aplikace a jejího nasazení. Role byly definovány, aby napomáhaly k identifikaci úkolů vykonávaných různými stranami během vývoje, nasazení a běhu J2EE aplikace.

Vývojové role J2EE aplikace J2EE Product Provider - společnost, která navrhuje a vytváří jednotlivé API J2EE platformy a další části definované ve specifikaci J2EE. Jde typicky o poskytovatele operačních systémů, databázových systémů, aplikační serverů, webových serverů, atd., kteří se zabývají implementací J2EE na základě specifikace Java 2 Platform, Enterprise Edition. Tool Provider - zabývá se vytvářením nástrojů pro vývoj a nasazení J2EE aplikací.

Vývojové role J2EE aplikace Application Component Provider - vyváří webové komponenty, enterprise beany, applety nebo klientské aplikace, které jsou používány v J2EE aplikacích. Enterprise Bean Developer - vytváří soubory EJB JAR obsahující enterprise beany, a to následujícími kroky: píše a kompiluje zdrojové kódy specifikuje tzv. "deployment descriptor" - popis, jak beanu nasadit: vytvoří soubor EJB JAR jako balíček souborů.class a deployment descriptoru

Vývojové role J2EE aplikace Web Component Developer - výsledkem jeho práce vzniká soubor WAR obsahující webové komponenty. Provádí následující činnosti: píše a kompiluje zdrojové kódy servletů vytváří JSP a HTML soubor specifikuje deployment descriptory vytváří balíčky složené z.class..jsp a.html souborů a deployment descriptoru, vznikne tak soubor WAR

Vývojové role J2EE aplikace Application Client Developer - vyvíjí klientskou část J2EE aplikace Application Assembler - sestavuje jednotlivé části (komponenty) aplikace dohromady, vznikne tak Enterprise Archive (.ear file) Application Deployer and Administrator - stará se o nasazení a běh J2EE aplikace, konfiguraci a administraci infrastruktury

Přehled technologií J2EE J2EE popisuje a nabízí celou řadu technologií, které se dělí např. podle vrstvy, v jaké se použijí (webová, business, integrační). Kromě toho jsou definovány i další podpůrné technologie, sloužící např. k práci s databází, zasílání zpráv, práci s daty, zajištění bezpečnosti a mnoho dalších.

Přehled technologií J2EE Webová vrstva Servlety - Java třídy generující dynamický obsah stránek JavaServer Pages (JSP) a JSP Standard Tag Library (JSTL) - HTML stránky používající jazyk Java pro generování dynamického obsahu JavaServer Faces (JSF) - zjednodušení vývoje uživatelského rozhraní

Přehled technologií J2EE Business vrstva Enterprise Java Beans (EJB) - definuje komponenty na straně serveru a jejich kontakt s aplikačním světem Integrační vrstva Přístup k databázi -- JDBC - rozhraní umožňující jednotný přístup k různým relačním databázím Java Data Objects -- JDO - persistence založená na objektovém modelu Propojení s dalšími systémy -- JCA - rozhraní SPI pro připojení adaptérů zpřístupňujících jiné existující systémy

Přehled technologií J2EE

Přehled technologií J2EE XML Zpracování XML -- JAXP, JAXB - pro práci s XML dokumenty a pro jejich XSLT transformace Webové služby -- JAX-RPC, SAAJ, JAXR Služby na úrovni platformy Jmenná a adresářová služba JNDI Transakce -- JTA, JTS Bezpečnost JAAS Zasílání zpráv JMS Management

Přehled technologií J2EE