當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊
Q & A:關(guān)于SOA理論與應(yīng)用的八大問題
過去我曾經(jīng)對SOA的思想寫的挺明白,但估計文章太羅嗦,N多人沒看下去。所以我想單刀直白點
一、問:為什么要SOA?
答:因為SOA出現(xiàn)前,世界上有Corba組件模型、JAVA組件模型、COM+組件模型、.NET組件模型。其中,CORBA組件模型和JAVA組件模型屬于IBM為首那一類陣營(一伙的還有BEA、ORACLE、HP、SUN之類的),而COM+組件模型和.NET組件模型屬于微軟這獨個一家的,自古兩個陣營是表面同行、暗地互掐。
IBM當(dāng)然需要四海一家的解決之道。因為JAVA組件模型老受SUN的牽絆,而且江湖風(fēng)傳EJB已死。CORBA組件模型呢,一直沒有當(dāng)過老大主流流行過。其他兩個組件模型都在微軟封閉的圈子里,IBM就想在在這四大組件模型之上再加一層組件模型,這樣就天下大同了,這就是SCA。
有了SCA組件模型,各個異構(gòu)組件模型現(xiàn)在都被包裝成一樣的組件了,怎么數(shù)據(jù)傳遞?當(dāng)然就是SDO來幫忙。
二、問:聽說SOA主要優(yōu)勢是整合,但是我們既然有webService了,要SOA干嗎?
答:WebService是整合包裝統(tǒng)一成WebService協(xié)議族的很好的規(guī)范,但WebService又不是組件模型。有人問了,你管我是組件不是組件,我給你包裝一層webservice,咱們倆能調(diào)用就OK了。
這就涉及到咱們國家的計算機發(fā)展階段了。因為咱們國家的開發(fā)界,N多程序員還停留在雙擊一下按鈕,IDE自動給生成一個onclick事件,然后在里面寫東西。很多程序員根本沒有意識去主動寫函數(shù),程序里的函數(shù)都是IDE自動生成的事件處理函數(shù),并非程序員寫的自己的函數(shù)。連函數(shù)都沒有主動意識的,怎么會有主動意識去自己編寫類,自己編寫組件類,大多數(shù)程序員在使用系統(tǒng)提供的類庫,系統(tǒng)提供的可視化組件。所以,N多程序員就不明白為什么要有SOA組件模型了。
世界主流代碼開發(fā)都已經(jīng)是編寫組件類了,這是業(yè)界的發(fā)展需求,但我們國內(nèi)代碼開發(fā)水平和需求還沒有到這個層次,還在onclick。所以我們不理解。
如果我們也平時很自然的自己編寫組件類,那么我們現(xiàn)在很自然的希望有支持SOA的組件模型,因為這樣的組件模型,就可以很通暢的和過去的CORBA組件模型、JAVA組件模型、COM+組件模型、.NET組件模型交互了。如果我們現(xiàn)在還不用SOA組件模型,還在用四大組件模型,以后想異構(gòu)組件之間交互,還得再開發(fā)一層SCA。
三、問:那SOA就這么簡單?就是SCA+SDO?
答:目前國際SOA標(biāo)準(zhǔn)推出的就是這兩大標(biāo)準(zhǔn),SCA和組件SDO。和SOA關(guān)聯(lián)的還有兩個東西,一個是BPEL,一個是ESB。SCA是有了統(tǒng)一的組件,SDO是有了統(tǒng)一的組件數(shù)據(jù)交互,BPEL是讓組件之間串聯(lián)在一起,然后自動運行,就如同我們把一個個的鞭炮擰在一起,然后點燃捻子,鞭炮就全都自己串聯(lián)著爆炸了,BPEL就是干這個用的。而ESB呢,就如同各個組件,都需要在一個容器中執(zhí)行,號稱組件容器服務(wù)器,JBOSS最初的功能就是EJB組件的容器服務(wù)器。而ESB呢,當(dāng)然就是SOA組件的容器服務(wù)器了。
四、問:SOA就這么簡單嗎?我怎么看書看網(wǎng)站,說是讓業(yè)務(wù)人員和技術(shù)人員更好的結(jié)合,要用業(yè)務(wù)角度去看技術(shù),這個話不理解?
答:這是給SOA組件設(shè)計師一個設(shè)計指導(dǎo)。也就是說,當(dāng)你要設(shè)計一個SOA組件,你要暴露出什么功能,要多達粒度的,可能你這個組件類可以圍繞一個主題完成10個功能,但10個功能編寫實現(xiàn)比較復(fù)雜,你最后內(nèi)部寫代碼的時候?qū)懗闪撕瘮?shù)嵌套函數(shù),那么你內(nèi)部有許多函數(shù)了,你到底要暴露出哪些。咱們設(shè)計組件類的接口,往往不容易把握粒度的問題。就如同你如果剛剛一開始寫面向?qū)ο蟮拇a,很容易會濫用對象,設(shè)計的對象很多,如果還沒有過面向?qū)ο箝_發(fā)的程序員,你可能想像不出來為什么會有這種過度使用對象的現(xiàn)象。人就是這樣,用的爽了,就容易過度使用。所以什么粒度合適,給指導(dǎo)了,面向業(yè)務(wù)。從組件類的消費者角度來看,需要暴露出哪些功能。這就有了一方是功能消費調(diào)用者,一方是功能輸出產(chǎn)生者,那么這個功能輸出,用行話就是輸出的是服務(wù)。
五、問:SOA就這么簡單嗎?我看書看網(wǎng)站說,SOA可以使軟件靈活,我們現(xiàn)在就是軟件代碼越來越復(fù)雜,功能越來越多,客戶需求提出來,我們很難下手修改,修改起來費時間,而且還不知道這塊修改了會影響哪塊,讓軟件質(zhì)量無法穩(wěn)定,我們正需要SOA,但是SOA是怎么做到這點了,我不理解呀?
答:當(dāng)然COM+、EJB成為風(fēng)潮的時候,都說過這個話。你想啊,軟件都是一個個封裝密閉的組件,把組件連接起來,這當(dāng)然靈活了。你想想你現(xiàn)在,.NET給你提供了許多可視化組件,也提供了許多非可視化組件,人家就是用組件做成了,你現(xiàn)在開發(fā)起來,把組件拖拽下來,設(shè)置一下屬性,編程一下方法,你現(xiàn)在開發(fā)速度快多了吧,如果沒有這么多組件,你想你多累。這就是組件的好處與靈活性。SOA組件也是組件,只不過是包裝的更高一層的組件,是為了讓四大組件模型能統(tǒng)一順暢調(diào)用的,所以你把SOA組件當(dāng)成.net組件來看待就很明白了。
六、問:中國現(xiàn)在好多企業(yè)都還沒有信息化,即使一些很賺錢的行業(yè)或壟斷國企做了信息化,但都自己封閉起來,和其他企業(yè)之間老死不相往來,SOA在中國有用處嗎?
答:你用不用SOA組件模型,就如同你用不用.NET組件一樣,管整合什么事。你如果只想整合,webservice就可以了。用不用組件式開發(fā),是你自己的事情,如果你想讓你的程序變的靈活。你看.net里面那么多組件,給你的開發(fā)帶來了很多的輕松啊。
七、問:現(xiàn)在SOA成熟嗎?該到應(yīng)用的時候了嗎?
答:成熟不成熟,你得看支持SOA標(biāo)準(zhǔn)的開發(fā)工具成熟沒成熟,做SOA應(yīng)用就需要成熟的開發(fā)工具。有了能很順手的SOA組件開發(fā)工具,那就看看有沒有成熟的SOA組件容器服務(wù)器。如果這兩項都不錯了,就可以開發(fā)了。我們當(dāng)年開發(fā)COM+的時候,COM+不成熟,COM+開發(fā)工具不成熟,COM容器不成熟,造成線程死鎖、并發(fā)排隊、緩沖池崩潰、內(nèi)存泄露很多問題,搞的我們很是頭疼,最后找來開發(fā)工具廠商的人,找來微軟,才算弄清問題,原來一方面是微軟COM+有問題,一方面開發(fā)工具也有問題,白耽誤了我們許多時間。不過福兮禍兮,倒是讓我對組件模型、WINDOWS基礎(chǔ)核心技術(shù)思想倒是精進不少。
八、問:我看你有點誤導(dǎo)人?,F(xiàn)在企業(yè)級開發(fā),實際主流標(biāo)準(zhǔn)就兩個,一個是.NET,一個是JAVA。.NET本來就似乎支持WebService第一類的技術(shù),而JAVA是后來才加入WebService的,所以算不得原生結(jié)合。況且微軟自己自成一套體系,.NET組件模型也很好,我為什么要用SOA組件模型呢?
答:確實這里面也有些商業(yè)目的。雖然IBM現(xiàn)在是JAVA領(lǐng)域的領(lǐng)頭羊,也在JAVA上建立了一整套產(chǎn)品體系,投資頗大,但畢竟JAVA是出自SUN,所以SUN為了保護自己的利益當(dāng)然要不讓IBM自己主導(dǎo)的很爽了,所以JAVA要推出一項特性,往往時間很慢,而且總需要兼顧各方利益,所以大家都看到,近幾年出來的JAVA新特性標(biāo)準(zhǔn)都不盡人意,就是各方利益拉鋸的產(chǎn)物,誰也不得罪,就形成了中庸的東西。IBM早就想甩開SUN了,但IBM在JAVA上也投資巨大,如果另起爐灶也不太可能,所以想到這個移花接木的方法,把JAVA架空。出了一個SOA模型,各種語言都可以實現(xiàn),不僅僅限于JAVA平臺上,在SOA的統(tǒng)一架構(gòu)技術(shù)至上,就沒有JAVA痕跡了,那就輪到IBM大顯身手了,所以O(shè)SOA組織,SUN是很靠后才參加的。因為SUN知道,不參加會被甩的更遠(yuǎn),現(xiàn)在參加,還能撈點殘余。反正最終的命運是要被掃走。
SUN的JAVA被IBM正在一步步邊緣化,當(dāng)然投入過深,想抽出來也不容易,但IBM有這個財力也有這個耐心。IBM不斷宣稱開源,ECLIPSE,IBM支持了很多,讓大家在開源世界接納了IBM,而且IBM近幾年一直在推動web2.0,也就是輕巧化的開發(fā)。企業(yè)級開發(fā),大家一想就頭疼,都是大框架大平臺很復(fù)雜,IBM也知道顧客煩了,現(xiàn)在全世界的IT巨頭都在宣稱簡化IT。呵呵,這些家伙,把東西搞復(fù)雜故意建造競爭壁壘的是他們,現(xiàn)在簡化IT的還是他們,正反都能賣。
而大家要注意到,OSOA推出了SOA標(biāo)準(zhǔn)后,推出了三種實現(xiàn),一種是JAVA,一種是C/C++,另一種是什么呢?大家猜一猜。
對,它就是PHP。(暢享網(wǎng))
- 1業(yè)務(wù)開發(fā)平臺與SOA應(yīng)用的統(tǒng)一論
- 2IT究竟能給銀行帶來什么?
- 3農(nóng)村信息服務(wù)中政府的角色與責(zé)任
- 4對我國安防行業(yè)發(fā)展現(xiàn)狀和趨勢的思考
- 5為什么要倡導(dǎo)“IT治理”
- 6電力信息化不僅是技術(shù)層面上的問題
- 7杜絕管理漏洞 打響信息化之戰(zhàn)(四)
- 8相信有了IT助力,中國企業(yè)也將擁有更加強健的體魄!
- 9未來OA廠商變革方向是平臺化,社交化,移動化
- 10“電子”改變不了“政務(wù)”
- 11IT基礎(chǔ)設(shè)施庫ITIL的力量:ITIL介紹及應(yīng)用案例(二)(AMT 張純棣 編譯)
- 12微軟技術(shù)總監(jiān)強烈抨擊“自由聯(lián)盟”
- 13如何建立集團企業(yè)商務(wù)智能系統(tǒng)?
- 142013年重慶發(fā)放環(huán)保及工程公司運營資質(zhì)證書單位名錄
- 15重慶酒店行業(yè)及公司名單
- 16GIS和GPS技術(shù)在國土資源執(zhí)法監(jiān)察的應(yīng)用
- 17商城管理軟件系統(tǒng)未來我們可能涉及
- 18Q & A:關(guān)于SOA理論與應(yīng)用的八大問題
- 193G網(wǎng)絡(luò)與信息安全體系建設(shè)思路
- 20.Net 替代品
- 21ISO20000可以代替ITIL嗎?
- 22政府關(guān)鍵系統(tǒng)的網(wǎng)絡(luò)安全如何防護?
- 23財務(wù)管理系統(tǒng)選型之打印格式的設(shè)置
- 24汽車IT化浪潮到來 超級戰(zhàn)車將進入應(yīng)用階段
- 25中小企業(yè)B2C直銷網(wǎng)站運營思路
- 26SOA實踐應(yīng)首先始于企業(yè)級的IT架構(gòu)設(shè)計
- 27中小企業(yè)信息化要把握行業(yè)特點
- 28使用UDDI的Web服務(wù)描述和發(fā)現(xiàn)(第二部分)
- 29新醫(yī)改催生六大信息系統(tǒng)
- 30[原創(chuàng)]ITIL系列專題(五)-企業(yè)文化影響
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