Publishing Engine Programmer's Guide > The Arbortext Publishing Engine Sub-Process > Writing Arbortext PE Applications in ACL
  
Writing Arbortext PE Applications in ACL
An Arbortext PE Application written in ACL is an ACL subroutine which takes no parameters. The Arbortext PE Request Manager processes requests for ACL applications by passing requests whose f parameters have the value acl to the Request Function com.arbortext.e3.FunctionAcl. The request function allocates an Arbortext PE sub-process and passes the request to the Arbortext PE Application Context The Arbortext PE sub-process Application Context). The Arbortext PE Application context allocates request and response objects, as for a Java application, and stores references to them in global variables. Then it calls the ACL function indicated by the query’s function parameter. The function must have been defined in a .acl file in a custom\init directory or in an .acl file in a custom\scripts directory which is loaded from custom\init. For example, to invoke the ACL function test::abc, the HTTP query would include the parameter function=test::abc.
The ACL Arbortext PE Application is called without any parameters. It obtains request and sets response information by invoking methods in the packages PEAppRequest and PEAppResponse, which access the request and response objects allocated by the Arbortext PE Application Context.
The return value of the ACL Arbortext PE Application function is ignored. Whether it succeeds or produces an error response, everything to be returned to the client must be stored in the response object.
Unlike Java Arbortext PE Applications, ACL applications have no initialization or termination components.