Moderni Java EE -sovellus
Web-palveluiden käyttö mobiili- ja tablettilaitteilla on nopeasti yleistynyt ja siksi uusien web-sovellusten käyttöliittymän toteutuksena ovat usein JavaScript ja Ajax-kutsut. Tästä syystä Java EE -palvelimella perinteiset web-kehykset, kuten JavaServer Faces korvataan yhä useammin JAX-RS-palveluilla.
Kurssin harjoituksissa rakennetaan vaiheittain kokonainen Java EE teknologioita hyödyntävä sovellus. Kurssin päätarkoituksena on opettaa Java EE:n tekniikat sillä tarkkuudella, että kurssin jälkeen kurssilainen pystyy suoraan osallistumaan Java EE -projekteihin. Lisäksi tarkoituksena on tarjota kokonaiskuva siitä, miten Java EE:n eri tekniikoita nykyisellään kannattaa hyödyntää sovelluksen osana.
Koulutus sopii kaikille Java-ohjelmoijille, jotka ovat siirtymässä Java EE -kehitykseen.
Esitiedot: Java-osaaminen sekä mielellään web-ohjelmointiosaaminen jollakin tekniikalla.
Testi: Kurssi auttaa seuraaviin Oraclen testeihin valmistautumisessa: Java EE 6 EJB Developer (1Z0-895) / Java EE 5 Business Component Developer (1Z0-860) / Java Persistence API Developer (1Z0-898) / Enterprise Architect (1Z0-864). Testien laajuudesta johtuen ne vaativat kurssin lisäksi merkittävän määrän omaa opiskelua.
Koulutuksen tarkempi sisältö:
Yleiskuva: Java EE versiot
- datan käsittely: Java Persistence API (JPA) 2.x
- business-palvelutaso: Enterprise JavaBeans (EJB) 3.x
- web-taso: Servlet 3.x/JSP 2.x
- web-taso: JavaServer Faces (JSF) 2.x
- web-taso: WebSocket
- yleiset palvelut: Managed Beans 1.0
- yleiset palvelut: CDI 1.x (Contexts and Dependency Injection for the Java EE platform)
- yleiset palvelut: Bean Validation 1.x
- Java EE 8 uudet piirteet
REST ja JAX-RS
- REST-tyyppisen liikennöinnin käsite
- palvelun ohjelmoinnin annotaatiot
- palvelun asentaminen
- asiakkaan toteuttamisen vaihtoehdot
JPA:n perusteet
- olioiden tallennustavat Javassa
- JPA:n persistentti luokka ja tärkeimmät annotaatiot
- kuvaustiedosto persistence.xml
- EntityManager ja EntityManagerFactory
- entiteettien käsittelyn operaatiot
- transaktiomalli
JPA: Domain-mallin määrittely
- entiteettien määrittely
- kenttien määritteet
- id-kenttien määrittely
- optimistinen lukitus
- entiteettien väliset relaatiot
- tehokkuusnäkökulmia
JPA: Hakukieli
- Java Persistence Query Language (JPQL) -syntaksi; käytetyimmät piirteet
- natiivi-SQL-kyselyt
EJB: Perusohjelmointi
- bean-tyypit (tilaton ja tilallinen) sekä containerin palvelut
- sovelluksen asentaminen ja WAR-paketointi
- tilaton bean: toimintamalli, elinkaari ja business-metodit
- JNDI ja asiakasohjelman luonti
- resurssien välittäminen beanille
- EJB-komponenttien testaaminen
- tietoturva EJB-komponenteissa
EJB: Transaktiot
- ylläpidolliset transaktiot (CMT)
- usean komponentin muodostaman transaktion hallinta
- poikkeuskäsittely ja transaktiot
EJB lisäpiirteet
- asynkroniset kutsut
- singleton-bean
- ajastinpalvelu
Sanomapalvelut
- Message Driven Bean
- Sanomien lähettäminen (JMS)
- Sanomien vastaanottaminen (MDB)
Validointi: Bean Validation
- valmiit annotaatiot
- ohjelmallinen validointi
- oman validoijan luonti
- kenttien välisen riippuvuuden toteuttaminen
CDI
- Managed Bean
- injektointi ja määrittäjät
- Java EE -resurssien injektointi
- tuottajametodit
- vaihtoehdot (alternative)
- määrittelyalueen (context) hallinta
- tapahtumat ja niiden kuuntelijat
- interceptorit ja decoratorit
Katsaus web-käyttöliittymiin
- Web-toteutusten perusteet: Servlet
- Template-ohjelmointi: JSP
- Kehykset: JSF
Avainsanat: Bean Validation, CDI, EJB, Enterprise JavaBeans, Java EE, Java Enterprise Edition, Java Persistence API, JAX-RS, JPA, REST, Servlet ja JSP