A Web service is an application that can be accessed and used over the Internet (or an intranet) using industry standard protocols.
In OpenEdge, a Web service is usually an AppServer application that is accessible to a client application through a Web server. Web services built with OpenEdge permit language and platform-independent access to OpenEdge business logic from non-OpenEdge clients, with the passing of data between the client and Progress ABL Web service application being largely transparent to the client language or platform.
In OpenEdge, you can:
Create new Web services that you build as ABL (Advanced Business Language) applications and deploy on an AppServer.
Expose existing AppServer applications as Web services.
Create an interface to your Web services and deploy it on a Web server.
Create the client-side applications that interact with your Web services.
OpenEdge includes support for Web services that are based either on SOAP, or on REST.
SOAP (Simple Object Access Protocol) uses XML messages to exchange information between client-side applications and Web services. WSDL (Web Service Definition Language) files publicize and describe the public interface to Web services. The XML Schema standard describes both simple and complex data types in WSDL files. SOAP uses HTTP only as a transport protocol. In OpenEdge, you deploy SOAP Web services on a Web Services Adapter (WSA) which runs in a Java Servlet Container on a Web server.
REST (Representation State Transfer) uses HTTP more extensively than SOAP. REST uses URIs to identify resources and employs HTTP verbs (GET, PUT, POST, DELETE) as methods to act upon resources. In OpenEdge, JSON is used as the data-interchange format. In OpenEdge, you deploy REST Web services in Web Application Archive files which run in a Java Servlet Container on a Web server.