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