创建SCA导出
接下来,我们将为每个模块创建SCA导出,以便可以从其他SCA模块调用此模块。
为CreditAgencySCAModule创建导出:
在WebSphere Integration Developer中,打开CreditAgencySCAModule Assembly Editor。在Business Integration视图中展开CreditAgencySCAModule,并双击CreditAgencySCAModule Assembly Editor图标,如下面的图15中所示。
图15. 打开Assembly Editor
要创建导出,请右键单击CreditApproval组件,并选择Export =>SCA Binding(图16)。
图16. 创建具有SCA绑定的SCA导出
将自动为CreditAgency组件创建具有SCA绑定的导出,如图17中所示。
图17. SCA导出
在Assembly Editor中选中此导出的同时查看Properties视图,以检查导出的各个属性。您将会在Details选项卡中看到操作的SCA详细信息,如图18中所示。
图18. SCA导出详细信息
切换到Qualifiers选项卡(图19)。您会发现无法添加任何限定符。这是因为导出将使用其所指向的组件的限定符。
图19. 导出没有限定符
保存并关闭Assembly Editor。
采用类似的方法为CreditHistorySCAModule创建导出:
和前面一样,为CreditHistorySCAModule打开Assembly Editor。
和前面一样,生成具有SCA绑定的导出(图20)。
图20. SCA导出
保存并关闭编辑器。
创建Credit Approval模块
现在我们将创建要通过导入调用其他两个模块的CreditApprovalModule。
首先,创建一个新的SCA模块:
在Business Integration视图中单击右键,然后选择New => Module。
将该模块命名为CreditApprovalSCAModule(图21)。确保选中Use Default,然后单击Finish。
图21. 新建SCA模块
右键单击新创建的CreditApprovalSCAModule,并选择Open Dependency Editor(图 22)。
图 22. 打开Dependency Editor
由于CreditApproval模块将调用其他两个模块,因此需要共享在其间传递的接口和业务对象。请记住,我们要使用库来存储这些接口和业务对象。在Dependency Editor中的Libraries节中选择Add,如图23所示。
图23. 向SCA模块添加库
选择CreditApprovalLibrary,然后单击OK。
现在将创建一个调用组件。出于演示目的,我们将使用基于Java的简单组件;在以后的文章中,我们将展示调用各种组件和模块的BPEL流。
双击CreditApprovalSCAModule Assembly图标,以打开CreditApprovalSCAModule Assembly Editor(图24)。
图24. 打开SCA Assembly Editor
将SCA组件(图25)拖放到Assembly Editor上。
图25. 将SCA组件拖放到Assembly Editor上
单击文本,并键入名称,从而将组件重命名为CreditApproval,如图26中所示。
图26. 更改组件名称
接下来,我们将向该组件添加接口。我们将接口存储在库项目中。
在组件上单击Interface图标(图27的圆圈内),然后从菜单中选择CreditRequest。
图27. 向SCA组件添加接口
单击OK。
我们刚刚创建了一个SCA组件。该组件将通过导入调用其他两个模块。
创建导入
我们已经完成了导出的创建,现在就可以开始创建SCA导入了。我们需要为要调用的每个导出创建一个SCA导入。在我们的示例中,我们将进行以下工作:
·调用CreditAgency和CreditHistory模块。
·更新CreditHistory导入的限定符,以在异步调用组件时正确地处理事务处理行为。
·假定History请求需要花一定的时间进行调用,那么我们将异步发出History请求。
·在请求之后,同步调用CreditAgency模块。
·获取信用分数后,以延迟方式获取History Response。
首先,为CreditAgency调用创建导入:
从面板上将import图标拖放到Assembly Editor上(图28)。
图28. 将导入拖放到Assembly Editor上
单击文本并键入CreditAgencyImport,从而重命名导入,如图29中所示。
图29. 重命名导入
接下来,我们将添加相应的接口。在此情况下,导入的接口必须与CreditAgencySCAModule中对应的导出的导入匹配。
单击Import上方的Interface 图标(图30的圆圈内),然后选择CreditAgency接口。
图30. 向SCA导入添加导入
添加相应的绑定,在此例中,添加SCA绑定:
右键单击导入,并选择Generate Binding=>SCA Binding(图31)。
图31. 向导入添加SCA绑定
在Assembly Editor中突出显示导入,转到Properties视图,并选择Binding部分(图32)。单击Browse。
图32. 浏览导出
选择CreditAgencyExport(图33)。
图33. 选择导出
接下来,我们需要将CreditApproval组件连接到CreditAgencyImport。
在Assembly Editor中选择CreditApproval组件,并将一个wire拖放到CreditAgencyImport。
图34. 将SCA组件连接到SCA导入
在对话框中单击OK,以在CreditApproval组件上创建引用(图35)。(在第2部分中对引用进行了讨论。)
图35. 确认引用创建
保存编辑器,并使其保持为打开状态。下面的图显示了已连接的组件的最终结果。
图36. 已连接的SCA模块
接下来,我们将为CreditHistoryModule创建导入。
和前面一样,将另一个 import 拖放到Assembly Editor并将其命名为CreditHistoryImport。
向导入添加CreditHistory接口,如图37中所示。
图37. 添加Credit History接口
生成SCA绑定,并将CreditApproval连接到CreditHistoryImport。图38显示了最终的结果。
图38. 最终结果
请记住,我们假定Credit History组件的处理时间会稍微长一些,因此首先将触发异步请求以获取History,并在稍后检索响应。在CreditHistory运行的同时,我们将从CreditAgency模块获取Credit Score。然后我们将从CreditHistory捕获响应。我们可以为“服务”使用正确的SCA API来对Credit History模块进行异步调用。在这种情况下,我们希望使用前面描述的延迟响应调用模式。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
如何透过业务和技术看SOA的发展
随着SOA发展的深入,各种SOA相关技术标准也随之发展和完善。面对庞大而复杂的SOA相关技术标准,我们如何来有选择的使用它们呢?
-
SOA架构下补偿模型驱动的安全苛求软件开发
随着我国高速铁路的快速发展,传统的计算机联锁软件开发方法在灵活性、可维护性、安全性以及开发效率上都显露出不足,怎样才能弥补这一不足呢?
-
浅谈基于SOA架构的服务集成技术研究
在近几年软件行业的发展中,面向服务架构(SOA)成为了当下的热门话题。那么对于SOA架构的服务集成你又了解多少?
-
揭秘WebSphere Process Server中SCA组件的事务实现机制
SCA作为一种新的编程模型,自然也需要提供完整的事务支持。所幸的是WPS本身是基于WebSphere Application Server的,所以底层天然就具有了强大的事务处理能力。