我和岳偷中文字幕电影_迷域行者|HD中文字幕在线播放,麻豆swag,伦理三级电影,论理电影在线

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

業(yè)務(wù)組件是實現(xiàn)多個業(yè)務(wù)功能的,高內(nèi)聚松耦合的業(yè)務(wù)功能模塊單元。業(yè)務(wù)組件是可以進(jìn)行獨立需求分析,設(shè)計,開發(fā),測試和部署的組件管理單元。對于一個完整的業(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ù)識別

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

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

2. 對所有的業(yè)務(wù)交互點識別為潛在的業(yè)務(wù)服務(wù)。

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

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

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

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

a.從頂向下識別

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

b.從下向上識別

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

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

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

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

a.從頂向下識別

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

b.從下向上識別

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

返回上頁