Why Progress Application Server for Open Edge Roy

  • Slides: 46
Download presentation
Why Progress Application Server for Open. Edge? Roy Ellis ellis@progress. com

Why Progress Application Server for Open. Edge? Roy Ellis ellis@progress. com

Agenda § Introduction § Architecture § Configuration § Administration § Migration § New in

Agenda § Introduction § Architecture § Configuration § Administration § Migration § New in 11. 6 § Why PASOE? 2 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PASOE is different from the Classic Application Server! § Text goes here 3 ©

PASOE is different from the Classic Application Server! § Text goes here 3 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Introduction to PAS Platform 4 © 2016 Progress Software Corporation and/or its subsidiaries or

Introduction to PAS Platform 4 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Progress Application Server Platform § A single delivery platform for all Progress Web-based products

Progress Application Server Platform § A single delivery platform for all Progress Web-based products § A standard deployment for web applications § Architected for secure operation • Spring Security Framework included 5 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Progress Application Server Platform § Easy management § Open monitoring • Common set of

Progress Application Server Platform § Easy management § Open monitoring • Common set of enhanced management tools • JMX console/scripting • Use any third party Tomcat monitoring tools • No Tomcat knowledge necessary 6 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture 7 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights

Architecture 7 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architectural Drivers § Security • Spring Security • Production license § Simplicity • Administration,

Architectural Drivers § Security • Spring Security • Production license § Simplicity • Administration, scalability, application migration, deployment • App. Server connection and operating STATEs § Better monitoring and management • Built-in metrics gathering, current state queries § Performance • Runs same ABL application and client load with less memory and CPU § Web. Speed • Runs classic code but also new OOABL Web. Handler 8 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture: Components Classic App. Server Components Client PAS for Open. Edge Components AIA WSA

