Pacific Application Server for Open Edge PUG Challenge

  • Slides: 28
Download presentation
Pacific Application Server for Open. Edge PUG Challenge 2014 David Cleary Principal Software Engineer

Pacific Application Server for Open. Edge PUG Challenge 2014 David Cleary Principal Software Engineer June 9, 2014

Disclaimer This presentation is for informational purposes only. You are cautioned that any information

Disclaimer This presentation is for informational purposes only. You are cautioned that any information contained in this presentation may change in the course of product development. This presentation may not be interpreted as a commitment on behalf of Progress, and future development and release of this product remains at the sole discretion of Progress. 2 © 2014 Progress Software Corporation. All rights reserved.

Agenda § Introduction to the Pacific Application Server for Open. Edge § Pacific Application

Agenda § Introduction to the Pacific Application Server for Open. Edge § Pacific Application Server for Open. Edge Architecture § Performance and Scalability 3 © 2014 Progress Software Corporation. All rights reserved.

Introduction to PASOE 4 © 2014 Progress Software Corporation. All rights reserved.

Introduction to PASOE 4 © 2014 Progress Software Corporation. All rights reserved.

Pacific Application Server Platform § Created from Apache Tomcat 7. 0. 42 distribution §

Pacific Application Server Platform § Created from Apache Tomcat 7. 0. 42 distribution § Configured for production by default • Default ROOT application replaced • Tomcat manager web applications not installed • Auto deployment disabled by default • Shutdown port disabled on Unix • JMX not enabled by default • Web crawler filtering enabled § Spring Security Framework included § Realms and roles defined to implement access control § Enhanced command line tool to configure and manage server § Will be default implementation for Rollbase and Corticon 5 © 2014 Progress Software Corporation. All rights reserved.

Pacific Application Server for Open. Edge (PASOE) § Responds to the need for tighter

Pacific Application Server for Open. Edge (PASOE) § Responds to the need for tighter integration between Open. Edge and web technologies for both cloud and on-premise solutions § Re-architecture and re-implementation of the traditional App. Server stack § Runs in PSC’s unified Pacific Application Server (PAS) platform § Simplifies web based ABL application architectures, deployment, and administration § Optional server-side session context management § Security built-in § Open REST APIs & JMX for remote administration § Two products: • Pacific Application Server for Open. Edge (development) • Pacific Application Server for Open. Edge (production) 6 © 2014 Progress Software Corporation. All rights reserved.

Some Comparisons of PASOE versus traditional App. Server 7 PASOE App. Server § Mixed

Some Comparisons of PASOE versus traditional App. Server 7 PASOE App. Server § Mixed stateless & stateful ABL application models per instance § Limited to one ABL application model per App. Server instance § Integrated [adapter] transports § Independent adapters § Single web application: § Multiple web applications: • Less process resource consumption • More process resource consumption • Single configuration • Multiple configurations § Two tier network connections § Three tier network connections § Many ABL sessions per OS process § One ABL session per OS process © 2014 Progress Software Corporation. All rights reserved.

Pacific Application Server for Open. Edge Architecture (PASOE) 8 © 2014 Progress Software Corporation.

Pacific Application Server for Open. Edge Architecture (PASOE) 8 © 2014 Progress Software Corporation. All rights reserved.

PASOE Architectural Concepts and Terms § PAS is a Java web application server with

PASOE Architectural Concepts and Terms § PAS is a Java web application server with Progress extensions • Optional web application for remote administration using text, html, or JMX proxy APIs § ABL services for Pacific Application Server (ABLPAS) • An collection of Java web applications and resources installed and into a PAS • Java web applications use multi-session agent OS process (MSAgent) • Optional web application for remote administration using REST APIs • ABLPAS web services can be installed into the PAS of other PSC product installations § PASOE is an Open. Edge installed PAS with a pre-installed ABLPAS services § You design, package, deploy, configure, debug, and control access to your ABL application in the context of a web application running in a web server 9 © 2014 Progress Software Corporation. All rights reserved.

Out With The Old – In With The New Compare the number of lines

