2007年11月10日 星期六

[J2EE] J2EE MiddleWare (中介軟體) 之分析與比較



本文為筆者自己蒐集各方資料與加以親身經驗為主,若有錯誤,請回應或來信指教 ^^
作者:劉建春 [ AaA 燕俠 ] 2007.11.10 現任 TSMC - J2EE WebLogic Consultant


[1] J2EE MiddleWare(中介軟體) :
介於前端程式及資料庫之間的存取服務程式,使程式開發較為簡單,並能以單一的介面存取不同的資料庫或系統,注重在為應用軟體的請求提供向系統軟體的集中的邏輯控制服務。

有時我們稱這些J2EE MiddleWare為,Java Application Server、Java AP Server ...

[2] J2EE兵器譜排行中,MiddleWare市佔率最高的前幾名為:
BEA WebLogic
IBM WebSphere
Oracle AS
Sun One Application Server (Sun One原名iPlanet,2004年AOL與Sun合資的公司,2007.03昇陽買回iPlanet所有股權,更名為Sun One)
SilverStream (SilverStream 2002.03被 Novell併購)

[3] MiddleWare開放原始碼(Open Source)產品則有:
JBoss (2006.04年被RedHat併購)
JRun (2001 Macromedia併購Allaire取得了Homesite、JRun、ColdFusion並把以C++開發的ColdFusion改成是JRun的Web Application並於同年推出Macromedia JRun,2005年Adobe併購Macromedia)
Resin (Caucho公司的產品,Web Container)
Tomcat (不包含EJB,以Servlet Container、JSP為主力的 Jakata project)
Aqusic金蝶中間件 中國大陸近期突起的MiddleWare ...

[4] J2EE開發工具(J2EE、Java IDE Tool):... ... ... more ... ... ...
Eclipse 3.2 / 3.3 (IDE Open Source,史上最強的 IDE plug-in)
IBM WSAD 7.0.3 (方便 IBM WebSphere開發的產品,由RAD : Rational Application Developer演變而來)
JBuilder 2007 (Borland公司的 IDE Tool,以Eclipse 為架構的企業級整合開發環境)
Sun Java Studio Enterprise 8.1 (Sun公司的IDE Tool)
Oracle JDeveloper 10.1.3.3 (Oracle 的 Java IDE)
NetBeans
JCreator
Jedit
IntelliJ IDEA

[5] J2EE 的 SA、SD、Project Management Tool :
這個部分在軟體工程來說,博大精深,非三言兩語能夠道盡 ...
每個人專精的部分,可能變成在專案中扮演的角色,
PM(專案管理師 通常由專案經理擔任)、
Architect(系統架構師 通常由CTO擔任)
SA(系統分析師)、
SD(系統設計師)、
Developer(程式設計師)
SE(系統工程師)、SI(系統整合工程師)、DBA(資料庫管理師)
QA(測試工程師、又稱軟體品質管理師)

IBM Rational Tools 簡述如下 ...
目前功能最完整的大概就屬於 Rational 的產品線(2002.12被IBM以21億美金併購),Rational曾以UML(The Unified Modeling Language)稱霸全球。講究RUP開發流程。

RUP(rational Unified Process)定義了四個model :
1. Use Case Model : 其他三個 Model 的基礎
2. Analysis Model : 概念模型(Conceptual Model),是系統分析的結果,包含了 Class Diagram、Sequence diagram、Activity Diagram)
3. Design Model : 設計系統架構的結果,包含Class Diagram、Sequence Diagram與State Chart Diagram)
4. Implementation Model : 將規格(Spec)與原始碼(source code)作精確的連結

在RUP方法論中,不同的角色可以從不同的側面來認識同一個項目。
RUP定義了「4+1」個場景(View):
1. Use Case View (使用案例場景)
2. Logic View (邏輯場景)
3. Process View (進程場景)
4. Implementation View (實現場景)
5. Deployment View (實現場景)

其他如
程式控管(Source Code Control)、
錯誤追蹤(Bug/MR Trace)、
Design Pattern、
Process Model、
正規化(Normalization)、...等,
有空在另闢章節討論 ^^

.End.

沒有留言:

張貼留言