A DOTGO engine is a web-based application program that accepts input from DOTGO and returns output to DOTGO. You can use engines to create dynamic mobile services, connecting DOTGO to the internet, databases, and other computer-based services. Because an engine is a web-based application program, it can be written in any web programming language (e.g. Perl, PHP, Java, Python, etc.)--the only condition on an engine is that it must accept input in a specified format and must return output in a specified format.
This document describes how to implement DOTGO engines. The document assumes that you have some familiarity with DOTGO and CMRL (obtained, e.g., by reading A Brief Introduction to DOTGO). The document also assumes that you have some familiarity with keywords (obtained, e.g., by reading Keywords in CMRL) and session variables (obtained, e.g., by reading Session Variables in CMRL). The document describes example engines written in Perl, although similar concepts apply for engines written in any other web programming language.