閱讀全文
2007年3月9日 #
閱讀全文
2006年11月20日 #
2006年8月28日 #
2006年8月25日 #
我注意到一個(gè)關(guān)于oo工具和so工具關(guān)系并且很吸引人的討論正在Yahoo的論壇上進(jìn)行。
這些討論闡明了為什么我們要在eclipse平臺(tái)上開(kāi)發(fā)SOA的插件,這些由IBM,sybase等公司開(kāi)發(fā)的插件顯然優(yōu)于基于UML以及MDA上的。
Stefan Tilkov,討論參加者之一,在之前的博客中已經(jīng)討論了這個(gè)問(wèn)題。另一位論壇參與者Lukas Barton引用了他在之前寫的關(guān)于MDA的文章,主要從插件角度講一些OO和SO的區(qū)別。
自從這個(gè)討論看是以來(lái),一些事情已經(jīng)改變了,但是我想說(shuō)的是UML和MDA仍然沒(méi)有從面向?qū)ο筠D(zhuǎn)成面向服務(wù)。那些UML和MDA的工具仍舊要求用戶從對(duì)象的角度開(kāi)始你的WSDL,XML Schemas,SOAP而不是其它的。
當(dāng)然你也已使用UML去創(chuàng)建服務(wù),也可以像被已經(jīng)提到多次的那樣,使用面向過(guò)程的技術(shù)例如:CoBOL 或者 PL/I 或者存儲(chǔ)過(guò)程以及異步消息機(jī)制。這樣做的主要好處就是所有這些都是直接涉及其本質(zhì)??墒怯捎谀銓O和OO聯(lián)系的太緊密地話,你將會(huì)有所損失。
對(duì)于軟件開(kāi)發(fā),oo的概念的使用往往會(huì)帶來(lái)的問(wèn)題比它本身所能解決的更多。(采用對(duì)象,過(guò)程,隊(duì)列等來(lái)實(shí)現(xiàn)服務(wù)是沒(méi)有問(wèn)題的但我們應(yīng)該采用別的方式來(lái)設(shè)計(jì)服務(wù))由于OO很清晰的映射了業(yè)務(wù)功能,所以天生更適合于采用服務(wù)來(lái)建模,設(shè)計(jì)和開(kāi)發(fā)。
軟件工具需要提升其抽象的程度。MDA以及UML沒(méi)有真正做到這點(diǎn),自從這兩個(gè)東西讓我們開(kāi)始學(xué)習(xí)如何重新采用對(duì)象方法的觀點(diǎn)解釋世界,更加抽象的認(rèn)識(shí)服務(wù)。我們需要是一套基于Contract-First的SO工具來(lái)開(kāi)發(fā)SOA (以面向服務(wù)為本質(zhì),而不理會(huì)是否用OO來(lái)實(shí)現(xiàn))
2006年8月24日 #
昨天我們公司的3M team 的新人們?cè)诟舯诘霓k公室KT, 身為新人的我也跑過(guò)去,一看在講JUnit,聽(tīng)了一會(huì)兒,
講了很多Assert云云的東西,我想到了一點(diǎn),為什么不先說(shuō)說(shuō)為什么要JUnit,否則我想任何人都在會(huì)和我一開(kāi)始學(xué)Junit時(shí)候一樣,認(rèn)為不霄一顧,想著
總想著這些東西,我用equals,print的組合都能實(shí)現(xiàn)的,更可以嵌在代碼本身,何必又獨(dú)立出來(lái)。
到這里大家知道我想說(shuō)什么,我想說(shuō)的是TDD的重要性。產(chǎn)生于XP的TDD,呵呵,(不知道我們敏捷開(kāi)發(fā)組的同僚們用不用),這個(gè)TDD的思想是這樣的
我們不應(yīng)該完成開(kāi)發(fā)之后再去寫測(cè)試,這通常只是馬后炮,測(cè)試的本質(zhì)上相當(dāng)于設(shè)計(jì)文檔,而不是花大量的時(shí)間去擺弄一個(gè)復(fù)雜的圖形化工具,
你要直接在代碼里擬畫一個(gè)類。開(kāi)始時(shí)候先為一些小功能模塊編寫測(cè)試。很多情況下,測(cè)試不能編譯,因?yàn)轭惐旧聿淮嬖凇?br />所以我們要做的就是用最少量的代碼完成這個(gè)類,以便通過(guò)測(cè)試,并增加更多的測(cè)試。這里說(shuō)一下,xp編程中,基本過(guò)程是這樣的:
構(gòu)思->編寫測(cè)試代碼->編寫代碼->測(cè)試,而且編寫測(cè)試和編寫代碼都是增量式的,寫一點(diǎn)測(cè)一點(diǎn),
在編寫以后的代碼中如果發(fā)現(xiàn)問(wèn)題可以較塊的追蹤到問(wèn)題的原因,減小回歸錯(cuò)誤的糾錯(cuò)難度。
(回歸讓我想到了回溯的算法,嘿嘿,大學(xué)的噩夢(mèng))
于是測(cè)試框架來(lái)了,--JUnit,衍生到XUnit,請(qǐng)開(kāi)始使用他們巴。那位寫Taconite的Ryan Asleson說(shuō):測(cè)試會(huì)上癮的,一開(kāi)始接觸JUnit的人都心存疑慮
但是最后都會(huì)愛(ài)上他們。因?yàn)楫?dāng)你發(fā)現(xiàn)增加新的特性只需要幾分鐘的測(cè)試過(guò)程的時(shí)候,你就會(huì)意識(shí)到今天我們所說(shuō)的。
最后說(shuō)一下JsUnit,據(jù)我看用的人很少,說(shuō)白了是Junit的JS版本,自然也是RTF(Regression Testing Framework)的東東,,很多用法都差不多,不過(guò)它是基于函數(shù)的,不是方法哦
地址www.edwardh.com/jsunit,弱弱的問(wèn)一下,有人用這個(gè)來(lái)測(cè)試ajax嗎?嘿嘿!
明天又要去看可惡的BPM文檔了。
今天裝了PRPC(PegaSystem)用于以后BPM工作流的開(kāi)發(fā),配置比較復(fù)雜,國(guó)內(nèi)也沒(méi)有相關(guān)材料,拿出來(lái)共享一下,呵呵!
自己寫的安裝流程如下
Environment Requied:
JDK, Tomcate, JDBC Driver, SQL Server2000. (For example: jdk1.5.0_04, Apache Tomcat 5.0.28)
?????? 1) ?Set Class Path:
a)?????? CATALINA_HOME
????? Path :-< Tomcat’s location>
(e.g.: - C:\Program Files\Apache Software Foundation\Tomcat 5.0)
b)?????
JAVA_HOME
?? Path :-< Java location>
(e.g.: - C:\Program Files\Java\jdk1.5.0_04)
c)????? JAVA_OPTS
????? Path :- -Xms256m -Xmx768m
2)????? Deploy Application:
a)?????? Copy file “prweb.war” which is located “PegaV4Installation\PRPC INSTALL\PRPC_v0402_SP4_Software\PegaRULES\archivesNoApp” to “<CATALINA_HOME>\webapps”.
b)????? Restart Tomcat. If there is a new folder “prweb” in “<CATALINA_HOME>\webapps”, you are successful.
3)????? Upload Application Files:
a)?????? Start Tomcat, Open the URL: http://localhost:8080/manager/html/, Click “/prweb” link which is in Applications Path.
b)????? Click hyperlink “Upload Application Files”, open a new page “PegaRULES Upload Manager”, Upload the file “PRPCV4.jar” which is localed “PegaV4Installation\PRPC INSTALL\PRPC_v0402_SP4_Software\PegaRULES\applicationJar\”.
4)????? Create a Connection of Database:
a)?????? Create a new registration of database server(IP:10.225.69.248) in SQL Server Enterprise Manager.
b)????? Import the DDL code which is in “PegaV4Installation\PRPC INSTALL\PRPC_v0402_SP4_Software\schema\DDL\mssql\mssql_install0402.sql” to SQL Server Query Analyzer Editor and execute it, it will create several PRPC table in SQL Server.
c)????? Copy the three JDBC driver file msbasse.jar, mssqlserver.jar, msutil.jar to “<CATALINA_HOME>\common\lib”.
d)????? Restart Tomcat.
5)????? Load PegaRULES Application Instances:
a)?????? Open URL http://localhost:8080/prweb/admin/FirstSteps.html, Click hyperlink “Load PegaRULES Application Instances”.
b)????? In the new page, set “Database Driver” as “MS SQL Server”, set “URL or DSN” as “jdbc:microsoft:sqlserver://10.225.69.248:1433;SelectMethod=cursor;SendStringParametersAsUnicode=false”, input Username and password and then submit. The installation is achieved until the progress complete
6)????? Connect to PegaRULES:
a)?????? In previous page, Click “Connect to PegaRULES” or open URL http://localhost:8080/prweb/PRServlet, it will show a PegaRULES’s entry page, login with username:administrator@pega.com & password:install.
b)????? After that the PRPC will demand you to install some program, Please click ‘yes’ to install all
c)????? The installation is OK.