免费黄动漫无码在线观看犹物影视|伊人久久综合一本超碰|国产在线精品一区二区三区不卡|国产女主播久久一区二区免费|

SOA服務(wù)識(shí)別的關(guān)鍵方法

SOA團(tuán)隊(duì) 2020-03-16

服務(wù)需求的主要工作是基于SOA的需求分析方法論,以流程和業(yè)務(wù)驅(qū)動(dòng)IT的指導(dǎo)思想,對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)建模,用例建模和業(yè)務(wù)實(shí)體建模,形成企業(yè)級(jí)需求和業(yè)務(wù)功能清單,作為后續(xù)服務(wù)識(shí)別的輸入。

對(duì)于服務(wù)需求,以流程分析為基礎(chǔ),通過流程的逐層分解,細(xì)化出關(guān)鍵的業(yè)務(wù)活動(dòng),將流程活動(dòng)識(shí)別為業(yè)務(wù)用例,并對(duì)業(yè)務(wù)用例進(jìn)行建模。用例建模本身可以作為業(yè)務(wù)系統(tǒng)功能開發(fā)的需求規(guī)格說明書,同時(shí)對(duì)用例分析和功能操作的識(shí)別形成業(yè)務(wù)域-》流程分解-》用例-》業(yè)務(wù)操作的分解過程,用于后續(xù)服務(wù)的識(shí)別。

在整個(gè)分析過程中,流程的關(guān)鍵活動(dòng)或業(yè)務(wù)用例的操作都會(huì)涉及到業(yè)務(wù)實(shí)體對(duì)象,因此需要對(duì)業(yè)務(wù)實(shí)體對(duì)象進(jìn)行單獨(dú)建模,分析實(shí)體對(duì)象的關(guān)鍵屬性和對(duì)象間關(guān)系,同時(shí)分析實(shí)體對(duì)象和業(yè)務(wù)操作間的U/C矩陣,作為后續(xù)公用服務(wù)提取的基礎(chǔ)。

服務(wù)識(shí)別開始于需求分析,終止于識(shí)別出的候選服務(wù)列表。為了有效的實(shí)施SOA工程,應(yīng)用不能孤立于其他應(yīng)用而獨(dú)立開發(fā)。SOA的應(yīng)用應(yīng)該可以共享服務(wù),這些服務(wù)不單單屬于某個(gè)獨(dú)立的應(yīng)用,并且有自己的生命周期,能夠被獨(dú)立的管理。在SOA工程中,為了有效的管理需求,各個(gè)項(xiàng)目必須知道其他已經(jīng)存在的項(xiàng)目、正在開發(fā)的項(xiàng)目以及未來將要開發(fā)的項(xiàng)目需求。所以,與SOA服務(wù)相關(guān)的需求應(yīng)該在企業(yè)級(jí)層面管理。

候選服務(wù)是被識(shí)別出用于系統(tǒng)重用的業(yè)務(wù)功能。一個(gè)候選服務(wù)不一定一對(duì)一的對(duì)應(yīng)到實(shí)際交付的服務(wù),比如,在分析階段,一個(gè)粗粒度的服務(wù)可能對(duì)應(yīng)到需求中兩個(gè)或兩個(gè)以上的初始候選服務(wù)。另一方面,服務(wù)識(shí)別并不是簡單的識(shí)別出候選服務(wù),也包括了一系列的校驗(yàn)和評(píng)估。

1.數(shù)據(jù)服務(wù)識(shí)別

數(shù)據(jù)服務(wù)為以實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)底層數(shù)據(jù)集成為目的,以業(yè)務(wù)實(shí)體為核心的數(shù)據(jù)對(duì)象傳輸為主的SOA服務(wù)。數(shù)據(jù)服務(wù)沒有明確的業(yè)務(wù)規(guī)則和含義。一般服務(wù)消費(fèi)方在消費(fèi)數(shù)據(jù)服務(wù)后都需要將數(shù)據(jù)同步到本地?cái)?shù)據(jù)表,再根據(jù)業(yè)務(wù)系統(tǒng)自身需要對(duì)數(shù)據(jù)服務(wù)進(jìn)行相關(guān)業(yè)務(wù)規(guī)則的封裝和實(shí)現(xiàn)。

a.業(yè)務(wù)實(shí)體確認(rèn)

