From f263394a3f470c3c4b02045394a29d8e48b6ff95 Mon Sep 17 00:00:00 2001 From: Thomas Knall Date: Thu, 5 Feb 2015 17:41:35 +0100 Subject: Add notes to module documentation. --- .../doc/handbook/moduledevinfo/moduledevinfo.html | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/id/server/doc/handbook/moduledevinfo/moduledevinfo.html b/id/server/doc/handbook/moduledevinfo/moduledevinfo.html index c9cae99f3..949612509 100644 --- a/id/server/doc/handbook/moduledevinfo/moduledevinfo.html +++ b/id/server/doc/handbook/moduledevinfo/moduledevinfo.html @@ -97,6 +97,11 @@ +
  • +

    + Hinweise +

    +

  • @@ -194,11 +199,24 @@ 2.1 Aufgaben (Tasks)

    - Aus technischer Sicht sind Aufgaben einfache Klassen, die die abstrakte Klasse at.gv.egovernment.moa.id.process.springweb.MoaIdTask (moa-id-lib-xy.jar) + Aus technischer Sicht sind Aufgaben einfache Klassen, die die abstrakte Klasse at.gv.egovernment.moa.id.process.springweb.MoaIdTask (moa-id-lib-xy.jar) implementieren. Diese definiert lediglich eine execute-Methode, die aufgerufen wird, sobald der Task von der ProcessEngine gestartet wird. Über diese Methode erhält der Task Zugriff auf den ExecutionContext sowie auf HttpServletRequest und HttpServletResponse. Der HttpServletRequest und der ExecutionContext können nun ausgewertet, bzw. falls notwendig der ExecutionContext und die HttpServletResponse auch manipuliert werden.

    +

    + Synchrone Tasks werden hintereinander ausgeführt. Trifft die Process Engine auf einen asynchronen Task wird dieser + nicht gleich ausgeführt, sondern der Prozess wird zunächst angehalten. Bei asynchronen Tasks handelt es sich meist um Tasks, + die zuvor eine Benutzerinteraktion erfordern (z.B. Signatur mit Bürgerkartenumgebung).
    + Als Beispiel eines asynchronen Tasks wäre ein VerifyIdentityLinkTask zu nennen, der nach Eintreffen + der Antwort der Bürgerkartenumgebung auf der DataURL aufgeweckt wird, um eine InfoBoxReadResponse mit + der Personenbindung entgegen zu nehmen, diese zu parsen und zu validieren. +

    +

    + Die Aufgabe eines (DataURL-)Servlets, das den jeweiligen Prozess aufweckt, um die Ausführung eines nachfolgenden asynchronen + Tasks zu bewirken, übernimmt das interne Servlet at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet, + das auf die URL /signalProcess gemappt wurde. +

    Als Beispiele typischer Tasks können die Klassen im package at.gv.egovernment.moa.id.auth.modules.internal.tasks herangezogen werden.

    @@ -344,6 +362,17 @@ at.gv.egovernment.moa.id.auth.modules.mymodule.MyAuthModuleImpl

     

    +

    + 4 Hinweise +

    +

    + Um einzelne Funktionen als Plug-In umzusetzen, muss nicht unbedingt ein ganzer Prozess definiert werden. MOA-ID ab + Version 2.3 unterstützt die Servlet 3.0 API, was u.a. den Einsatz von @WebServlet-Annotations ermöglicht. + Damit entfällt eine statische Registrierung von Servlets im web.xml. +

    +

    Am Beispiel des MonitoringServlets (at.gv.egovernment.moa.id.auth.servlet.MonitoringServlet), das als + separates JAR (moa-id-module-monitoring-xy.jar) ausgeführt wurde, kann dies anschaulich beobachtet werden. +

     

     

    -- cgit v1.2.3