Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software

Die Seite wird erstellt Dustin Stock
 
WEITER LESEN
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
Vom AppServer zum PASOE migrieren
16. März 2021

Stefan Bolte
Principal Sales Engineer

                           © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   1
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
Ihr Referent

                             Stefan Bolte
                             stefan.bolte@progress.com
                             +49 221 65088070

                             Principal Sales Engineer
                             Progress Software GmbH
                             Köln

               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   2
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
OpenEdge Webinare 2021 in DACH
Termin      Titel                 Beschreibung

16. März    Vom AppServer         PAS für OpenEdge löst den OpenEdge Classic AppServer ab. Wer heute
            zum PASOE             OpenEdge 11 WebSpeed oder ABL GUI Client Anwendungen mit dem AppServer
            migrieren für         betreibt, möchte wissen, welchen Aufwand die Migration auf PASOE mit sich
            WebSpeed und          bringt. Wir wollen die wesentlichen Punkte der Migration betrachten.
            ABL GUI Clients
23. März    MDBA Webinar          10 Dinge über MDBA, die Sie noch nicht wussten

29. April   Virtueller Progress   Update Progress: Progress im Corona Jahr, Neues aus dem OpenEdge Umfeld und
            Kundentag             anderen Produkten
                                  OpenEdge Modernisierung 2.0: Ein Update – zusammen mit den Partnern
                                  AKIOMA Software GmbH, Consultingwerk Software Services Ltd. und IAP GmbH
                                  Anmeldung: https://www.progress.com/campaigns/de/openedge/kundentag2021

Kommende Webinare auf den Progress Webseiten, Bereich „Support/Webinars“

                                    © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   3
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
Agenda
Migration vom classic AppServer
zum AppServer „2.0“
▪ Kompatibilität OE 11 zu 12
   • Compile & Go?
   • Optionen
▪ Progress AppServer für OpenEdge
   • PASOE im Vergleich
   • Lizenzierung
▪ Migration Classic AppServer zu Progress AppServer für OpenEdge
   • GUI Anwendung mit AppServer
   • WebSpeed Anwendung

                          © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   4
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
Migration auf PASOE geschieht oft in
Folge einer Migration zu OpenEdge 12.
     Wie sieht es also mit der
Abwärtskompatibilität von OpenEdge
        Version 12.x aus?

          © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   5
Vom AppServer zum PASOE migrieren - Stefan Bolte 16. März 2021 - Progress Software
Compile and Go funktionieren weiterhin
▪ Ja, für Client-Server Anwendungen.
   • Für WebSpeed und Anwendungen mit dem klassischen AppServer:
     Migration auf PASOE ist erforderlich.
▪ Wie immer: Neuer r-code und neue DB Version
   • Source Code muss kompiliert werden.
   • DB konvertieren mit proutil db-name -C conv1112
   • C:\Progress\OE122_64\bin\###dbutils (### = 101, 102 und 117)
▪ Vorhandene Konfiguration kann gesichert und in neuer Version eingespielt
  werden. (OE 11.7, configutil).
▪ Viele anfängliche Inkompatibilitäten sind mit OpenEdge 12.2.3 und 12.3
  längst beseitigt.

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   6
Abwärtskompatibilität
▪ Connect zu OpenEdge 11
  • AVM zu DB-Server
     – OpenEdge 12.x Client (jede AVM) kann OpenEdge 11.x DB verbinden
  • AVM zu AppServer: Jeder OE 12 Client kann
     – auf PASOE 12 und 11 verbinden und
     – auf Classic AppServer 11 verbinden.
▪ Frameworks & Tools
  • ADM1 und ADM2 Code weiterhin mitgeliefert.
  • Progress Dynamics wird nicht mehr unterstützt, kann aber verwendet werden (nur 32-bit)
  • WebSpeed ps:e-script: Progress Consulting ansprechen
  • ABL Tools and Libraries Source Code
     – OpenEdge Code Share und Progress Community Artikel
                            © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   7
OpenEdge AppServer 2. Generation
  PAS für OpenEgde ersetzt den
Classic AppServer und WebSpeed

        © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   8
PASOE ersetzt den Classic AppServer
▪ Nach 25 Jahren löst der PASOE den klassischen Progress AppServer ab.
  Die Technologie des klassischen AppServers genügt heutigen
  Anforderungen nicht mehr.
