Java Enterprise Edition

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

© Copyright 2020 HB Bohel Smådatorprodukter. Alla rättigheter reserverade. Alla varumärken och registrerade varumärken tillhör respektive ägare.