soa示例_SOA示例应用程序
soa示例
SOA描述了一組用于創建松散耦合的,基于標準的,與業務相關的服務的模式,由于描述,實現和綁定之間的關注點分離,因此提供了新的靈活性。 近年來,至少在參與大多數信息技術活動的人們中,面向服務的體系結構術語已經普及。 這種方法建議的指導原則是在不同的可分配系統領域中成功的主要因素。
正如定義清晰易懂一樣,將其實現成一個真實,簡潔,優雅的項目也是如此。
我發布了一個應用程序,該應用程序演示了如何使用EIP(企業集成模式),IoC(控制反轉)以及構建工具和腳本語言(例如Groovy)將SOA的原理應用于一個小型項目。
我分析了一個簡單的業務案例 :一家娛樂提供商,希望根據客戶服務的訂閱向其某些客戶分配獎勵和獎金。
處理過程很簡單:
需要提供RewardsService的實現。 該服務接受客戶帳號和包含渠道訂閱的投資組合作為輸入。客戶狀態團隊目前正在開發EligibilityService,該服務接受帳號作為輸入。
我建立了一個基礎架構來為第一個有意義的功能編寫驗收測試。 這就是可以定義為“行走骨架”的東西。 原型,其基本方面是可以從Github輕松下載后可以構建,部署和測試的原型。
RewardService是由客戶端調用,調用,反過來,whichhowever,在這種情況下沒有實現合格的服務。 由于許多實際場景都希望使用外部服務,因此概念驗證將資格服務指向黑匣子,其中僅請求/響應接口是已知的。
單元測試通過Camel測試框架模擬了模擬終端的資格服務行為。 但是,如果要在本地計算機上運行該應用程序, 我會在一行代碼中設置,這是一種人造的合格服務,該服務僅返回肯定的響應:
def alwaysEligible = {exchange -> if(exchange){exchange.getOut().setBody('CUSTOMER_ELIGIBLE')}} as Processor入口點是基于Apache CXF構建的HTTP Restful接口,可以在配置中的幾行中輕松設置。 Spring通過以下方式初始化CXF:
jaxrs.'server'(id:'restService',address:'http://${http.host}:${http.port}') {jaxrs.'serviceBeans'{ ref(bean:'rewardService')} }服務通過Apache Camel連接。 RewardService僅包含ESB上下文的引用– ProducerTemplate的實例。 這種解決方案允許在鏈接系統和業務服務之間完全隔離。Camel上下文表示SOA的布線,并通過DSL進行配置,如下例所示:
from('direct:rewards').to(eligibilityServiceEndpoint)參考:來自JCG合作伙伴 Giancarlo Frison的SOA示例應用程序 , 通過復雜的博客使事情變得簡單 。
翻譯自: https://www.javacodegeeks.com/2012/04/soa-example-application.html
soa示例
總結
以上是生活随笔為你收集整理的soa示例_SOA示例应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家庭用户怎么安装路由器家庭多层如何装路由
- 下一篇: bird 报表_轻松完成Birt报告