SOA13: Advanced AppServer Topics - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

SOA13: Advanced AppServer Topics

Description:

additional, complementary information 2006 Progress Software Corporation. 3 ... All internal procedures on a remote procedure. Will execute on the same AppServer ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 57
Provided by: PSC64
Category:

less

Transcript and Presenter's Notes

Title: SOA13: Advanced AppServer Topics


1
SOA-13 Advanced AppServer Topics
Pat Bonser
2
Advanced AppServer Topics
Agenda
  • Architecture Components
  • Connection Management
  • Session Managed Model
  • Session-Free Model
  • Diagnostics, Logging Debugging
  • Migration Steps for Deployed Applications

This presentation includes annotations with
additional, complementary information
3
Distributed Applications Architecture

Clients
4
Application Server Architecture
Any Client
OpenEdge Application Server
Application Code
AppServer
Data
Web service Client
5
Application Server Architecture
WebSpeed is a Client too!
OpenEdge Application Server
WebSpeed Transaction Server
Application Code
AppServer
Data
Web service Client
6
Application Server Components
AppServer Architecture
AppServer
AppServer Agents
Clients
Application Broker
ABL Business Logic
NameServer
Data
7
Application Server Components
AppServer Broker
  • Manages pools of re-usable AppServer Agents
  • Manages client connections and requests for
    AppServer Agents to execute ABL

8
Application Server Components
AppServer Agents
  • Executes OpenEdge ABL procedures
  • Reuse of AppServer Agents
  • Determined by Operating mode

9
Application Server Components
NameServer
Location transparency
Inventory (A and B)
Clients
NameServer
10
Application Server Components
AppServer Internet Adapter
  • ALL Clients to OpenEdge AppServer Applications
  • Can connect remotely
  • Tunneling
  • HTTP (AIA)
  • HTTPS (AIA/S)
  • Java Servlet
  • Runs on Web Server with Java Servlet Engine

Included with OpenEdge Application Servers
11
Advanced AppServer Topics
Agenda
  • Architecture Components
  • Connection Management
  • Session Managed Model
  • Session-Free Model
  • Diagnostics, Logging Debugging
  • Migration Steps for Deployed Applications

12
Session Models Operating Modes
Connection management
  • Session managed model
  • Client sends requests over persistent connection
  • Requests handled sequentially
  • Operating Modes
  • State-reset
  • State-aware
  • Stateless
  • Session-free model
  • Client send requests on any available connection
  • Requests handled in parallel
  • Operating Mode
  • State-free

OpenEdge 10.0
13
Session Models Operating Modes
Connection management
  • Specified when AppServer is configured
  • Determines how client requests dispatched to
    individual Application Server Agents
  • Design time considerations
  • Design development of application
  • Application context
  • Performance Goals
  • System resources, network response
  • Request throughput and response time

14
Session Managed Model
Operating Modes
  • 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
  • Context must be managed externally

15
Session Managed Model
state-aware state-reset Operating Modes
AppServer
AppServer Agents
Client 1
Client 2
Application Broker
NameServer
Data
Client 3
Client 4
16
Session Managed Model
Stateless Operating Mode
AppServer
AppServer Agents
Client 1
Client 2
Application Broker
NameServer
Data
Client 3
Client 4
17
Advanced AppServer Topics
Agenda
  • Architecture Components
  • Connection Management
  • Session Managed Model
  • Session-Free Model
  • Diagnostics, Logging Debugging
  • Migration Steps for Deployed Applications

18
Session-free Model
State-free Operating Mode
ABL Clients
AppServer
AppServer Agents
Client 1
Open Clients
Client 2
Application Broker
Web Service Client
Web Services Adapter
Client 3
19
Session-free Model
State-free Operating Mode
  • Logical Connection
  • No connection maintained between Client and
    Application Server Agent
  • Pooled Connections
  • ABL requests on the server handle
  • Web service requests on the WSA
  • Open Client requests on the AppObject
  • Requests dispatched similar to stateless except
  • Multiple requests from one client run in parallel
  • Each request runs independently
  • Context must be managed externally