▪ Wichtige Punkte einer Migration
   • Dokumentation „Migrating classic AppServer Applications to PASOE“.
   • Dustin Grau: „Best Practices for Migrating to OpenEdge 12”
▪ Wesentliche Änderungen
   • Spring Security, Tomcat Werkzeuge, Monitoring, Parametrisierung, etc.
   • Änderungen beim Session Management erfordern Anpassungen.
   • WebSpeed Compatibility Handler / Anpassungen können erforderlich sein.
   • Neue Implementation des SOAP Stacks (Apache Camel)
▪ Alte Probleme sind gelöst. PASOE liegt mit OE 12.2 in der 6. Version vor.
                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   9
Welchen Nutzen liefert der PASOE out-of-the-box?
▪ Thema Sicherheit                                                                  ▪ Thema Monitoring
   • “Der Ransomware-Schrecken des deutschen                                                    • Client/PASOE Kommunikation http-basiert:
     Mittelstands“ (Süddeutsche Zeitung)
                                                                                                  Sie kann von Firewalls/Packet-Inspection
   • Insgesamt über 100 Mrd. Euro Schaden pro                                                     geprüft werden.
     Jahr (Bitkom)
                                                                                                • PASOE kann per JMX und REST (Swagger)
   • PASOE: Sicherheit by Design, Spring Security,
                                                                                                  in ein bestehendes Monitoring eingebunden
     zertifizierbar
                                                                                                  werden.
   • Firewall: Öffnen eines Port-Bereichs nicht nötig
     (nur http bzw. https)                                                                      • PASOE Healthchecker ermittelt
   • OpenEdge Authentication Gateway (in PASOE                                                    Verfügbarkeit der Services.
     inkludiert) macht das User-Management IT-
     Security-konform.
                                                                                    ▪ Betrieb
                                                                                                • Ressourcen: Geringerer Verbrauch durch
▪ Thema Technologie-Akzeptanz
                                                                                                  Multi-Sessioned (multi-threaded) ABL
   • PASOE basiert auf Tomcat. Bekannte Tools und                                                 Agent.
     Administration, vorhandene Kenntnisse.
                                                                                                • Standard-basiertes Load-Balancing und
   • PASOE passt zu aktuellen Deployment-
     Konzepten wie etwa Linux Containern.                                                         Fail-Over

                                   © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.           10
Welchen neuen Features bietet der PASOE?
▪ Entwicklung                                                                   ▪ Deployment
   • PASOE erlaubt flexibleres Session-                                                     • Deployment neuer Module und Services
     management.                                                                              per OpenEdge Archive (.oear).
   • Service-freundlich, da alle Protokolle                                                 • Definierte Deployment-Struktur,
     eingebaut: APSV, ABL WebHandler                                                          zugehörigen Tools.
     (REST) und SOAP.                                                                       • Anwendungs-Update im laufenden Betrieb
   • „WebSpeed++“ durch WebHandler
                                                                                ▪ Betrieb
▪ Test und QA                                                                               • Höhere Performance, deutlich skalierbarer
   • Integration mit Gradle zur                                                             • Performante Session-Managed
     Implementation einer CI/CD Pipeline.                                                     Implementation
   • PASOE Container unterstützen Unit                                                      • besser zu administrieren und überwachen.
     Tests

                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.           11
Änderungen der PASOE Lizenzierung
▪ Named User- und Registered Clients-Lizenzmodelle bleiben unverändert.
▪ Das Max. Concurrent User bzw. Devices Modell wurde für den PASOE nie
  angeboten.
▪ Neu!
   • Core-Lizenzierung ist verfügbar als kapazitäts-basierte Lizenzierung.
   • Access Agent Modell ist nicht mehr verfügbar, da auf den MS-Agent nicht anwendbar.
▪ Option: PASOE Lite, festgelegte Verarbeitungskapazität.
   • Lizenz entspricht der Leistung des Classic AppServers mit 5 Access Agents.
   • Ergänzend muss das OE RDBMS mit 5 Access Agents lizenziert werden.
▪ Migration ist ein Produktwechsel, ein Upgrade
   • Gezahlter Lizenzpreis wird angerechnet (Trade-In-Value).

                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   12
