使用 SOAP Web 服务从 SQL Server 2008 数据库获取数据

Using SOAP web services to get data from SQL Server 2008 database

我是 SOAP 和 Web 服务的新手(2 天经验)。

我使用 Bonita Open Solution 作为 BPMS,其中我有一个 'WebServer SOAP 1.2' 连接器。我需要使用 SOAP 获取和写入数据 from/into 数据库。我不想使用基于 JDBC 的 'SQL Server' 连接器,因为系统将紧密耦合。

在 SQL Server 2008 中是否已经实现了 SOAP Web 服务来执行此操作,还是我应该开发自己的服务?如果我应该自己开发,我猜最好的方法是使用 ASP.NET,对吗?

即使已弃用,Sql Server 2008 也具有本机 SOAP Web 服务(参见 Native XML Web Services: Deprecated in SQL Server 2008)。

您需要平衡 Sql 服务器升级的风险与开发(和维护)自定义服务的成本。

在您做任何事情之前,您需要准确决定 BPMS 系统需要哪些数据以及它需要哪些访问权限。例如,它可能需要对某些数据进行读取访问,但对其他数据进行读写。您的服务应该只公开实际 需要 的数据和操作,仅此而已。

您的数据非常宝贵 - 不要公开不必要的数据。

我建议您在数据库优先模式下使用 Entity Framework,但只将所需的 table 添加到模型中。然后,通过删除不需要的列、简化关系等来简化模型。因此,您公开了一个对消费者有意义的数据概念模型,而不是必须公开数据库的每个实现细节(您是否例如,真的需要公开每个路口 table?)

然后编写一个使用 Entity Framework 来完成数据访问的艰巨工作的 WCF 服务就非常简单了。