1)Windows Communication Foundation(WCF) 2)ASP.NET Web服务 3)ADO.NET数据服务
因为我不熟悉这三种技术中的任何一种,所以我必须深入学习(希望只有)其中一种 - 问题是:哪一种?
或者更准确地说:哪一个适用于以下任务?
需要将数据从客户端上传到服务器/数据库,并下载其他一些数据。在客户端,这不会通过在浏览器中工作的用户进行交互式操作,而是作为客户端上的自动进程运行,周期性地运行(例如每2小时)。
a)Web服务器端将有:
SQL Server数据库 .NET Framework 3.5 SP1 表示数据库结构并使用ADO.NET Entity Framework建模的类库 (一个ASP.NET Web应用程序,它将在浏览器中呈现数据库中的数据:我在这里加上括号,因为这个Web应用程序并不重要,因为所提到的数据上传/下载不会通过浏览器GUI触发。)
b)客户端方面不太清楚,必须更加灵活。在这里,我必须区分两个要求:
i)优先级一(就我可用于开发的时间而言):
客户端在我的控制下,这意味着:客户端上有任何Windows操作系统,我可以安装.NET Framework,并且我可以决定开发Windows服务、控制台应用程序、Windows窗体应用程序或其他应用程序。我对上述提到的类库也有了解和访问权限。
ii)较低的优先级,但必须是未来的选择:
我需要公开任何类型的接口描述,以允许其他开发人员构建自己的应用程序来上传/下载数据。 其他人将为其开发的客户端可以使用任何类型的操作系统(Windows、UNIX、MacOS等)。此外,他们应该尽可能自由地选择自己喜欢的编程语言。
由于最后一点强制开发人员在客户端上使用.NET Framework不是一个选项。客户端上的通信必须是任何一种“标准”技术,可从各种平台和语言访问。在我的小研究中,我读到了诸如“SOAP”、“REST”或“AtomPub”之类的术语,这些似乎是某种标准协议或通信技术(而不是专有的Microsoft发明)。但我不确定,也不知道哪种技术是“最新的”,有“最好的未来”,是最常见和最为人所知的,最强大或最易于使用(从其他可能的开发人员的角度来看!因此问题是我必须支持什么才能让大多数客户端开发人员感到满意)。
最后一个要点:安全性很重要!上传/下载数据必须限制为专门的人员使用。没有合适的凭证,不应该使用或探索界面。
现在使用哪种技术最好?(1)、(2)还是(3)?您为什么会推荐它?
非常感谢您提前的任何建议!