Architecture: Components Classic App. Server Components Client PAS for Open. Edge Components AIA WSA Client Web. Speed Admin. Server REST/Mobile PAS for Open. Edge APSV (AIA) SOAP (WSA) REST/Mobile Web. Speed Name. Server App. Server Session Manager MSAgent (1(1 Session) 1 ABL Session Agent ABL Session) (1(1 ABL ABLSession) ABL Sessions 11 ABL Session 11 ABL ABLSession 9 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture: Session Models Classic Appserver PAS for Open. Edge App. Server sets connection state

Architecture: Session Models Classic Appserver PAS for Open. Edge App. Server sets connection state PAS for OE has no connection state State-aware, State-reset, Stateless State-free Client controls ABL session model via CONNECT –session. Model Client must connect to App. Server with expected state Stateful: -session. Model Session-Managed Statefree: -session. Model Session-Free 10 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture: Sample PAS for Open. Edge Components Classic App. Server Components AIA WSA Client

Architecture: Sample PAS for Open. Edge Components Classic App. Server Components AIA WSA Client REST/Mobile Admin. Server State-Aware App. Server Client Web. Speed Name. Server Stateless App. Server PAS for Open. Edge Rest/Mobile APSV (AIA) SOAP (WSA) REST/Mobile Web. Speed App. Server Session Manager State-Free 50 Agents 50 Agents Agent Agent (1 ABL Session) (1(1 ABL Session) (1 ABL Session) (1 ABLSession) (1 ABL Session) 11 MSAgent 1501 ABL Sessions Session 11 ABL Session ABL 1 ABLSession © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture: Multi-Session Agent § Multiple client requests at the same time § Supports both

Architecture: Multi-Session Agent § Multiple client requests at the same time § Supports both Session-Managed and Session-Free request simultaneously § Manages database shared memory connections § Uses much less system resources § Handles multiple times more transactions than the single session App. Server agents 12 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

RDBMS Self-service Connections PAS for Open. Edge One connection per DB per Agent process:

RDBMS Self-service Connections PAS for Open. Edge One connection per DB per Agent process: shared by all ABL SESSIONs Connected on 1 st SESSION startup or CONNECT statement Disconnected when last SESSION shuts down or last DISCONNECT PROMON shows one connection per SESSION + 1 Agent (admin) SESSION PROMON disconnects ALL SESSIONs when Agent (admin) SESSION disconnected 13 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr:

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr: Ten Name Domain Type Wait Table: Part Dbkey Trans PID Sem Srv Login Time 0 root 0 BROK -- 0 0 0 8068 0 0 04/01/15 19: 14 5 root -4 SELF/PASA -- 0 0 0 9596 2 0 04/01/15 19: 19 6 root 0 SELF/PASN -- 6 1412160 0 9596 3 0 04/01/15 19: 19 7 root 0 SELF/PASN -- 6 924864 0 9596 3 0 04/01/15 19: 19 8 root -4 SELF/PASN -- 0 0 0 9596 4 0 04/01/15 19: 19 9 root -4 SELF/PASN -- 6 030912 0 9596 4 0 04/01/15 19: 19 10 root -4 SELF/PASN -- 6 1427776 0 9596 5 0 04/01/15 19: 19 11 root 0 MON 0 0 -- 14 0 1359 5 0 04/02/15 15: 10 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr:

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr: Ten Name Domain Type Wait Table: Part Dbkey Trans PID Sem Srv Login Time 0 root 0 BROK -- 0 0 0 8068 0 0 04/01/15 19: 14 5 root -4 SELF/PASA -- 0 0 0 9596 2 0 04/01/15 19: 19 6 root 0 SELF/PASN -- 6 1412160 0 9596 3 0 04/01/15 19: 19 7 root 0 SELF/PASN -- 6 924864 0 9596 3 0 04/01/15 19: 19 8 root -4 SELF/PASN -- 0 0 0 9596 4 0 04/01/15 19: 19 9 root -4 SELF/PASN -- 6 030912 0 9596 4 0 04/01/15 19: 19 10 root -4 SELF/PASN -- 6 1427776 0 9596 5 0 04/01/15 19: 19 11 root 0 MON 0 0 -- 15 0 1359 5 0 04/02/15 15: 10 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr:

PROMON - RDBMS Self-service Connections User Control: by user number for all tenants Usr: Ten Name Domain Type Wait Table: Part Dbkey Trans PID Sem Srv Login Time 0 root 0 BROK -- 0 0 0 8068 0 0 04/01/15 19: 14 5 root -4 SELF/PASA -- 0 0 0 9596 2 0 04/01/15 19: 19 6 root 0 SELF/PASN -- 6 1412160 0 9596 3 0 04/01/15 19: 19 7 root 0 SELF/PASN -- 6 924864 0 9596 3 0 04/01/15 19: 19 8 root -4 SELF/PASN -- 0 0 0 9596 4 0 04/01/15 19: 19 9 root -4 SELF/PASN -- 6 030912 0 9596 4 0 04/01/15 19: 19 10 root -4 SELF/PASN -- 6 1427776 0 9596 5 0 04/01/15 19: 19 11 root 0 MON 0 0 -- 16 0 1359 5 0 04/02/15 15: 10 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PAS for Open. Edge Production versus Development Products PAS for OE Development PAS for

PAS for Open. Edge Production versus Development Products PAS for OE Development PAS for OE Production Can compile code Cannot compile code Non-secure configuration Secure configuration Test server instance in $WRKDIR No test server instances Remote administration included Remote administration optional Tomcat remote admin enabled Tomcat remote admin optional Open. Edge remote admin enabled Open. Edge remote admin optional Built-in oeabl web application (ROOT) All transport deployed and enabled All transports deployed but disabled Restricted: 5 concurrent requests and 1 agent Unrestricted: concurrent requests and agents default. Handler= Open. Edge. Web. Compatiblity. Web. Handler Open. Edge. Web. Default. Web. Handler 17 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Architecture: Name. Server and Admin. Server § There is _NO_ Name. Server with PAS

Architecture: Name. Server and Admin. Server § There is _NO_ Name. Server with PAS for Open. Edge • Load balancing will be handled _before_ the PAS for Open. Edge instance • Any HTTP/HTTPS load balancing product should work § The Admin. Server is _NOT_ required to manage PAS for OE unless: • you want to PUBLISH from Developer’s Studio (PDSOE) • you want to manage PAS for Open. Edge using Open. Edge Explorer • you want to monitor PAS for Open. Edge using Open. Edge Management 18 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PAS for Open. Edge Configuration 19 © 2016 Progress Software Corporation and/or its subsidiaries

PAS for Open. Edge Configuration 19 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Configuration § Create a new PAS for Open. Edge instance • In the Classic

Configuration § Create a new PAS for Open. Edge instance • In the Classic App. Server you created a new App. Server by adding a definition in the ubroker. properties file • With PAS for Open. Edge you create an working instance of the “read-only” instance in $DLC/servers/pasoe in a new location § $DLC/servers/pasoe/bin/tcman. sh create /psc/115/wrk/oepas 1 § Start the new PAS for Open. Edge instance • <pas_instance>/bin/tcman. sh start 20 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Configuration: PAS for Open. Edge at Instance Create and Run-time $WRKDIR/oepas 1 $DLC/servers/pasoe PAS

Configuration: PAS for Open. Edge at Instance Create and Run-time $WRKDIR/oepas 1 $DLC/servers/pasoe PAS for OE (template) lib bin *. sh conf webapps common/lib openedge extras PAS for OE Instance Copy & tailor Full copy ( ROOT [ *. war ] ) Full copy PAS for OE Process lib bin *. sh conf logs temp work webapps common/lib openedge *. sh conf logs temp work webapps openedge tcman start tcman create ( CATALINA_HOME ) OS Process ( CATALINA_BASE ) 21 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PAS for Open. Edge Adminstration 22 © 2016 Progress Software Corporation and/or its subsidiaries

PAS for Open. Edge Adminstration 22 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Administration: tcman. sh/. bat § Server actions TCMAN is your all-in-one administration tool tcman

Administration: tcman. sh/. bat § Server actions TCMAN is your all-in-one administration tool tcman extends all Tomcat administration and enables PAS for OE administration For help with TCMAN: tcman. sh/. bat help action • create • delete • start • stop • clean –A • feature (on/off) • env • plist • config § Manager actions • deploy • undeploy web apps • enable • disable web apps 23 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Administration: More Command Line Tools… § deploy. REST. sh(. bat) • deploy. REST. sh(bat)

Administration: More Command Line Tools… § deploy. REST. sh(. bat) • deploy. REST. sh(bat) <paar-file> <appname> § deploy. SOAP. sh (. bat) • deploy. SOAP. sh(. bat) <wsm-file> <appname> § oeprop. sh (. bat) • oeprop. sh (. bat) oepas 1. ROOT. SOAP. wsa. Url=http: //localhost: 8888/soap • oeprop. sh (. bat) +App. Server. Agent. oepas 1. PROPATH=. , ${WRKDIR} • oeprop. sh (. bat) ~ App. Server. Sess. Mgr. agent. Startup. Param="-db sports“ § $DLC/bin/pasman(. bat) • Calls $DLC/servers/pasoe/bin/tcman. sh(. bat) • Use –I <alias> if running for a specific instance • Easy location for scripting 24 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Administration: Open. Edge Explorer and Management § Open. Edge Explorer • For full management

Administration: Open. Edge Explorer and Management § Open. Edge Explorer • For full management Admin. Server must be local § Open. Edge Management • For full management Admin. Server must be local • Can monitor and alert • But trending is not available yet 25 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Administration: Where do I find my config and log files? PAS for OE’s DLC

Administration: Where do I find my config and log files? PAS for OE’s DLC & WRKDIR environment variable definition $CATALINA_BASE/bin/openedge_setenv. sh Application’s environment variable definitions $CATALINA_BASE/bin/<app-name>_setenv. sh PAS for OE installation path environment variable definition PAS for OE instance’s path environment variable definition $CATALINA_BASE/bin/{tcman|startup|shutdown|configtest|versio n}. sh PAS for OE configuration properties $CATALINA_BASE/conf/appserver. properties $CATALINA_BASE/conf/catalina. properties $CATALINA_BASE/conf/jvm. properties Optional deployment files (web applications & other files) $CATALINA_HOME/extras PAS for OE & web application log files $CATALINA_BASE/logs PAS logging configuration $CATALINA_BASE/conf/logging. xml (ref Tomcat logging) PAS for OE session manager & MSAgent logging configuration $CATALINA_BASE/conf/openedge. properties oeabl web application logging configuration $CATALINA_BASE/ROOT/WEB-INF/logging. xml oemanager remote admin web application loggin configuration $CATALINA_BASE/oemanager/WEB-INF/logging. xml Test user accounts and roles $CATALINA_BASE/conf/tomcat-users. xml PAS for OE instance registration list $CATALINA_HOME/conf/instances. unix JAVA_HOME & JSE_HOME environment variable definition $CATALINA_BASE/bin/javacfg. sh 26 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Administration: New Monitoring Access! Classic App. Server tools § asbman –query § Open. Edge

Administration: New Monitoring Access! Classic App. Server tools § asbman –query § Open. Edge Explorer § Open. Edge Management PAS for Open. Edge § Management REST API • The “oemanager” application must be installed for access to the REST API § JMX access • Using Jconsole • Locally by PID • Remotely - “tcman. sh/. bat feature JMXLifecycle=on” § Nagios • 3 rd party tool recommended by Tomcat for monitoring • Uses the tools above to monitor, alert and graph • Open. Edge Explorer and Management 27 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

PAS for Open. Edge Migration 28 © 2016 Progress Software Corporation and/or its subsidiaries

PAS for Open. Edge Migration 28 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Migration: Connect Method § REST/Mobile clients: URL still uses. . /rest/. . § SOAP

Migration: Connect Method § REST/Mobile clients: URL still uses. . /rest/. . § SOAP clients: . . /soap/. . instead of. . /wsa/. . § Web. Speed: . . /web/. . Instead of. . /cgi-bin/cgii. sh/. . § Open. Edge clients URL connection format only -URL http: //myhost: 8810/(appname)/apsv No (appname) assumes ROOT -URL http: //myhost: 8810/apsv § Reference: Connecting to App. Servers Using a URL NOTE: Since all of the old web servlets are now encapsulated in PASOE we use these “transports” to identify the communication: rest, soap, apsv and web 29 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Migration: Configuring and Using App. Server Event Procedures § agent. Startup. Proc & agent.

Migration: Configuring and Using App. Server Event Procedures § agent. Startup. Proc & agent. Shutdown. Proc • Executes one time when starting / stopping an MSAgent OS process § PAS for Open. Edge renamed classic App. Server event procedures: • srvr. Xxxxx session. Xxxxx § session. Startup. Proc & session. Shutdown. Proc • Executes in PAS for OE when the MSAgent starts/stops each ABL SESSION § session. Connect. Proc & session. Disconnect. Proc • Same as classic App. Server for all Session-Managed client connections § session. Activate. Proc & session. Deactivate. Proc • Executed in classic App. Server on every Stateless & State-Free client request • Follows traditional Stateless model 30 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Migration: Session state § Some current ABL applications will require no session state changes

Migration: Session state § Some current ABL applications will require no session state changes • State-free is the same as –session. Model Session-free • Stateless is the same as –session. Model Session-managed (without changes) § However some ABL applications will require changes in the: • session. Startup. Proc & session. Shutdown. Proc • While using the –session. Model Session-managed – State-Aware requires “binding a session” in PASOE – State-Reset requires State-Aware and a QUIT in the shutdown to cleanup 31 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 32 © 2016 Progress Software Corporation and/or its subsidiaries or

New in 11. 6 32 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 • APSV – Chunking o Performance as fast as Direct.

New in 11. 6 • APSV – Chunking o Performance as fast as Direct. Connect o Faster than all other connections – Session-Context support o Cookies, JSESSIONID o Enabling load balancing – Load Balancing support o Tested and documented o Apache Proxy LB, Tomcat LB, and AWS ELB – Multiple Applications in a single PASOE instance o Ability to run different applications with different o Environment Variables o PROPATH 33 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 • Web. Speed! – Fully integrated into PASOE o No

New in 11. 6 • Web. Speed! – Fully integrated into PASOE o No messenger o No separate broker or agent from App. Server – Compatibility Mode o Runs Classic Web. Speed code o Small print: o Doesn’t support Mapped Objects o May need to modify i. Web. Handler for web-disp. p changes – New Web. Handler design o OOABL Open. HTTP Classes o JSON output o Easily integrates with Kendo UI – Better design for REST applications? 34 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 • Web. Handler Design – Allows you to design you

New in 11. 6 • Web. Handler Design – Allows you to design you URL naming first and then write the ABL code – Handler#=Class-to-run: /<reference-url> [oepas 1. ROOT. WEB] handler 1=handlers. Hello. Employees: /Hello. Employees handler 2=handlers. Image. Handler: /image/updateimage/{custid} handler 3=handlers. Employee. Handler: /employee/{empid} 35 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 § OOABL CLASS handlers. Hello. Employees INHERITS Web. Handler: METHOD

New in 11. 6 § OOABL CLASS handlers. Hello. Employees INHERITS Web. Handler: METHOD OVERRIDE PROTECTED INTEGER Handle. Get( INPUT po. Request AS Open. Edge. Web. IWeb. Request ): DEF VAR response AS Web. Response DEF VAR writer AS Web. Response. Writer NO-UNDO. 36 NO-UNDO. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 § JSON output 37 © 2016 Progress Software Corporation and/or

New in 11. 6 § JSON output 37 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

New in 11. 6 § Kendo UI 38 © 2016 Progress Software Corporation and/or

New in 11. 6 § Kendo UI 38 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Performance and Scalability 39 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates.

Performance and Scalability 39 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Performance and Scalability Improvements § Multi-Session Agent • Single process supports multiple, concurrent, ABL

Performance and Scalability Improvements § Multi-Session Agent • Single process supports multiple, concurrent, ABL sessions • Sessions share resources • Manages shared memory connects § Session Manager integrated with Tomcat • No separate Java processes for Ubroker, Name. Server nor Admin. Server (optional) • Removes one network copy in stack § HTTP Chunking for APSV transport 40 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Resource Sharing in Initial Release Shared Not Shared (yet) Self-service Open. Edge database connections

Resource Sharing in Initial Release Shared Not Shared (yet) Self-service Open. Edge database connections Temp-tables / Pro. Datasets Procedure libraries Sockets (including SOAP and App. Server connections) R-code Network Open. Edge database connections Promsg files LBI & DBI files OS threads ABL session memory 41 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Progress Application Server for Open. Edge - Performance Classic PAS for OE Improvement 221

Progress Application Server for Open. Edge - Performance Classic PAS for OE Improvement 221 1312 493% 10 CPUs 5. 2 CPUs 192% Memory 2. 1 GB 670 MB 313% Transactions 203 tps 1698 tps 736% Scalability Client connections Server Resources CPU Client performance Open. Edge YMMV Web. Speed performance Round trip YMMV 42 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Why PASOE? 43 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All

Why PASOE? 43 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Why PASOE? § Less Complex § Performance • Less resources § Web Applications §

Why PASOE? § Less Complex § Performance • Less resources § Web Applications § Web. Speed 44 © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Q&A

Q&A