SlideShare a Scribd company logo
1 of 21
Pakiranje i instalacija JEE
rješenja
@MiroslavResetar, JavaCro14, 13.5.2014.
• 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.
LIKE MY IDEA arhitektura
Kako radimo Release?
release:perform
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
Maven – dependency
mgmt
Maven Assembly Plugin
• „... build distribution "assemblies" easily, using one of the
convenient, prefabricated assembly descriptors”
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
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
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
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
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
Jython skripte
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, Sys
tem.err)"
Pokretanje instalacije
Koraci u instalaciji
Groovy pokreće Jython
Prilagodbe Connectionsa
• Zadatak: kopirati resurse (customizations) u direktorij
• Opasnosti: resursi već mogu biti u istoj putanji
• Rješenje: Groovy AntBuilder
JAXB – Update XML
konfiguracije
• Connections widgeti se registriraju ažuriranje XML
konfiguracije
• Maven jaxb2-maven-plugin (xjc, .xsd -> .Java)
Pitanja?
Reference
• LikeMyIdea - http://www.likemyidea.com/
• Tag cloud generator - http://www.wordle.net/create
• wsadmin - http://goo.gl/3FdluP

More Related Content

Viewers also liked

Tf training for working with partners page
Tf training for working with partners pageTf training for working with partners page
Tf training for working with partners pageedvainker
 
Produced Water Issues with Shale Gas Production
Produced Water Issues with Shale Gas ProductionProduced Water Issues with Shale Gas Production
Produced Water Issues with Shale Gas ProductionDan Arthur
 
Major arpan chowdhury coo pm_om
Major arpan chowdhury coo pm_omMajor arpan chowdhury coo pm_om
Major arpan chowdhury coo pm_omTelenor
 
Javantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornJavantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornMiroslav Resetar
 
Oklahoma Water Survey Presentation
Oklahoma Water Survey PresentationOklahoma Water Survey Presentation
Oklahoma Water Survey PresentationDan Arthur
 
The Marcellus Shale: Environmental Issues for Landowners
The Marcellus Shale: Environmental Issues for LandownersThe Marcellus Shale: Environmental Issues for Landowners
The Marcellus Shale: Environmental Issues for LandownersDan Arthur
 
I phone apps for real estate
I phone apps for real estateI phone apps for real estate
I phone apps for real estateJim Reppond
 

Viewers also liked (8)

Tf training for working with partners page
Tf training for working with partners pageTf training for working with partners page
Tf training for working with partners page
 
Produced Water Issues with Shale Gas Production
Produced Water Issues with Shale Gas ProductionProduced Water Issues with Shale Gas Production
Produced Water Issues with Shale Gas Production
 
Major arpan chowdhury coo pm_om
Major arpan chowdhury coo pm_omMajor arpan chowdhury coo pm_om
Major arpan chowdhury coo pm_om
 
Javantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript NashornJavantura 2014 - Java 8 JavaScript Nashorn
Javantura 2014 - Java 8 JavaScript Nashorn
 
Oklahoma Water Survey Presentation
Oklahoma Water Survey PresentationOklahoma Water Survey Presentation
Oklahoma Water Survey Presentation
 
The Marcellus Shale: Environmental Issues for Landowners
The Marcellus Shale: Environmental Issues for LandownersThe Marcellus Shale: Environmental Issues for Landowners
The Marcellus Shale: Environmental Issues for Landowners
 
Microformats
MicroformatsMicroformats
Microformats
 
I phone apps for real estate
I phone apps for real estateI phone apps for real estate
I phone apps for real estate
 

Similar to JavaCro14: Pakiranje i instalacija JEE rješenja

Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaFive
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeMihovil Rister
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Denis Kranjčec
 
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365Tomislav Lulic
 
R11 Vadas One Click Clone
R11 Vadas One Click CloneR11 Vadas One Click Clone
R11 Vadas One Click Cloneguest9c64c8c
 
eZ Publish intro
eZ Publish introeZ Publish intro
eZ Publish introivrdoljak
 
Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)IT Showoff
 
Mean Stack JavaCro 2014
Mean Stack JavaCro 2014Mean Stack JavaCro 2014
Mean Stack JavaCro 2014Nenad Pecanac
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in BosnianMind The Firebird
 
WebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeWebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeMatija Šmalcelj
 
WinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaWinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaMatija Šmalcelj
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXIvan Kaselj
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXAndrej Ko?i?
 
Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentuDarko Kukovec
 
Hp ra za oracle grid final.
Hp ra za oracle grid   final.Hp ra za oracle grid   final.
Hp ra za oracle grid final.Oracle Hrvatska
 

Similar to JavaCro14: Pakiranje i instalacija JEE rješenja (20)

Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, Javantura
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
 
Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?
 
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
MSNetwork 4 - Enterprise funkcionalnosti u malim tvrtkama sa Office 365
 
R11 Vadas One Click Clone
R11 Vadas One Click CloneR11 Vadas One Click Clone
R11 Vadas One Click Clone
 
eZ Publish intro
eZ Publish introeZ Publish intro
eZ Publish intro
 
eZ publish intro
eZ publish introeZ publish intro
eZ publish intro
 
Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)
 
Mean Stack JavaCro 2014
Mean Stack JavaCro 2014Mean Stack JavaCro 2014
Mean Stack JavaCro 2014
 
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
 