在業(yè)務(wù)建模和數(shù)據(jù)建模階段,已經(jīng)對(duì)業(yè)務(wù)實(shí)體進(jìn)行了分析,包括業(yè)務(wù)實(shí)體的類型,業(yè)務(wù)實(shí)體和業(yè)務(wù)功能的U/C矩陣分析等。業(yè)務(wù)實(shí)體是識(shí)別數(shù)據(jù)服務(wù)的基礎(chǔ),因此需要對(duì)業(yè)務(wù)建模階段識(shí)別的業(yè)務(wù)實(shí)體進(jìn)行確認(rèn)。業(yè)務(wù)實(shí)體完全是業(yè)務(wù)視角的業(yè)務(wù)對(duì)象,而不是數(shù)據(jù)庫設(shè)計(jì)中的數(shù)據(jù)庫表,如采購訂單業(yè)務(wù)實(shí)體可能涉多層結(jié)構(gòu)和多張數(shù)據(jù)庫表,但是在此處的分析只需要考慮采購訂單業(yè)務(wù)實(shí)體對(duì)象。

b.服務(wù)重用性分析

在業(yè)務(wù)建模構(gòu)建的U/C矩陣的基礎(chǔ)上,可以從兩個(gè)層面分析服務(wù)的重用性。

一個(gè)是跨業(yè)務(wù)系統(tǒng)的服務(wù)重用性,一個(gè)是在一個(gè)業(yè)務(wù)應(yīng)用內(nèi)部業(yè)務(wù)模塊間的服務(wù)可重用性。當(dāng)一個(gè)業(yè)務(wù)主數(shù)據(jù)或一個(gè)核心業(yè)務(wù)單據(jù)需要跨多個(gè)業(yè)務(wù)系統(tǒng)或業(yè)務(wù)模塊使用的時(shí)候,則該業(yè)務(wù)實(shí)體識(shí)別為數(shù)據(jù)服務(wù)是可重用的。

c.服務(wù)實(shí)現(xiàn)方法分析

在服務(wù)實(shí)現(xiàn)的時(shí)候,一方面是考慮服務(wù)的可重用性,一方面是考慮業(yè)務(wù)敏捷要求。對(duì)于數(shù)據(jù)類服務(wù)一般可以實(shí)現(xiàn)為查詢類數(shù)據(jù)服務(wù),也可以實(shí)現(xiàn)為導(dǎo)入類數(shù)據(jù)服務(wù)。

當(dāng)業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)敏捷性和時(shí)效性要求高時(shí)候,優(yōu)先考慮實(shí)現(xiàn)為導(dǎo)入和分發(fā)類服務(wù)滿足業(yè)務(wù)敏捷性的要求。

d.服務(wù)大數(shù)據(jù)量傳輸分析

對(duì)于底層數(shù)據(jù)集成類服務(wù),可能涉及到大數(shù)據(jù)量傳輸,這種數(shù)據(jù)對(duì)實(shí)時(shí)性要求不高,但是任何一個(gè)批次傳輸可能都在10萬級(jí)以上的數(shù)據(jù)量。對(duì)于這種情況要單獨(dú)進(jìn)行分析,分析服務(wù)數(shù)據(jù)量,調(diào)用頻度,數(shù)據(jù)同步機(jī)制等。

對(duì)于大數(shù)據(jù)量傳輸在識(shí)別為數(shù)據(jù)服務(wù)的時(shí)候可以考慮ODI服務(wù),JMS消息,數(shù)據(jù)分頁等多種方式來實(shí)現(xiàn)。

2.業(yè)務(wù)服務(wù)識(shí)別

業(yè)務(wù)服務(wù)是有明確業(yè)務(wù)含義的,含具體業(yè)務(wù)規(guī)則和邏輯的,實(shí)現(xiàn)一個(gè)有價(jià)值的業(yè)務(wù)活動(dòng)的一系列業(yè)務(wù)操作的組合。業(yè)務(wù)服務(wù)具有明顯的高業(yè)務(wù)內(nèi)聚性,粗粒度特征。

a.業(yè)務(wù)組件確認(rèn)

業(yè)務(wù)組件是實(shí)現(xiàn)多個(gè)業(yè)務(wù)功能的,高內(nèi)聚松耦合的業(yè)務(wù)功能模塊單元。業(yè)務(wù)組件是可以進(jìn)行獨(dú)立需求分析,設(shè)計(jì),開發(fā),測試和部署的組件管理單元。對(duì)于一個(gè)完整的業(yè)務(wù)系統(tǒng)或業(yè)務(wù)流程是通過業(yè)務(wù)組件的交互和協(xié)同來完成。業(yè)務(wù)組件之間的交互則通過標(biāo)準(zhǔn)的SOA服務(wù)方式進(jìn)行。即業(yè)務(wù)組件中包含了技術(shù)組件和服務(wù)組件,其中服務(wù)組件暴露業(yè)務(wù)服務(wù)。

b.業(yè)務(wù)服務(wù)識(shí)別