20
Session-free Model
Design Considerations
  • Avoid dependency on other calls!
  • Procedures can execute concurrently
  • Order of completion NOT predictable
  • Context Management
  • Session or task level
  • Client or Server
  • When to delete

21
Why When to use Session-free Model
  • Some applications inherently NOT connection
    oriented
  • Requests executed regardless of other requests
  • Should not be tied to one AppServer Connection
  • i.e. standalone request for information
  • Efficiency and Performance
  • Parallel execution on any AppServer
  • Efficient use of resources
  • Performance gains
  • Scalability

22
What about ASYNC Calls?
Does Async mean parallel execution?
RUN proc ON server ASYNCHRONOUS . . . .
  • Session-managed Model
  • Allow multiple remote procedures to be executed
  • Run serially on same AppServer
  • Session-free Model
  • Will allow procedures to execute concurrently

23
Coding Example RUN ASYNCHRONOUS
Session-free Model
  • Internal procedure run in procedure handle
  • Each call to internal procedure queued on the
    client

RUN bl.p ON SERVER hAppSrv ASYNCHRONOUS SET
hRq2 EVENT-PROCEDURE bl-evt-proc IN
THIS-PROCEDURE (INPUT-OUTPUT TABLE
order-table,OUTPUT iCount).
PROCEDURE bl-evt-proc DEFINE INPUT PARAMETER
TABLE FOR order-table. DEFINE INPUT PARAMETER
iCount as INT NO-UNDO.
24
Enhanced Syntax to support to Session-free
  • CONNECT()
  • Method
  • Properties
  • CANCEL-REQUESTS() method
  • CLIENT-CONNECTION-ID attribute

25
CONNECT() method
  • -sessionModel
  • Default Session-managed
  • Set to Session-free to use the session-free model

fOk hAppSrvCONNECT( -URL AppServer//hostpor
t/servicename -sessionModel Session-free).
  • Model and mode must match
  • Session-free Client
  • can only connect to
  • State-free AppServer

26
CONNECT()
  • Session-free connection
  • Pool of re-usable socket connections
  • AppServer handle points to pool
  • Managed transparently by Client
  • Connections allocated as needed
  • Tunable using CONNECT() properties

27
CANCEL-REQUESTS() method
  • Session managed Model
  • Raises STOP for request currently running
  • Purges send request queue of pending requests
  • Session-free Model
  • Raises STOP for ALL requests currently running
  • Purges queued requests

28
CLIENT-CONNECTION-ID attribute
  • Character attribute on a server handle associated
    with session-managed applications
  • Session-managed
  • Returns connection ID string for the AppServer
    connection associated with the server handle
  • Session-free
  • Logical connection to the AppServer is
    represented by a pool of AppServer connections
  • Returns the unknown value

29
NameServer Load Balancing
  • Session managed Model
  • On Client connection to the AppServer
  • Same AppServer serves all requests from a client
  • Session-free Model
  • On each request

30
Persistent Procedures in a Session-free Model
  • A context is created for the internal procedures
  • All internal procedures on a remote procedure
  • Will execute on the same AppServer
  • Will execute serially
  • Losing parallel advantage
  • Reducing scalability

31
Advanced AppServer Topics
Agenda
  • Architecture Components
  • Connection Management
  • Session Managed Model
  • Session-Free Model
  • Diagnostics, Logging Debugging
  • Migration Steps for Deployed Applications

32
Logging Infrastructure
  • Log Files
  • Unified Format
  • Log Entry Types
  • Logging Levels
  • Log size threshold
  • LOG-MANAGER
  • Log File Analysis
  • LogRead Utility

33
Diagnostics, Logging Debugging
Where to look for an AppServer Application
  • Which Log?
  • What about the Client?
  • -clientlog logfilename