RSII_P6_2017_18.pdf
RSII_P6_2017_18.pdfRSII_P6_2017_18.pdf
RSII_P6_2017_18.pdf
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in Bosnian
 
WebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeWebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacije
 
WinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao javaWinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao java
 
JavaCro'15 - Enterprise service bus - Juraj Ćutić
JavaCro'15 - Enterprise service bus - Juraj ĆutićJavaCro'15 - Enterprise service bus - Juraj Ćutić
JavaCro'15 - Enterprise service bus - Juraj Ćutić
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
 
SQL Azure
SQL AzureSQL Azure
SQL Azure
 
Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentu
 
Hp ra za oracle grid final.
Hp ra za oracle grid   final.Hp ra za oracle grid   final.
Hp ra za oracle grid final.
 

JavaCro14: Pakiranje i instalacija JEE rješenja

  • 1. Pakiranje i instalacija JEE rješenja @MiroslavResetar, JavaCro14, 13.5.2014.
  • 2. • 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.
  • 3. LIKE MY IDEA arhitektura
  • 5. 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
  • 7. Maven Assembly Plugin • „... build distribution "assemblies" easily, using one of the convenient, prefabricated assembly descriptors”
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 14. 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, Sys tem.err)"
  • 18. Prilagodbe Connectionsa • Zadatak: kopirati resurse (customizations) u direktorij • Opasnosti: resursi već mogu biti u istoj putanji • Rješenje: Groovy AntBuilder
  • 19. JAXB – Update XML konfiguracije • Connections widgeti se registriraju ažuriranje XML konfiguracije • Maven jaxb2-maven-plugin (xjc, .xsd -> .Java)
  • 21. Reference • LikeMyIdea - http://www.likemyidea.com/ • Tag cloud generator - http://www.wordle.net/create • wsadmin - http://goo.gl/3FdluP

Editor's Notes

  1. LMI je socialaplikacija.. U centru LMI su ideje. Ideje se prikupljaju kako bi kompanije što bolje implementirali lean principe.Za mene lean je prvensteno nastojanje da se ukloni smeće (waste). To je moguće kroz poboljšanja kvalitete našeg proizvoda/poslovnjakonstantno učenjeuključivanja što većeg skupa ljudi u naš proces odlučivanja (crowdsourcing)Proces prikupljanja, pregledavanja, odlučivanja je podložan konstantnim promjenama kako bi s vremenom postao sve bolji.
  2. LMI je implementirana kao Java web aplikacija (lmi-rest) koja je integrirana sa IBM Connectionssocial platformom. IBM Connections platforma se također sastoji od više Java aplikacija. Sa nekima od njih se naša aplikacija integrira. Primjer integracijsu su:REST Atom integracija (Atom feed, XML)JMS integracija za live updates (posts, likes, memberchanges...) posebna java biblioteka lmi-eh sharedlibraryLMI user uvijek koristi Connections web sučelje. Ono je nadograđeno LMI widgetima, akcijama, badgevima (gamification).
  3. LMI razvijamo po Scrumframeworku. To znači da nakon 3 tjedna koliko nam traje sprint kreiramo novi release aplikacije. Release aplikacije se obično deploya na jedan (ili više) testnih okolina. Da bi potrošili što manje vremena na tu akciju potrebna nam je pomoć alata. Kod držimo na SVN-u. Željeno konačno stanje na svnu-u nakon release je da imamo tagiranu verziju u posebombranchu kako bi mogli raditi eventualne ispravke.Alat koji nam omogućuje da ove akcije napravimo na „jedan klik” je Jenkins. Jenkins ima definiran buildjob koji dohvaća kod sa SVN-a. Pošto koristimo Maven za release nam je prirodno koristiti MavenReleasePlugin.MavenReleaseplugin radi željeni release. Release se radi kroz sljedeće korake:Check that there are no uncommitted changes in the sourcesCheck that there are no SNAPSHOT dependenciesChange the version in the POMs from x-SNAPSHOT to a new version (you will be prompted for the versions to use)Transform the SCM information in the POM to include the final destination of the tagRun the project tests against the modified POMs to confirm everything is in working orderCommit the modified POMsTag the code in the SCM with a version name (this will be prompted for)Bump the version in the POMs to a new value y-SNAPSHOT (these values will also be prompted for)Commit the modified POMsNa kraju se releasani artefakt (EAR) publishira na Nexus interni repozitorij. Repozitorij se koristi za kasnije korake kada radimo instalacijski paket naše aplikacije.
  4. Release arhiva (EAR) nije dovoljno da bi mi napravili release (instalacijsku arhivu) LMI-a. To znači da osim EAR arhive u našu instalaciju moramo upakirati i sljedeće artefakte...
  5. Kako sam spomenuo trenutno releaseni EAR (i eventhandler biblioteka su na NexusMaven repozitoriju). Naš release projekt koristi Maven kako bi downloadao sve potrebne dependancy-e i pripremio za pakiranje u instalacijsku arhivu.
  6. Još jedan koristanMavenplugin koji nam uvelike pomaže u kreiranju instalacijske arhive je MavenAssemblyPlugin. Možda ste ga već i koristili tako da ste koristili jedan od već dostupnih assemblydescriptora:binjar-with-dependenciessrcprojectNpr. projectassemblydescriptor omogućava kreiranjezip arhive cijelog projekta (bez build direktorija). Mi smo napisali svoj deskriptor kako bi izgradili strukturu zip arhive prema našim zamislima.