面向服务的架构和用户界面

3
所以,我正在构建一个新系统,并且认为我需要跟上时代的步伐使用SoA。我有我的网站,然后还有围绕它运作的服务和系统,以本地化服务为例。
这个服务有它自己的服务和API,允许您发出HTTP调用以获取特定语言的文本,这很好,只是AJAX。
但是,如果在网站的管理部分中,我们想公开一个UI来允许本地化服务的编辑/创建等操作,那该怎么办呢?本地化服务在其独立空间中是否应该有一个UI,然后网站可以将其“注入”到其接口中,或者网站是一个“UI服务”,然后仅调用本地化服务的API?
非常感谢!
1个回答

3

使用SOA的目标是创建一个可重复使用、不受限制和标准化服务的清单。这些服务成为企业资产,通过提供灵活性来降低上市时间,最终成为企业的竞争优势。

在SOA中,服务可通过企业服务总线(ESB)或其他类型的中间件进行消费,从而实现服务之间的易转换、编排等功能,并在提供者和消费者之间提供额外的层。重要的一点是,网络服务应尽可能地设计为公开可重复使用的功能。

如果直接嵌入/注入UI,则会引入至少三个问题(还有更多,这些只是我目前能想到的):

  1. 由于它没有充分利用像SOAP或REST这样的已建立标准,所以您创建的服务不能在所有场景中重复使用 - 想象一下未来您必须将其嵌入到Windows窗体应用程序中 - 您将无法轻松完成此操作。

  2. 数据的UI展示必须是消费应用程序的关注点 - 否则您就没有明确的关注点分离 - 这可能会在未来引入许多问题。此外,您没有给予消费者选择的自由。

  3. 您进行点对点集成,这将使应用程序彼此耦合。这种集成往往会导致混乱的架构,难以维护。

希望这可以帮助您。我建议阅读有关该主题的书籍,以确保您正确地执行任务。

祝你好运!


1
非常感谢您的出色回复。我一定会买几本书,并确保我的服务只是业务领域,使它们保持中立。 - James Woodley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接