Kurz: Was ist der Progress Application
Server für OpenEdge (PASOE)?
PAS for OpenEdge
▪ PASOE ist ein Tandem aus erweitertem
  Tomcat Server und neuen OpenEdge
  Multi-Sessioned Agents.
▪ Jeder MS-Agent verwaltet viele Sessions
  und ist multi-threaded, um mehrere
  Requests gleichzeitig ausführen zu
  können.
▪ Die ABL-Services werden über vier
  Protokolle (über http) verfügbar gemacht.
   • APSV entspricht dem binären Protokoll,
     getunnelt durch http(s), vgl. AppServer
     Internet Adapter.
   • WEB ist REST auf Basis ABL Program-
     mierung. Ein dedizierter Web-Handler
     implementiert WebSpeed Funktionalität
                            © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   14
AppServer zu PASOE Entsprechungen
    AppServer Web Stack                                                                                                       PAS for OE Web Stack

      WebServer/
                                                                                                                                     PAS
     Servlet Runner                                                                                                             PAS extensions
           AIA/S                                                                                                               OEPAS extensions
       WSA (SOAP)                                                                                                                 APSV (AIA)
                                                                                                                                 SOAP (WSA)
      REST Manager
                                                                                                                                REST (mapped RPC)
                                                                                                                               WEB (Handler)
        Messenger
                                                                                                                              Session Manager
   AppServer Broker                      1 named                                                                                                      1 named
                                        AppServer                                                                                                    PAS for OE
                                         Instance                                                                                                     Instance
                                                                                                                                  MS-Agent
        AppServer
            Agent
   (1(1ABL   Agent
             Session)
       ABL Session
              Agent                                                                                                             ABL
                                                                                                                                11ABLSessions
                                                                                                                                   ABL Session
                                                                                                                                        Session
         ABL
       (1(1
          ABL Session)                                                                                                            11ABL
                                                                                                                                     ABLSession
                                                                                                                                         Session
            ABLSession)
                Session)
                           © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.                                       15
PASOE Instance ist zwei Prozesse
pasoe-instance-1   ▪ Eine Instanz repräsentiert einen klassischen
├── ablapps          AppServer
├── bin
                   ▪ Zwei Prozesse: Tomcat (Java) und MS-Agent
├── common
                     (ABL-AppServer / OS-Nativ)
├── conf
├── logs           ▪ Definierte Ordnung alle Elemente eines
├── openedge         OpenEdge-Backends
├── temp              • Programme und statische Dateien
├── webapps
└── work              • Konfiguration und Handler
                   ▪ Bedienung: TCMAN / PASMAN oder OEE/OEM
                     bzw. bald: OpenEdge Command Center
                   ▪ Deployment mit dedizierten Werkzeugen
                   © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   16
Was ist zu deployen?
▪ ABL code
   • Application Code (common, ABL App distinct, Service Distinct)
   • Framework Code
▪ Configuration Files
   • Openedge.properties, Sicherheitseinstellungen, Lokale User-Profile etc.
   • Web-inf/tlr/merge.properties
▪ Web App .war file in den Folder WebApps/
   • Services: Descriptors: .paar, .wsa, .gen, .map
   • WebHandlers
   • Security Files                                                      Alles aus einem Guss:
                                                                         OpenEdge Zip-Archive (.oear)
   • Web App specific ABL Code
                                                                         Build mit ANT-Skripten oder per TCMAN Export

                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   17
Wohin?
pasoe-instance-1               ablapps/                                                                                   webapps/
                   1                            2                                                                         ├── oemanager         3
├── ablapps                    ├── abl-app-1                                                                              └── ROOT
├── bin                        │   ├── conf                                                                                   ├── META-INF
                                                                                                                              ├── static
├── common                     │   ├── openedge                                                                               │    ├── auth
├── conf                       │   └── temp                                                                                   │    ├── error
                                                                                                                              │    └── images
├── logs                       └── abl-app-2                                                                                  └── WEB-INF
├── openedge                                                                                                                       ├── adapters
                                                                                                                                   │   ├── rest
├── temp                                                                                                                           │   └── soap
├── webapps                                                                                                                        ├── backup
                               ├── adapters/                                                                                       ├── classes
└── work                                                                                                   4                       ├── jsp
                               │ ├── rest
                               │ │ ├── _oepingSvc                                                                                  ├── metadata
                                                                                                                                   ├── openedge
                               │ ├── soap                                                                                          ├── spring
                               ├── openedge                                                                                        └── tlr

                       © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.                             18
