我们一直在使用Web应用程序框架来构建需要能够查询SQL Server数据库并将结果作为XML获取的应用程序。
过去,框架提供了这种能力。但该功能现已弃用。
所以我们在想,框架允许我们通过HTTP轻松查询REST服务,所以为什么不使用SQL Server HTTP端点。但是,我们从SQL Server 2008开始就读到了不推荐使用HTTP端点。不是一个可以为将来设计架构的平台。
Azure(以前的SQL数据服务)将提供类似的服务,但现在只支持TDS协议,而不支持http。因此,在Azure中找不到REST。
建议的替代方法是使用WCF数据服务(以前称为ADO.NET数据服务)开发自定义应用程序。但这意味着需要开发,部署和维护一个完整的附加应用程序,可能是它自己的身份验证设置与SQL Server分开,以及它自己的源代码库...使用我们没有经验的技术,因此有自己的漂亮深度学习曲线。
你能否建议通过REST / HTTP查询SQL Server数据库的任何其他方法,这是不被弃用的,并且会以XML格式返回结果?
谢谢你的帮助。
在这里阅读: 在30分钟内为StackOverflow创建包含XML和JSON的OData API。基本上,前进的道路是由应用层提供REST(WCF驱动提供OData映射的EF)。恕我直言HTTP访问引擎是一个非常糟糕的想法开始,没有人喜欢SQL Server 2005的HTTPEndpoints,他们是误入歧途。无法将HTTP错误模型,安全性,类型系统映射到SQL中,并期望顺利的互操作性。将HTTP层置于专用应用程序中会将处理HTTP生态系统的责任推向专用于该(WCF)的组件,以及将REST模型映射到专用于该作业(EF)的组件中的DB模型的逻辑。
在这里阅读: 在30分钟内为StackOverflow创建包含XML和JSON的OData API。基本上,前进的道路是由应用层提供REST(WCF驱动提供OData映射的EF)。恕我直言HTTP访问引擎是一个非常糟糕的想法开始,没有人喜欢SQL Server 2005的HTTPEndpoints,他们是误入歧途。无法将HTTP错误模型,安全性,类型系统映射到SQL中,并期望顺利的互操作性。将HTTP层置于专用应用程序中会将处理HTTP生态系统的责任推向专用于该(WCF)的组件,以及将REST模型映射到专用于该作业(EF)的组件中的DB模型的逻辑。
听起来你可能已经与MS堆栈结合了,但如果你不是,你可以在MySQL或PostgreSQL之上的Java EE容器(Tomcat,WebLogic等)中使用restSQL。 restSQL有一个带有JSON或XML编码的完整HTTP API。它提供了两个曲折:可更新的复合视图和分层复合视图。该框架可扩展到其他数据库,并且SQL Server的添加在其支持的演进中。查看 http://restsql.org。
另一种选择是类似的 Dreamfactory。它们具有SOAP to REST解决方案,允许您连接到任何数据库或服务。我用过他们的 免费托管解决方案 在过去的项目。他们还提供开源解决方案。关于该服务的一个很酷的事情是他们使用Swagger 3.0在一个不错的前端解决方案中创建服务定义,以便您可以测试和创建新的端点。
我已经使用OpenAPI 3.0定义连接到第三方SOAP和REST服务。它们还支持SQL Server环境中的存储过程和服务器端脚本。
无论如何,对你来说可能是另一种选择。