結合經驗淺談SOA的剖析(三)

企業範圍級的進程常常會進化--進程與進程之間一樣會進行交互
 
業務進程
 
今天的IT系統大部分都是記錄保存(record-keeping)的系統。在過去的很長時間裏(大概有30年吧),IT界已經獲取了接近以千兆爲單位的數據,而這些數據都保存在各自不一樣的應用和不少不少不一樣的數據庫(一般都是私有財產)中。今天IT界所普遍使用的方法,技術以及注意力都繼續關注在數據的獲取和存取上。
 
業務的定義取決於動態的進程,這些進程會隨着業務行爲而不斷的擴大,收縮和改變。由於進程很難去正式化和自動化,因此長久以來它們都是IT界的二等公民。在大多數的IT系統中,只有最基本的,起策劃做用的進程纔會合併在一塊兒。相反的,各類各樣的業務進程倒是管理所關注的焦點。
 
在以數據爲中心的IT範例中,業務人員不可能獲取所需的信息來進行價格競爭,質量競爭,速度競爭和服務競爭。他們須要的是可執行的信息和知識。那些想提升它們的效率和競爭能力的公司必須創造並控制進程,而不是數據或者應用,由於進程纔是基於計算機的自動化和支持的最基本單元。它們必須得把焦點從記錄轉移到進程上面來,進程處理必須代替數據處理。
 
一個業務進程是一整套的活動,這套活動爲了實現某個目標而按前後次序開展的。每一步都包含着相關的行爲(這些行爲是在這一步中開展的)和業務規則(這些規則定義瞭如何過渡到下一步)。
 
根據Workflow的管理聯合術語學和術語表(Workflow Management Coalition Terminology and Glossary),一個業務進程其實:
  • 每每是和目的和業務關係關聯在一塊兒的,例如一個保險索賠進程。
  • 每每定義了每一個進程實例(例如索賠的提出)的觸發條件(初始化),也定義了該進程結束的輸出。
  • 可能包含參與者之間正式或者相對非正式的交互,其交互持續時間能夠變化很是大。
  • 進程能夠在一個更高級的業務進程中做爲子進程而使用。
企業範圍級的進程常常會進化--進程與進程之間一樣會進行交互。它們改變的速率每每快到令應用和開發人員沒法跟的上。惟一可行的解決辦法就是:
  • 使進程外部化,把它們從應用中抽離出來,並提供一些工具來使進程的設計,實現和改變簡單化。
  • 以服務的形式來設計應用,讓它們在端到端的進程中起一個重要做用,並讓它們能夠存取進程所需的外部數據。
經過這種辦法,業務進程就可以在進程之間進行交互,並可以協調好服務與服務之間的行爲,而這些行爲是與進程的全局目標有着必然的關係的。
 
若是用塵歸塵,土歸土的處理方式(case by case,application by application)來解決這些進程相關的問題,並不比純粹建立更多單獨的自動化和記錄保存的作法作多多少活。解決辦法其實就是把遠景轉移到端到端的進程,並使其成爲EA的核心,就像下圖所示。
 
轉變到這個架構上須要對應用的從新思考,從全部的實體構成到服務,而這些服務是被業務進程用以整合和協奏來支持其所需的功能的。
 
下轉「結合經驗淺談SOA的剖析(四)」
相關文章
相關標籤/搜索