0% found this document useful (0 votes)
28 views36 pages

414 REST-API2ManagePASOE

The document describes a REST API for managing Pacific Application Server instances for OpenEdge. It discusses how PAS for OpenEdge differs from classic application servers, and how to administer and use the PAS for OpenEdge REST API. It also provides an overview of advantages of the REST API.

Uploaded by

Robert Willians
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views36 pages

414 REST-API2ManagePASOE

The document describes a REST API for managing Pacific Application Server instances for OpenEdge. It discusses how PAS for OpenEdge differs from classic application servers, and how to administer and use the PAS for OpenEdge REST API. It also provides an overview of advantages of the REST API.

Uploaded by

Robert Willians
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

REST API to manage Pacific Application Server

for OpenEdge instances

Srinivas Munigala
[email protected]
Agenda
Introduction to PAS for OpenEdge

How is it different from classic Application Server?

PAS for OpenEdge Administration

PAS for OpenEdge REST API

Demo

Advantages of PAS for OpenEdge REST API


2 © 2015 Progress Software Corporation. All rights reserved.
Introduction to PAS for
OpenEdge
• What is PAS?
• What is PAS for OpenEdge?
• Why PAS for OpenEdge?

3 © 2015 Progress Software Corporation. All rights reserved.


What is Pacific Application Server?
 PAS utilizes Apache Tomcat Server as
its web server
TOMCAT
 Unified Application Server for Progress
based applications
• OpenEdge
• Rollbase
• Corticon PAS

4 © 2015 Progress Software Corporation. All rights reserved.


What is Pacific Application Server for OpenEdge?
 OpenEdge variation of PAS
 Integrated into one layer
 Two Products:
PAS
• Development Server
• Production Server

PASOE

5 © 2015 Progress Software Corporation. All rights reserved.


lo

Why Pacific Application Server for OpenEdge?


ep
D •
y
ilit
ab
Simple al
n
Sc •
io
n
yat
io
er
str
Extensible
at
on
qu
ni
str
ti
emi
ni
za
at
d
mi
ili
st
A •
d
ut
t
Analysis Tools A
U
en
CP
rr

ss
Cu •
Le •
Faster and
s
yric

Optimized
or
et
m
M •
e
6 © 2015 Progress Software Corporation. All rights reserved.
m
How is it different from Classic
AppServer?

7 © 2015 Progress Software Corporation. All rights reserved.


PAS for OpenEdge Architectural Concepts
Classic AppServer Components PAS for OpenEdge Components

Client AIA WSA


Client
REST/Mobile

Admin Server Name Server


PAS for OpenEdge
APSV (AIA)
State-Aware Stateless State-free SOAP (WSA)
REST/Mobile

Session Manager
Broker Broker Broker

“n” Agent
Agents “n” Agent
Agents “n” Agent
Agents MSAgent
Agent Agent
Agent Agent
Agent “n”1 ABL Sessions
(1(1ABL Agent
Session) (1(1ABL Session) (1 ABL Session) 11ABL
ABLSession
Session
ABL Session) ABL Session)
(1 ABL Session) (1
(1 ABLSession)
ABL Session) 1 ABLSession
ABL Session
(1 ABL Session)

8 © 2015 Progress Software Corporation. All rights reserved.


PAS for OpenEdge
Administration

9 © 2015 Progress Software Corporation. All rights reserved.


Classic AppServer versus PAS for OpenEdge Administrations
Classic AppServer PAS for OpenEdge

OEE/OEM OEE/OEM

REST
AdminServer AdminServer Client

asbman tcman pasoe1


asbroker1 *manager

tcman pasoe2
asbroker2 *manager

JMX
Legend: Client
always exists
------- optional install &
use

10 © 2015 Progress Software Corporation. All rights reserved.


Administration: tcman.sh/.bat

tcman help
tcman tcman help <action>

Server Actions Manager Actions General Actions

 create  delete  list  help


 start  stop  deploy  env
 enable
 clean  clean -A
 undeploy
 feature  config
 disable
 instances

11 © 2015 Progress Software Corporation. All rights reserved.


Administration: More Command Line Tools…
OAP
SOAP
oyS
• depl

EST
REST
oyR
• depl

rop
ABL App • oep

12 © 2015 Progress Software Corporation. All rights reserved.


REST API to manage “PAS for
OpenEdge” instances

13 © 2015 Progress Software Corporation. All rights reserved.


Introduction to REST
 Representational State Transfer
Resource
 Style of software architecture Unique identifier

 Does not define Specification Uniform


interfaces
 Does not define a message format REST Representation
Stateless
 Stateless
 Resource-based
 CRUD Model

Principles

14 © 2015 Progress Software Corporation. All rights reserved.


Introducing PAS for OpenEdge REST API

delete

put
PAS for
HTTP (S) Your App
OpenEdge
get

post

15 © 2015 Progress Software Corporation. All rights reserved.


Understanding PAS for OpenEdge resources
OE ABL
/oemanager/applications/ Application
WebApps
/oemanager/applications/<appName>/webApps
APSV, SOAP
Transports REST
/oemanager/applications/<appName>/webApps/<w
ebAppName>/transports/rest/oeservices

Properties
Session Mgr
/oemanager/applications/<appName>/sessions Statistics

