哪些因素可能会经常变化?这些变化的因素是否需要重新Deploy?如果是这样,我们如何建立一个“弹性”的应用,适应这些变化。
经过分析,我们认为credit validation service是一个可能变化的因素:
信用卡验证由各家银行提供,但不是所有的“提供者”都是稳定的。如果信用卡验证服务出现了问题,比如服务端口发生改变,就必须要重新Deploy POProcessing。
所以,我们必须提供一个“稳定”的信用卡验证服务,保证接口的稳定性。为此,我们引入了服务总线。
与OSB集成设计如下:


重要步骤说明:
1. Create Resource from URL:输入validationForCC的WSDL地址。
在EM Console中,找到validationForCC应用,点击Test,可以看到其WSDL入口地址:
http://PMMA-CN.cn.oracle.com:7001/soa-infra/services/default/validationForCC/getStatusByCC?WSDL。

2. 根据导入的Resource,在OSB上创建Credit Service的Proxy Service和Business Service。
在Proxy Service中经过Report记录和Schema验证,直接路由到Business Service。


3. 修改POProcessing中的getCreditCardStatus reference,让其指向OSB中的地址:http://localhost:7001/Credit_Services/ProxyServices/ValidateCredit?WSDL。

Project 下载:LabJ POProcessing.7z validCredit_sbconfig.jar
没有评论:
发表评论