我打算开发一个基于网络服务 (axis2) 和 android(客户端)的应用程序。 我现在正在为我的系统规划逻辑架构,我想它应该像一个 SOA 架构。我已经看到 SOA 架构是基于层的。
那么,这对我的应用程序来说是一个“正确”的逻辑架构吗? (当然有一些变化)
Android 代码( Activity )会在表示层上吗?
编辑 2014 年 4 月
现在,3 年后有了更多的经验......REST 是最好的:)
最佳答案
警告,这个答案可能根本不是你问题的答案,但无论如何,这是我的想法。
我绝对不是 SOA 专家,但由于 SOA 可以用 REST 实现,它不应该对 SOA 架构产生任何影响。 Android 是 REST 就绪的(参见 that Google IO 2010 session on REST )并且在 android 上只有很少的 SOAP 支持(afaik,但我可能是错的)。
在某些时候,您必须评估互操作的可行性。在您的 Axis WS-* 与任何现有的 android SOAP 支持(例如众所周知的 ksoap2 project)之间。结果可能会对您的架构设计产生影响。
这里的要点是:如果您确实使用 Rampart 来使用 WS-Security,例如,在 Axis2 之上,在我看来,ksoap 几乎不可能(在技术上)与您的服务提供商进行交互。一方面,如果服务很简单并且可以与 ksoap2 绑定(bind),那很好,继续。另一方面,如果您使用不那么简单的安全或身份验证方案,那么使用 android 上的简单 SOAP 支持来完成任务可能只是一场噩梦.在最近的案例中,由于 REST 方法似乎是 android 上的首选理念,您可能会面临在 Axis2 业务 WS 和 android 客户端应用程序之间拥有专用于 android 的 REST 代理的决定。
希望对您有所帮助。
关于android - Web 服务和 Android 的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245502/