中间件和服务器,它们在IT架构中扮演的角色有何不同?