Try OpenEdge Now
skip to main content
Open Client Introduction and Programming
Programming Concepts : Accessing an AppServer directly without proxies

Accessing an AppServer directly without proxies

For .NET and Java Open Clients, OpenEdge provides a means for you to access application services directly on an AppServer without the need to generate proxies using ProxyGen. You can do this using an API (OpenAPI) provided with each Open Client. This Open Client OpenAPI provides a set of classes for you to access application services using general access methods.
Because these classes know nothing about the application service they are accessing, you must be familiar with all the requirements for accessing the external procedures, persistent procedures, single-run procedures, singleton procedures, internal procedures, and user-defined functions provided by the application service. With this information, you must set up the procedure and user-defined function signatures according to application service requirements in your client code at run time.
You can use the principles of programming with proxy AppObjects and ProcObjects when accessing an AppServer using the OpenAPI. For more information, see Overview and previous sections in this chapter. However, if you have a basic understanding of how ABL provides application services on the AppServer and you know the programming requirements for the application service you are accessing, you have enough information to use the OpenAPI to access that application service.
For basic information on ABL, see the sections on ABL procedures in Overview. For information on the AppServer, see OpenEdge Application Server: Developing AppServer Applications.
The following table lists the common classes provided for use with both the .NET and Java versions of the OpenAPI. OpenEdge provides these classes to each type of Open Client in different assemblies or packages appropriate for the Open Client.
Table 9. OpenAPI Classes
For accessing remote external ABL procedures in an application service using the OpenAPI. It supports general functionality similar to the application-specific functionality of a proxy AppObject.
For instantiating and accessing a remote ABL persistent, single-run, or singleton procedure using the OpenAPI, including its internal procedures and user-defined functions. It supports general functionality similar to the application-specific functionality of a proxy ProcObject.
Array for passing parameters to an ABL procedure or user-defined function.
Constants for specifying the mode of an ABL procedure or user-defined function parameter (INPUT, INPUT-OUTPUT, or OUTPUT).
Constants for specifying the ABL data type of a procedure or user-defined function parameter, return type, or temp-table field.
The functionality of these common classes is essentially identical for each type of Open Client, with minor variations appropriate to the client platform and implementation. In addition to the common OpenAPI classes, each Open Client has a set of classes to define ProDataSet and temp-table parameters for use with the OpenAPI that are unique to the client platform and its requirements for mapping these data objects.
The OpenAPI is documented completely for each Open Client type. For more information, see:
*OpenEdge Development: .NET Open Clients for the .NET OpenAPI
*OpenEdge Development: Java Open Clients for the Java OpenAPI