【问题标题】:Architecture for webservices and androidwebservices和android的架构
【发布时间】:2012-01-04 22:34:28
【问题描述】:

我将开发一个基于 Web 服务(axis2)和 android(客户端)的应用程序。 我现在正在为我的系统规划逻辑架构,我认为它应该类似于 SOA 架构。我已经看到 SOA 架构是基于层的。

那么,对于我的应用程序来说,这将是一个“正确”的逻辑架构吗? (当然有一些变化)

http://geeks.ms/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/unai/DDD_5F00_NLAYER_5F00_ARCHITECTURE_5F00_SMALL_5F00_6ADA95E1.png

Android 代码(活动)会在表示层上吗?

编辑 2014 年 4 月

现在,3 年后有了更多经验...... REST 是最好的 :)

【问题讨论】:

  • 你不能使用 REST 吗?为什么特别选择 Axis2(即 WS-.* 规范约束)?
  • Axis2 是一个约束。但是,REST 如何改变架构?谢谢。

标签: android web-services architecture axis2


【解决方案1】:

警告,这个答案可能根本不是你问题的答案,但无论如何,这是我的想法。

我绝对不是 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,很好,继续。另一方面,如果您要使用不那么简单的安全或身份验证方案,那么在android上使用简单 SOAP支持来完成任务可能只是一场噩梦.在最近的案例中,由于 REST 方法似乎是 android 上的首选理念,您可能会面临在 Axis2 业务 WS 和 android 客户端应用程序之间使用专用于 android 的 REST 代理的决定。

希望对您有所帮助。

【讨论】:

  • 谢谢。我正在使用 ksoap2,但尚未考虑安全性。什么是“简单的身份验证方案”?感谢 Google IO 的链接,我会考虑使用 REST。
  • Rails 提供了一个有趣的安全性guides.rubyonrails.org/security.html,我明天会尝试挖掘更多
  • 我不明白为什么 Axis 2 是一个输入约束,而不是没有安全设计 + 还没有架构……我假设您将 Axis 2 用于具有现有业务模型的特定 WS。
  • 嗯,我是 WS 的新手,Axis2 是我证明的第一个 WS 引擎。制作一个 POJO 并创建 services.xml 非常简单,仅此而已!我在使用 ksoap2 时遇到了更多问题,但我终于让它工作了。谢谢。
【解决方案2】:

也许您甚至可以尝试使用 SOAP。 Android 支持 SOAP Web 服务并提供 ksoap2 库,您可以使用这些库轻松地从服务器发送请求和获取响应。

对于初学者,只需查看this。现在,最新版本的 ksoap 也支持 Object Arrays 的传递。

关于ksoap2的更多信息,我建议阅读this

干杯

一切顺利

【讨论】:

  • 我已经在使用 ksoap2,谢谢。但是我不知道整个系统是如何构成的:表示层、WebServices 层、Domain 层、DAL?这对网络服务是否正确?
  • 这应该可以帮助您理解:stackoverflow.com/questions/3968956/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 2014-10-12
  • 1970-01-01
  • 2012-02-18
  • 2020-03-16
相关资源
最近更新 更多