Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský 29.10.2009.

Slides:



Advertisements
Podobné prezentace
Systém Drupal a nejen školní weby
Advertisements

Webové služby nad IS/STAG 1 / 21 Seminář IS/STAG Kunžak 2008 Seminář IS/STAG – Kunžak 2008 Webové služby nad IS/STAG Lukáš Valenta.
Přístup k databázím z WWW
Úvod do platformy Java EE
Ing. Jan Mittner  Ing. Jan Mittner    KH  v případě zájmu vždy po cvičení.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
Vizuální Systém Fotbal
Talend Open Studio MDM Ing. David Pejčoch Tutorial.
FG Forrest, a.s. Jan Novotný iBatis SqlMaps.
Jak se stát miláčkem vyhledávačů
Správa projektů programem Ant Miroslav Beneš. Správa projektů programem Ant2 Obsah V čem spočívá správa projektů V čem spočívá správa projektů Varianty:
1 Provázání stránek Vytvořte dvě www stránky, jednu růžovou a druhou modrou – viz. zdrojové kódy RŮŽOVÁ STRÁNKA Růžová stránka Odkaz na modrou stránku.
Jak na web První krůčky Lukáš Reindl. Co je potřeba Budeme potřebovat počítač, na kterém běží alespoň nějaký jednoduchý textový editor (ve Windows Notepad.
SLUŽBY Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Ing. Lukáš Burkoň Debugging 2. Testování 3. Unit testy 2.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
Rozvoj eGovernmentu ve Středočeském kraji, reg. č. projektu CZ.1.06/2.1.00/ Krajské digitální úložiště Vladimír Dinuš, ICZ a. s
Tvorba webových aplikací
Software Development Conference 2007 IBM Rational Představení, novinky Zdeněk Borůvka.
Apache Tomcat Vlastimil Flegl. Apache Tomcat  Kontejner servletu  Bezproblémový běh Java aplikací na serveru  Tomcat – nadstavba serveru Apache  Verze.
Caché Security. Jak vypadá zabezpečení dnes Jak bude vypadat a co by Caché měla umět v budoucnu Včera, dnes a zítra.
Tomáš Dlouhý – prezentace Y13ANW - Redakční systém WNC Tomáš Dlouhý Y13ANW – První prezentace
Selenium testování GUI
Špička v každém směru IT 3 Začínáme testovat web pomocí Selenium Školení pro začátečníky.
W w w. n e s s. c o m eLiška 3.04 Průvodce instalací (verze pro Windows 7)
Michael Juřek Software Architect Microsoft s.r.o.
PHP – Základy programování
Jaroslav Šnajberk, Přemek Brada
Technologická středa Continuous Integration with Maven and Hudson Vlastimil Menčík

4IT445 – Testování a ladění v PHP Ing. Jan Mittner
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
Petr Brůha  udělat průzkum využití moderních vývojových nástrojů na Kivu  doplňuji průzkum Jana Štěbetáka z dokumentu.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
Portlety Jan Krňoul, Jaroslav Vávře, 1.
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.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
MAPGUIDE OPEN SOURCE - MAPOVÝ SERVER Student: Bc. Martin Soukup Předmět: GEIS Přednášející : R NDr. Tomáš Vaníček, P hD. Datum: Web:
Web 2.0 Štěpán Bechynský Microsoft. Web 2.0 aplikace.
Návrh a tvorba WWW Přednáška 13 Vývoj webových aplikací.
LINUX - UBUNTU Roman Danel VŠB TU Ostrava, HGF. Informace $ man příkaz $ info příkaz $ apropos subject.
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TEORETICKÉ ELEKTROTECHKY Oddělení informatiky Java Micro Edition pro mobilní zařízení.
Přístup k databázím z WWW PHP+MySQL. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového serveru.
SIMPLE freehosting UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky projekt pro ISPWE.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 6.
PA165: Úvod do Java EE Petr Adámek.
2 Karla Halenková Setkání uživatelů 2001 Báze znalostí produkt pro naplnění uživatelem.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt 1 Část 12.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Portál jako Dynamic WorkPlace.  Cleverbee s.r.o.  společnost založena 2000  15 let zkušeností (prodej a vývoj ERP řešení)  švýcarská společnost se.
Ovládací panely Šablona 32 VY_32_INOVACE_1_7_Windows-ovládací panely.
Liferay portál a jeho instalace ČVUT, © 2013 IBA CZ, s. r. o. Agenda Podmínky pro instalaci portálového prostředí Instalace lokálního prostředí.
Struktura a Koncept portálu ČVUT, © 2013 IBA CZ, s. r. o. Agenda Teoretický průřez strukturou a konceptem Liferay portálu Company Sites Pages (stránky)
Redakční systém – Content management system (CMS), publikační systém – Správa obsahu webu – Jednoduché publikování textů – Modulárnost (instalace doplňků)
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5.
NetBeans Plugin.  Echo2 web framework (Ajax, Java)  NetBeans IDE (modularita, Swing designer)  Vizuální design uživatelského rozhraní (WYSIWYG)  Drag.
Intents – Interní Intent demo
Instalace Javy ( pro Windows )
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
JavaFX Tools Michal Škvor Software Developer SUN Microsystems 1.
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Vladimír.
Jaroslav Kudr pro OATGM
Připravil: Ing. Jan Kolomazník, Ph.D.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Web Application Scanning
Apache Camel Systémová Integrace Pavel Macík
Transkript prezentace:

Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský

1. Založení nové webové aplikace 2. Vývoj webové aplikace 3. Nasazení (deploy) Úkoly při vývoji webu

Maven Archetype Plugin Úkol založte si webovku  mvn archetype:create  -DgroupId=net.jetensky.webandmaven -DartifactId=TestWebApp  -DarchetypeArtifactId=maven-archetype-webapp

Úkol spusťte aplikaci v tomcatu  mvn package  copy target/TestWebApp.war $Tomcat/webapps  $Tomcat/bin/startup.bat 

Úkol na index.jsp zobrazte aktuální čas  IndexControllerServlet.java - do requestu dá "time"  web.xml  registrace nového servletu na *.html  web-app version="2.5"  index.jsp - Cas je: ${time}  Vyzkoušejte to  A teď bude potřeba přidat ještě ${user} - co vše musíte udělat?

javax.servlet servlet-api 2.5 provided jstl taglibs standard Dependency k úkolu

Vývoj webapp Jak se řeší nutnost buildování Waru?  Build buildí přímo do tomcat/webapps  I tak však usíme při změně kódu pouštět build  Používáme Exploded War a IDE kompiluje do WEB-INF/classes  Při změně.java nutno restartovat tomcat (nebo touch web.xml)  Debugujeme aplikaci přes Java Remote Debugging - změny IDE přenese  Nepřenesou se větší strukturální změny  To řeší Java Rebel - komerční, složitá konfigurace

TestWebApp org.mortbay.jetty maven-jetty-plugin 10 Maven Jetty Plugin Vyvíjíme fofrem

Úkol vypusťte jettyho 1. mvn jetty:run ve složce aplikace 2. Proveďte změnu v IndexControllerServlet.java - uložte do request scope message a zobrazte na JSP stránce ${message} 3. Propagujte změnu do jettyho 1. Make Idea, Save v Eclipse nebo mvn compile z command line 4. Chvilku počkejte a pak reload v prohlížeči, změny se projeví

Maven Cargo Plugin Když jetty nestačí  Automatická instalace kontejneru ze ZIPu z URL  Deploy jednoho nebo více J2EE (War, EAR) do kontejneru  Podporované kontejnery - Jboss, Tomcat, Jetty, Weblogic, OC4j, Jonas Podporované kontejnery  Spuštění kontejneru v rámci integračního testu (HttpUnit, Selenium)  Archetypy: Single Webapp Module Archetype, Separate Functional Test Module Archetype

org.codehaus.cargo cargo-maven2-plugin tomcat6x 6/v6.0.20/bin/apache-tomcat zip Cargo - Automatická instalace kontejneru z URL

Úkol stáhněte si v buildu tomcat 1. Nakonfigurujte si v pom.xml cargo plugin pro tomcat6x s ZipUrlInstaller 2. mvn package cargo:start 1. Tomcat se stáhne z uvedené URL, rozbalí a spustí s vaší aplikací 3. Ověřte URL v prohlížeči 4. Hotovo :)? Použijte element ZipUrlInstaller/installDir ${project.build.directory}/cargoinstalls

