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