Try OpenEdge Now
skip to main content
Application and Integration Services
OpenEdge Open Clients : Overview of the Open Client object model : Definition of the client interface

Definition of the client interface

The Open Client object model, which is the basis of the client interface definition, consists of three types of interface objects that model the structure of an AppServer application service. These interface objects include the:
*AppObject — Represents the complete set of AppServer external procedures in the application service, consisting of one or more application methods (non-persistent procedures), SubAppObjects (AppObject subset) and ProcObjects (persistent procedures) and also represents the point of physical or logical connection between the client and the AppServer
*SubAppObject — Represents a subset of the AppObject, consisting of one or more application methods (non-persistent procedures) and ProcObjects (persistent procedures)
*ProcObject — Represents a single persistent procedure, consisting of any number of methods (internal procedures and user-defined functions)
So, depending on the type of client, these objects might be represented differently, with object methods represented as invocable operations, be they functions, procedures, subroutines, or indeed methods—whatever is most natural for the client platform (.NET, Java, or whatever is the Web service client platform). In all cases, the Open Client implementation ensures that invocation of the appropriate method representation executes the corresponding ABL code on the AppServer.
For .NET and Java Open Clients, you can use ProxyGen to generate proxy objects that encapsulate the appropriate client interface using a custom API. You can also access the client interface using a single common API (OpenAPI). The .NET or Java OpenAPI allows you to access any AppServer application service without the need to generate and program to a custom set of proxy objects.
For more information on the:
*Open Client object model, see OpenEdge Development: Open Client Introduction and Programming
*.NET Open Client interface, see OpenEdge Development: .NET Open Clients
*Java Open Client interface, see OpenEdge Development: Java Open Clients
*Web service Open Client interface, see the information on programming Web service clients to consume OpenEdge Web services in OpenEdge Development: Web Services. For an overview of OpenEdge Web services and OpenEdge support for Web services in general, see Web Services: Architecture and Tools