org.codehaus.cargo cargo-maven2-plugin... kontejner s ZipUrlInstaller... ${pom.groupId} TestWebApp1 war test1 Deploy více warů Varianta kontejner z URL

Úkol deploy více warů Varianta kontejner z URL 1. Vytvořte si TestWebApp1 a TestWebApp2 a instalujte do lokální repo (mvn install) 2. Nakonfigurujte si nový pom.xml s cargo plugin a tomcat6x s ZipUrlInstaller 3. Do pom.xml přidejte TestWebApp1 a 2 jako dependency 4. Přidejte configuration/cofiguration/deployables 5. Spusťte cargo:start 6. Ověřte test1 a test2 v prohlížeči ( a TestWebApp2/index.html) 7. Hotovo:)? Zkuste změnit tomcat za jettyho

runtime admin tomcat6x remote remote Deploy více warů Varianta remote container

Deploy více warů Tomcat uživatel pro deploy

Úkol deploy více warů Varianta remote container 1. Nakonfigurujte si nový pom.xml s cargo plugin a tomcat6x s ZipUrlInstaller 2. Do pom.xml přidejte TestWebApp1 a 2 jako dependency 3. Přidejte configuration/configuration/properties s cargo.tomcat.manager.url (+username, password) 4. Přidejte 5. Spusťte tomcat s nainstalovanou manager aplikací a adminem v tomcat-users 6. Spusťte cargo:deploy 7. Ověřte URL v prohlížeči -

