Preface
Purpose
Audience
Organization
Using ABL documentation
References to ABL compiler and run-time features
References to ABL data types
Typographical conventions
Examples of syntax descriptions
Long syntax descriptions split across lines
Long SQL syntax descriptions split across lines
Complex syntax descriptions with both required and optional elements
OpenEdge messages
Obtaining more information about OpenEdge messages
Overview
Architecture
Developing and accessing an Open Client interface
Accessing AppServer functionality
The session model
Session model configuration
Connection management
Open Client interface and programming
The object model
ABL procedures
AppObjects
SubAppObjects
ProcObjects
ADM SmartObjects and SmartDataObjects (Java only)
Object relationships
Open Client access to objects
Configuration
Building and deploying an Open Client application
Managing Open Client root digital certificates
Java Open Clients
Root digital certificate packages
.NET Open Clients
Web services
Generating Proxies and Web Service Definitions
Open Client interfaces
Objects in an Open Client interface
AppObject and SubAppObjects
ProcObjects
ProcObjects or procedures?
Encapsulating functionality
Session models
Session models and Open Clients
Specifying the session model
Making procedures available to the interface
Getting started with ProxyGen
Versions of ProxyGen
Using ProxyGen execution options
Starting and using ProxyGen
Editing an Open Client interface
Specifying generation settings
Saving Open Client interfaces in a project file
Generating an Open Client proxy or Web service definition
Running Batch ProxyGen
Differences on UNIX and Windows platforms
Converting a project file from Progress Version 9 to OpenEdge
Converting using ProxyGen
Converting using the PXGConvert utility
Converting a preferences file from Progress Version 9 to OpenEdge
Defining an Open Client interface using ProxyGen
To define an Open Client interface using ProxyGen
Defining an AppObject or SubAppObject
Creating AppObject and SubAppObject entries
Specifying AppObject and SubAppObject definitions
Handling the Unknown value(?)
Mapping temp-table parameters in Java Open Clients
Adding ProDataSet before-image data in Web services
Specifying AppServer procedure files
Defining procedures in AppObjects and SubAppObjects
Setting PROPATH components
Adding and deleting procedure files
Changing the procedure execution mode (type)
Customizing procedure access
Customizing method and ProcObject definitions (optional)
Customizing method definitions in a ProcObject (optional)
Changing the PROPATH setting for existing procedures
Saving the Open Client interface definition in a project file
Setting the project work directory
Saving the project file
Specifying generation settings
Dialog box layout
General settings for proxy generation
.NET client details
Advanced .NET Options dialog box
Java client details
Symbolic references to Java Open Client directory paths
Sonic Native Invocation client details
Sonic Web Service client details
Advanced Sonic ESB Options dialog box
Web Service client details
Validating and generating an Open Client proxy or Web service definition
Open Client interface validation
When validation occurs
How validation works
Open Client interface generation
Generating .NET client interfaces
Object naming in ProxyGen
Open Client interface naming conventions
Automatic name conversions
Naming side effects and restrictions
Example
Programming Concepts
Connecting to an AppServer
Types of connections
Internet connections
Intranet connections
Secure connections
Secure Internet connections
Secure intranet connections
Specifying the AppServer connection
Getting user input for run-time connection information
Understanding proxy and Web service object methods
Remote ABL methods
Identifying generated methods
Passing parameters
Handling return values
Passing parameters
Accessing Open Client run-time properties
Handling errors in an Open Client application
Client-side errors
Server-side errors before remote ABL method execution
Server-side errors during remote ABL execution
Accessing an AppServer directly without proxies
Preface
Accessing an AppServer directly without proxies