Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wildfly og Undertow

Wildfly Application Server bygger på Undertow Servlet Container, hvilket gør det muligt gennem dennes Servlet Extension mekanisme at udvide containeren med kode der håndtere NSP Access Handler er en udvidelse af Undertow Servlet Containeren og står for atspecifikke detaljer.

Undertow består af et større antal Handlers der hver har sin egen afgrænsede del af ansvaret for at få udført et Http Servlet Request og produceret et Http Servlet Response. Handlerne i Undertow opbygges i en kalds-kæde så hver handler både kan håndtere Request og Response.

Følgende er et eksempel på hvilke handlers der er involveret i et simpelt SOAP kald indtil kontrollen ender i en Java Http Servlet:

Code Block
javax.servlet.http.HttpServlet
io.undertow.servlet.handlers.ServletHandler
io.undertow.servlet.handlers.FilterHandler
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler
io.undertow.servlet.handlers.ServletDispatchingHandler
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler
io.undertow.server.handlers.PredicateHandler
dk.sds.nsp.accesshandler.NspServletHandler
io.undertow.server.handlers.PathHandler
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler
io.undertow.server.handlers.PredicateHandler
io.undertow.security.handlers.AbstractConfidentialityHandler
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler
io.undertow.security.handlers.AuthenticationMechanismsHandler
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler
io.undertow.security.handlers.SecurityInitialHandler
io.undertow.server.handlers.PredicateHandler
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler
io.undertow.server.handlers.PredicateHandler
io.undertow.servlet.handlers.ServletInitialHandler

Stakken læses nedefra og op i forhold til håndtering af Request og derefter oppefra og ned ifm håndtering af Response. Stakken viser også hvor NSP Access Handler er placeret i denne.

NSP Access Handler (AH) implementerer Undertows HttpHandler interface og tilføjes i stakken via den omtalte Servlet Extension mekanisme, således at den køres efter Servlet Containeren har håndteret eventuelle sikkerhedsaspekter men inden andre Servlet relaterede handlers køres. Placeringen sikrer også at Undertow har allokeret en dedikeret Task Thread til at håndtere kaldet frem for en asynkron XNIO Thread der bruges længere nede i stakken.

Placeringen af AH i stakken kan sumeres på et lidt højere abstraktionsplan i følgende digram:Placering i stakken

Gliffy Diagram
macroId697a1127-3509-44cc-b777-6edd083d4ef2
displayNameStakken
nameStakken
pagePin12
Opbygning

NSP Access Handler

Gliffy Diagram
macroId16885215-2aa7-48ba-b9b0-619ef21f2507
nameHandler hierarchy
pagePin1

...