所以,我正在建立一个新的系统,并认为我需要与时俱进并使用SoA。我有自己的网站,然后有可以帮助网站工作的服务和系统,让我们以本地化服务为例。
这有它的服务和API,允许你进行HTTP调用以获取特定语言的文本,这很有效,它只是AJAX。
但是,如果在网站的管理部分中我们想要向本地化服务公开UI以允许编辑/创建新文本等。它的孤岛中的本地化服务是否有一个UI,网站可以“注入”它的界面,或者网站是“UI服务”,然后单独调用本地化服务的API?
非常感谢!
答案 0 :(得分:2)
使用SOA,您的目标是创建可重用,不可知,标准化服务的清单。这些服务成为企业资产 - 通过提供灵活性并最终成为企业的竞争优势,缩短产品上市时间。
在SOA中,可以通过企业服务总线(ESB)或其他类型的中间件来使用服务,这些中间件可以实现服务之间的轻松转换,支持编排,在提供者和消费者之间提供额外的层等。重点是Web服务应设计为尽可能地公开可重用的功能。
如果您直接嵌入/注入用户界面,那么您至少会引入三个问题(还有更多,这些只是目前最重要的问题):
您在所有情况下创建的服务将无法重复使用,因为它没有充分利用SOAP或REST等既定标准 - 想象您必须将其嵌入到Windows将来形成应用程序 - 您无法轻松完成此任务。
数据的UI呈现必须是消费应用程序的关注 - 否则您没有明确的关注点分离 - 这可能会在将来引入一些问题。此外,你并没有给予消费者选择的自由。
您执行点对点集成,将应用程序相互耦合。这种整合往往会导致混乱的架构成为维护的噩梦。
我希望这会对你有所帮助。我建议您阅读a book on the subject,以确保您做得好。
祝你好运!