我正在尝试构建一个系统,该系统将拥有一个网站和一个将被驱逐出相同数据的iPhone应用程序。我理解如何创建和构建网站,但在添加iPhone应用程序时,我不确定它将如何应用。
我对设计的考虑:
- 使用C#,SQL Server,网站的asp.net(尽可能使用网络服务来获取我的大部分数据)
- 使用Objective-C,x-code等进行iphone app开发
1。)我是否需要为iphone公开网络服务以进行交互?如果是这样,它会被视为来自实际网站的单独的网络应用程序吗?或者网络服务是否会与网站一起构建,然后iphone也会与该网络服务进行交互?
2。)在公开Web服务时,我需要考虑哪些安全性?
3.)建立像这样的系统的任何其他架构建议?也许是使用同一个数据库运行的网站/ iphone应用程序的个人经历。
答案 0 :(得分:4)
是的,你需要公开一个web服务,让应用程序绑定/通话。我建议该服务作为一个单独的站点运行(例如data.yourdomain.com,该站点将在yourdomain.com上运行),该站点也使用该站点的数据。这样,您就可以为“终点”(站点和应用程序)共享相同的架构。
确保您的webservice在每次调用时都使用身份验证令牌(用户名/密码或oauth / etc),这有助于防止对服务/数据库进行任何未经授权的调用。此外,通过有效的HTTPS连接公开您的服务(并且只有https)将阻止嗅探数据以获取密码。
正如我在第1点所述,以这样一种方式构建服务,即“端点”访问它并不重要。这样你应该添加一个Android应用程序或Windows手机应用程序(甚至第二个网站),你不需要提供新的服务。也许将每个应用程序“帐户”绑定到“端点类型”(例如Android / iPhone / WinPhone / WebSite),这将允许您自定义您在需要时返回的数据对象。
答案 1 :(得分:0)
我是否需要公开iphone与之互动的网络服务? 如果是这样,那将被视为实际的单独的Web应用程序 网站?或者网络服务是否会与网站一起构建,然后 iPhone也会与该网络服务互动?
这取决于,如果您需要本机应用程序,那么您将公开该服务,否则您可以开发iPhone Web应用程序
在曝光时,我需要考虑什么,安全性方面 网络服务?
正常的安全性考虑,就像您要为Windows桌面应用程序开发Web服务一样
建立像这样的系统的任何其他架构建议? 也许是做一个运行的网站/ iPhone应用程序的个人经验 离开同一个数据库。
尝试使网络服务尽可能清晰明亮
答案 2 :(得分:0)
首次使用时,只需为所有项目使用一个数据源。使用webservices公开数据库。用户身份验证,用于调用Web服务过程以确保安全性。