對(duì)于業(yè)務(wù)服務(wù)識(shí)別分為兩個(gè)層面的內(nèi)容。其一是為了實(shí)現(xiàn)跨業(yè)務(wù)組件的業(yè)務(wù)流程分析出來的業(yè)務(wù)組件之間的業(yè)務(wù)交互。其二是在用例建模階段我們對(duì)業(yè)務(wù)操作進(jìn)行了詳細(xì)分析,對(duì)于這些分析整理出業(yè)務(wù)操作清單,對(duì)于業(yè)務(wù)操作清單中的可重用的業(yè)務(wù)操作識(shí)別為關(guān)鍵的業(yè)務(wù)服務(wù)。具體識(shí)別步驟為:

1. 根據(jù)業(yè)務(wù)流程或業(yè)務(wù)用例,繪制相應(yīng)的跨業(yè)務(wù)組件協(xié)作的業(yè)務(wù)交互圖。

2. 對(duì)所有的業(yè)務(wù)交互點(diǎn)識(shí)別為潛在的業(yè)務(wù)服務(wù)。

對(duì)業(yè)務(wù)操作活動(dòng)列表進(jìn)行分析,將可重用的業(yè)務(wù)操作識(shí)別為潛在的業(yè)務(wù)服務(wù)。

3.UI組件服務(wù)識(shí)別

UI組件是可以完成獨(dú)立的業(yè)務(wù)功能的小業(yè)務(wù)應(yīng)用。UI組件可以獨(dú)立進(jìn)行需求分析,設(shè)計(jì),打包,部署和運(yùn)行。UI組件是一種頁面內(nèi)嵌的方式在多個(gè)業(yè)務(wù)系統(tǒng)中運(yùn)行,因此在UI組件復(fù)用的情況下,基本不需要進(jìn)行底層的數(shù)據(jù)集成和同步操作,可以更好的保證數(shù)據(jù)的一致性和時(shí)效性。

對(duì)于UI組件的識(shí)別主要分為兩個(gè)層面進(jìn)行:

a.從頂向下識(shí)別

對(duì)于業(yè)務(wù)系統(tǒng)在構(gòu)建中的業(yè)務(wù)系統(tǒng)和系統(tǒng)需求進(jìn)行分析,在系統(tǒng)需求階段會(huì)進(jìn)行詳細(xì)的功能需求描述和UI界面描述。可以針對(duì)這些需求文檔分析重復(fù)的業(yè)務(wù)功能界面,將其識(shí)別為潛在的UI組件服務(wù)。

b.從下向上識(shí)別

該方法是首先對(duì)業(yè)務(wù)系統(tǒng)中的平臺(tái)化功能模塊進(jìn)行抽象,如工作流管理,系統(tǒng)管理,公共技術(shù)服務(wù)等都是可以進(jìn)行平臺(tái)化的組件功能模塊。

對(duì)于平臺(tái)化的組件功能模塊需要和業(yè)務(wù)系統(tǒng)進(jìn)行界面層的交互,因此對(duì)于這些界面層交互可以由平臺(tái)層提供UI組件服務(wù)內(nèi)嵌到各個(gè)業(yè)務(wù)系統(tǒng)中使用。

4.技術(shù)服務(wù)識(shí)別

技術(shù)服務(wù)是和業(yè)務(wù)無關(guān)的,提供某種技術(shù)能力的服務(wù)。技術(shù)服務(wù)一般包括消息,安全,日志,會(huì)話,規(guī)則,異常,數(shù)據(jù)庫管理等多個(gè)方面的內(nèi)容。對(duì)于技術(shù)服務(wù)的識(shí)別仍然是包括了兩個(gè)層面:

a.從頂向下識(shí)別

在業(yè)務(wù)建模和業(yè)務(wù)系統(tǒng)需求分析過程中,需要關(guān)注業(yè)務(wù)系統(tǒng)非功能性需求的描述,這些非功能需求包括了異常,日志,安全,性能,可靠性,高可用性,可擴(kuò)展性,大數(shù)據(jù)量處理等多個(gè)方面的內(nèi)容。對(duì)于這些非功能需求如果有多個(gè)業(yè)務(wù)系統(tǒng)或模塊提出,則可以考慮抽象識(shí)別為公有的技術(shù)服務(wù)。

b.從下向上識(shí)別

該方法是從平臺(tái)層面進(jìn)行考慮,企業(yè)在業(yè)務(wù)系統(tǒng)建設(shè)過程中一般會(huì)分為產(chǎn)品層和平臺(tái)層,對(duì)于平臺(tái)層又包括了產(chǎn)品平臺(tái)和技術(shù)平臺(tái)。在進(jìn)行平臺(tái)化功能構(gòu)建的過程中,平臺(tái)層需要朝產(chǎn)品層提供能力,這些能力的提供都可以考慮以技術(shù)服務(wù)的方式統(tǒng)一提供。以實(shí)現(xiàn)產(chǎn)品層和平臺(tái)層的集成。

返回上頁