西元2006年02月19日
use action/servlet to call EJB3
現在我們撰寫 WebApplication, 現在應該都是採用 MVC 的架構,
就算不是利用 Opensource 如 Struts, Webwork, Tapestry 等等,
也可能是利用 JSF, 甚至自己撰寫的 Servlet 作為 Model2 的 Controller.
這在學習 ejb3 有一個好處, 因為目前無法在 jsp 撰寫 @annotations,
我們可以透過 controller 的 servlet 呼叫 action 或任何 java class,
如此一來, 在 java source 之中,
只需要撰寫
package com.softleader.web.servlet;
import javax.ejb.EJB;
public class HelloServlet {
@EJB
private MySessionLocal mysession;
public String doGet( xxxxx ) {
String name = request.getParameter("name");
return mysession.getHello(name);
}
}
透過 @EJB 的 annotation, 我們可以不用在使用複雜的
InitialContext ic = new InitialContext();
ic.lookup("ejb/MySession");
再去轉型, 容易發生導致 ClassCastException 的錯誤 :)
17:25 發表於 EJB3 | 永久網址 | 留言 (0) | Email this
西元2006年02月17日
Oreilly EJB3 book
Oreilly 預計要在 2006 年五月推出 EJB3 ( 其實也是他們 ejb, ejb1.1, ejb2, ejb2.1 後的第五個 ejb 版本 )
相關的說明如下
http://www.oreilly.com/catalog/entjbeans5/desc.html
雖然賣出了 15 萬本, 但是我覺得之前的版本讓初學 ejb 的人會有些茫然. 我不太喜歡他的編排模式 :)
Anyway.. 我希望做的是比較偏向實作面的作者. 讓每個人可以透過程式與架設系統中,
學習各式各樣的觀念. 畢竟 HeadFirst series 以詼諧的手法來描述專業的知識, 我也應該要為自己的風格創下一個定位點.
與其東湊西拼的一本書, 我目前能夠參考的僅有 Specification ( 還在 Final Draft ... ) 另外不斷實作相關的範例程式. 以及思考相關的解釋與修飾相關的文句. 最重要的是.. 我喜歡把事情做到最好 ~
06:49 發表於 EJB3 | 永久網址 | 留言 (0) | Email this
西元2006年02月16日
為何要使用 Java EE5 之官方說辭
java.sun 有一篇文章 Why Move to Java EE ( http://java.sun.com/javaee/whymove.html )
這篇文章說明了使用 Java EE 5 可以達到
- 簡化開發 : 最重要的改善應該是利用 annotation 取代 D.D. ( Deployment Descriptor ) 吧 !
- EJB 的改善 : 採用 POJOs 的方式以及加強 Persistence 的技術. 讓 EJB3 開發上更為容易 !
- 加強 WebServices 的功能 : 除了開發上的簡化之外更整合了許多最新的技術
- JSF, JSTL, AJAX 等 Web 技術
我從撰寫 J2EE 到去年更名的 JavaEE 已經是第五個年頭.
在其間, 由 Servlet 轉到 JSP 再利用 struts, ejb, hibernate 等等的技術與整合方式,
現在覺得無論是什麼架構, 一定要和 IDE 整合的更平順, 讓開發上更為容易 !
例如, Hibernate 透過 Middlegen 可以產生 hbm.xml 及 PersistenceObject, 這樣子的開發模式,
比起使用 IDE 製作 DAO + ValueObject 來得輕鬆與容易.
我相信未來 EJB3.0 的撰寫與測試, 結合 IDE 會更方便 :)
但是 Java Enterprise Edition 包含了 Programming 技術之外, 還有 Security, Transaction, Management 等底層.
我覺得現在所有的 Application Server 都以 JMX 做為核心來製作. 這是一件好事情, 另外 Secuirty 是否能夠標準化, 我當然期望能夠標準化 ~ Authentication / Authorization for J2EE 的標準應該還有一段路要處理 !
JSF + EJB3 這種開發模式是否能夠成功呢 ?
說真的, JSF 成為 Java EE 5 Application Server 的標準之一, 我卻看不到他的未來.
08:47 發表於 *Overview | 永久網址 | 留言 (0) | Email this
西元2006年02月15日
NetBeans J2EE 5 to Glassfish
昨天下載了 NetBeans J2EE 5 ( netbeans-javaee5-daily-bin-200602012300-1_Feb_2006_2300.zip )
發現他的核心已經改為 NetBeans IDE 5.5
就 EJB3.0 整合度與核心建立上面來看, 這個版本已經漸趨穩定. 不過有幾個問題, 我認為應該更像是 J2EE 5.0 的方式 !
1) Call EJB Reference
目前無法直接取得 EJB3 , 必須自行撰寫 @EJB SomeEJBBI someEJB3; 來取得相關的 EJB.
2) Datasource
直接產生的 codes 是 context.lookup . 我的期望是 @Resource
3) Mail
直接產生的 codes 也是 context.lookup . 我的期望還是 @Resource
總之~ NetBeans J2EE 5 如果是選擇 j2ee5 的 support . 我建議可以忽視 j2ee1.4 之前的 撰寫模式 .
02:34 發表於 EJB3 | 永久網址 | 留言 (0) | Email this
西元2006年02月14日
實戰 ejb3.0 的點滴
"實戰 ejb3.0" , 預計 2006/04/30 準備截稿, 目前的問題有幾個
1) 該使用哪一個 Application Server + IDE 做為範例
Eclipse + JBoss 4.0.3 和 NetBeans + Glassfish 都讓我感到頭痛,
基本上, JBoss4.0.3 沒有 Glassfish 這麼完整, 畢竟 Glassfish 應該是 J2EE 5.0 的 RI, 利用 Oracle EJB3.0 的實作,
加上 SUN 在後面不斷 support, 然而, NetBeans J2EE 5 連 Beta 版本都尚未 Release.
JBoss4.0.3 目前連 @Resource, @EJB 這些 IoC 的 特性都尚未支援,
就算 Eclipse 是當今最紅的 IDE, 但是 ejb3 相關的整合性仍舊很低
我目前的想法, 無論是誰, 反正先放到 Appendix 都可以讓讀者讀到
2) 範例程式的內容
我利用 maven 做為範例 sample build 的方式,
基本上, 是因為 Maven 的 multiproject 可以讓 Enterprise Application 開發可以多元化 .
不過.. 到底要做出什麼呢
我目前已經推翻手機銷售網站的企劃, 決定推出類似商城的範例系統
13:00 發表於 EJB3 | 永久網址 | 留言 (0) | Email this

