Lycia supports 4GL Web Service Clients and Provider (Server) functionality. In general, any 4GL function can be made available for Web Services by applying small changes.

Web Service Framework and supported Application Servers:
Querix 4GL Web Services are based on the Apache Axis/2 framework and support following Application Servers:
IBM Websphere
BEA Weblogic
Apache Tomcat
Following is a list of key features:
Hot Deployment: Capable of deploying a Web Service while the application server is running
Hot Update: Capable of updating a Web Service without stopping that Web Service
Flexibility to choose any Application Server: Tomcat, Weblogic, Websphere, etc
Flexible Web Service life cycle model: Application, Session, Request
Supports synchronous and asynchronous call
Supports WSDL 1.1, including SOAP and HTTP binding; SOAP 1.1/1.2
Send attachments using SOAP Message Transmission Optimization Mechanism (MTOM).
Supports REST
Supports multiple data binding
Able to configure Web Service outside application, in XML file
Support for querying Web Service's WSDL using ?wsdl, and Web Service's schema using ?xsd
Secure Authentication
Pasing and returning of more-dimensional (Array) complex data types 

Publishing a 4GL function as a Web Service:
New language constructs allow the user to specify functions to be published as services
Example:
WEB FUNCTION f1 (a ) RETURNS (b) DEFINE a INTEGER DEFINE b CHAR(10) LET b = "Hello World" RETURN b END FUNCTION
Functions declared as ‘WEB' functions can still be used normally within 4GL applications
The WEB keyword merely states that the function is to be exported when compiled as part of a Web Service package
The RETURNS clause forces a function return signature
All RETURN statements within the function will return data as described in the RETURNs clause
When using a RETURNS clause, if a function has no RETURN statement, the function will return the values specified in the RETURNS clause
RETURNS Example 1
FUNCTION f1(a) RETURNS (a, b) DEFINE a INTEGER DEFINE b CHAR(10)
… RETURN # returns a, b … RETURN 12 # returns 12, b … END FUNCTION
RETURNS Example 2
FUNCTION f2(a) RETURNS (b) DEFINE a, b INTEGER … LET b = 10 END FUNCTION # RETURNS b ( = 10)
Web Service Deployment

The WS Deploy utility performs a number of actions
Extracts and copies the service archive to the application server's service repository
Extracts and copies the native interfaces to the user defined location on the system
Notifies the application server to reload the service descriptions (if required)