Out With The Old – In With The New Compare the number of lines and boxes OLD NEW PAS web server AIA WSA Agent (1 session) REST/SOAP services REST Admin Service u. Broker Open. Edge RDBMS Console admin UI © 2014 Progress Software Corporation. All rights reserved. ABLPAS (adapters) Console admin UI MSAgent (n sessions) Security risk – run in intranet only Open. Edge RDBMS 10 Open. Edge PASOE installation ABL Application Note: remote OEM administration is optional

PASOE Software Ecosystem Progress Developer’s Studio unified Pacific Application Server Command-line Tools Admin Service

PASOE Software Ecosystem Progress Developer’s Studio unified Pacific Application Server Command-line Tools Admin Service Security Services Session Management Administration Services Common Services ABLPAS Services Corticon Service REST/Mobile/SOAP services ABL r-code Mobile applications 11 ABL Application © 2014 Progress Software Corporation. All rights reserved. Open. Edge Manager Open. Edge RDBMS Rollbase Service OEE/OEM Administraion

PASOE Web Services oemanager. war oeabl. war Spring Security Common Services Admin Network Transports

PASOE Web Services oemanager. war oeabl. war Spring Security Common Services Admin Network Transports Metrics ABL Session Manager Logging Properties MSAgent (ABL sessions) 12 © 2014 Progress Software Corporation. All rights reserved. Spring Security REST API JMX Console

PASOE ABL Application Architecture Models § Client controls ABL session model via traditional App.

PASOE ABL Application Architecture Models § Client controls ABL session model via traditional App. Server connection type § Stateless session model • Equivalent to traditional App. Server state-free connection type (any session, in any Agent, in any PASOE server, can execute a client’s request) • Client can execute concurrent ABL requests – one per PASOE server connection • Client, User, and ABL application context managed entirely by the ABL business application • Asynchronous [out] requests executed within same running ABL session § Stateful session model • Equivalent to traditional App. Server state-aware connection type • Sticky ABL sessions (each client request routed to same PASOE server, MSAgent, and ABL session) • Client context stored within ABL session between requests ( manually deleted) • Client can execute pipelined ABL requests to single ABL session • Asynchronous [out] requests executed within same running ABL session 13 © 2014 Progress Software Corporation. All rights reserved.

App. Server Event Procedures § agent. Startup. Proc & agent. Shutdown. Proc • Executes

App. Server Event Procedures § agent. Startup. Proc & agent. Shutdown. Proc • Executes when Session Manager starts / stops Agent OS process § session. Startup. Proc & session. Shutdown. Proc • Executes when Agent starts/stops an ABL session • Occurred in traditional App. Server when the single ABL session Agent started/stopped § session. Connect. Proc & session. Disconnect. Proc • Executes when client starts/stops a session-managed (state-aware) connection § session. Activate. Proc & session. Deactivate. Proc • Executes when client runs a procedure/class • Occurred in traditional App. Server only for session-free (state-free) connections 14 © 2014 Progress Software Corporation. All rights reserved.

MS Agent Architecture PASOE Web Services Common Services ABL Session Manager MSAgent Pool MSAgent

MS Agent Architecture PASOE Web Services Common Services ABL Session Manager MSAgent Pool MSAgent Admin ABL Request Manager ABL Admin Session Admin Metrics MSAgent ABL Session & Thread Manager Free ABL Session Pool Free OS thread Pool 15 © 2014 Progress Software Corporation. All rights reserved. Shared Resources Active ABL Session Pool OE DB

Resource Sharing in Initial Release § Shared • Self-service Open. Edge database connections •

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

PASOE Instances § PASOE relies upon PAS’s instance support • Each instance is an

PASOE Instances § PASOE relies upon PAS’s instance support • Each instance is an individual run-time server • All instances share common binaries, shell scripts, and libraries • All web applications and services are deployed to an instance § The PASOE installation in DLC is a non-runnable template for creating instances § An instance can be a unit of deployment (with customer’s configuration & applications) § All instance lives outside of the Open. Edge install (such as WRKDIR) § An instance’s lifetime can span multiple OE release installations § An instance can have its own shared [web] application libraries 17 © 2014 Progress Software Corporation. All rights reserved.

Creating PASOE Instances DLC/servers/pasoe PASOE (V 1. 0. 0) Tomcat lib bin conf logs

