The ABL clients include any OpenEdge application, with or without its own user interface:
GUI or Character clients, including the WebClient
Batch clients
WebSpeed agents as clients
Other AppServer agents as clients
Open Clients
An Open Client runs in a client process that is not an AVM. Open Clients are written in C#, VB.NET, or Java, and they can present a variety of user interfaces to the end-user. They can also provide functionality to other applications that do not have a user interface. Basically, in OpenEdge, .NET or Java AppServer clients and OpenEdge Web services share common features that make them all Open Clients of the AppServer.
There are two possible models for Open Client development:
Using proxies
Using OpenAPI
When an Open Client is developed using proxies, .class files (Java) or assemblies (.NET) are created using OpenEdge tools. The proxies are used to communicate services from the AppServer to the Open Clients. The proxies help the developer quickly write code to access the AppServer because the details are implemented in the proxies. When you use proxies, you access the AppServer Internet Adapter using HTTP or HTTPS, or you access the AppServer directly, depending on how the proxies are generated.
REST and SOAP Web service clients
Clients written in a variety of languages (ABL, Java, C#, VB.NET, HTML) can access an ABL application’s services if the application has been built to provide Web services. An ABL Web services client runs in its own AVM. Other Web services clients run in client processes that run in a DLL or JVM.
On the server side, the application developer must generate (using OpenEdge tools) the artifacts required for the AppServer to provide the services. The Web Server receives requests from Web services clients and forwards the requests to the Web Services Adapter, which is part of the OpenEdge run-time environment. The Web Services Adapter then forwards the request to the relevant AppServer.
WebSpeed client
A WebSpeed client runs in a Web browser and is written in HTML and/or JavaScript. It accesses services using a Web Server by using HTTP or HTTPS. The WebSpeed Messenger’s role is to receive requests from WebSpeed clients and forward them to a WebSpeed Transaction Server. The WebSpeed Transaction Server then runs a variation of ABL called SpeedScript. SpeedScript is used to provide services to clients and to present HTML pages back to the Web Server for display by the clients. In addition, WebSpeed Messenger can be used as a simple agent that can receive requests and display static HTML pages from a Web Server. To learn more about WebSpeed Transaction Server or SpeedScript, refer to the OpenEdge documentation.
SQL client
An SQL client is a process that can run an SQL engine for interpreting SQL statements and using them to access a Database Server. SQL clients can run in different types of processes such as AVMs, DLLs, and JVMs. SQL clients access the Database Server directly without going through an AppServer. Access to the Database Server is accomplished using JDBC or ODBC drivers. SQL clients are typically used to provide database management and reporting functionality to administrators and specific business users. They are not used to provide any business logic for your application.