Once a client has established a physical or logical connection to an AppServer (see
Connection-based model), the client application can initiate requests to run remote procedures (or user-defined functions). A
remote procedure is a procedure executed by an AppServer agent as a result of being directly called by a client application. An ABL client can execute a remote procedure by invoking a
RUN statement on an external procedure with the
ON SERVER option or on an internal procedure or user-defined function within a previously executed remote persistent procedure. A Java, .NET, or Web service client can execute a remote procedure by invoking a method (on an Open Client object) that maps to the remote procedure or user-defined function on the AppServer.