一、SOA的原理及業(yè)務(wù)流程
SOA是一種架構(gòu)模型,它的一個(gè)最核心的本質(zhì)就是要把服務(wù)和技術(shù)完全分離開(kāi)來(lái),這樣,才能夠最大限度的把服務(wù)的集成和重組實(shí)現(xiàn)。它是通過(guò)定義良好的接口以及契約來(lái)把應(yīng)用程序當(dāng)中的不同功能單元之間相互聯(lián)系起來(lái),這樣就能夠使得任何一個(gè)在這樣的系統(tǒng)當(dāng)中得到構(gòu)建的服務(wù),都能夠在松散耦合并且是按需提供的方式的作用之下實(shí)現(xiàn)彼此之間的交互。從而我們可以知道,SOA的主要思想就是能夠在復(fù)雜且多變的環(huán)境當(dāng)中,把各種各樣的不同服務(wù)予以獨(dú)立出來(lái),之后,對(duì)每一個(gè)獨(dú)立的服務(wù)都實(shí)行組件化的封裝,那么,在這之后就是要在各種不同服務(wù)之間來(lái)實(shí)現(xiàn)彼此之間的相互調(diào)用,主要的方法就是通過(guò)標(biāo)準(zhǔn)的接口來(lái)完成。
SOA架構(gòu)就是把提供服務(wù)的一方與被服務(wù)的一方兩者相互分離開(kāi)來(lái),需指出的是,這一分離主要就是要通過(guò)服務(wù)契約機(jī)制來(lái)得到實(shí)現(xiàn)的,換句話來(lái)講,也就是服務(wù)消費(fèi)者在對(duì)服務(wù)進(jìn)行使用之前,就需要通過(guò)一種特定的途徑來(lái)把提供服務(wù)的一方所發(fā)布出來(lái)的服務(wù)契約予以接收,之后定位服務(wù)并予以正確的使用服務(wù)。
二、SOA架構(gòu)在ERP系統(tǒng)當(dāng)中的應(yīng)用優(yōu)勢(shì)
(一)能夠在異構(gòu)環(huán)境當(dāng)中應(yīng)用
對(duì)于異構(gòu)環(huán)境來(lái)講,主要包含了四個(gè)層次,也就是硬件平臺(tái)、操作系統(tǒng)、數(shù)據(jù)庫(kù)以及應(yīng)用軟件,但是,我們要想使得一套硬件、一套操作系統(tǒng)、一套數(shù)據(jù)庫(kù)以及一套應(yīng)用軟件能夠把企業(yè)管理當(dāng)中的所有企業(yè)管理問(wèn)題都解決掉,那肯定是不現(xiàn)實(shí)的,但是,我們應(yīng)該盡可能的選擇最適合的方案來(lái)把管理當(dāng)中的問(wèn)題最大限度的解決好,而通過(guò)支持SOA的ERP系統(tǒng),企業(yè)就能夠按照自己的實(shí)際需要來(lái)選擇最適合的解決方案。
(二)能夠減少企業(yè)的IT成本
在以前,絕大多數(shù)企業(yè)在進(jìn)行ERP系統(tǒng)的建設(shè)的時(shí)候,通常都是會(huì)站在項(xiàng)目的角度上來(lái)考慮,但是,隨著企業(yè)IT系統(tǒng)的不斷增多,系統(tǒng)的集成問(wèn)題就逐漸顯現(xiàn)出來(lái)了,但是到了這個(gè)時(shí)候,要想集成就會(huì)顯得比較困難了。而SOA對(duì)企業(yè)提出了要求,要求企業(yè)必須要在建設(shè)IT系統(tǒng)的時(shí)候就對(duì)這些問(wèn)題進(jìn)行充分的考慮,換句話說(shuō),就是企業(yè)必須要對(duì)服務(wù)之間的接口問(wèn)題進(jìn)行充分的考慮,這樣,就能夠使得企業(yè)的IT成本大大降低。另外,SOA改變了以往的軟件購(gòu)買(mǎi)模式,就目前而言,很多企業(yè)在購(gòu)買(mǎi)軟件的時(shí)候,通常都會(huì)選擇成熟性的軟件,必須要一個(gè)模塊或者是一個(gè)系統(tǒng)來(lái)進(jìn)行購(gòu)買(mǎi),這樣,企業(yè)在購(gòu)買(mǎi)的過(guò)程當(dāng)中,通常都沒(méi)有辦法把那些企業(yè)不需要的功能剔除掉,增加了很多不必要的成本。而SOA集團(tuán)財(cái)務(wù)軟件恰好可以幫助企業(yè)真正實(shí)現(xiàn)按需購(gòu)買(mǎi),企業(yè)需要什么樣的功能就購(gòu)買(mǎi)相應(yīng)的服務(wù),這樣就幫助企業(yè)避免一些不必要的開(kāi)支。
(三)能夠完成企業(yè)IT系統(tǒng)的動(dòng)態(tài)變化
SOA集團(tuán)財(cái)務(wù)系統(tǒng)的使用,能夠讓企業(yè)的IT人員無(wú)需過(guò)多的對(duì)IT系統(tǒng)的底層技術(shù)予以關(guān)心,通過(guò)這一系統(tǒng)的使用,能夠讓IT人員更多的從集團(tuán)財(cái)務(wù)業(yè)務(wù)的處理以及財(cái)務(wù)業(yè)務(wù)和IT之間的有機(jī)結(jié)合進(jìn)行考慮。另外,我們都知道,傳統(tǒng)的企業(yè)在開(kāi)發(fā)集團(tuán)財(cái)務(wù)系統(tǒng)這一過(guò)程當(dāng)中,往往把大量的人力、物力以及財(cái)力盲目的耗費(fèi)在重復(fù)功能之上,在這樣的系統(tǒng)開(kāi)發(fā)完成以后,如果企業(yè)發(fā)生任何的業(yè)務(wù)變化,這時(shí)要想對(duì)系統(tǒng)進(jìn)行更改是十分困難的。現(xiàn)在,如果使用SOA,那么,對(duì)于企業(yè)來(lái)講,它所面對(duì)的就變成了一個(gè)個(gè)彼此之間相互獨(dú)立的服務(wù),并且這些獨(dú)立的服務(wù)之間要想實(shí)現(xiàn)相互之間的調(diào)用,只需要通過(guò)標(biāo)準(zhǔn)的接口就行了,在這樣的情況之下,一旦企業(yè)有業(yè)務(wù)變化的發(fā)生的時(shí)候,企業(yè)需要做的就是把相對(duì)應(yīng)的業(yè)務(wù)進(jìn)行修改就可以了,從而大大降低了修改的難度和復(fù)雜度,進(jìn)而保證了企業(yè)IT系統(tǒng)的動(dòng)態(tài)變化。
三、SOA/.NET環(huán)境下ERP系統(tǒng)的設(shè)計(jì)
(一)基于SOA的ERP系統(tǒng)模型的構(gòu)建
現(xiàn)結(jié)合ERP系統(tǒng)的主要思想,設(shè)計(jì)了建立在SOA上的網(wǎng)絡(luò)服務(wù)的系統(tǒng)架構(gòu),對(duì)于這一架構(gòu),主要采用了四層架構(gòu),分別為用戶(hù)界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層以及數(shù)據(jù)層。
首先,用戶(hù)界面層。對(duì)于用戶(hù)界面層來(lái)講,它主要是按照用戶(hù)的各種不同的需求以及用戶(hù)的權(quán)限來(lái)為用戶(hù)提供不同的客戶(hù)端界面,客戶(hù)端界面的存在不僅可以通過(guò)網(wǎng)頁(yè)的形式,而且還可以是桌面上的應(yīng)用程序。這一界面,主要為廣大的用戶(hù)提供的是調(diào)用業(yè)務(wù)的邏輯層Web服務(wù)的接口,在進(jìn)行Web服務(wù)的接口的調(diào)用的時(shí)候,用戶(hù)只需要按照界面所提供的接口以及功能說(shuō)明來(lái)提供相應(yīng)的參數(shù)就可以了。
其次,業(yè)務(wù)邏輯層。整個(gè)的業(yè)務(wù)流程都是在業(yè)務(wù)邏輯層當(dāng)中的,對(duì)于業(yè)務(wù)邏輯層來(lái)講,它在整個(gè)系統(tǒng)當(dāng)中占據(jù)了極其重要的位置,但是,它是最為復(fù)雜的一個(gè)層次。這一層次主要是對(duì)各種業(yè)務(wù)實(shí)行邏輯封裝,之后通過(guò)服務(wù)的形式把它進(jìn)行發(fā)布,來(lái)為應(yīng)用個(gè)開(kāi)發(fā)提供調(diào)用,它主要就是對(duì)用戶(hù)界面層所提出的請(qǐng)求進(jìn)行響應(yīng),它和數(shù)據(jù)庫(kù)之間主要是通過(guò)數(shù)據(jù)訪問(wèn)層來(lái)實(shí)現(xiàn)彼此的交互的。
再者,數(shù)據(jù)訪問(wèn)層。對(duì)于數(shù)據(jù)訪問(wèn)層來(lái)講,它是和業(yè)務(wù)邏輯相獨(dú)立開(kāi)來(lái)的,在這一層,沒(méi)一個(gè)系統(tǒng)都必須要和數(shù)據(jù)庫(kù)之間實(shí)現(xiàn)交互。
最后,數(shù)據(jù)層。數(shù)據(jù)層主要存放的就是與應(yīng)用程序相關(guān)的業(yè)務(wù)數(shù)據(jù)以及相關(guān)的控制數(shù)據(jù),這些數(shù)據(jù)的存放可以是在一個(gè)數(shù)據(jù)庫(kù)中,也可以是在多個(gè)數(shù)據(jù)庫(kù)當(dāng)中,數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)頒布操作命令,在將這一操作命令執(zhí)行完成之后,再把結(jié)果反饋至數(shù)據(jù)訪問(wèn)層當(dāng)中。
(二)基于SOA的ERP系統(tǒng)的設(shè)計(jì)
該系統(tǒng)是通過(guò)使用Web/XML標(biāo)準(zhǔn)來(lái)完成應(yīng)用程序之間的互操作性,從而來(lái)實(shí)現(xiàn)業(yè)務(wù)流程之間的自動(dòng)化。從目前的情況來(lái)看,我們可以通過(guò)兩個(gè)開(kāi)發(fā)平臺(tái)來(lái)實(shí)現(xiàn)Web服務(wù)器,這兩個(gè)開(kāi)發(fā)平臺(tái)在就是J2EE平臺(tái)以及Microsoftnet平臺(tái),在本文當(dāng)中,研究的是基于.NET平臺(tái)的ERP系統(tǒng)的設(shè)計(jì),那么,現(xiàn)按照系統(tǒng)的需求分析結(jié)果以及業(yè)務(wù)流程的分析結(jié)果,并結(jié)合上述的分析,來(lái)把業(yè)務(wù)劃分成為七個(gè)不同的服務(wù)模塊,這七個(gè)服務(wù)模塊也就是供應(yīng)商管理模塊、采購(gòu)管理模塊、計(jì)劃管理模塊、庫(kù)存管理模塊、生產(chǎn)管理模塊、銷(xiāo)售管理模塊以及分銷(xiāo)管理模塊,我們主要采用了Web Service所提供的標(biāo)準(zhǔn)接口,并通過(guò)SOAP這樣的方式,來(lái)在這七個(gè)不同服務(wù)模塊之間完成彼此之間的互訪。具體的開(kāi)發(fā)模型是:
四、結(jié)語(yǔ):
總之,在引入了SOA之后,ERP軟件的的雙方都發(fā)生了巨大的變化,著這樣的環(huán)境之下,供應(yīng)商能夠按照一定的標(biāo)準(zhǔn)來(lái)在每一項(xiàng)服務(wù)開(kāi)發(fā)完成之后,把這一服務(wù)發(fā)送至注冊(cè)中心,企業(yè)可以結(jié)合自己自身的需要,來(lái)靈活地進(jìn)行新業(yè)務(wù)流程的搭配,大大增強(qiáng)了企業(yè)業(yè)務(wù)模型的靈活性。所以,對(duì)于ERP廠商來(lái)講,只有盡早的對(duì)自己底層技術(shù)的升級(jí)進(jìn)行考慮,才能夠始終保持著自己的競(jìng)爭(zhēng)優(yōu)勢(shì),否則,改ERP廠商就很可能會(huì)被淘汰掉。所以我們說(shuō),SOA有著十分廣闊的發(fā)展前景,它作為企業(yè)構(gòu)架信息化平臺(tái)的一項(xiàng)新的技術(shù),必定會(huì)對(duì)ERP市場(chǎng)產(chǎn)生十分深遠(yuǎn)的影響。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:NET平臺(tái)上的SOA在ERP系統(tǒng)模型構(gòu)建當(dāng)中的應(yīng)用
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1082009605.html