34
Log Entry Types
  • Server/Client Executables
  • 4GLMessages1
  • 4GLTrace
  • DB.Connects
  • DynObjects.
  • QryInfo
  • SAX
  • ProEvents.
  • Other
  • AIA
  • ASPlumbing
  • ASDefault
  • NSPlumbing
  • UBroker.
  • WSADefault
  • MsgrTrace

1Client only
35
Logging Levels
  • Setting logginglevel
  • StartUp Parameter
  • LOG-MANAGER system handle
  • Ubroker.properties file
  • Logginglevel Values
  • 0 None
  • 1 Errors
  • 2 Basic
  • 3 Verbose
  • 4 - Extended

36
LOG-MANAGER
System handle attributes methods
  • Attributes
  • ENTRY-TYPES-LIST
  • LOG-ENTRY-TYPES
  • LOGFILE-NAME
  • LOGGING-LEVEL
  • LOG-THRESHOLD
  • NUM-LOG-FILES
  • TYPE
  • Methods (OpenEdge 10.1A)
  • CLOSE-LOG
  • CLEAR-LOG
  • WRITE-MESSAGE

37
Log File Analysis LogRead Utility
PSDN.progress.com
  • GUI Utility
  • View, filter, sort, merge,
    translate log files

38
Log File Analysis LogRead Utility
  • Browse, Filter or Query Log

39
Log File Analysis LogRead Utility
PSDN.progress.com
  • Select Logs to Merge
  • File Merge

40
Log File Analysis LogRead Utility
PSDN.progress.com
  • Analyze the Merge

?
41
Debugging AppServer Code
Application Debugger Debug Modes
  • Application Mode, supports distributed
  • Step into AppServer code from Client session
  • 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

42
Enabling Debugging
Debugging is NOT enabled by default
  • Client
  • Start ?Programs ? OpenEdge ? Proenv
  • AppServer

43
Attachable Mode
Debugging Code Remotely
  • Ready the AppServer Agent for debugging
  • -debugReady port-number
  • proDebugConfig
  • Start Attachable Debugger
  • Start ? Programs ? OpenEdge ? Debugger

44
Attachable Debugger
45
Attachable Debugger
46
Remote Code is Available
Debug as usual
47
Detach from Process
48
Advanced AppServer Topics
Agenda
  • Architecture Components
  • Connection Management
  • Session Managed Model
  • Session-Free Model
  • Diagnostics, Logging Debugging
  • Migration Steps for Deployed Applications

49
Migrating a Deployed Application
Planning an Upgrade
  • Considerations
  • Whatss New?
  • Enhanced Capabilities
  • Operating Modes
  • Configurations - Fault Tolerance
  • Steps before deployment
  • Upgrade Licenses
  • Convert/Migrate Database
  • Migrate Code

50
Migrating a Deployed Application
Deploying the Upgrade
51
Migrating a Deployed Application
Deploying the Upgrade
  • Register New AppServer(s)
  • With existing NameServer
  • Configure new NameServer
  • Shutdown Clients
  • Upgrade Client (license application)
  • Reconnect clients to new AppServer(s)
  • Shutdown old AppServer(s)
  • Shutdown old NameServer

52
For More Information, go to
  • PSDN
  • LogRead Utility
  • White Papers Presentations
  • Relevant Exchange Sessions
  • ARCH3 Context Management in the OpenEdge
    Reference Architecture
  • SOA-5 Accessing the AppServer from Anywhere
    Everywhere
  • SOA10 Application Servers, Web Services and
    Integration Info Exchange

53
Documentation Education
  • OpenEdge Documentation
  • Getting Started Application and Integration
    Services
  • Application Server Administration
  • Application Server Developing AppServer Apps
  • Development Debugging and Troubleshooting
  • OpenEdge Education
  • Developing Distributed AppServer Applications
  • Distributed AppServer Application Administration
  • Distributed AppServer Application Development

54
Advanced AppServer Topics
Questions?
55
Thank you foryour time
56
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com