BPM
迷您課程第1回 |
現代當 BPM 遇上 SOA |
原文刊載iThome電腦報/212期 2005/1014 |
21世紀企業IT部門的艱鉅新任務
|
現今企業的IT部門正被期望著肩負起繼ERP之後更重要的任務,就是協助企業成為具有快速應變能力的流程企業。面對21世紀全球競爭、詭侷多變的時代,企業只有不斷的調整因應,才能「適者生存」,追求更進一步地成長。 |
| |
隨著企業成長,IT跟隨企業各階段發展的需求,亦步亦趨地擴充成長,其中不乏由現成的系統,或是客製化的系統所組成,經年累月、IT架構大多缺乏彈性,而且難以整合。然而,在市場前方衝鋒陷陣的指揮者,面對更多市場競爭,冀望IT能更快速反應與支援,卻往往無法得到立即的奧援,因而,「慢」幾乎成為作戰部門對IT部門的一致評語了。
|
| |
面對上述的狀況,該如何規畫正確的企業IT執行策略?相信大家最近都聽到眾多冀望解決上述困境的IT新名詞,諸如SOA(Service-Oriented
Architecture)、BPM(Business Process Management)、Web Services等,這些名詞在不同的行銷場合,可能因為解讀不同,而被賦予不同的義涵,該如何釐清它們的定位?由過去幾年在BPM領域接觸客戶以及服務客戶的經驗,我想從BPM和SOA開始來說明,並探討Web
Services、BPEL( Business Process Execution Language) BPMN(Business
Process Modeling Notation)等相關的熱門名詞之間的關聯和定位,希望能協助讀者在下次參加完相關的研討會時,有收穫而不是困惑了。
|
| |
SOA,BPM的發展思維 |
| 近來IT界在中介平台的發展,大致是從兩個角度下手;其一是由下而上的思維,從IT架構面著手,解決異質系統整合耗時耗力的問題,著重在改進EAI(Enterprise
Application Integration)系統私有架構的限制,建構一個跨技術的分散式整合平台,可快速將所需要的功能組合在一起,滿足應用面的需求,這方面的發展是以SOA獨領風騷。
|
| |
| 另一則是由上而下的思維,從經營管理面著手,開展至IT對達成經營目標的支援,著重在縮短業務(Business)面與IT面的落差,落實IT快速支援業務目標的目的,建立可分析、可快速調整流程因應改變的管理機制,這一方面則以最近火熱的BPM話題為主。
|
| |
| 而,兩種取向的發展角度不同,但終極目標是相同的,近來的發展,已有相輔相成、互相靠攏的趨勢,好比蓋房子,如果BPM好比是有設計圖的施工團隊,那SOA就是模組化的施工法,最終的目標都是在蓋一個好房子,住的舒服的房子。
|
| |
SOA與Web Services成為密不可分的關係 |
SOA在1990年代提出之始,原意是在軟體設計的概念和整合性軟體的架構。 因此,諸如CORBA、RMI、DCOM或甚至使用Socket的技術,都可以建立具有SOA架構的系統,但是在強調鬆散耦合和技術中立的新定義下,SOA已逐漸定位為是建立於標準網路運算技術之上的架構與設計概念了,目標則在將商務功能(Business
Function)轉換成為於網路上的服務(Services)。當然,標準的網路運算技術指的就是一系列從SOAP、WSDL、UDDI,以及衍生的各項涵蓋安全性、訊息可靠性、關聯性等的Web
Services技術,如WS-Reliable Messaging和WS-Security等。WebServices於是成為是建構SOA的基本要件,目前一般探討SOA的資訊,也都與Web
Services密不可分了。而從SOA向上的延伸,則在加上了訊息驗證和轉換、依內容為主的訊息派送、負載平衡,以及各項配置、部署,和監控的管理機制後,有了ESB(Enterprise
Service Bus)的出現,超脫了概念、技術、架構的層次,成為超越過去EAI系統的新一代Business Integration
Platform(商務整合平台)。 |
| |
BPMN讓BPM更能充分發揮 |
相反的BPM則是著重在管理,而BPM系統則是由實現BPM的各項工具和流程引擎所組成,由於著重的是管理,強調的是循環式的流程改善,而不在一次的完美演出。因此,BPM的導入不僅在使用BPM系統建構所需要的流程系統,更重要的是導入的方法和顧問的服務,藉由讓企業的使用者端了解正確的BPM觀念,讓資訊部門IT和企業裡的使用者(Business
User),共同肩負建立或改善流程系統的任務。同時建立部門間合作而不推諉的做事態度。 |
| |
| 因此,建立IT和企業使用者彼此共通的溝通語言,是BPM的重要任務,由BPMI(Business
Process Management Initiative)組織所定義的BPMN(Business Process Management
Notation)流程記號標準,著重在完善的圖示企業流程涵義,由於BPMN是根據流程圖(Flowcharting)的技術為基礎發展,因此Business
User、Business Analysts和IT的Programmer都能很清楚明白的由圖來溝通,輕易地拉近IT和商務間溝通的落差。
|
| |
BPEL將是BPM和SOA的黏著劑
|
不管是SOA或是BPM,在落實活動的互動,都需要指導執行的語言,BPEL(Business
Process Execution Language是Web Services技術興起後,IBM和Microsoft各自提出的WSFL和XLANG的合併產物,對BPM系統來說,BPEL提供了跨BPM流程引擎的共通流程執行語言,而BPEL立基於Web
Services的基礎特性,讓導入BPM系統的企業,能很容易邁向建立SOA的IT架構。 |
| |
另一方面,對SOA平臺架構提供者而言,BPEL是組合各個服務的共通語言─組合各式服務成為新服務(Complex
Service)。然而,由於WSFL和XLANG原先都是專注在流程自動化的標準,因此在目前衍生出來的BPEL,較忽略人員的工作流程(Human
Workflow)的支援。因此,BPEL在強化SOA的執行方面有直接的效益,但在強調以BPEL為基礎的BPM系統,在組織(Organization)和工作指派(Job
Assignment)的彈性上則非常不足,或為了補起Workflow的不足之處, 而多在標準的BPEL定義之上做私有的擴充(Proprietary
Extension),讓BPEL原本跨流程引擎(Cross Process Engines)的好處反而無法實現。 |
| |
| 在5月剛結束的JavaOne活動中,也有幾場課程在講解我在本文中提到的各項IT名詞,從IT的角度解釋它們之間的關係,是JavaOne中最熱烈爆滿的場次之ㄧ,讓迷失在眾多名詞銀河中的IT工作者,得到較清楚的關聯解答
|
| |
然而,回到企業IT部門的主管心中,下一步到底是要導入BPM,快速回應企業需求,拉近IT支援Business的落差呢?還是要整頓企業IT架構,先建構一個彈性的SOA環境?
其實,以現在兩者的發展看來,導入的先後次序並不會影響未來兩者相互合作的緊密性,最重要的還是審視企業目標、部門目標和分析企業IT架構的異質複雜度後,排出企業目前最極需解決的問題優先順序,再從那裡下手吧。
|