【问题标题】:Webservice behind WebserviceWeb 服务背后的 Web 服务
【发布时间】:2012-11-11 17:47:15
【问题描述】:

我即将为 32 位客户开发一个移动应用程序。它们中的每一个都有自己的一组字段、逻辑和自己的 Web 服务。 (例如,逻辑可以是 - 在页面上打印哪些字段以及何时打印)。除了字段之外,应用程序的其余部分对所有客户都是完全相同的。

我现在可以开发同一个应用程序的 12 个不同版本,每个版本 将设置为特定客户-但这将花费我很多时间,我不确定 这是明智之举。

我开始考虑一种通用模式,它可以让我创建 只有 1 个版本的暴民应用程序。在我的服务器上,我将在每个客户 web 服务和 mob 应用程序之间创建一个业务逻辑层。这意味着 mob 应用程序将调用我的 web 服务 - 我的 web 服务将调用某些客户 web 服务并执行一些逻辑并将所需的数据以稳定格式返回给 mob 应用程序。

这意味着

  1. 移动应用会调用我的网络服务
  2. 我的网络服务将调用客户服务
  3. 客户 web 服务将返回
  4. 我的 web 服务将运行一些逻辑并返回
  5. 移动应用程序获取数据并在屏幕上打印

这意味着它需要更多的运行时间,很多秒。这是最好的方法吗?请建议或提供一些替代实施。

【问题讨论】:

  • 听起来不错,只要您的服务器连接良好。
  • 您是否可以在您的网络服务中缓存一些客户的网络服务数据。这可能有助于减少一些往返行程。

标签: android web-services design-patterns architecture


【解决方案1】:

这种依赖于客户的配置通常由...配置(和一些代码生成)管理。下面介绍几种可能的架构解决方案。

1 第一类静态配置

将所有与客户相关的内容放在一个配置文件(JSON、XML 等)中,并在需要配置 UI 和应用程序的其他静态方面时加载它。当然,在这种情况下,只能管理静态数据(文件名等)。

2 第二种静态配置

将所有依赖于客户的内容放入配置文件(JSON、XML)中,并在安装之前使用它在服务器上生成依赖于客户的应用程序。这种代码生成主要被 Ruby-on-Rails 和其他框架使用。在这种情况下,可以管理服务器端应用程序的所有不同方面。

3 动态配置

将所有依赖于客户的内容放入配置文件(JSON、XML 等)中,加载并使用它来更改应用程序对象在运行时的行为。当然,在这种情况下你的代码必须能够进行相应的处理。

4 静态配置,客户端

将所有与客户相关的内容放在一个配置文件(JSON、XML 等)中,并用于为每个客户生成不同的客户端(移动)应用程序。在这种情况下,所有应用程序的服务器端可以相同,也可以不同。这取决于你。当然,为移动设备生成完整的应用程序需要一个可以以这种方式使用的工作“模板”。

据我所知,解决方案 2 应该最适合您的需求(因为您必须生成 DB 架构、UI 代码和控制器逻辑)。

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 2010-11-09
    相关资源
    最近更新 更多