Agents Properties
/oemanager/applications/<appName>/agents State

Clients
/oemanager/applications/<appName>/clients

16 © 2015 Progress Software Corporation. All rights reserved.


How to enable REST API?
 oemanager.war provides REST API
 Available at $DLC/servers/pasoe/extras
 oemanager.war must be deployed
 Uses JSON input / output payloads
 It requires user login

17 © 2015 Progress Software Corporation. All rights reserved.


Using REST API - What to manage?

Application Transport
Management Management

Session Agent
Management Management

18 © 2015 Progress Software Corporation. All rights reserved.


Application Management

 List all OEABL applications


 Get information about OEABL application Application Transport
Management Management
 List all web applications
 Get information about a web application
Session Agent
Management Management

19 © 2015 Progress Software Corporation. All rights reserved.


Transport Management
 List deployed services
 Get information about a specific service
 Deploy a new service Application Transport
Management Management
 Remove a service
 Enable / Disable a transport
 Get configuration of a transport
 Update configuration of a transport Session
Management
Agent
Management
 Get runtime metrics of a transport
 Reset runtime metrics of a transport

20 © 2015 Progress Software Corporation. All rights reserved.


Session Management
 Get Session information
 Get client information
 Get current request information Application Transport
Management Management
 Get Configuration properties
 Update configuration properties
 Get runtime metrics
 Re-set runtime metrics Session
Management
Agent
Management
 Cancel a request
 Terminate a session

21 © 2015 Progress Software Corporation. All rights reserved.


Agent Management
 List agents
 Get an agent status information
 Get session metrics Application Transport
Management Management
 Get connection information
 Get Request information
 Get configuration properties
 Update configuration properties Session
Management
Agent
Management
 Stop an Agent

22 © 2015 Progress Software Corporation. All rights reserved.


Sample API for “Get all the requests”
HTTP Operation GET

URI /oemanager/applications/<AppName>/requests

Example curl -v
http://localhost:1234/oemanager/applications/test/requests
Media-Type application/vnd.progress+json

Request Body

Response Code 200 Success


500 Unexpected Server Error
Response Body <JSON Response data>

23 © 2015 Progress Software Corporation. All rights reserved.


Sample JSON Response

24 © 2015 Progress Software Corporation. All rights reserved.


Demo

25 © 2015 Progress Software Corporation. All rights reserved.


Demo: Prerequisites
 Create an Instance
• $DLC/servers/pasoe/bin/tcman create test -p 1234 -P 5678 -s 9876
 Deploy oemanager.war into ROOT
• test\bin\tcman deploy $DLC\servers\pasoe\extras\oemanager.war
 Place server procedures at test\bin\tcman\openedge\
 Start the instance
• test\bin\tcman start

26 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 1
 A user lists all the oeabl applications
 Steps:
• Execute the following REST API using a REST client
Curl –u tomcat:tomcat http://localhost:1234/oemanager/applications

27 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 2
 A user updates configuration properties of Session Manager
 Steps:
• Execute the following REST API using a REST client
curl -u tomcat:tomcat -X PUT -H "Content-Type:
application/vnd.progress+json" -d {"agentLogThreshold":”500000"}
http://localhost:1234/oemanager/applications/test/properties

28 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 3
 A user cancels a request which is running more than expected time
 Steps:
• Execute a client request which runs more than the expected time
• Execute the following REST API using a REST client
Curl –u tomcat:tomcat –X DELETE
http://localhost:1234/oemanager/applications/test/requests?
requestID=<reqID>&sessionID=<sessionID>

29 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 4
 A user stops an agent
 Steps:
• Execute the following REST API using a REST client
Curl –u tomcat:tomcat –X DELETE http://
localhost:1234/oemanager/applications/test/agents/<agentID
/agentPID>

30 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 5
 A user deploys a REST service description (.paar)
 Steps:
• Execute the following REST API using a REST client
Curl -u tomcat:tomcat -X POST --data-binary @dateService.paar
http://localhost:1234/oemanager/applications/test/webapps/ROOT/
transports/rest/oeservices "Accept: application/vnd.progress+json" -
H "Content-Type: application/vnd.progress.paar+zip" -H "Content-
Disposition: attachment; filename=dateService.paar"

31 © 2015 Progress Software Corporation. All rights reserved.


Demo: Use Case 6
 A user gets runtime metrics of a SOAP transport
 Steps:
• Deploy a SOAP service
• Execute few requests on SOAP service
• Execute the following REST API using a REST client
curl -u tomcat:tomcat
http://localhost:1234/oemanager/applications/test/webapps/ROOT/
transports/soap/metrics

32 © 2015 Progress Software Corporation. All rights reserved.


Advantages
 Standard HTTP call outs
 Standard based security
 Flexible formats
 Manage server Programmatically
 Extensible:
• Customized command line tools
• Integration with 3rd party admin tools like Nagios
• ABL client with new HTTP out support

33 © 2015 Progress Software Corporation. All rights reserved.


Summary
 What is Pacific Application Server for OpenEdge
 How is it different from classic Application Server?
 PAS for OpenEdge Administration
 REST API to manage PAS for OpenEdge
 Advantages of PAS for OpenEdge Administration

34 © 2015 Progress Software Corporation. All rights reserved.


Q&A

You might also like