Creating PASOE Instances DLC/servers/pasoe PASOE (V 1. 0. 0) Tomcat lib bin conf logs temp work webapps PAS common/lib extras PASOE Instance Tomcat Start, stop, etc Full copy ROOT bin conf logs temp work webapps PAS common/lib tcman. sh create [ports] [alias-name] <target-directory> 18 © 2014 Progress Software Corporation. All rights reserved.

Instance Topology Inst 1 CATALINA_BAS E Inst 2 Apache httpd CATALINA_HOME (version 1. 0)

Instance Topology Inst 1 CATALINA_BAS E Inst 2 Apache httpd CATALINA_HOME (version 1. 0) Inst 3 Inst 4 Tomcat Cluster 19 © 2014 Progress Software Corporation. All rights reserved.

PASOE Instance Deployment Options Inst 1 CATALINA_BAS E Inst 2 Deploy preconfigured instance CATALINA_HOME

PASOE Instance Deployment Options Inst 1 CATALINA_BAS E Inst 2 Deploy preconfigured instance CATALINA_HOME (version 1. 0) Inst 3 Inst 4 20 . WAR applications © 2014 Progress Software Corporation. All rights reserved. . ZIP deployment archive Inst-A . WAR applications

PASOE Upgrades Using Instances Inst 1 CATALINA_BAS E Inst 2 CATALINA_HOME (version 1. 0)

PASOE Upgrades Using Instances Inst 1 CATALINA_BAS E Inst 2 CATALINA_HOME (version 1. 0) CATALINA_HOME (version 1. 1) Inst 3 Inst 4 21 © 2014 Progress Software Corporation. All rights reserved.

Configuration and Log Files 22 § <instance>/conf/appserver. properties # PAS configuration properties § <instance>/conf/openedge.

Configuration and Log Files 22 § <instance>/conf/appserver. properties # PAS configuration properties § <instance>/conf/openedge. properties # PASOE properties (like PROPATH) § <instance>/logs/<oeabl-app>. <date>. log # PASOE web services log § <instance>/logs/ROOT. agent. log # PASOE MSAgent log © 2014 Progress Software Corporation. All rights reserved.

Application Deployment Options § SOAP service • SOAP service descriptor. wsm generated by Proxygen

Application Deployment Options § SOAP service • SOAP service descriptor. wsm generated by Proxygen • Deploy. wsm file via PASOE command line tool deploy. SOAP § REST service • REST/Mobile service descriptor. paar file exported from PDSOE (same as 11. 3) • Deploy. paar file from PASOE command line tool deploy. REST § ABL r-code / libraries • Same as traditional App. Server ( it’s all about PROPATH ) § As a OEABL Java web application (. war) • Create. war file from OEABL service with embedded ABL code and SOAP/REST services § Deploy PASOE instance as a ZIP file with pre-installed OEABL services (manual) 23 © 2014 Progress Software Corporation. All rights reserved.

Performance and Scalability 24 © 2014 Progress Software Corporation. All rights reserved.

Performance and Scalability 24 © 2014 Progress Software Corporation. All rights reserved.

ATM Test § Simulates ATM Banking Transactions § Highly update intensive § Machine Specifications

ATM Test § Simulates ATM Banking Transactions § Highly update intensive § Machine Specifications • Redhat Linux Server 6. 1 64 Bit • 8 CPU’s • 6 GB Ram § Classic App. Server • 1 Agent per Client (75 Clients = 75 Agent Processes) § PASOE • 1 Agent Period. 25 © 2014 Progress Software Corporation. All rights reserved.

ATM Test 75 Clients Stateless 75 Clients State-Aware PASOE (TPS) Classic (TPS) 100 Clients

ATM Test 75 Clients Stateless 75 Clients State-Aware PASOE (TPS) Classic (TPS) 100 Clients Stateless 100 Clients State-Aware 0 26 200 400 600 800 1000 1200 1400 1600 1800 © 2014 Progress Software Corporation. All rights reserved.

Early Access Availability in Coming Months Interested? Contact Rob Straight – rob. straight@progress. com

Early Access Availability in Coming Months Interested? Contact Rob Straight – rob. straight@progress. com 27 © 2014 Progress Software Corporation. All rights reserved.