随着越来越多的面向服务的体系结构(SOA)在整个行业中部署,需要在 SOA 的所有组件上强制执行策略和最佳实践。对这些组件的策略实施将有助于确保 SOA 整个生命周期中的互操作性、一致性和可重用性。
SOAtest 为 SOA 架构师提供了创建和管理设计时 SOA 策略的能力。现在,SOAtest“策略”组合了用于 XML 构件(WSDLs、模式和 SOAP)的静态分析策略配置,以及语义和模式验证测试。
SOAtest允许架构师创建一个策略配置,该配置将编码标准工具规则断言与测试断言(如模式有效性和 WS-I 互操作性)相结合。新的 SOA 策略配置接口与 Parasoft 的语言产品中的规则配置非常相似(针对 Java 的 Jtest,针对 C 和 C++ 的 C++test,针对.NET 的 dotTEST)。SOAtest 以在 WS-Policy 上扩展的 XML 格式保存和加载策略。
当完成本教程这个部分时,您的测试套件应类似 SOAtestTutorial.tst
文件中标题为“Design and Development”的测试套件。
执行设计时 SOA 策略
在本例中,我们将使用位于 http://localhost:8080/parabank/services/store-01?wsdl的 WSDL 为书店服务创建 WSDL 测试。
- 右键单击以前练习的项目,然后从快捷菜单中选择 Add New> Test (.tst) File 。
- 为文件输入名称(例如,
Policy Enforcement
),然后单击 Next。 - 选择 SOA> WSDL,然后单击 Next 进入 WSDL 对话框。
- 选择
http://localhost:8080/parabank/services/store-01?wsdl
,该路径来自 WSDL URL 字段。 - 选中 Create Tests to Validate and Enforce Policies on the WSDL 复选框,并确保同时选中了 Create Functional Tests from the WSDL 复选框。
- 单击 Next ,直到进入 Policy Enforcement 对话框。
- 选择 Apply Policy Configuration 多选框。这将创建 WSDL 和功能测试,它们将强制执行在指定策略配置中定义的断言。
默认策略配置soa.policy
是全行业最佳实践的集合。若要使用自定义策略配置,可以使用 Browse 按钮选择一个策略配置,或者在文本字段中输入策略配置路径。有关策略配置的更多详情,请查阅 SOA 策略执行:概要。
- 选择 Apply Policy Configuration 多选框。这将创建 WSDL 和功能测试,它们将强制执行在指定策略配置中定义的断言。
- 点击 Finish 按钮。
- 双击新建的 Test Suite: 将Test Suite 节点添加到测试用例树,然后输入
Policy Configuration
到测试配置面板中的 Name 字段,然后单击 Save 工具栏按钮。 - 展开 Test Suite: Policy Configuration ,然后 Test Suite: WSDL Tests。注意, Test 4: Policy Enforcement 被添加到了 Test Suite: WSDL Tests。
- 展开 Test 4: Policy Enforcement 测试以查看其链接的工具。您将看到两个编码标准工具,一个用于在 WSDLs 上强制执行规则,另一个用于在模式上强制执行规则
- 第一个工具 WSDL> WSDL Policy Enforcer链接到 Test 4 的 WSDL 输出:策略实施测试,从而通过用于规则实施的基本 WSDL 和所有导入的 WSDL。
- 第二个名为 Schema> Schema Enforcer 的编码标准工具链接到 Test 4:策略实施的模式输出,从而传递 WSDL 中引用的用于规则强制的所有模式文件。
- 展开其中一个测试,该测试位于 Test Suite: CartServicePort 节点,并注意,一个名为 Response SOAP Envelope> SOAP Policy Enforcer 引用的编码标准工具已经链接到测试上。
此工具将在此测试客户端接收的消息上应用其包含的策略配置。该工具是对根测试套件下的工具测试套件中的全局工具的引用。
有关全局工具的更多信息,请参见 Global Tools。 - 选择 Test 4: Policy Enforcement Test ,然后单击 Test 工具栏按钮。这将对 WSDL 和模式文件运行策略实施测试。如果发生任何错误,它们将在质量任务视图中报告。
定义自定义 SOA 策略
在前面的练习中,我们使用默认策略配置强制执行策略。对于本例,我们将定义一个自定义 SOA 策略。
- 打开 New 工具栏按钮的下拉菜单(左上角),然后选择 SOA Policy Configuration File。
- 在 Policy name 字段中输入策略名称,然后单击 Finish 按钮。将在 SOAtest 的右侧 GUI 窗格中显示 Policy Configuration 面板,并列出与策略实施规则和 WSDL 测试相对应的断言。
- 在 Policy Configuration 面板中,您可以:
- 通过选择或取消相应的复选框来启用/禁用单个断言。
- 通过右键单击并从快捷菜单中选择 View Rule Documentation 来访问断言的帮助文档。
- 通过单击 Add导入使用 SOAtest 的 RuleWizard 特性设计的自定义规则。
- 单击 Save 将自定义策略保存到默认的 SOAtest 规则文件夹。稍后可以使用您定义的策略配置自动创建测试来执行策略。