适用于移动应用的Web应用的架构是什么?

nch*_*che 6 architecture mobile n-tier-architecture

我有一个在Apache Wicket(Java EE MVC框架)下运行的Web应用程序.现在它是一个网站.我正在考虑用于构建移动应用程序的架构.移动应用程序将简单地呈现信息并接收用户输入(例如配置文件配置).

我有一个N层架构,其中:

  • DB与当前webapp使用的DB相同.
  • 构建一个业务逻辑层,它将是一个Web服务,它从数据库中公开我需要的所有信息,并处理用户输入.这是服务器端.
  • 一种Web服务,它询问业务逻辑层并通过XML或JSON公开信息
  • UI层基本上是我的移动应用程序(iOS,Android,...).这些通过Web服务将查询发送到业务层.查询返回要显示的数据或发送UI信息.

我当时认为Web服务层可以为网站和移动应用程序提供服务.

这种架构有意义吗?如果是的话,我的上一个建议是否已经破坏了MVC结构?

Dan*_*iuc 1

我不会费心重写现有的网络应用程序,这可能不值得付出努力。

不过,你的直觉(恕我直言)是正确的。服务器端 HTML 模板作为某些 MVC 服务器端 Web 架构的一部分,根本不太适合 Web,尤其不太适合移动 Web 应用程序。

对于你的移动网站,彻底放弃这个想法。在服务器上使用 JSON 公开一些仅返回数据(无 UI)的 Web 服务,并让您的移动应用程序完成所有 UI 和 Web 工作。如果您愿意的话,您甚至可以在 JavaScript 中使用 MVC 风格的架构。