PowerBuilder 11.x 的重要進步和不足

wl2009go發表於2009-07-27

PowerBuilder 11(以下簡稱PB)出來有一段時間了,但很多使用者對PB11的到底有哪些進步還不是很清楚,由於對PB11缺乏瞭解和信心,目前用PB11做出像樣應用的使用者不多,這確實非常遺憾,這裡我講一下我對PB11的重要進步和一些不足的理解,希望能給一些還沒有接觸PB11或正在觀望的使用者一些參考意見。

PB11取得的重要進步:

1、選擇對.NET的全面支援,站對了隊伍

PB11之前,PB做了大量對Java的支援的工作,努力想傍上Java這個神仙,可惜Java這個神仙不食人間煙火,而搞Java的都是一幫“貴族”,強調開源和免費,對開發效率似乎不是最看重的,而且Pb先後想從PowerDynamoPowersite中找到突破口,結果都無功而返。

PB11這次終於站對了隊伍,因為微軟的.NETPB一樣,都是要追求開發效率,遮蔽開發細節,讓開發人員把精力專注在業務需求的解決上,從而為企業創造更高的投入產出比,PB11站在.NET的肩膀上來做,重點在資料庫業務處理上發揮優勢,這次終於修成正果!

2、可以快速開發資料業務處理的B/S應用

PB11開發.NET ASPX WebFormB/S應用已經基本成熟,PB11.2以後引入了AJAX特性,使開發出的B/S應用Postback大量減少,使用者體驗得到改善,從而達到完全實用狀態,我們的一些Partner已經用Pb11.5開發出像樣的B/S應用。

當然,Pb11開發B/S應用,首先需要明確,只適合用於資料庫業務系統的開發,如果你指望用來開發網站之類的,是明顯不適合的;另外,如果你想讓你的B/S應用更象Web應用,可以不用PB標準的視窗方式,而改用視覺化物件動態建立的方式來實現頁面切換,並且用連結代替按鈕等多種策略。

3、可實現客戶端應用的自動安裝、自動更新

PB開發的C/S應用,客戶端的安裝和更新往往是一個繁重的工作,而這點正是B/S應用的優勢所在(免安裝、免更新),而PB11現在可以藉助.NETSmartClient技術,實現C/S應用客戶端的網頁啟動、自動下載安裝,自動版本更新,這樣客戶端應用的維護工作量大大減少,從而讓SmartClient WinForm應用同時滿足既好用又好維護的雙重要求。

4、可快速開發基於IISWebService

PB11之前要開發WebService,只有先開發一個PB NVO元件釋出到EAServer中,然後把元件(必須是無狀態元件)釋出成WebServiceEasySoap標準),因為要用EAServer來支援WebService,如果只是做小規模的應用間整合,成本就不划算。而PB11已經可以開發基於IIS+.NET FrameWork2.0WebService,開發和部署也非常簡單,因此PB11為開發應用間整合提供了一個低成本的解決方案。

5、可快速開發.NET Assembly PBVS.NET互操作

PB11可以透過開發PBNVO而釋出成.NET Assembly(程式集),Assembly有點類似於WIN32中的DLL,但是完全OO(物件導向)的方式。PB11開發出的.NET Assembly,可以在PB(.NET Target)裡面呼叫,也可以在VS.NET裡面呼叫,因此非常適合用於封裝通用功能、業務邏輯等。

另外,PB11裡面還可以直接呼叫VS.NET提供的大量的系統級Assembly,或者VS.NET裡面開發出的Assembly,這大大的擴充了PB的功能(比如,可以用.NET 裡面的HashTable來實現Cache),而在PB11之前,只能用DLLPBNI技術來擴充PB的功能,DLLPBNI都是比較難用的,容易出錯的方法。

6.NET WebFormWinForm可以訪問J2EE伺服器

PB11實現了從.NET訪問J2EE伺服器的簡單方法(IIOP),從而使實現一種完美的架構成為可能:客戶端採用.NET技術+服務端採用EJB技術,這是一種兼顧客戶端快速開發,美觀實用,和服務端穩定可靠,易於擴充套件雙重優勢的架構,通常在PB11之前,主要是透過IIOP.NET這個開源的產品來實現.NETJ2EE之間的橋樑的。

PB11尚有不足的地方:

1.NET WebFormJavaScript最佳化受限

目前Pb11.2以上版本已經引入了AJAX技術,頁面的Postback大大減少了,但DataWindow的最佳化,需要藉助編寫JavaScript或物件的HTML屬性來解決,但,其實還有很多的互動是可以透過JavaScript來實現的(比如,介面按鈕狀態控制、資料輸入檢查等),而這些可能的最佳化措施,PB11目前還沒給出途徑(至少沒這方面的資料)。

2.NET WebForm下不支援ActiveX控制元件

目前的PB11.x不支援在.NET WebForm中嵌入ActiveX控制元件,這就為要開發能和本機互動的Web應用造成了較大的難度,好在一般的資料庫應用這方面的需求還不是很突出。

3.NET WebForm下檔案上傳和下載不完善

目前PB11提供的檔案上傳和下載為了強調安全性,結果導致沒法將上傳的檔案,直接透過URL地址在各使用者之間進行共享以供下載,這導致了較大的麻煩,目前只有透過將上傳的檔案存入資料庫的Blob中,然後其他使用者再從Blob中取出的辦法,或者透過COM+EAServer這種具有伺服器控制許可權的程式來實現檔案的移動儲存來實現,比較繁瑣;當然你也可以自己來用VS.NET重寫一個檔案上傳和下載的功能,同樣比較費事。

4、需要一個有效的開發框架來發揮出威力

PB11提供了很多很好的新特性和功能,但要發揮出這些功能和特性的威力,還有需要做相當的工作,單就一個開發新的B/S架構應用,就面臨著要如何才能開發出“像樣”的B/S應用呢?看起來想Web應用,而不是象C/S應用在瀏覽器裡面跑呢?另外,.NET訪問J2EE伺服器雖然提供了一個實現的基礎技術,但要構造出這樣的應用,還有相當的路程要走。

還好有PB11.5的完美搭檔PBntierBuilder3.1出現!PBntierBuilder是從2001年開始研究的,如今已經非常成熟,PBntierBuilderSybase公認為PB裡面最完善的多層開發框架,整合、封裝和發展了PB的多層分散式技術和PB11.x各項最新技術,採用PB11.5+ PBntierBuilder3.1可以開發出各種你需要的架構的應用,具體詳情瀏覽 本部落格下一篇文章“PB11.5的完美搭檔:PBntierBuilder3.1”

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21637713/viewspace-1024633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章