签订第一份 SOA 和 WCF 合同
Contract First SOA and WCF Contracts
我有一个简单的问题。我正在使用 WCF 创建 Web 服务。我已经创建了所有服务而没有填充操作体。现在我有了从服务合同自动生成的 wsdl 文件。如果我稍后对操作实现进行编码,这种方法是否 "Contract First"?
是的,因为您正在定义您与首先使用您的 API 的任何人之间的合同。通常(但不总是) contract/API 是通过接口定义的。
编辑:正如 Namphibian 在评论中所说,如果您首先构建 Web 服务契约,那么您会希望首先定义您的 WSDL 并从那里生成代码。我的回答假设您想先开发一个 .NET API 合同,然后您打算将其作为 Web 服务公开。
第二次编辑:我想补充一点,SOA 原则本身与 Web 服务无关。您可以构建仅通过其编码 API.
公开的服务
这不太正确。您首先模拟合同,但您仍然依赖 .Net 框架来生成 WSDL。在约定 first/WSDL 优先编码(自上而下)方法中,您使用 XML Spy 等工具编写 WSDL 文件。然后从 WSDL 生成代码。在您的方法中,您正在从接口创建 WSDL。
使用接口是进行此类开发的最成功方法,但是您仍然是先编写代码。让我用一个例子来阐明这一点。通常在 SOA 架构中,开发人员遵循 WSDL 优先的方法。在 WSDL 优先方法中,您通常会提交 WSDL 文件以供贵公司的 SOA 治理机构审查。然后将根据 SOA 治理策略对该 WSDL 进行衡量,看它是否适合。只有获得批准后,才会生成代码工件。
你所做的并没有错,但这不是契约优先的方法。
我有一个简单的问题。我正在使用 WCF 创建 Web 服务。我已经创建了所有服务而没有填充操作体。现在我有了从服务合同自动生成的 wsdl 文件。如果我稍后对操作实现进行编码,这种方法是否 "Contract First"?
是的,因为您正在定义您与首先使用您的 API 的任何人之间的合同。通常(但不总是) contract/API 是通过接口定义的。
编辑:正如 Namphibian 在评论中所说,如果您首先构建 Web 服务契约,那么您会希望首先定义您的 WSDL 并从那里生成代码。我的回答假设您想先开发一个 .NET API 合同,然后您打算将其作为 Web 服务公开。
第二次编辑:我想补充一点,SOA 原则本身与 Web 服务无关。您可以构建仅通过其编码 API.
公开的服务这不太正确。您首先模拟合同,但您仍然依赖 .Net 框架来生成 WSDL。在约定 first/WSDL 优先编码(自上而下)方法中,您使用 XML Spy 等工具编写 WSDL 文件。然后从 WSDL 生成代码。在您的方法中,您正在从接口创建 WSDL。
使用接口是进行此类开发的最成功方法,但是您仍然是先编写代码。让我用一个例子来阐明这一点。通常在 SOA 架构中,开发人员遵循 WSDL 优先的方法。在 WSDL 优先方法中,您通常会提交 WSDL 文件以供贵公司的 SOA 治理机构审查。然后将根据 SOA 治理策略对该 WSDL 进行衡量,看它是否适合。只有获得批准后,才会生成代码工件。
你所做的并没有错,但这不是契约优先的方法。