- 相關(guān)推薦
SOA專業(yè)面試試題
面向服務(wù)的體系結(jié)構(gòu),是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。下面是小編精心整理的SOA專業(yè)面試試題,歡迎大家分享。
SOA專業(yè)面試試題
1、介紹一下你對SOA的認(rèn)識
這個問題可以從WHY SOA和SOA面臨的挑戰(zhàn)入手回答
1. WHY SOA? SOA的好處在哪里?
減低IT成本:重用現(xiàn)有的系統(tǒng),而且SOA系統(tǒng)本身也可以被后來的應(yīng)用重用; 減少維護(hù)費(fèi)用,對現(xiàn)有系統(tǒng)造成很少的改動。
增加IT收入:快速的適應(yīng)新的需求,快速的實(shí)現(xiàn),提高性能,實(shí)現(xiàn)云計(jì)算 如 Google, Amazon等等
2. SOA面臨的挑戰(zhàn)有哪些?
更多的系統(tǒng)參與到SOA中,更多的人參與到SOA中,需要更多的交流溝通
在安全控制方面特別是在EAI(enterprise application integration)的MOM(Message Oriented Middleware)中的安全控制更加復(fù)雜
需要更高更新的技術(shù)參與進(jìn)來,需要更多的有經(jīng)驗(yàn)的人員。
2、什么是ESB?請介紹一下ESB?
ESB的全稱是Enterprise Service Bus (企業(yè)服務(wù)總線)。它是一個ielinghuode用于集成各種企業(yè)應(yīng)用即服務(wù)的連接基礎(chǔ)架構(gòu),企業(yè)服務(wù)總線能夠通過簡化企業(yè)應(yīng)用及服務(wù)之間的鏈接數(shù)量,接口大小以及接口復(fù)雜度使企業(yè)的面向服務(wù)體系SOA更加強(qiáng)大。
Enterprise Service Bus 主要提供一下幾方面的功能:
1. 在服務(wù)于服務(wù)之間或者應(yīng)用于應(yīng)用之間路由消息;
2. 在服務(wù)請求者與服務(wù)提供者之間轉(zhuǎn)換傳輸協(xié)議;
3. 在服務(wù)請求者與服務(wù)提供者之間轉(zhuǎn)換消息格式;
4. 處理來自于各種已購源的業(yè)務(wù)事件;
企業(yè)服務(wù)總線使企業(yè)可以更主要的關(guān)于企業(yè)的核心業(yè)務(wù)而不用在關(guān)注與連接各種應(yīng)用的IT基礎(chǔ)架構(gòu),它還可以讓企業(yè)在增加新的服務(wù)及對已有服務(wù)進(jìn)行修改時,可以對原有系統(tǒng)及服務(wù)不產(chǎn)生影響或者只有微小的影響。
3、WSDL的操作類型主要有幾種
request-response類型是最常見的操作類型,但是WSDL總共有四種操作類型。
Type:定義
One-way:這個操作會接受消息但是不會返回一個響應(yīng)
Request-response: 這個操作會接受一個請求而且返回一個響應(yīng)
Solicit-response: 這個操作會發(fā)送一個請求然后等待響應(yīng)
Notification: 這個操作會發(fā)送一個消息而且不等待響應(yīng)。
4、如何在SOA中實(shí)現(xiàn)松耦合
實(shí)現(xiàn)松耦合的一個策略是使用service interface(如果是SOAP web service的話就是指WSDL)來限制它的依賴性, 對消費(fèi)者隱藏服務(wù)的實(shí)現(xiàn)。 實(shí)現(xiàn)松耦合需要更好的包裝服務(wù)和功能以降低對service接口的改變。
5、如何定義一個可復(fù)用的服務(wù)
可復(fù)用的服務(wù)是一個自主的, 可復(fù)用的, 顯式的,無狀態(tài)的功能。它擁有一定的粒度,可是是一個組合應(yīng)用和組合服務(wù)的一部分。
可復(fù)用的服務(wù)必須由服務(wù)規(guī)范(Service Specifications)描述的業(yè)務(wù)活動所認(rèn)可。
一個服務(wù)的約束,包括安全, QoS, SLA, 使用策略可能被多個運(yùn)行時契約(Contracts), 多個接口(SOAP web service的WSDL)和多種實(shí)現(xiàn)(代碼)所定義。
一個可復(fù)用的服務(wù)需在它的整個生命周期的管理都需要時企業(yè)級的。在設(shè)計(jì)時一直到運(yùn)行時,它的重用都需要通過規(guī)定的流程來保證,而且重用也是需要評估的。
SOA面試題
1. 什么是SOA的服務(wù)?
在現(xiàn)實(shí)世界中,服務(wù)是一種我們花費(fèi)購買到的一種預(yù)期的服務(wù)。
例1 (來自真實(shí)世界) :你去餐館訂餐,您的訂單首先進(jìn)入到柜臺,然后在廚房進(jìn)行食物準(zhǔn)備,最后服務(wù)員提供的食物。因此,為了實(shí)現(xiàn)一個餐廳訂購服務(wù),您需要三個邏輯部門/服務(wù)協(xié)同工作(計(jì)帳,廚房和服務(wù)員)。在軟件世界同樣的方法稱為業(yè)務(wù)服務(wù)。
例2 (軟件世界) :你去亞馬遜訂購了一本書,有不同的服務(wù),如支付網(wǎng)關(guān),庫存系統(tǒng),貨運(yùn)系統(tǒng)等共同完成一本書的訂購。
所有的服務(wù)是自包含的,合乎邏輯。他們就像黑盒子?傊覀儾⒉恍枰私鈽I(yè)務(wù)服務(wù)的內(nèi)部工作細(xì)節(jié)。對于外部世界,它只是一個能夠使用消息交互的黑盒子。例如在“支付網(wǎng)關(guān)”業(yè)務(wù)服務(wù)獲得消息“檢查信貸”后會給出輸出:這個客戶的信貸有或沒有。對于“訂單系統(tǒng)”,“支付網(wǎng)關(guān)”的服務(wù)是一個黑盒子。
2.服務(wù)的主要特點(diǎn)是什么?
以下是服務(wù)的SOA的主要特點(diǎn):
A) SOA組件是松耦合的。當(dāng)我們說松耦合,這意味著每一個服務(wù)是自包含單獨(dú)存在的邏輯。舉例來說,我們采取了“支付網(wǎng)關(guān)”的服務(wù),并將它附加到不同的系統(tǒng)。
B) SOA服務(wù)是黑匣子。在SOA中,服務(wù)隱藏有內(nèi)在的復(fù)雜性。他們只使用交互消息,服務(wù)接受和發(fā)送消息。通過虛擬化一個服務(wù)為黑盒子,服務(wù)變得更松散的耦合。
C) SOA服務(wù)應(yīng)該是自定義: SOA服務(wù)應(yīng)該能夠自己定義。
D) SOA服務(wù)維持在一個列表中: SOA服務(wù)保持在一個中央存儲庫。應(yīng)用程序可以在中央存儲庫中搜索服務(wù),并調(diào)用相應(yīng)服務(wù)。
E) SOA服務(wù)可以編排和鏈接實(shí)現(xiàn)一個特定功能: SOA服務(wù)可以使用了即插即用的方式。例如,“業(yè)務(wù)流程”中有兩個服務(wù)“安全服務(wù)”和“訂單處理服務(wù)” 。從它的業(yè)務(wù)流程可以實(shí)現(xiàn)兩種類型:一,您可以先檢查用戶,然后處理訂單,或反之亦然。是的,你猜對了,使用SOA可以松散耦合的方式管理服務(wù)之間的工作流。
3.什么是SOA?
SOA代表了面向服務(wù)的架構(gòu)。 SOA是一種使用松耦合的黑盒子服務(wù)構(gòu)建業(yè)務(wù)應(yīng)用的體系架構(gòu),這些服務(wù)可以通過編排連接在一起以實(shí)現(xiàn)特定的功能。
4.什么是合同,地址和綁定?
這是三個SOA的標(biāo)準(zhǔn)術(shù)語。每個服務(wù)都必須公開一個或多個端點(diǎn),以便讓該服務(wù)提供給客戶端調(diào)用。
合同是兩方或多方之間的協(xié)議。它定義了一種客戶端如何與服務(wù)通信的協(xié)議。從技術(shù)上講,它有描述參數(shù)和返回值的方法。
地址表明在哪兒能找到這種服務(wù)。地址是一個URL,它指向服務(wù)的位置。
綁定是決定這個端點(diǎn)如何可以訪問。它決定了如何完成通信。例如,你暴露你的服務(wù),可以使用SOAP over HTTP或通過TCP的BINARY進(jìn)行訪問。因此,對于這些通信介質(zhì)將被創(chuàng)建兩個綁定。
5. 什么Web服務(wù)的SOA?
SOA是一種思想,它是一個架構(gòu)理念,Web服務(wù)是完成它的技術(shù)方法。 Web服務(wù)是實(shí)現(xiàn)SOA首選的標(biāo)準(zhǔn)。在SOA中,我們需要的服務(wù)是松耦合的。 Web服務(wù)進(jìn)行通信使用的SOAP協(xié)議是基于XML的,這是非常松散的耦合。它回答了什么是服務(wù)的一部分。 SOA服務(wù)應(yīng)該能夠來形容自己。 WSDL描述了我們?nèi)绾慰梢栽L問該服務(wù)。 SOA服務(wù)都位于一個目錄: UDDI的描述,從那里我們可以得到Web服務(wù)。這其實(shí)是SOA注冊表的實(shí)現(xiàn)。
6. 什么是SOA的主要好處?
SOA有助于建立IT和業(yè)務(wù)線之間的無縫對接,通過產(chǎn)生更多的 IT靈活性,以支持更大的業(yè)務(wù)靈活性。您的業(yè)務(wù)流程變化越來越快以及全球劇烈競爭需要SOA能夠提供高的靈活性。 SOA能夠幫助您更好地重用現(xiàn)有的IT投資和服務(wù)。 SOA通過定義服務(wù)之間良好接口更易于集成。 SOA還提供了業(yè)務(wù)伙伴,客戶和供應(yīng)商的服務(wù)集成到一個企業(yè)的業(yè)務(wù)流程體系結(jié)構(gòu)模型中。這降低了成本,提高了客戶滿意度。
7. 什么是可重用的服務(wù)?
服務(wù)是一個自主的,可重復(fù)使用的,可發(fā)現(xiàn)的,無狀態(tài)的,有一定粒度的功能,并且是一個復(fù)合應(yīng)用程序或一個組合服務(wù)的一部分。
可重復(fù)使用的服務(wù)通過業(yè)務(wù)活動標(biāo)識,這個業(yè)務(wù)活動是使用服務(wù)規(guī)范(設(shè)計(jì)時合同)描述的。
一個服務(wù)約束是,包括安全性,QoS,SLA,使用策略,可以由多個運(yùn)行時的合同 多個接口(WSDL中的Web服務(wù))以及多個實(shí)現(xiàn)(代碼)定義的。
可重復(fù)使用的服務(wù)應(yīng)在被管制在其從設(shè)計(jì)到運(yùn)行整個企業(yè)級生命周期。其重用應(yīng)通過規(guī)范流程來推動,重用應(yīng)該是可測量的。
8.談?wù)勱P(guān)于服務(wù)的標(biāo)識,自頂向下 top-down和自底向上bottom-up 的兩個方法之間是如何鼓勵重用和維護(hù)?
自頂向下的方法是業(yè)務(wù)驅(qū)動的,可以在不同計(jì)劃上分離業(yè)務(wù)和IT的不同關(guān)注,提供兩者之間一個共同的基礎(chǔ)。因此,在大多數(shù)情況下,如果你想提高重用和中期/長期的投資回報率,可以采取這種方法。
【SOA專業(yè)面試試題】相關(guān)文章:
社工面試面試試題及答案08-04
樂事面試題11-05
硅谷面試題精選02-03
金山的面試題目04-13
那些最經(jīng)典的面試題08-20
面試試題設(shè)計(jì)原則08-18
護(hù)士面試的面試試題及參考答案07-03
德國公司經(jīng)典面試題11-10
針對銷售壓力的面試試題03-28