2011年11月27日 星期日

Java MVC sample #2

很快地,一個禮拜又過去了,這次takeshi要介紹的是Sample Project#2
經過Sample Project#1使用標準JavaEE技術實作的MVC架構介紹後
這次的Sample Project#2使用的主要技術如下
視 專案需求/不同的Device 抽換/同時使用 不同的UI技術,就takeshi的理解,
要作到RIA(Rich Internet Application),目前的主要技術有兩種,一種是Ajax技術 ,另外一種是Plug-in based技術(以後takeshi再詳細討論吧...)

而這次主要是使用plug-in based中相當主流的Adobe Flex(之後takeshi也打算再介紹Spring-MVC)
  • UI MVC使用技術:PureMVC for FLEX3 2.0.4
由於雲端運算和Web2.0概念的流行,現今網站應用程式(Web AP) 的操作都越來越接近傳統的Rich GUI(也就是需要安裝在客戶端的應用程式),亦或是更為複雜,所以除了使用系統整體架構上的MVC之外,也在UI層中再使用一層MVC架構,來讓專屬於UI操作的邏輯可以切分清楚,並且達到程式碼重用等好處

PureMVC不但有Flex的版本,它還有其它平台的版本,例如Java、JS等
但說真的,takeshi認為Pure MVC的架構蠻不錯的,但學習曲線不低...
不過takeshi以後有機會,也會在其它平台上使用PureMVC啦(Learn once Write Anywhere :p)
這個framework就不用多說了 吧,這是takeshi最喜愛的frameworkㄛ!
說到ORM技術,一般都是聽到hibernate、JPA等名稱,但takeshi對myBatis可是情有獨鍾
嚴格來說,它是SQL mapping技術,而不是ORM技術,它目的很簡單,就是幫助使用者可以很簡單的使用SQL,可以省掉很多像使用JDBC要撰寫的繁瑣程式碼,如getConnection、prepareStatement、ResultSet.close等,好學、易用、輕量!


在takeshi參與專案的經驗,架構的設計通常都是Multitier Architecture,例如本文後續所附之架構圖,就分為Client、Presentation、Biz Logic、Data Integration和Resource等,在此框架內使用哪一種技術,就必須基於系統的運行環境、限制和開發團隊(主要是Architect)的經驗做判斷

一般來說,之前已建立的系統架構可以當作之後專案架構的template(例如Sample Project #1 & #2),稍作修改便可直接使用,所以每次基於不同專案所作的不同系統架構,都可以保存在版本控制系統內,讓架構設計之解決方案越來越豐富,加快開發團隊的效率(也歡迎你/妳拿takeshi整理的架構來用ㄛ ^^)

接下來又到了介紹如何使用Sample Project#2囉~
1. 下載Sample Project
Sample code在這裡,把下載之zip檔案解壓縮並匯入到Eclispe裡

2. Tomcat設定,請參考Sample Project#1

3. 資料庫設定和ER-Model設計,也請參照Sample Project#1

4. 執行和操作方式


5. 本專案使用到的技術和架構如下

6. 參考文件
由於此次Sample Project使用了不同的技術,所以特別註明參考網址,方便網友們參考
  • Adobe Flex
Getting Started
Reference
Flash Builder Download
  • PureMVC
documents
  • Adobe BlazeDS
Main Page 
  • Spring-Core
Java API docs
  •  Spring-Flex
Main Page
  • MyBatis
Main page for Java

takeshi當初在整這個專案時,也花了大約兩~三天的時間,過程中小問題不斷
所以網友們有問題可以提出來跟takeshi討論ㄛ~

沒有留言:

張貼留言