${cargo.remote.password} localhost true admin Deploy více warů profily

localhost true... Deploy více warů Výchozí profil - activation/activeByDefault

Úkol deploy více warů Varianta remote container - profily 1. Do předchozího příkladu doplňte profil localhost na deploy do tomcatu běžícím na jiné URL. 1. V praxi využití např. tyto profily: 1. localhost deploy na lokálně běžící tomcat vývojáře 2. test deploy na referenční testovací prostředí 3. perf-testdeploy na prostředí pro výkonnostní testy 2. Hotovo? Do profilu localhost doplňte activation/activeByDefault

mvn archetype:create -DgroupId=net.jetensky.webandmaven -DartifactId=TestWebApp - DarchetypeGroupId=org.codehaus.cargo - DarchetypeArtifactId= JMENO_ARCHETYPU: cargo-archetype-webapp-single-module Funkční testy jsou v package /it/ v single pom webové aplikace cargo-archetype-webapp-functional-tests-module Funkční testy jsou v samostatném modulu Spuštění kontejneru v rámci integračního testu

Úkol spuštění integračních testů (single module) 1.Vytvořte si maven projekt z archetypu cargo-archetype-webapp-single- module 2.Opravte chybný package montreal.demo 1.src\main\java\net\jetensky\webandmaven\SomeClass.java 2.src\test\java\net\jetensky\webandmaven\SomeClassTest.java 3.Spušťte mvn cargo:install 1.zbuilduje se aplikace 2.spustí se Unit testy 3.spustí se Jetty6 s novou aplikací 4.spustí se integrační test WebappTest.java

Úkol spuštění integračních testů (multi module) 1.Vytvořte si maven projekt z archetypu cargo-archetype-webapp- functional-tests-module 2.Opravte chybu v package jako v předchozím příkladu 3.Spušťte mvn cargo:install v root složce

Prostor pro dotazy Děkuji za pozornost Functional testing with maven and cargo Myšlenky otce Fura - blog o Java (Honza Novotný)Myšlenky otce Fura Jetyho články o vývoji SW na tomto blogu Jetyho blog