Administration PASOE ≠ Admin. AppServer !
▪ Schulungen in Deutsch: PASOE Admin Kurs, 22. März, 3 Tage, Online.
   • https://www.progress.com/services/education/instructor-led/europe/progress-application-
     server-for-oe-admin
▪ E-Learning auf der Progress Education Community
   • https://pec.progress.com/
▪ Ausführliche Doku, aufgeteilt in 40 Portionen
   • https://docs.progress.com/de-DE/category/openedge-work-with-pasoe
▪ Progress Next und PUG Challenge Workshops
   • Vom 10. bis 12. November 2021 in Wien
   • https://www.pugchallenge.eu/

                                 © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   19
Migration Classic AppServer zu
Progress AppServer für OpenEdge
AppServer zu PASOE Kompatibilität
▪ AppServer bzw. WebSpeed Anwendungen können im Allgemeinen ohne
  große Änderungen auf dem PASOE betrieben werden.
▪ Unterschiede (und Verbesserungen!) bestehen
   • Im Identity Management und der User Authentifizierung und Autorisierung
   • in den Session Modellen, Client zu Session Zuordnung bei state-passing und state-
     aware Betrieb
   • In der Administration, z. B. mit Blick auf Performance-Optimierung
   • Im Anwendungs-Deployment
   • Im Monitoring und Fehler-Handling
▪ Es fallen weg
   • OpenEdge Name Server und OE Name Server Load-Balancer
   • Load-Balancing kann in verschiedenere Weise implementiert werden.

                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   21
Generelles
▪ Dokumentation zu allen Varianten der Migration
   • Auf https://docs.progress.com/de-DE/category/openedge-bookshelf, dort unter „PAS for
     OpenEdge gibt es dieses Buch:
     https://docs.progress.com/de-DE/bundle/openedge-migrate-classic-
     appserver/page/Learn-About-Migrating-Classic-AppServer-Applications-to-PAS-for-
     OpenEdge.html
   • Auch in PDF Form unter https://docs.progress.com/de-DE/category/openedge-archives ,
     Name “migrate-classic-appserver.pdf”.
   • Beispiel-Code dazu:
     https://community.progress.com/s/question/0D54Q00007qe1HzSAI/sample-classic-
     appserver-code-for-use-in-quick-start-move-classic-appserver-applications-to-pas-for-
     openedge-tutorial
▪ Auf https://docs.progress.com/de-DE/category/openedge-videos unter “PAS
  for OpenEdge” gibt es einige Videos zur Migration
                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   22
ABL Client mit AppServer
zu ABL Client mit PASOE

    © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   23
Migrieren der Anwendung
▪ Deployment des ABL Codes in die Verzeichnisse
   • Neues, dediziertes Unterverzeichnisse auf Instanzebene, oder eines der vorgegebenen
     Verzeichnisse: /openedge oder /ablapps/
▪ Konfiguration
   • Transport /apsv muss enabled werden
   • Tomcat Spring – Security Sicherheitsprüfung muss auf Anonym gesetzt werden.
▪ Es muss angepasst werden
   • ABL Client Connection String
   • AppServer Event Prozeduren
   • PROPATH und Datenbank Connection in openedge.properties
▪ Optional bietet PASOE neue Möglichkeiten
   • Handling session-managed und –free Modi im Client ABL code
   • Den Zugriff auf den /aspv Transport (Protokoll) im Tomcat absichern

                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   24
Ändern des Client Connect Strings
▪ Alle Zugriffe auf PASOE nutzen                                                              define variable AppHandle as handle.
                                                                                              define variable system-path as character.
  nun http/s                                                                                  define variable db-connections as character.

   • … auch ABL Clients                                                                       create server AppHandle.

