Webservice背后的Web服务

时间:2012-11-23 11:03:05

标签: android web-services design-patterns architecture

我即将为32位客户开发移动应用程序。他们每个人都有自己的字段,逻辑和自己的web服务。 (逻辑可以是 - 例如 - 在页面上打印什么字段以及何时打印)。除了字段之外,其他应用程序对所有客户都是完全相同的。

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

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

这意味着

  1. 移动应用程序将调用我的webservice
  2. 我的网络服务将致电客户服务
  3. 客户网络服务将返回
  4. 我的webservice将运行一些逻辑并返回
  5. 移动应用获取数据并在屏幕上打印
  6. 这意味着需要更多的运行时间,很多秒。这是最好的方式吗?请建议或提供一些替代实施。

1 个答案:

答案 0 :(得分:0)

这种依赖客户的配置通常由......配置(以及一些代码生成)管理。以下是一些可能的架构解决方案。

1第一种类型的静态配置

将所有依赖客户的内容放入配置文件(JSON,XML,无论如何)中,并在需要时加载它以配置应用程序的UI和其他静态方面。当然,在这种情况下,只能管理静态数据(字段名称等)。

2第二种类型的静态配置

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

3动态配置

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

4静态配置,客户端

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

只要我能看到,解决方案2应该最适合您的需求(因为您必须生成数据库架构,UI代码和控制器逻辑)。