註冊 | 登入 | RSS Feeds
ZDNet | Taiwan.CNET.com |

廣告:
誰來撰寫JSP網頁?

2則回應
    
2004/08/26 10:14:22 外表在專案開發或追求女孩子都很類似,內涵固然重要,但如果沒有好的第一印象,很難吸引對方進一步了解你的內在。一個專案團隊裡會有管理人員、分析人員、設計人員及美工人員等,美工人員主要的工作就是將後端處理好的的資料,美美的呈現給客戶看。

開發軟體也是一樣的,在客戶面前就算你說破嘴來解釋你所用到的技術有多好多先進,用了多少的 Design Pattern,來幫客戶解決了多大的風險問題,有時候往往不如展示一個美美的畫面,直接打動客戶的心。

對於Web Application來說,除了最後展現的網頁必需是令人賞心悅目之外,通常在專案開發的前期,網頁也是用來溝通需求的一個重要工具。用網頁來呈現整套系統所需要的功能,以及所有的操作流程,應該是最直覺不過的了。所以對於Web Application的開發過程,往往會有個UI Prototyping的工作里程碑(Milestone),客戶及開發人員用來確認彼此的認知是否正確,確認過後才開始進行真正的系統設計的部份。

問題來了,UI Prototyping如果只是用來確認所有的功能及操作流程,通常只是很隨性的用製作網頁的工具(例如Dreamweaver)把網頁給做出來,而美工人員還得為系統製作一份美美的網頁出來。如果UI Prototyping的網頁可以直接使用,對於美工人員來說是最好的,因為不用在重新製作一份。不論是哪一種方式,最後所要面臨的問題是,要將真正的資料塞進網頁之中,也就是將原本靜態的HTML網頁,改成動態的JSP網頁。

美工人員勢必不懂Java和JSP的語法,所以這項工作一定是程式人員來做,可是網頁中常常會有一些基本的元件需要微調的,像是JavaScript或是表單,因此程式人員除了要會Java之外,還得懂得HTML、CSS、JavaScript等網頁相關的技術,這樣才能將資料正確的展現在網頁上。

好不容易把JSP網頁給做出來了,到這裡美工人員已經完全無法插手網頁的修改了,裡面塞了一堆的Java語法、Scriptlet、Expression、JSTL等。這時候你得祈禱客戶不會再去更動網頁上的內容,否則一個改版的動作,可是會忙壞程式人員

現在大家在設計Web Application時,已經很努力地用MVC(model-view-controller)的模式,把Viewer的部份跟後端的Business Logic切的很乾淨,但在JSP的網頁中免不了還是會有許多Java程式設計師才看得懂的JSP相關語法。這些JSP的語法成了日後網頁維護的最大障礙,因為美工人員再也無法使用網頁製作工具來修改網頁上的內容,而程式人員又必需俱備十八般武藝在一堆HTML與JSP語法中穿梭。

有兩個方向可以來解決這個問題,一是將後端Business Layer所處理好要呈現在網頁上的資料元件化,讓這個資料元件能夠跟網頁編輯工具結合,直接透過拖拉放的方式,將資料給放在網頁上。這有點像在IDE工具中加上JavaBeans元件,不過難度上高出了許多,因為IDE工具畢竟還是用Java所撰寫的,用JavaBeans也是理所當然的組合。

但網頁編輯工具跟資料元件該如何溝通,這得訂定出一些標準出來。看起來目前最有可能達到這個目標的,只有Sun Java Studio Creator,只是JSC的網頁編輯能力,當然無法跟Dreamwaver相比,JSC還有許多進步的空間。

另外一種解決的方法是,簡化JSP網頁的語法,用最簡單的標籤來取出所要呈現在網頁上的資料。JSP 2.0裡有項新的技術,叫Expression Language(以下簡稱EL),它的出現可以大大的降低JSP網頁的複雜度,除了截取資料的法簡單外,其語法也讓你的網頁符合XML的規範,換句話說,就是JSP網頁也能被一般的網頁編輯程式來存取,不因為裡面的JSP元件造成網頁畫面的錯亂。又或者,你可以用XML處理程式分析你的JSP網頁,進而做修改的動作。

EL的使用方法非常的簡單,網頁的美工人員可以很容易的學會如何從資料物件中取得所要的資料,這些語法只是一個簡單的字串而已,並不會影響網頁畫面的呈現。只要美工人員跟程式人員彼此溝通好取得資料的介面,美工人員可以很容易的製做出JSP網頁,而不在只是塞滿假資料的靜態HTML網頁。

不過這裡又有個雞生蛋,蛋生雞的問題。如果要讓美工人員利用EL來製作JSP網頁,勢必程式人員必需先把資料溝通的介面給定義好,也就是說系統開發得進行到SD(系統設計)的階段。可是前面說過,系統的功能需求確認通常靠網頁作為溝通的媒介,在功能需求未確認前,是不會進行到SD階段的,那到底誰該來寫JSP網頁呢?其實並沒有衝突,UI Prototyping還是可以請美工人員先在網頁裡塞進假的資料,等到SD階段做完之後,再利用EL的語法跟真的資料做介接,還是可以讓整個系統的開發順利的進行。

HTML在展現動態的資料處理上,原本就有其先天上的限制,使用者往往需要瀏覽了好幾個網頁後,才能完成某一項的功能步驟。因此最近有一項新的觀念慢慢的成型-RIA (Rich Internet Applications),使用者能夠透過RIA得到更快速、更直覺、更豐富的作方式。

目前Macromedia在RIA的研究上已有了相當的成果。Flash幾乎是所有瀏覽器都會擁有的Plugin元件,Macromedia結合了前端的Flash和後端的J2EE(.Net版本也在研發中),推出了名為 Flex的的技術。個人覺得這是個非常有趣的技術,相信它應該可以帶給大家相當大的震撼。礙於篇幅的關係,關於Flex的詳細資料,你可以到Macromedia的網站上去瞧一瞧(http://www.macromedia.com/tw/software/flex/)。

作者於中正大學資訊工程研究所博士班肄業。專精Java技術開發,曾出任Java Two七屆講師。知名Java工具書作家,已發表著作包括Palm應用程式設計、Java2全方位學習等系列書籍。
加入我的圖書館 訂閱關鍵字
加入網路書籤> 加入funP | 加入Google書籤 | 加入Yahoo!奇摩分享書籤 | 加入twitter | 加入facebook | 加入plurk |
友善列印 | 轉寄朋友


  • 2.匿名 於 2008/03/27 22:41 回應
    Sun Java Studio Creator 早已經重新包裝成為Netbeans Visual Web Pack了
  • 1.陳柱民 於 2008/03/15 21:59 回應
    精彩,可否再寫多些?


留下你的意見
會員 * 帳號:
* 密碼:
  1. 欄位可選填,若全不填,則顯示為「匿名」。
  2. 不支援html語法
非會員 姓名:
E-Mail:
Blog:
  重新載入驗證碼
* 驗證碼: 記住我