▪ Neue ABL Connect Methode                                                                    AppHandle:connect("-URL http://localhost:8810/apsv
                                                                                                       -sessionModel Session-Managed ").
   • Parameter –URL und –sessionModel
                                                                                              run testserver.p on AppHandle
▪ Session-Management Modus                                                                         (output system-path, output db-connections).
   • Grundeinstellung ist “Session-Free”
                                                                                              message
   • Legt der Client beim Connect fest                                                        'PROPATH= ' system-path skip
                                                                                              'DBs= ' db-connections
▪ Alles andere bleibt unverändert.                                                            view-as alert-box info.

                                                                                              finally:
                                                                                                 AppHandle:disconnect() no-error.
                                                                                                 delete object AppHandle no-error.
                                                                                              end finally.
                              © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.                     25
PASOE ABL Session Modi
Session-Free                                                                        Session-Managed

▪ Entspricht state-free Modus                                                       ▪ Emuliert die Stati State-Reset, State-
                                                                                      Aware und Stateless.
▪ Die Anfrage eines Clients kann in einer
  beliebigen ABL-Session, (beliebigem                                               ▪ Die Anfrage jedes Clients wird an
  Agent) ausgeführt werden.                                                           denselben MS-Agent und die selbe ABL-
                                                                                      Session weitergeleitet.
▪ Ein Client kann mehrere asynchrone
  Anfragen gleichzeitig ausführen.                                                  ▪ Der Kontext bleibt zwischen den Anfragen
                                                                                      in der Session gespeichert.
▪ (Ein Agent kann parallele ABL-Anfragen
  ausführen)                                                                        ▪ Unterstützt automatische Transaktionen
                                                                                      über mehrere Anfragen.
▪ Benutzerkontext wird vollständig von der
  Server-Anwendung und dem Client-Code                                              ▪ Asynchrone Requests eines Clients
  verwaltet                                                                           werden in FIFO Reihenfolge in der einen
                                                                                      Session ausgeführt.
                                © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   26
Neue Event Prozeduren: Agent ≠ Session
▪ Agent Event Prozeduren                                                        ▪ sessionStartupProc & ..Shutdown..
   • Agent Prozess Start und Shutdown                                                       • Wird ausgeführt, wenn der Agent
   • agentStartupProc und                                                                     eine ABL SESSION erzeugt oder löscht
     agentShutdownProc                                                          ▪ sessionConnectProc & ..Disconn..
      – Wird beim Start bzw. Stopp eines
                                                                                            • Wird aufgerufen, wenn eine Session
        MSAgenten einmalig ausgeführt
                                                                                              einem Client zugeordnet wird.
▪ Session Event Prozeduren
                                                                                ▪ sessionActivateProc & ..Deactivate..
   • Vergleichbar mit den Event
                                                                                            • Läuft bei (fast) allen Requests
     Prozeduren des klassischen
                                                                                              (abhängig vom Session Model)
     AppSevers, aber geänderte Namen.
   • Können verwendet werden, um die
     Session Modi des klassischen
     AppServers zu emulieren

                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.      27
Emulieren der Classic AppServer Modi
▪ Client connect Modus ist hier                                                  ▪ Classic State-Aware Mode
  immer “Session-Managed”                                                                    • Statement QUIT. am Ende wie bei State-
                                                                                               Reset.
▪ Classic Stateless Mode
                                                                                             • Um das Verhalten eines bound Agents zu
   • Session-Managed “pur” entspricht                                                          erhalten, muss das erste Statement in
     diesem Modus.                                                                             sessionConnectProc sein:
                                                                                               SESSION:SERVER-CONNECTION-
   • Die Event Prozeduren werden nicht                                                         BOUND-REQUEST = TRUE.
     benötigt.
                                                                                             • Und vor dem QUIT. in sessionDisconnProc
▪ Classic State-Reset Mode                                                                     muss
                                                                                               SESSION:SERVER-CONNECTION-
   • “QUIT.” muss als letztes ausführbares                                                     BOUND-REQUEST = FALSE
     ABL Statement in die
                                                                                             • Dadurch wird die Ausführung von Activate-
     sessionDisconnProc eingefügt werden
                                                                                               und Deactivate-.p‘s für diesen Modus
     - idealerweise im FINALLY block                                                           deaktiviert. Dennoch bleiben sie für die
                                                                                               Session-Free Client-Verbindungen aktiv.

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.              28
Migrieren der Konfiguration mit paspropconv
▪ Verfügbar ab 11.7.3+
▪ Extrahiert die Parameter eines AppServer Services aus ubroker.properties
▪ Erstellt einen OpenEdge.properties “merge file”.
   • Er enthält alle Parameter als Delta.
   • Zum Zielsystem kopieren.
▪ Mit oeprop –f  in den OpenEdge.properties File der
  Zielinstanz einfügen.
▪ Ergebniss manuell prüfen und optimieren!

                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   29
Dokumentation und KB Artikel
▪ Quickstart
   • https://www.progress.com/papers/quick-start-moving-your-classic-appserver-to-PASOE
▪ Allgemeine KB Artikel
   • https://knowledgebase.progress.com/articles/Knowledge/Configuring-PASOE-for-client-
     server-for-stability
   • https://knowledgebase.progress.com/articles/Knowledge/pasoe-slower-than-direct-
     classic-appserver-calls

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   30
WebSpeed zu WebSpeed auf
        PASOE

    © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   31
Vorteile
▪ Web Transport in PASOE: Alles aus einem Guss.
   • integriert Webserver, Messenger und den WebSpeed Transaction Server.
   • bearbeitet Requests effizienter.
   • unterstützt alle HTTP-Verben mit dedizierten Event-Handlern im WebHandler. Classic
     WebSpeed kann nur GET und POST behandeln.
   • WebHandler sind komplett in ABL erstellt.
▪ PASOE bietet einen zentralen, übergreifenden User
  Authentication/Authorization Mechanismus für alle Protokolle WEB, REST,
  SOAP und APSV.
   • Dies wird mit Spring Security implementiert, und ist der bei CGI implementierten
     Sicherheit überlegen.
▪ WebSpeed on PAS for OpenEdge unterstützt alle Medientypen für den Up-
  und Download. Sie können jetzt z. B. Binärdateien, PDFs usw. streamen.
                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   32
Vorteile
• Neue Web Anwendungen können die Vorteile des ABL-basierten OpenHTTP-
  Frameworks für die Entwicklung nutzen (ähnlich den Java-Servlet-APIs).
  https://documentation.progress.com/output/oehttpclient/oe123/OpenEdge.Net.HTTP
  .package.html
• PAS for OpenEdge kann, anders als WebSpeed, auf die folgenden Attribute des
  SESSION-Handles zugreifen
   • SERVER-CONNECTION-BOUND und SERVER-CONNECTION-BOUND-REQUEST
   • SERVER-CONNECTION-CONTEXT und SERVER-CONNECTION-ID
   • SERVER-OPERATING-MODE
• Neue Klassen liefern Zugriff auf alle Details eines hppt-requests:
   •   OpenEdge.Web.WebHandler Class und iWebHandler Interface
   •   OpenEdge.Web.WebResponseWriter class
   •   OpenEdge.Web.WebRequest und .WebResponse class
                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   33
WebSpeed-PASOE Unterschiede 1
▪ WebObjects
   • Unterstützt: SpeedScript, CGI Wrapper und statisches HTML
   • Nicht mehr unterstützt: HTML-mapped Web-Objects und compiled HTML
▪ Die Messenger sind abgelöst durch den eingebauten WebTransport.
   • Falls physikalische Trennung erwünscht: Load-Balancer oder Apache httpd vorschalten,
     ajp13 Protokoll
▪ Nicht mehr unterstütztes Werkzeuge
   • WebSpeed Workshop.
      – Entwicklung von ABL BackEnds für Webanwendungen mit dem PDSOE.
   • WSCONFIG und WTBMAN.
      – TCMAN und PASMAN werden stattdessen verwendet.

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   34
WebSpeed-PASOE Unterschiede 2
▪ Die URLs ändern sich
   • Von http://hostname:port/cgi/wspd_cgi.sh/ zu http://hostname:port/web/
   • Mapping im Tomcat web.xml file möglich
▪ Ubroker.properties gehen über in /conf/openedge.properties.
   • Migration mit paspropconv und oeprop.
▪ web-disp.p wird durch $DLC/src/web/object/web-handler.p ersetzt. Es kann
  die bestehenden Anpassungen an web-disp.p übernehmen.
▪ Web-handler.p wird durch den OpenEdge.Web.CompatibilityHandler (in
  %DLC%\src\netlib\OpenEdge.Net.pl) aufgerufen. Dieser muss als Default-
  Handler zu dieser App ausgewählt werden.

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   35
WebSpeed-PASOE Unterschiede 3
▪ PASOE State-Management unterscheidet sich von WebSpeed.
   • Bei WebSpeed kann ein Agent im state-aware Modus gebunden betrieben werden.
   • PASOE kann eine Session binden, und verwendet JSESSIONID-Cookies, um eine
     Session dem Browser zuzuordnen.
   • State-Passing kann unverändert genutzt werden.
▪ DB-Transaktionen können nicht mehr über mehrere Requests gehalten
  werden.

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   36
Migration in wenigen Schritten
▪ PASOE Instanz erstellen (oder vorhandene auswählen).
▪ Die statischen Dateien der Anwendung in ./webapps/ROOT/static
   • (oder einer dedizierten WebApp anders als ROOT) ablegen.
▪ Den ABL .r-code einschließlich der CGI-Wrapper WebObjects in der Instanz
  ablegen, z. B. unter ./openedge.
▪ In ./conf/openedge.properties anpassen:
   • PROPATH, falls eigene r-code Ordnerstruktur.
   • WEB-Transport aktivieren.                       [abl_app_name.web_app_name.WEB]

   • Den Default Handler als                         adapterEnabled=1
     Kompatibilitäts-Handler                         defaultCookieDomain=
     deklarieren.
                                                     defaultCookiePath=
                                                     defaultHandler=OpenEdge.Web.CompatibilityHandler
                               © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   37
The WebSpeed CompatibilityHandler
  PAS for OpenEdge           http://localhost:8810/HRWeb/web/getcustomer.p

                            CompatibilityHandler: Führt WebSpeed Code aus
     WEB Transport

     ABL Session in         ▪ Unterstützt nur POST & GET Verben
       MS-Agent             ▪ Die HandleRequest() Methode
                                      • Startet den $DLC/src/web/objects/web-handler.p
                                        persistent
                                      • web-handler.p ersetzt web-disp.p. Vergleichen Sie!

  >                   • Ruft process-web-request in web-handler.p auf.

  CompatibilityHandler       [oepas1.HRWeb.WEB]
                                         defaultHandler=OpenEdge.Web.CompatibilityHandler
HandleRequest() : INTEGER

                            © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   38
Da ist mehr drin!
▪ Migrieren von klassischen WebSpeed Anwendungen zu Single-Page-
  Anwendungen
▪ Backend als RESTful Services kapseln
▪ Ein JavaScript Framework und UI Komponenten verwenden
   • Schöne Möglichkeiten mit KendoUI Komponenten, auch auf klassischen Webseiten
▪ Sprechen Sie unsere Partner an
   • IAP, Consultingwerk, Akioma
   • Tools, Frameworks, Erfahrung, Mentoring, Unterstützung

                            © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   39
Dokumentation und KB Artikel
▪ Unterschiede zwischen WebSpeed und WebSpeed auf PASOE
   • https://knowledgebase.progress.com/articles/Knowledge/What-is-the-difference-
     between-Classic-WebSpeed-and-Webspeed-for-PASOE
▪ Quickstart
   • https://knowledgebase.progress.com/articles/Knowledge/how-to-migrate-classic-
     webspeed-application-to-pas
▪ Dokumentation
   • https://docs.progress.com/de-DE/bundle/openedge-migrate-classic-
     appserver/page/Learn-About-Migrating-Classic-AppServer-Applications-to-PAS-for-
     OpenEdge.html
▪ PUG Challenge Vortrag von Peter Judge, Nutzung der WebHandler
   • https://pugchallenge.org/downloads2016/612%20-
     %20moving_on_up_to_pasoe_web.pdf

                             © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   40
Zusammenfassung
Zusammenfassung
▪ PASOE liefert wichtige neue Leistungen zur
  Sicherheit, Administrierbarkeit und
  Skalierbarkeit
▪ PASOE löst den klassischen OpenEdge
  AppServer ab. Es besteht im Wesentlichen
  Abwärtskompatibilität.
▪ Der Progress AppServer für OpenEdge
  (PASOE) unterstützt die ABL Clients und
  WebSpeed.
▪ Die nötigen Anpassungen sind gering.
▪ WebSpeed Mapped Objects werden nicht
  mehr unterstützt.
                         © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   42
Mitmachen!
Nun zu finden unter Community.Progress.com -> Groups, rechte Seite, Liste der CVP Gruppen.
OpenEdge CVP https://community.progress.com/s/group/0F94Q000000HakDSAS/openedge-cvp

                                     © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   44
https://openedge.ideas.aha.io
© 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.   45
Zeit für Ihre Fragen
Sie können auch lesen