建立一个完整的Web服务,网站和iPhone应用程序

时间:2012-06-26 07:00:25

标签: c# iphone asp.net web-services architecture

我正在尝试构建一个系统,该系统将拥有一个网站和一个将被驱逐出相同数据的iPhone应用程序。我理解如何创建和构建网站,但在添加iPhone应用程序时,我不确定它将如何应用。

我对设计的考虑:

- 使用C#,SQL Server,网站的asp.net(尽可能使用网络服务来获取我的大部分数据)

- 使用Objective-C,x-code等进行iphone app开发

1。)我是否需要为iphone公开网络服务以进行交互?如果是这样,它会被视为来自实际网站的单独的网络应用程序吗?或者网络服务是否会与网站一起构建,然后iphone也会与该网络服务进行交互?

2。)在公开Web服务时,我需要考虑哪些安全性?

3.)建立像这样的系统的任何其他架构建议?也许是使用同一个数据库运行的网站/ iphone应用程序的个人经历。

3 个答案:

答案 0 :(得分:4)

  1. 是的,你需要公开一个web服务,让应用程序绑定/通话。我建议该服务作为一个单独的站点运行(例如data.yourdomain.com,该站点将在yourdomain.com上运行),该站点也使用该站点的数据。这样,您就可以为“终点”(站点和应用程序)共享相同的架构。

  2. 确保您的webservice在每次调用时都使用身份验证令牌(用户名/密码或oauth / etc),这有助于防止对服务/数据库进行任何未经授权的调用。此外,通过有效的HTTPS连接公开您的服务(并且只有https)将阻止嗅探数据以获取密码。

  3. 正如我在第1点所述,以这样一种方式构建服务,即“端点”访问它并不重要。这样你应该添加一个Android应用程序或Windows手机应用程序(甚至第二个网站),你不需要提供新的服务。也许将每个应用程序“帐户”绑定到“端点类型”(例如Android / iPhone / WinPhone / WebSite),这将允许您自定义您在需要时返回的数据对象。

答案 1 :(得分:0)

  

我是否需要公开iphone与之互动的网络服务?   如果是这样,那将被视为实际的单独的Web应用程序   网站?或者网络服务是否会与网站一起构建,然后   iPhone也会与该网络服务互动?

这取决于,如果您需要本机应用程序,那么您将公开该服务,否则您可以开发iPhone Web应用程序

  

在曝光时,我需要考虑什么,安全性方面   网络服务?

正常的安全性考虑,就像您要为Windows桌面应用程序开发Web服务一样

  

建立像这样的系统的任何其他架构建议?   也许是做一个运行的网站/ iPhone应用程序的个人经验   离开同一个数据库。

尝试使网络服务尽可能清晰明亮

答案 2 :(得分:0)

首次使用时,只需为所有项目使用一个数据源。使用webservices公开数据库。用户身份验证,用于调用Web服务过程以确保安全性。