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

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

SoftPC SQL Prezentace nového SQL modulu Mzdy a personalistika
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Úvod do platformy Java EE
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
1 Počítačové sítě Úvodní přednáška Cíl předmětu –seznámit se s principy datové komunikace –seznámit se s principy distribučních systémů –seznámit se s.
Generální ředitelství cel Projekt ECR brána případová studie
Přednáška č. 5 Proces návrhu databáze
Webová aplikace.  Úvod  Možnosti vývoje (komponenty, které dokážeme nabídnout) + ukázka  Možnosti využití Frameworku pro těžkého klienta  Výrobní.
Zpracování komplexních událostí a Apama Michal Džmuráň
A4M33NMS Návrh a modelování softwarových systémů
© 2003 FSS, spol. s r.o. Všechna práva vyhrazena.1 e - Insurance Management System Financial Support Services Struktura systému.
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
MIDAS MetaPortál Seminář INSPIRE a metainformace, Praha, 2007 Horáková, Růžička, Ožana.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
Absolventská práce 2002 Aplikace XML rozhraní v prostředí krajského úřadu Autor : Marek Cop Vedoucí : Ing. Petr Pavlinec 2002.
8. dubna 2013ISSS - Portál interních identit, Z. Motl1 Portál interních identit jako nadstavba identity managementu Mgr. Boleslav Bobčík, T-Systems Czech.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Software – úvod.
Databázové systémy Architektury DBS.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Informační systém pro řízení lidských zdrojů ve veřejné správě
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
Rozvoj nehlasových služeb Současnost a budoucnost mobilních sítí
Navrhované předměty pro OI a další zimní semestr.
Aleš Chudý IW BG Lead Microsoft Corporation. Lidé jsou klíčové aktivum firem Nové trendy práce Software jako platforma Strategická iniciativa (horizont.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
ESB Jan Růžička Institute of geoinformatics VSB-TU Ostrava 17.listopadu 15, Ostrava-Poruba,
Spolupráce s 1. LF UK vývoj webové aplikace Anatonomina 2 Tomáš Skopal KSI MFF UK.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Realizační tým ICZ duben 2005
Systém dalšího vzdělávání pracovníků výzkumu a vývoje v MS kraji a jeho realizace Projekt A5 Nástroje informatiky pro získávání informací a jejich zpracování.
Mobilní kancelář (…nejen pro velké firmy) Vladimír Wojnar Microsoft Solutions HP.
Obhajoba projektu PA165 Půjčovna stavebních strojů Milan Malota, Ferdinand Hudek, Kamil Veselý, Daniel Gašper PA165: Vývoj programových systémů v jazyce.
Inspirační databanka pro podporu strategického řízení rozvoje lidských zdrojů v krajích Národní vzdělávací fond, o.p.s. M. Mandíková, Z. Palán, I. Sládková,
Vzdálené počítačové sítě a programování v prostředí Windows – kombinované studium Osnovy předmětu a koncepce výuky Ing. Zdeněk Votruba LVALVA.
IBM Global Services Ing. Stanislav Bíža, Senior IT Architect, CISA © 2005 IBM Corporation Rizika napadení webových aplikací Konference ISSS 2005 Title.
Distribuce Linuxu Petr Novák. Obsah Distribuce - typy a trendy Konkrétní systémy: – Pro začátečníky: Ubuntu Fedora OpenSuSE PCLinuxOS – Pro pokročilejší:
2005 Adobe Systems Incorporated. All Rights Reserved. 1 Inteligentní PDF formuláře Vladimír Střálka Territory Account Manager Adobe Řešení pro.
2008 Fakulta elektrotechniky a informatiky VŠB – TECHNICKÁ UNIVERZITA OSTRAVA.
ISSS IS HN/SS Softwarová architektura informačního systému hmotné nouze a sociálních služeb Jindřich Štěpánek
SOA = Architektura orientovaná na služby
Prof. Molnár1 Podnikové informační systémy Outsourcing IS/IT a ASP Prof. Ing. Zdeněk Molnár, CSc Ústav řízení a ekonomiky podniku
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Obhajoba projektu PA165 Půjčovna stavebních strojů
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II –IS na platformě.NET Michal Varga.
© 2011 IBA CZ, s.r.o. Úvod do podnikových portálů Ing. Petr Adámek, IBA CZ, s.r.o.
Service layer. Service layer – úvod Problém  Vytvoření API aplikace  Odstínění bussiness logiky a transakčního chování od zbytku aplikace  Kam s aplikační.
Vývoj informačních systémů
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II - IS nové generace Michal Varga.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
B2B Systémová integrace Jiří Macháček. Osnova ► Úvod ► Terminologie ► Parametry – požadavky ► Způsoby integrace ► Web-Services ► Příklady.
Business Activity Monitoring Jiří Kolář. Pojmy a zkratky ● SOA ● Servis Oriented Architecture ● BPMS ● Business Process Management System ● BAM ● Business.
Moderní informační systémy - úvod do teorie, druhy IS v cestovním ruchu.
Web services – když si Java sedne s M$ na kus řeči Ing. Petr Přibyl CCA Group a.s.
Testování aplikací v Javě Petr Adámek IBA CZ, s.r.o. © 2010.
VZDÁLENÉ NASAZENÍ APLIKAČNÍHO SOFTWARU NA DESKTOPOVÉ OPERAČNÍ SYSTÉMY AUTOR: DOMINIK KOUSAL VEDOUCÍ PRÁCE: ING. TOMÁŠ KOUBEK.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY MVC vs MVP.
as4u advanced system for you
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
OPERAČNÍ SYSTÉMY Číslo projektu CZ.1.07/1.5.00/ Název školy
Integrace IS na datové vrstvě
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
Redakční systém s integrací webových služeb
, Brno Jan Král Systém pro kontrolu uživatelské aktivity a jeho integrace do systému SMART fakulty.
METODOLOGIE PROJEKTOVÁNÍ
Praktická cvičení Úvodní hodina David Malý kabinet 205.
Dfdfdf.
Transkript prezentace:

PA165: Úvod do Java EE Petr Adámek

Obsah přednášky Organizace předmětu Java EE aplikace Formy výuky Hodnocení Osnova Java EE aplikace Architektury Java EE aplikací Technologie Java EE Základní koncepty PA165: Úvod do Java EE

Organizace předmětu PA165: Úvod do Java EE

Formy výuky Přednáška Cvičení Projekt Doporučená účast Povinná účast Příklady k probírané látce Konzultace k projektům Projekt Řešený ve čtyřčlenných týmech Kontrolní body Průběžná práce během semestru PA165: Úvod do Java EE

Hodnocení Projekt: 70 bodů Závěrečná zkouška: 30 bodů Ukončení: Kontrolní body: 4x10 bodů Obhajoba: 30 bodů Závěrečná zkouška: 30 bodů Ukončení: Zápočet: min. 60 bodů Zkouška: min. 70 bodů PA165: Úvod do Java EE

Osnova předmětu Úvod do Java EE (architektura, technologie, koncepty) Perzistence dat (ORM, JPA, Spring JDBC, iBatis, Testování) Aplikační logika (IoC, AOP, Transakce, Bezpečnost, Testování) Prezentační vrstva (Webové frameworky, Stripes, Spring MVC, Wicket, JSF, Bezpečnost) Integrační technologie (Webové služby SOAP, REST, JMS, RMI, IIOP, ESB) Testování (jednotkové, integrační, funkční, akceptační, uživatelské přívětivosti, výkonnosti, bezpečnosti) PA165: Úvod do Java EE

Doporučené zdroje Viz osnova předmětu Effective Java (2nd Edition) Joshua Bloch http://amazon.com/dp/0321356683/ Ostatní viz osnova v IS PA165: Úvod do Java EE

Platforma Java EE PA165: Úvod do Java EE

Co je to platforma Java EE Platforma pro vývoj moderních informačních systémů Poskytuje potřebnou infrastrukturu Průmyslový standard (JCP) Aktuální verze je Java EE 6 (JSR 316) Podpora pro vývoj Webových aplikací Webových služeb Vícevrstvých aplikací PA165: Úvod do Java EE

Charakteristika moderních IS Složité, rozsáhlé a komplexní systémy Nutnost integrace s ostatními systémy v rámci organizace i mimo ni Přizpůsobitelnost požadavkům různých zákazníků Provoz na různých platformách Podpora pro velké množství klientů (zejména u webových aplikací) Bezpečnost PA165: Úvod do Java EE

Požadavky na vývoj IS Rychlý vývoj Snadná údržba Snadná rozšiřitelnost a přizpůsobení Snadná integrovatelnost s jinými systémy Podpora pro agilní metodiky Podpora pro týmový a multi-týmový vývoj Přenositelnost Různé SW i HW platformy, různé nástroje i aplikační servery Škálovatelnost Bezpečnost PA165: Úvod do Java EE

Základní Koncepty PA165: Úvod do Java EE

Základní koncepty Infrastruktura Modularita Nezávislost a nízká invazivnost Deklarativní přístup Dodržování obecných zásad pro vývoj udržovatelného kódu PA165: Úvod do Java EE

Infrastruktura Vývojář by se měl zaměřit na vlastní problémovou doménu a neměl by být nucen se zabývat obecnými problémy, které je nutné řešit v každé aplikaci. Architektura aplikace, bezpečnost, řízení transakcí, perzistence dat, komunikace a integrace, vzdálený přístup, infrastruktura prezentační vrstvy, lokalizace, atd. Platforma Java EE a na ní postavené aplikační rámce (frameworky) proto nabízejí potřebnou infrastrukturu. Nikdy neimplementujte svůj vlastní framework! PA165: Úvod do Java EE

Modularita Aplikace je vyvíjena jako množina spolupracujících komponent Komponenty by měly Být volně propojené (loosely coupled), tj. mělo by mezi nimi být co nejméně závislostí Být znovupoužitelné (ať už pouze v rámci projektu, nebo i mimo něj) Mít dobře navržené rozhraní Být dobře otestované Pokud máme množinu dobře navržených komponent, je snadné měnit a přizpůsobovat chování aplikace Výměnou komponenty Změnou konfigurace komponenty Změnou propojení mezi komponentami PA165: Úvod do Java EE

Nezávislost a nízká invazivnost Komponenty by měly být nezávislé nejenom mezi sebou, ale také na konkrétních technologiích a aplikačních rámcích To zjednodušuje údržbu a zvyšuje znovupoužitelnost Koncept POJO komponent PA165: Úvod do Java EE

Deklarativní přístup Určité aspekty chování programu nejsou definovány tradičním imperativním kódem (tj. posloupností příkazů jak se to má udělat), ale specifikací cíle (tj. co se má udělat). To vede ke zjednodušení a zpřehlednění kódu. Vhodné např. pro řízení transakcí, řízení bezpečnosti a přístupových práv, automatické konverze, různá automatická mapování, apod. Vlastní deklarace požadovaného chování může být umístěna V popisovači nasazení (deployment descriptor) Přímo v kódu prostřednictvím anotace (modernější a preferovaný přístup) PA165: Úvod do Java EE

Imperativní řízení transakcí public void someMethod() { UserTransaction transaction = context.getUserTransaction(); try { transaction.begin(); doSomething(); transaction.commit(); } catch (Exception ex){ transaction.rollback(); } catch (SystemException syex){ throw new EJBException ("Rollback failed: " + syex.getMessage()); } ("Transaction failed: " + ex.getMessage()); PA165: Úvod do Java EE

Deklarativní řízení transakcí @TransactionAttribute(TransactionAttributeType.RequiresNew) public void someMethod() { doSomething(); } PA165: Úvod do Java EE

Jak to bylo v dřívějších verzích První verze platformy Java EE byly zaměřeny zejména na infrastrukturu a technologie. Snadnost vývoje byla podceňována Složité technologie se složitým použitím strmá učící křivka Nutnost používání složitých nástrojů To vedlo k frustraci vývojářů a ke vzniku alternativních přístupů a technologií (Hibernate, Spring) Změna přišla s Java EE 5 Silná inspirace nástroji Spring, Hibernate, apod. Anotance POJO komponenty PA165: Úvod do Java EE

Architektura & technologie PA165: Úvod do Java EE

Klientská vrstva (Client Tier) Client computer Prezentační vrstva Klientská vrstva (Client Tier) Client computer Desktop application Mobile application Web Browser Webová vrstva (Web tier) Application server JSF Servlety JSP Aplikační logika Aplikační vrstva (Business Tier) EJB Spring Perzistence dat JDBC ORM Integrační vrstva (EIS Tear) DB/IS server Databáze Jiný IS PA165: Úvod do Java EE

Prezentační vrstva Desktopové aplikace Mobilní aplikace Swing AWT SWT Java Web Start Mobilní aplikace Java ME Android/iOS/BlackBerry OS/Windows Phone Webové aplikace Servlety, JSP, JSTL MVC frameworky Request based (Struts, Stripes, Spring MVC) Component based (JSF, Tapestery, Wicket) Portlety Aplety © 2012 Petr Adámek

Aplikační logika Obyčejná knihovna tříd EJB Spring framework Pro větší aplikace nevhodné řešení EJB Vyžaduje aplikační server s podporou EJB nebo EJB lite. Spring framework Není standardní součástí Java EE Přesto je velmi oblíbený Není invazivní © 2012 Petr Adámek

Persistence dat JDBC ORM Zastaralé technologie Univerzální API pro přístup k DB Těžkopádné na přímé používání Template Method Spring JDBC Commons DB RowSet ORM Standard JPA (aktuálně JPA 2.0) Hibernate, TopLink, Eclipse Link Zastaralé technologie EJB 2.x JDO © 2012 Petr Adámek

Aplikační servery Open Source – plnohodnotné JBoss Glassfish Open Source – pouze servlet kontejner Tomcat Jetty Komerční WebSphere (IBM) WebLogic (Oracle, dříve BEA) © 2012 Petr Adámek

Závěr ? © 2012 Petr Adámek