【发布时间】:2016-07-24 16:08:47
【问题描述】:
首先,如果标题有点误导,我很抱歉,但我找不到更好的词来形容它。
在不久的将来,我将开发一个全新的 Web 应用程序。 Web 应用程序本身不是问题,但我已经知道客户想要什么。今天他们想要一个基本的网站来满足他们的需求,但明天他们也会有智能手机和平板电脑,他们会要求一个移动应用程序。最简单的方法显然是创建一个可以在每个平台上使用的“好的 CSS”(这已经计划好了)。 但是,我认为能够在移动平台(android、apple、windows)上提供原生体验也是一个不错的选择,而这正是我真正不知道的地方。
我并不是真正的移动开发人员,但我很确定我可以将我的应用程序连接到数据库(这是 Web 应用程序使用的数据库)。通过这种方式,我可以重做我在 Web 应用程序上所做的所有事情,并且两者都可以一起工作。它很可能会很好地工作,但这意味着我必须将我的逻辑代码复制到 Web 应用程序和移动应用程序(对于每个平台!)。短期内这是一个大问题:没问题,但很快该项目将无法维护。
我们的想法是在一侧创建所有内容,并在 Web 应用程序/移动应用程序上使用此逻辑。主要的好处是无论我是使用手机还是网页应用,我都会严格调用同一个程序,每个平台的开发也会更容易,因为我们只需要展示和设计。
您可能已经理解了,我的想法是创建一个 Web 服务应用程序。 Web 应用程序将通过 Web 服务请求所有内容,它也适用于移动平台。 但是,我从未在某处见过它,我什至不确定这是一个好主意。你能确认一下吗?
如果这真的是个好主意,我该如何处理用户的身份验证和会话?如果我想使用登录名/密码以外的其他东西进行身份验证(Kerberos、CAS、LDAP、X509 ...),我们可以在“webservices”端处理它吗? 一旦用户验证了他的登录名/密码,我该如何处理对受保护网络服务的请求,即更新用户(我应该在每个请求中使用票证吗?)
你知道一些开源应用程序可以按我的意愿工作,以便我了解他们是如何做到的吗?
谢谢。
【问题讨论】:
标签: web-services architecture software-design