昨天我和藍(lán)凝花了一下午時(shí)間把所有文檔再過(guò)了一遍,晚上再就把文檔全部轉(zhuǎn)換成pdf格式,打包壓縮,最后再一次檢查??粗髌繁话l(fā)出去,輕松了好多...終于忙完了,可以好好休息一下了。
對(duì)IBM的SOA大賽的了解是一次非常偶然的機(jī)會(huì),四月中旬IBM在北航有一個(gè)SOA的技術(shù)講座,當(dāng)時(shí)還并不知道有SOA這樣一個(gè)大賽,只是覺(jué)得講座內(nèi)容跟自己的研究方向有很多相關(guān)之處,去聽(tīng)一聽(tīng)?wèi)?yīng)該會(huì)有不少收獲。講座開(kāi)始之前,我首先拿到了SOA大賽的宣傳單,當(dāng)時(shí)便給藍(lán)凝和crazycy發(fā)短信,把他倆也召喚了過(guò)來(lái),講座完后我們?nèi)藳Q定組隊(duì)參加SOA比賽。然而,團(tuán)隊(duì)的成立,卻沒(méi)有我們想的那么快,之后,我被派去外地出差,接著,實(shí)驗(yàn)室技術(shù)匯報(bào),項(xiàng)目階段評(píng)審等等一系列的事情接踵而來(lái),一直到5月中旬,大家才開(kāi)始閑下來(lái)。2006年5月16日,這是一個(gè)特殊的日子,這一天,我們的SOA團(tuán)隊(duì)正式成立。我和crazycy一致推舉藍(lán)凝為我們的組長(zhǎng),她是團(tuán)隊(duì)里的唯一女生,也是我和crazycy平時(shí)經(jīng)常所稱(chēng)的“老大”。組長(zhǎng)藍(lán)凝為團(tuán)隊(duì)取名吉祥三寶,這是一個(gè)非常幸福的名字,希望能給我們帶來(lái)好運(yùn)。在后面將近一個(gè)半月的日子,我們一起交流,共同探討。對(duì)SOA所涉及技術(shù)的廣博,都暗暗贊嘆,對(duì)參加這樣一個(gè)大賽,欣喜不已。
現(xiàn)在,我們只有靜靜的等待評(píng)審結(jié)果,同時(shí)好好整理前面學(xué)習(xí)的東西,SOA雖然只是一種思想,但其所牽涉到的技術(shù)是非常多的,只有善于總結(jié),才能走得更遠(yuǎn)。
2006年6月1日 #
這幾天光顧著在下面忙,好久沒(méi)來(lái)發(fā)帖了,上來(lái)匯報(bào)一下工作進(jìn)度:在大家的通力合作,埋頭苦干之下,系統(tǒng)架構(gòu)設(shè)計(jì)文檔、業(yè)務(wù)模型分析設(shè)計(jì)文檔、服務(wù)模型分析設(shè)計(jì)文檔、系統(tǒng)架構(gòu)設(shè)計(jì)文檔、組件設(shè)計(jì)文檔已經(jīng)大體確定下來(lái),部分已經(jīng)完成初稿。不過(guò)革命尚未成功,同志仍需努力,等忙完大家好好happy一下...
剛剛看了一下,有17個(gè)團(tuán)隊(duì)提交了最后作品,還好,不是很多啊,竊喜:) ?估計(jì)很多團(tuán)隊(duì)都跟我們一樣,在緊張地準(zhǔn)備最后作品呢。這兩天突然發(fā)現(xiàn),大賽初期看的很多文章現(xiàn)在回頭看看,頗有感覺(jué)啊,呵呵,溫故而知新,可以為師矣,這段時(shí)間還是學(xué)到了不少東西的。等有時(shí)間了,一定要把這一個(gè)半月學(xué)的東西好好整理一下,繼續(xù)工作了,相信我們能做的更好。
終于收到IBM大賽的ERP和CRM資料了,看了一下郵戳,17號(hào)寄出來(lái)的,現(xiàn)在才收到...稍微抱怨一下,為什么外省參賽團(tuán)隊(duì)的軟件和資料總是比我們收到的要早,郁悶:( 不過(guò)還好,ERP的資料我們?cè)缇屯ㄟ^(guò)其他方式得到了,CRM的資料也就一個(gè)文檔,對(duì)后期工作影響不大,繼續(xù)工作中...
WBI Modeler是IBM WebSphere Business Integration Modeler簡(jiǎn)寫(xiě),主要用于對(duì)業(yè)務(wù)流程建模,其用戶(hù)角色是業(yè)務(wù)分析人員,對(duì)使用者不要求有編程經(jīng)驗(yàn)。說(shuō)白了,只要是對(duì)業(yè)務(wù)熟悉的人都可以使用這個(gè)軟件。這樣,使得業(yè)務(wù)分析人員可以把重點(diǎn)放在業(yè)務(wù)的優(yōu)化和流程本身上,而不用考慮后期的IT設(shè)計(jì)和實(shí)現(xiàn)。
WBI Modeler是基于Eclipse開(kāi)發(fā)的建模工具,其界面也和Eclipse有很多相似之處,用過(guò)Eclipse的人上手應(yīng)該更快,基于Eclipse開(kāi)發(fā)使其可輕松地與其他一些架構(gòu)集成。此外,WBI Modeler還提供了對(duì)visio的支持,可以很容易地將visio畫(huà)的流程圖轉(zhuǎn)換成WBI Modeler中的流程圖,前提是必須建立visio中的部件和WBI Modeler中部件的一一對(duì)應(yīng)??偟膩?lái)說(shuō),WBI Modeler功能很強(qiáng)大。WBI Modeler提供的建模方式能大大加快業(yè)務(wù)建模的速度,并且將各種業(yè)務(wù)流程以非常美觀的方式展現(xiàn)給用戶(hù)和后期設(shè)計(jì)以及開(kāi)發(fā)人員。
關(guān)于WBI Modeler的好處不多說(shuō)了,IBM做的宣傳已經(jīng)夠多了,下面說(shuō)一說(shuō)WBI Modeler的不足之處:首先是快捷鍵,快捷鍵大部分集中在過(guò)程編輯器中,而其他一些地方卻沒(méi)有,我感覺(jué)在項(xiàng)目樹(shù)視圖中加入快捷鍵是很有必要的,使用頻率很高,如果今后能提供將大大提高開(kāi)發(fā)效率;其次是目前沒(méi)有批量處理功能,比如說(shuō)過(guò)程或者任務(wù)的導(dǎo)出導(dǎo)入,只能一個(gè)一個(gè)的導(dǎo)出或者導(dǎo)入,這樣效率太低了,浪費(fèi)不必要的重復(fù)勞動(dòng)時(shí)間;再次,有些細(xì)節(jié)感覺(jué)沒(méi)有考率到,比如在過(guò)程編輯器中缺少全部選擇的功能,此外,WBI Modeler提供的幫助太簡(jiǎn)單了,這是個(gè)小問(wèn)題,相信以后會(huì)增加的。最后,WBI Modeler存在一個(gè)比較嚴(yán)重的bug,當(dāng)建立某個(gè)業(yè)務(wù)過(guò)程時(shí)出現(xiàn)錯(cuò)誤時(shí),如果你將這個(gè)過(guò)程直接刪除,可能會(huì)遇到刪完之后過(guò)程還存在的情況,這時(shí)整個(gè)項(xiàng)目都不能用了。我已經(jīng)遇到過(guò)兩次這樣的情況了,解決辦法是重新建立一個(gè)項(xiàng)目,再把原來(lái)有用的東西導(dǎo)出再導(dǎo)入新項(xiàng)目。
注意:這周六有技術(shù)講座:
創(chuàng)新業(yè)務(wù),拓展商機(jī) - 為您打下堅(jiān)實(shí)的SOA基礎(chǔ)
通過(guò)現(xiàn)場(chǎng)演示和技術(shù)討論,您將了解到 IBM WebSphere優(yōu)于其他供應(yīng)廠商的解決方案,以及如何更好地實(shí)現(xiàn)面向服務(wù)的架構(gòu)。您還將了解到如何提高您當(dāng)前的業(yè)務(wù)流程的速度、準(zhǔn)確性和成本效益。同時(shí),您將了解 IBM WebSphere 信息管理解決方案是如何支持提供準(zhǔn)確的、一致的、及時(shí)而連貫的業(yè)務(wù)信息。在講座中,我們還將討論主數(shù)據(jù)管理,并說(shuō)明如何對(duì)通常分散在整個(gè)企業(yè)范圍內(nèi)的產(chǎn)品、位置、貿(mào)易合作伙伴、組織和貿(mào)易條款信息等數(shù)據(jù)進(jìn)行鏈接。最后,您將了解到可用于構(gòu)建、部署、運(yùn)行和管理的 IBM WebSphere 應(yīng)用程序的各種工具。
會(huì)議日程安排:
08:00 – 09:00 會(huì)議簽到
09:00 – 09:30 簡(jiǎn)介——通過(guò) SOA 進(jìn)行創(chuàng)新
09:30 – 10:30 使用 SOA 創(chuàng)建新的業(yè)務(wù)流程
10:30 – 10:45 業(yè)務(wù)現(xiàn)狀如何?——企業(yè)現(xiàn)狀概況
10:45 – 11:00 休息
11:00 – 11:30 使用 WebSphere 的企業(yè)服務(wù)總線
11:30 – 12:00 使用 WebSphere 進(jìn)行主數(shù)據(jù)管理
12:00 – 13:00 午餐
13:00 – 14:10 信息集成服務(wù)
14:10 – 15:00 開(kāi)發(fā)新的服務(wù)
15:00 – 15:15 休息
15:15 – 16:10 WebSphere SOA Foundation——為何 IBM 軟件優(yōu)于 NetWeaver 和 .NET
16:10 – 17:00 管理 SOA 環(huán)境
17:00 – 17:15 總結(jié)
時(shí)間及地點(diǎn):
日期??? 時(shí)間??? 城市??? 酒店??? 地址??? 會(huì)議室
6月17日 09:00 - 17:15?? 北京??? 亮馬河大廈????? 朝陽(yáng)區(qū)東三環(huán)北路8號(hào)???? 萬(wàn)黛廳
感覺(jué)比較有用,不過(guò)需要到http://www-900.ibm.com/cn/promotion/software/dwlive/webshpere_soa.shtml注冊(cè)。地點(diǎn)不算太遠(yuǎn),從咱們學(xué)校有直達(dá)車(chē)過(guò)去。上次的講座咱們?nèi)ネ砹吮容^虧,沒(méi)有拿到資料,這次得早點(diǎn)啦。
兩周時(shí)間雖然很緊,但如果充分利用也是足夠的,前一段時(shí)間剛好給了我們充足的時(shí)間分析業(yè)務(wù),大家對(duì)SOA的思想和相關(guān)技術(shù)也了解的差不多了,抓緊時(shí)間,加油干吧。
?? 發(fā)現(xiàn)問(wèn)題總是好的,亡羊補(bǔ)牢,猶未晚也。前一段時(shí)間的彎路不能白走,這將變?yōu)槲覀儗氋F的經(jīng)驗(yàn),后面的工作將更堅(jiān)定的從實(shí)際業(yè)務(wù)的分析出發(fā)。需要的時(shí)候,向在企業(yè)管理方面和銷(xiāo)售方面的朋友取取經(jīng),這些寶貴的人力資源可不能浪費(fèi)^_^
?? 如果能進(jìn)入下一輪,咱們團(tuán)隊(duì)的優(yōu)勢(shì)就能充分發(fā)揮出來(lái),呵呵,咱們實(shí)驗(yàn)室主要的方向就是Web Service、中間件技術(shù),這兩年咱們沒(méi)少和XML、Web Service、J2EE打交道,這些都是SOA的主要技術(shù)。當(dāng)然,闖過(guò)第一關(guān)再說(shuō),否則,一切都是白搭...
?? 業(yè)務(wù)分析咱們現(xiàn)在已經(jīng)進(jìn)行得差不多了,就等著進(jìn)行業(yè)務(wù)建模了,現(xiàn)在業(yè)務(wù)建模最重要的工具WBI還沒(méi)有,今天花了不少時(shí)間也沒(méi)找到,郁悶中...實(shí)在不行,只有趕緊聯(lián)系IBM了。
粗略了解了一下RSA,發(fā)現(xiàn)功能非常強(qiáng)大,系統(tǒng)提供的幫助也挺詳細(xì)的,但是不知道是不是真的實(shí)用,不多說(shuō)了,抓緊時(shí)間學(xué)習(xí)使用......
討論集中在對(duì)用友的ERP軟件和TurboCRM軟件的分析上,在這幾天里,crazycy主要分析題目和ERP的物流部分,藍(lán)凝分析TurboCRM,我分析ERP。
無(wú)論是ERP還是CRM,比賽主辦方給的東西都很多,討論的時(shí)候每個(gè)人也都帶來(lái)了一大疊資料。會(huì)議開(kāi)始初期,初步確定了討論進(jìn)程,先是藍(lán)凝給大家講解CRM,然后我講解ERP,最后大家再對(duì)CRM和ERP進(jìn)行綜合分析。
藍(lán)凝對(duì)CRM的準(zhǔn)備很充分,CRM講得很具體,在她講CRM的過(guò)程中ERP的內(nèi)容也時(shí)不時(shí)穿插進(jìn)來(lái),結(jié)果對(duì)CRM和ERP進(jìn)行綜合分析也同時(shí)進(jìn)行了。討論進(jìn)行了大約三個(gè)小時(shí),取得了不少結(jié)果,具體內(nèi)容這里就不詳細(xì)說(shuō)了。
最后,我們確定了下一步工作,三天之后,也就是周六晚上進(jìn)行第七次討論,下次每個(gè)人必須把對(duì)業(yè)務(wù)模式的分析畫(huà)出來(lái),再把三個(gè)人的分析進(jìn)行綜合,業(yè)務(wù)模式分析和設(shè)計(jì)到那時(shí)候就應(yīng)該差不多了。
這次討論crazycy又遲到了,我和藍(lán)凝在會(huì)議室等了半天,crazycy,下次再遲到,就該罰你做俯臥撐了:)。
現(xiàn)在我們討論的周期差不多是三天一次,看來(lái)第一次討論制定的兩天一次的計(jì)劃不夠現(xiàn)實(shí),不過(guò)還好了,我們一直有一個(gè)固定的泡泡群,幾乎每天都有小討論,平時(shí)一些看法在群里面都很快能夠得到統(tǒng)一。
討論的主要內(nèi)容還是對(duì)業(yè)務(wù)的分析,大家都覺(jué)得上次的討論有點(diǎn)偏了,討論了很多ERP和CRM中已經(jīng)實(shí)現(xiàn)的功能,而不是兩個(gè)系統(tǒng)之間的交互功能,以后咱們對(duì)業(yè)務(wù)的分析都應(yīng)該建立在對(duì)實(shí)際實(shí)現(xiàn)的分析之上,一切從實(shí)際出發(fā)嘛,咱們可都是唯物主義者啊。
之后,大家就具體的業(yè)務(wù)分析圖,進(jìn)行了審核,每個(gè)人都給出了自己的意見(jiàn)。此外,我們還對(duì)使用到的技術(shù)、采用的軟件工程方法以及工具進(jìn)行了交流,討論的內(nèi)容比較豐富,效果也是顯著的。
最后,我們對(duì)下一步工作作了一下簡(jiǎn)單的分工:我負(fù)責(zé)ERP的分析,藍(lán)凝負(fù)責(zé)CRM的分析,crazy負(fù)責(zé)對(duì)題目的整體分析以及ERP中物流的分析。
首先,需要明確的是,SCA還沒(méi)有成為正式的標(biāo)準(zhǔn),盡管SCA目前已經(jīng)有比較穩(wěn)定的規(guī)范,有些文章錯(cuò)誤地將SCA作為標(biāo)準(zhǔn)來(lái)看待。
SCA目標(biāo):基于組件的編程一直是軟件業(yè)簡(jiǎn)化編程和提高效率和質(zhì)量的一個(gè)重要方法,但是往往對(duì)于不同語(yǔ)言我們有不同的組件模型,比如在J2EE技術(shù)領(lǐng)域,就有EJB,POJO,JDBC,JMS等。這對(duì)于項(xiàng)目初期分析和設(shè)計(jì)人員來(lái)說(shuō),是一個(gè)很大的挑戰(zhàn),導(dǎo)致在初期就需要選定具體的語(yǔ)言和技術(shù)。SCA的目的是使用戶(hù)在構(gòu)建企業(yè)應(yīng)用時(shí)有一個(gè)不再直接面對(duì)具體的技術(shù)細(xì)節(jié)的層次,而是通過(guò)服務(wù)組件的方式來(lái)構(gòu)建應(yīng)用。這種方式也使得客戶(hù)的企業(yè)應(yīng)用具有良好的分層架構(gòu),能夠很好的分離應(yīng)用的業(yè)務(wù)邏輯和IT邏輯,不但易于應(yīng)用的構(gòu)建,也易于應(yīng)用的更改和部署。
SCA和WSDL
WSDL是Web服務(wù)描述語(yǔ)言,但它只定義了服務(wù)接口,并不提供描述一個(gè)服務(wù)所依賴(lài)的其它服務(wù),以及這個(gè)服務(wù)所需要使用的配置策略和服務(wù)之間的依賴(lài)關(guān)系。單獨(dú)通過(guò)WSDL很難實(shí)現(xiàn)服務(wù)之間的組合調(diào)用。SCA比WSDL走的更遠(yuǎn),SCA定義了服務(wù)組件模型以及服務(wù)組裝模型。服務(wù)模型允許服務(wù)開(kāi)發(fā)者不但定義服務(wù)的接口而且還定義了這個(gè)服務(wù)和其他服務(wù)的依賴(lài)關(guān)系,以及這些交互(事務(wù),安全,以及可靠 傳輸)之間的策略,還有服務(wù)潛在的配置等功能。服務(wù)組件是SCA中的基本組成元素和基本構(gòu)建單位,也是我們具體實(shí)現(xiàn)業(yè)務(wù)邏輯的地方。我們可以把它看成是構(gòu)建我們應(yīng)用的積木。
SCA和JBI
SCA和JBI其目的有很多相同之處:JBI在JSR 208中被定義,已經(jīng)成為使用Java語(yǔ)言把服務(wù)容器組裝為合成應(yīng)用的標(biāo)準(zhǔn);SCA是被推薦標(biāo)準(zhǔn),為在不同平臺(tái)不同語(yǔ)言解決組裝問(wèn)題的提供了更廣泛的方法。SCA關(guān)注是的SOA開(kāi)發(fā)者最初看到的和接觸到的,SCA并不關(guān)注SCA各個(gè)模塊最后是如何實(shí)現(xiàn)的。如果把SOA分成三個(gè)抽象層次的話(huà):業(yè)務(wù)、服務(wù)、技術(shù)。那么SCA對(duì)應(yīng)的就是服務(wù)層的規(guī)范。JBI提供了一系列的API,用來(lái)建立開(kāi)放、可擴(kuò)展和模塊化的企業(yè)服務(wù)總線??梢哉f(shuō),JBI已經(jīng)觸及到具體的技術(shù)層面。SCA沒(méi)有局限于具體語(yǔ)言,而JBI僅限于用Java,因此JBI的應(yīng)用范圍更嚴(yán)格,在SOA未來(lái)的標(biāo)準(zhǔn)體系結(jié)構(gòu)中,可能成為其中的一部分Java實(shí)現(xiàn)標(biāo)準(zhǔn)。