The application program and database query engine can be local to the user computer, or they can be implemented by so-called ???middleware??? with which the user computer communicates via a computer network, such as a local area network (LAN) or wide area network (WAN).