Professional Documents
Culture Documents
INT 10 LundBonser
INT 10 LundBonser
Inside-Out
Pat Bonser
David Lund
Progress Software
Web
services
WebSpeed
GUI
Character
OpenEdge
Clients
Open Clients
(Non-OpenEdge)
OpenEdge
Management
Sonic
ESB
Open Clients
OpenEdge Clients
OpenEdge
Application
Server
OpenEdge
RDBMS
OpenEdge
Replication
OpenEdge
DataServers
Clients
NameServer
AppServer Agents
Application
Application
Broker
Broker
ABL
Business
Logic
Data
NameServer
AppServer
Application
Application
Broker
Broker
ABL
Business
Logic
Executes OpenEdge
NameServer
ABL procedures
Reuse of AppServer
agents
AppServer
Application
Broker
AppServer Agents
ABL
Business
Logic
Determined by
Operating mode
Location transparency
Machine A
Clients
NameServer
Inventory
70%
70%
Inventory (A and B)
Machine B
30%
Pay
roll
(C)
Inventory
30%
Machine C
Load balancing
8
Payroll
Admin
Server
AppServer
Broker
NameServer
(Optional)
Server Processes
(Agents)
Clients
Database Brokers
(Optional)
9
Databases
2007 Progress Software Corporation
of the Application
Naming of new AppServers should follow
some standard that indicates the function of
the AppServer
For example OrderEntry and Inventory
11
Admin Server
ubroker.properties
(includes AppServer)
Admin Server
Reads on
startup
Admin
Server
conmgr.properties
(includes db connections)
Progress Explorer
Is a user interface
Into the Admin Server
12
Progress
Explorer
Admin Server
ubroker.properties
Changes saved
Admin
Server
Progress
Explorer
Broker
14
Operating mode
Working directory
Port number
NameServer
Agent
Startup
parameters
PROPATH
Pool Range
Less is more Manage with fewest agents possible
15
1.
2.
Connect to AppServer
ret = hdl:CONNECT(-S 5353 -H pisces
-AppService Account).
3.
4.
Run procedures
RUN AccountBL.p ON SERVER hdl
(INPUT account-number).
Disconnect
ret = hdl:DISCONNECT().
5.
16
-S
-DirectConnect
To use
NameServer
or NOT?
-URL
Can be used instead of above parameters
17
ABL Client
Specify ssl
parameter
AppServerS://localhost:5162/asSecureMang").
18
Database
Server
Specify -ssl
parameter
19
21
Connection Management
Session Models and Operating Modes
Performance Goals
System resources, network response
Request throughput and response time
22
Operating Modes
State-reset
State-aware
Stateless
Operating Mode
State-free
23
State-reset
One client per Application Server Agent
Session state is reset on disconnect
State-aware
One client per Application Server Agent
Session state is maintained across connections
Stateless
Connection managed by AppServer Broker
Many clients per application server agent
Client 1
Client 3
NameServer
Client 2
Agent 1
Agent 2
ABL
Data
Agent 3
Client 4
Application
Application
Broker
Broker
Message
Queue
25
Client 1
Client 3
NameServer
Client 2
Agent 1
Agent 2
Application
Application
Broker
Broker
ABL
Data
Agent 3
Client 4
26
Message
Queue
Session-free Model
State-free Operating Mode
Logical Connection
Pooled Connections
Logical pool of physical connections
ABL requests on the server handle
Web service requests on the WSA
Open Client requests on the AppObject
Session-free Model
State-free Operating Mode
ABL Clients
Client 1
Agent 1
Web Service
Client
Client 3
Web Services
Adapter
Client 2
NameServer
Open Clients
Agent 2
Application
Application
Broker
Broker
ABL
Data
Agent 3
Message
Queue
Agent 4
Performance considerations
Stateless, state-free need to send messages
to the broker and the agent when bounded
State-aware, state-reset after connection only
send messages to the agent
29
Stateless
Provides programmatic control to change to/from
bounded
SERVER-CONNECTION-BOUND-REQUEST
Set to True to become bound, False unbound
31
Implementation Considerations
Efficient use of resources
Optimize performance
Maximize scalability
State-aware
PROPATH
State-reset
PROPATH
Clients
Stateless
Application
Code
PROPATH
State-free
PROPATH
AppServers
34
Asynchronous Programming
Asynchronous programming increases complexity
Client code
Calling procedures
asynchronously
Client code
Event handling procedure
35
36
Configuration Procedures
Connect/Disconnect
(all session managed modes)
Startup/Shutdown
(state-aware & stateless)
37
38
Export list
Enforce secure access to the AppServer
Used as a filter checking if requested
procedure is on the list
Activate Procedure
39
Transaction Management
Automatic transactions
40
41
Open Clients
Start by determining:
Which procedures to expose through the
interface
How the procedures will be called
42
Proxy Generator
Exposing the Business Logic
ABL
.r files
ProxyGen
Java Clients
Java Classes
.NET Clients
.NET Assemblies
Purpose
Allows an arbitrary procedure to be run on the
AppServer without the need to generate a proxy
44
To Proxy or not?
Recommendation
Generate proxies unless there is a business reason
to use the OpenAPI
45
46
Logging Infrastructure
Log Files
Unified Format
Which Log?
AdminServer admserv.log
NameServer ns1.ns.log
AS Broker
asbroker1.broker.log
AS Agent
asbroker1.server.log
AIA
aia1.aia.log
WSA
wsa1.wsa.log
Database
dbname.lg
49
ABLMessages1
ABLTrace
DB.Connects
DynObjects.*
QryInfo
SAX
ProEvents.*
AIA*
ASPlumbing
ASDefault
NSPlumbing
UBroker.*
WSADefault
MsgrTrace
Client only
50
Logging Levels
Setting logginglevel
StartUp Parameter
LOG-MANAGER system handle
Ubroker.properties file
Logginglevel Values
51
0 None
1 Errors
2 Basic
3 Verbose
4 Extended
2007 Progress Software Corporation
LOG-MANAGER
System handle attributes & methods
Attributes
52
ENTRY-TYPES-LIST
LOG-ENTRY-TYPES
LOGFILE-NAME
LOGGING-LEVEL
LOG-THRESHOLD
NUM-LOG-FILES
TYPE
Methods
CLOSE-LOG
CLEAR-LOG
WRITE-MESSAGE
GUI Utility
View, filter,
sort, merge,
& translate log files
Log file format
Date format
Advanced
Time adjustment
Promsgs translation
Date Range Filter
53
54
File Merge
55
56
Attachable Mode
Attach to remote process
Debug attached process only
No access to calling process
Can be used when
Server not local
No monitor attached
Easier to debug from where you are
57
Enabling Debugging
Debugging is NOT enabled by default
Client
Start Programs OpenEdge Proenv
AppServer
58
Attachable Mode
Debugging Code Remotely
Ready the AppServer agent for debugging
-debugReady port-number
proDebugConfig
Attachable Debugger
Local
Remote
60
Attachable Debugger
61
62
63
64
Considerations
Whatss New?
Enhanced Capabilities
Operating Modes
Configurations - Fault Tolerance
65
ABL
Client
Code
66
NameServer
Clients
NameServer
AppServer
Existing Agents
Application
Application
Broker
Broker
New
ABL
Server
Code
Data
In Summary
OpenEdge AppServer is a fundamental component of SOBA
68
PSDN (http://www.psdn.com)
LogRead Utility & Tutorial
White Papers & Presentations
Documentation
69
70
Questions?
71
72
73