21
Pakiranje i instalacija JEE rješenja @MiroslavResetar, JavaCro14, 13.5.2014.

JavaCro14: Pakiranje i instalacija JEE rješenja

Embed Size (px)

DESCRIPTION

Predavanje sa JavaCro14 koje na primjeru CROZ-ovog proizvoda LikeMyIdea pokazuje automatizaciju release-a i instalacije. Korišteni alati i jezici: Maven, Groovy, Ant, Jython, Shell (Batch).

Citation preview

Page 1: JavaCro14: Pakiranje i instalacija JEE rješenja

Pakiranje i instalacija JEE rješenja

@MiroslavResetar, JavaCro14, 13.5.2014.

Page 2: JavaCro14: Pakiranje i instalacija JEE rješenja

• LIKE MY IDEA is a social business solution that provides gathering organizational ideas in just one place ... with lean thinking and visual management, leading to continuous improvement process.

Page 3: JavaCro14: Pakiranje i instalacija JEE rješenja

LIKE MY IDEA arhitektura

Page 4: JavaCro14: Pakiranje i instalacija JEE rješenja

Kako radimo Release?

release:perform

Page 5: JavaCro14: Pakiranje i instalacija JEE rješenja

Pakiranje release-a

• Što moramo sve upakirati• Aplikacija (lmi-rest EAR)• Event handler (lmi-eh) biblioteka• DDL• Dokumentacija (Installation Guide)• Connections customizations• Jython wsadmin skripte• Linux shell & Windows batch skripte• Groovy instalacijska skripta• Biblioteke potrebne za instalaciju

Page 6: JavaCro14: Pakiranje i instalacija JEE rješenja

Maven – dependency mgmt

Page 7: JavaCro14: Pakiranje i instalacija JEE rješenja

Maven Assembly Plugin

• „... build distribution "assemblies" easily, using one of the convenient, prefabricated assembly descriptors”

Page 8: JavaCro14: Pakiranje i instalacija JEE rješenja

Priprema servera za instalaciju aplikacije

• Potrebno je kreirati resurse• Shared library (lmi-eh)• Work Manager• JMS resurse (queue, JNDI)• JDBC Datasource

• Promijeniti nekoliko config datoteka• Konfiguriranje IBM Connectionsa se radi kroz XML

datoteke• check out

• modify

• check in

Page 9: JavaCro14: Pakiranje i instalacija JEE rješenja

Instalacija aplikacije

• Kopiranje shared biblioteke lmi-eh• Dodavanje iste kao shared u News aplikaciju

• Instalacija lmi-rest EAR aplikacije

• Update samo jedne datoteke u Blog aplikaciji• blog template

Page 10: JavaCro14: Pakiranje i instalacija JEE rješenja

Kako ubrzati instalaciju?

• Automatizacija• Sve što je moguće napraviti programski, napraviti

tako

• Lakše je kada aplikacijski server ima podršku za automatizaciju• „The wsadmin tool runs scripts. You can use the

wsadmin tool to manage application servers as well as the configuration, application deployment, and server runtime operations.”

• Ništa ne „uklesati u kamen”• modularno i konfigurabilno

Page 11: JavaCro14: Pakiranje i instalacija JEE rješenja

Priprema servera za instalaciju aplikacije

• Potrebno je kreirati resurse• Shared library (lmi-eh)• Work Manager• JMS resurse (queue, JNDI)• JDBC Datasource

• Promijeniti nekoliko config datoteka• Konfiguriranje IBM Connectionsa se radi kroz XML

datoteke• check out

• modify

• check in

Page 12: JavaCro14: Pakiranje i instalacija JEE rješenja

Instalacija aplikacije

• Kopiranje shared biblioteke lmi-eh• Dodavanje iste kao shared u News aplikaciju

• Instalacija lmi-rest EAR aplikacije

• Update samo jedne datoteke u Blog aplikaciji• blog template

Page 13: JavaCro14: Pakiranje i instalacija JEE rješenja

Jython skripte

Page 14: JavaCro14: Pakiranje i instalacija JEE rješenja

kontrolni program

• Zašto Groovy?• Java je već instalirana na serveru• Za rad dovoljan groovy-all.jar• Out-of-the-box Commons CLI• Samo jedna skripta za Linux/Win• Na raspolaganju sve Java biblioteke• Konfiguracija kroz property datoteku• Dobra podrška za pokretanje sistemskih procesa• groovy -e

"'ls'.execute().waitForProcessOutput(System.out, System.err)"

Page 15: JavaCro14: Pakiranje i instalacija JEE rješenja

Pokretanje instalacije

Page 16: JavaCro14: Pakiranje i instalacija JEE rješenja

Koraci u instalaciji

Page 17: JavaCro14: Pakiranje i instalacija JEE rješenja

Groovy pokreće Jython

Page 18: JavaCro14: Pakiranje i instalacija JEE rješenja

Prilagodbe Connectionsa

• Zadatak: kopirati resurse (customizations) u direktorij• Opasnosti: resursi već mogu biti u istoj putanji

• Rješenje: Groovy AntBuilder

Page 19: JavaCro14: Pakiranje i instalacija JEE rješenja

JAXB – Update XML konfiguracije

• Connections widgeti se registriraju ažuriranje XML konfiguracije• Maven jaxb2-maven-plugin (xjc, .xsd -> .Java)

Page 20: JavaCro14: Pakiranje i instalacija JEE rješenja

Pitanja?

?

Page 21: JavaCro14: Pakiranje i instalacija JEE rješenja

Reference

• LikeMyIdea - http://www.likemyidea.com/

• Tag cloud generator - http://www.wordle.net/create

• wsadmin - http://goo.gl/3FdluP