我在今天的面试中被问到这个问题,我申请了一个研究生开发角色,我被问到
在Java ee应用程序中,该应用程序分布在多个层上,即:
Web/Presentation layer
Business layer
integration layer
database layer
在这些层中,web服务最有可能实现
(没有足够的细节,因为我直接被问到这个问题)
我已经搜索了所有地方,但找不到答案
这有点依赖。我倾向于业务层,因为web服务通常与系统的核心功能相关联。然而,它也有可能在集成层中(我假设这意味着DAO、文件传输对象等)。如果它是一个"内部web服务",那么它可以作为一个伪信息代理来访问这里。我不会把它放在数据库层或表示层,因为这两件事与web服务无关。询问web层是一种欺骗那些对MVC/web开发框架没有完全理解的候选人的方式。
嗯,不是web/表示层;我想说的是业务层。这样,多个客户端可以通过使用这些web服务与它进行通信。
在我看来,在大多数情况下,它应该在业务层(提供特定的高级服务,隐藏所有内部工作)。也许您可以考虑在集成层中实现它,但这将取决于服务的目的。
业务层将业务逻辑与其他模块分离,如数据访问层(DAL)和用户界面(UI)。虽然WS可以实现业务逻辑,但它也可以被认为是接口层的p/p>