5 dagar
Om kursen
Java har med tiden fått en allt starkare roll i servertillämpningar. Oracle har samlat ett antal olika arkitekturer för detta under samlingsnamnet Java Enterprise Edition (Java EE). Till dessa hör framför allt servlets, JavaServer Pages (JSP), Enterprise JavaBeans (EJB), Java Persistence API (JPA) och webbtjänster.
Med servlets kan webbsidor och annat innehåll som lämnas ut av en webbserver genereras dynamiskt och därmed är tekniken ett alternativ till CGI-applikationer. JavaServer Pages skapar en annan möjlighet att dynamiskt generera webbsidor genom att bädda in exekverbar Java-kod i traditionella webbsidor. JSP förstärks av ett stort kommandobibliotek, JSP Standard Tag Library (JSTL), och ett särskilt språk för att formulera uttryck, Expression Language (EL). Enterprise JavaBeans är en portabel komponentarkitektur för serverapplikationer. Med EJB är det möjligt att bygga serverprogramvara i form av komponenter som innehåller den intressanta affärslogiken utan att samtidigt behöva sköta den lågnivåiga hanteringen runt komponenten – trådning, transaktionshantering, behörighetskontroll osv. Java Persistence API ger stöd för att långtidslagra objekt i en relationsdatabas utan att vi själva måste utföra transformationen mellan objektmodell och databastabeller. Webbtjänster möjliggör webbaserad kommunikation mellan löst sammankopplade system utan mänsklig inblandning. Ofta används dessa tekniker i samverkan för att skapa hela Java EE-applikationer i servermiljö.
Kursen tar upp utveckling av servlets, JSP-sidor, EJB-komponenter, objekt som ska lagras med Java Persistence API samt REST-baserade webbtjänster, liksom användning av dessa från olika typer av klienter. Kursen bygger på version 7 av Java Enterprise Edition (Java EE 7).
Innehåll
Java Enterprise Edition
- Java i servertillämpningar
- Relationen till Java Standard Edition
- Versioner av Java Enterprise Edition
- Profiler
- Centrala beståndsdelar
- Java EE-applikationer
- Webbapplikationer
- Anvisningar (annotations)
- XML
- Paketering av Java EE-komponenter
- Säkerhet i Java EE
- Fördelar
JNDI
- Namn- och katalogtjänster
- JNDI-adresserade resurser
- Portabla JNDI-namn
- Egendefinierade JNDI-namn
Servlets
- Dynamiskt webbinnehåll
- Serverexekvering från webbsidor
- GET- och POST-transaktioner
- Jämförelse med CGI
- Servletstöd i en webbserver
- Enkla servlets
- Servletargument
- Initieringsparametrar
- Sessionshantering
- URL-omskrivning
- Filter
- Flertrådad exekvering i servlets
- Integration mellan servlets
- Felhantering i servlets
- Paketering i webbmoduler
JavaServer Pages (JSP)
- JSP-stöd i en webbserver
- JSP-sidor
- JSP-direktiv
- JSP-deklarationer
- JSP-uttryck
- Scriptlets
- Fördefinierade variabler
- Kommentarer
- Felhantering i JSP-sidor
- Samarbete mellan JSP-sidor
- JSP-kommandon
- Standardkommandon i JSP
- Integration med JavaBeans
- Paketering i webbmoduler
JSP Standard Tag Library (JSTL)
- Kommandobibliotek
- Översikt av JSTL
- JSTL Core-biblioteket
- Kommandon för hantering av JSP-variabler
- Kommandon för styrstrukturer
- Kommandon för felhantering
- Kommandon för hantering av webbresurser
Expression Language (EL)
- Syntax för EL-uttryck
- Konstanter
- Operatorer
- Datastrukturer
- Fördefinierade objekt
- Omedelbar resp fördröjd evaluering
Enterprise JavaBeans (EJB)
- EJB-arkitekturen
- Applikationsservern som EJB-server
- Obligatoriska servertjänster
- Sessionskomponenter
- Meddelandestyrda komponenter
- Felhantering i Enterprise JavaBeans
- Paketering i EJB-moduler
Sessionskomponenter
- Tillståndslösa sessionskomponenter
- Tillståndsbundna sessionskomponenter
- Unika sessionskomponenter
- Standardiserad objektmodell
- EJB-objekt och affärsgränssnitt
- Lokala och fjärråtkomliga affärsgränssnitt
- Livscykeltjänster
- Automatisk borttagning
- Programmeringsregler
Java Persistence API (JPA)
- Entitetskomponenter
- ORM-ramverk
- Java Persistence API-arkitekturen
- Krav på klasser för lagringsbara objekt
- Kopplingsregler
- Lagringsbara egenskaper
- Primära nycklar
- Sammansatta nycklar
- Nyckelklasser
- Lagringsbeskrivningen
persistence.xml
- En-till-många-relationer
- Många-till-många-relationer
- Enkel- och dubbelriktade relationer
- Arvsrelationer
- Databasoperationer via
EntityManager
-objekt - Kaskadoperationer
- Java Persistence Query Language
- Optimistisk låsning
- Programmeringsregler
EJB-klienter
- Servlets
- JSP-sidor
- Fristående applikationer
- Applikationsklienter
- Webbtjänster
- Integration mellan EJB-komponenter
- Extern initiering (dependency injection)
Transaktioner i EJB
- Behållarstyrda transaktioner (CMT)
- Transaktionsattribut
- Hantering av avbrutna transaktioner
- Komponentstyrda transaktioner (BMT)
- JTA-transaktioner
REST-baserade webbtjänster
- Arkitekturen för webbtjänster
- Stödet för webbtjänster i Java EE
- REST-arkitekturen
- Protokollet HTTP
- Transaktionstyper (HTTP-verb)
- Statuskoder
- Innehållstyper
- Ramverket JAX-RS 2.0
- JAXB-kompatibla resurser
- EJB-komponenter som webbtjänster
- Klientgränssnittet i JAX-RS
Java EE-applikationer
- Integration av servlets, JSP, EJB och JPA
- Installationsbeskrivningar (deployment descriptors)
- WAR-, EJB-JAR- och EAR-filer
- Exempel på användning av verktyg
Mål
Du ska få en inblick i hur serverprogramvara utvecklas med hjälp av Java Enterprise Edition, med fokus på servlets, JavaServer Pages, Enterprise JavaBeans, Java Persistence API och webbtjänster.
Målgrupp
Systemutvecklare av programvara i servermiljö och klienter till serverbaserade system.
Förkunskaper
Kunskaper motsvarande kurserna Programmera i Java och Avancerad Java samt praktisk erfarenhet av programmering i Java. Kraven innebär att programspråket Java förutsätts känt i sin helhet, plus kunskaper om de delar av Javas standardbibliotek som utnyttjas av men inte ingår i Java Enterprise Edition: framför allt klassbeskrivande objekt, lagring i seriellt format, JAR-filer, Java RMI samt JavaBeans.
Beskrivning
Kursen beskriver arkitekturerna i Java Enterprise Edition samt utveckling och användning av servlets, JSP-sidor, EJB-komponenter, objekt som ska lagras med Java Persistence API samt webbtjänster. Teori varvas med praktiska övningar i täta pass.
Kursmaterial
- Egenproducerad kurspärm (vi tillhandahåller ett provavsnitt)
- USB-minne eller CD-skiva med samtliga illustrationsexempel och lösningsförslag till samtliga övningar
Kurslängd
Fem dagar