JavaScript single-page aplikacije i JEE, mogu li skupa ?
HUJAK 2014
Agenda
1. NEOS
2. Moderne web aplikacije i JEE
3. Single page aplikacije (SPA)
20SLIDE
3. Single page aplikacije (SPA)
4. Zaključak
5. Q&A
5/6/20142 JavaScript single-page aplikacije i JEE2
Neos› Osnovni podaci
• Osnovani 2002. godine
• 35 zaposlenih
• Specijalizirani za DW/BI sustave i Java/Oracle razvoj
› Kompetencije
20SLIDE 5/6/20143 JavaScript single-page aplikacije i JEE3
› Kompetencije
• Preko 10 godina iskustva
• Oracle Platinum Partner
• Certified experts (OCP, DW/BI, Java)
Reference› Klijenti
• Srednje i velike tvrtke
• Lokalne i strane tvrtke
› Industrije / Područja
• Finacijska industrija
20SLIDE 5/6/20144 JavaScript single-page aplikacije i JEE
• Finacijska industrija
• Telekom industrija
• Elektrodistribucija / Energenti
• Distribucija, Veleprodaja, Maloprodaja
• Ostali
Moderne web aplikacije
› Fluidan i responzivan dizajn
› Brzo učitavanje i navigacija
› SEO, meta tagovi
20SLIDE
› SEO, meta tagovi
› User-friendly URL-ovi
› API management
Naša strategija razvoja
› Korištenje SPA aplikacija usporedno s JEE standardom
5/6/20145 JavaScript single-page aplikacije i JEE
JEE web aplikacije i SPA
› JEE web aplikacije (JSF)
1. Klijent šalje upit serveru
2. Server generira HTML
20SLIDE
2. Server generira HTML
› SPA lifecycle
1. Prvotno učitavanje stranice
2. AJAX request
3. Podaci se vraćaju u JSON format
5/6/20146 JavaScript single-page aplikacije i JEE
Izazovi za JSF web aplikacije
› Prilagodba stranice različitim uređajima
› Editiranje JSF komponenti
20SLIDE
› Editiranje JSF komponenti
› Generiranje HTML-a na serverskoj strani
› Pohrana view state-a na serverskoj strani
5/6/20147 JavaScript single-page aplikacije i JEE
Zahtjevi kod razvoja JSF aplikacija
› Editiranje CSS-a popularnih JSF component library-a
› Editiranje generiranog HTML-a
20SLIDE
› Editiranje generiranog HTML-a
› Precizna kontrola UI komponenata
5/6/20148 JavaScript single-page aplikacije i JEE
Servisni sloj – možemo li se prilagoditi?
› Iskoristivost postojećeg koda
› Injektiranje EJB-eva u web servise
20SLIDE
› Injektiranje EJB-eva u web servise
› Direktno izlaganje session beana kao web servis
› Dodatna pogodnost: API management
5/6/20149 JavaScript single-page aplikacije i JEE
Javascript Frameworks
› Uvod
› Frameworks
20SLIDE
› Frameworks
• Backbone
• Angular
• Knockout
• Ember
5/6/201410 JavaScript single-page aplikacije i JEE
Ember
› Značajke
• Brz
• MVC
20SLIDE
• Single-page aplikacije
› Tko koristi ember
5/6/201411 JavaScript single-page aplikacije i JEE
Ember
20SLIDE 5/6/201412 JavaScript single-page aplikacije i JEE
JEE & Ember
› EJB
• Izložiti REST web servise kao EJB
20SLIDE 5/6/201413 JavaScript single-page aplikacije i JEE
› Handlebars
• HTML prati promjene modela
› Ember Data
• Komunikacija sa REST servisima
• Manipulacija dohvaćenog modela
Alati
› Ember App Kit
• Grunt
• Bower
20SLIDE 5/6/201414 JavaScript single-page aplikacije i JEE
› Ember Inspector
› Sublime
› Steep learning curve
› Neki dijelovi će biti zamjenjeni (handlebars) dok su neki
Zaključak
20SLIDE
› Neki dijelovi će biti zamjenjeni (handlebars) dok su neki još u beti (ember data)
› Brži razvoj i brže ponašanje aplikacija
› Pripremljeni REST servisi mogu biti iskorišteni za nativne aplikacije (iOS, Android)
5/6/201415 JavaScript single-page aplikacije i JEE
Hvala na pažnji!
Q&A
Hvala na pažnji!
Q&A
20SLIDE 5/6/201416 Oracle DB - LDAP16
Q&AQ&A