In a three-tier client/server design, a middle layer processes the client requests and translates them into data access commands that can be understood by the server. What can this middle layer also be considered?