聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

十一月 13, 2008
» SUN TECH DAYS 2008-2009 - 老魚 JavaEE 講者之行

很多時候我們沒有完成一件事,那並不意味著我們不具備完成這件事的能力。
- 王竹語《微笑看人生》

大約在一個半月前, 突來一封主辦的 mail 給了老魚這個使命,
Sun Tech Day (Sun每年一次的技術日研討會)





老魚將在下週一 (2008-11-17 下午 14:00) 在台北主講企業應用的議題之一

(來張老魚的簡報首頁圖~呵)


議程時間短, 但要能表現出這二個內容, 該如何體現傳達給在座的技術師們,
這果然讓老魚整整思索一直從接到任務至今, 但老魚對自己說 ...
  • 事事難盡人意, 但求無愧我心 ! 用心做好它 !
  • 直到今天剩下不到 4天還是不斷修改簡報內容, 只願能正確傳達當中的要義.
  • 且老魚心想這 Blog 不也是繞著這議題在持續撰寫中, 自嘲自己說: 老魚會做好"售後服務"的 Blog 持續內容, 必竟 Java EE 也是老魚研究學習的主要議題.

十一月 12, 2008
» (Ubuntu 8.10) GlassFish v3 Prelude & PostgreSQL Connection Pool

子曰:學如逆水行舟,不進則退。

GlassFish v3 Prelude (GFv3)
是一個可用於正式服務的 Java EE 開源碼應用伺服器,
在幾天前正式發佈, 當中擁有不少新的特性例如 HK2, OSGi ...,
但最吸引老魚的莫過於 v3 是老魚當前研究主題 Java EE 6 新子規範的實作測試平台.

老魚其實很想用力寫教學..., 可惜本身並非專職研究員, 只能盡力分享給大家!
本篇把重點擺在企業應用...當我們需要一個高承載的應用伺服器時,
一定也會考量到後端資料庫是否也能有效的利用,
所以也就會對使用到連線池的實作產了需求, 在這幾點考量下,
老魚近日應客戶的需求, 建置了以下的系統規格:

  • 作業系統: GNU/Linux Ubuntu 8.10 Server
  • Java EE Server: GlassFish v3 Prelude
  • 資料庫系統: PostgreSQL 8.3.5
如何在 Ubuntu 中正確安裝 PostgreSQL 老魚有交待過了~呵
你可以在上面的社群中找到相關知識, 至於 GlassFish 的安裝,
在本 Blog 中也說了不少, 今天我們來談 Connection Pool (連線池),
先來看看貼心的 i10n 正體中文的管理介面
(點圖可放大)


首先請正確的下載 PostgreSQL JDBC Driver,
並放置到您安裝 GlassFish v3 資料夾中如下的位置
  • /glassfishv3-prelude/glassfish/lib
再來當然先在 PostgreSQL 中開設好角色與資料庫囉~

再來我們切換到 GFv3 的管理者介面, 點選資源(Resources),
就可以看到連結池(Connection Pool)的設定頁:
(如下圖)


按了新增後, 在如下的畫面除了給予一個大吉大利的"好名字"外,

最重要的是點選下列參數後, 再進行下一步 ...
  • javax.sql.ConnectionPoolDataSource
  • 您想要的 DBMS (老魚我可沒說只能用 PostgreSQL 哦~呵)

在上圖步驟2 共分成上下二大段內容, 上段可以保持預設值,
除非您對 Connection Pool 的需求效能分析有概念,

再來最重要的就是最下方的設定值:

上圖中用小紅框標記的部份是必填的, 填錯也無妨,
在完成後測試不通可以再修正.

這時 GlassFish 應該會要求重新啟動 EE Server 來使值生效.

在完成後就會有如下的新子點產生, 這畫面中最重要的就是 "Ping",
用來測試是否能根據您給的值與JDBC Driver的正確性.


若是連線失敗呢.. 那切換到"其它特性", 可能是屬性值給錯了哦~

十月 27, 2008
» (分享製作) JAXB 2.0 - Java Architecture for XML Binding

不應取法,不應取非法。
以是義故,如來常說,汝等比丘,知我說法如筏喻者。
法尚應捨,何況非法。 - (金剛經-$6 正信希有)

JAXB
是 Java 用來與 XML 格式文件間的交替結繫的規範.
透過 JAXB 您可以利用 XML 產生 Java object,
反之透過 Java 來定義及產生量身定制的 XML 文件格式及內容.

下面這張圖來自 Sun 也說明了主要的架構與用途.


(點圖放大再另存圖片)



更多參考資源:

九月 25, 2008
» (教學簡報) Apache Derby(Java DB) (一)

Apache Derby 是個嵌入式的資料庫系統, 很小只有 2 MB,
但卻包含了大多數的大型 DBMS 的特性, 且是純 Java 撰寫,
很值得開發者學習與使用它在產品中.

老魚較早相關的文章:

全螢幕觀看:
http://docs.google.com/Present?docid=ddgj2m37_500dzwnxxfg&skipauth=true

九月 5, 2008
» (教學簡報) JavaEE - Web Services - JAX-WS 2.1

Web Services - JAX-WS 2.1 - Java SE/EE 6

老魚邊研習邊編寫的教學簡報, 分享給同好們~
老魚努力找尋咱們"慢活"的高雄市捷運線上的好地方,
來組個每週定期晚間的 Linux/Java 讀書會.
(歡迎您跟老魚一同學習與成長!)

有任何的好建議及參與者或善心人士,
歡迎跟老魚聯絡 ... 感恩~

JavaEE.Web.Services.1001.JAX-WS
全螢幕觀看:
http://docs.google.com/Present?docid=ddgj2m37_1022fcs2ccd2&skipauth=true


相關的教學範例 Code, 都置在 Blog 右上的 小沙瀰養成用範例庫(SVN)
http://trac.assembla.com/kuoteam/browser/trunk/WebServices

九月 2, 2008
» GlassFish v3 中的組件安裝與更新工具

人而無信,不知其可也。
大車無輗,小車無軏,其何以行之哉 ? —— 孔子

GlassFish v3

是開放源碼的 JavaEE 5+ 的實作 Server 容器,
在首次的安裝包只有不到 30 MB, 相對於 GlassFish v2 的 8x MB,
下載也更加的輕快 ...

當中最特別的一點,
即為將非必要的 Java EE 組件 ( EJB / Groovy & GRails ...),
加入更高的模組化抽象, 運用如同 Linux 套件管理程式 APT 般,
設計成一個視窗化的 GUI 界面,
來管理已安裝與可供更新或是加裝組件的管理畫面,
這樣的好處即為形成輕量安裝,
且又可自由擴充的 EE 容器架構的堆疊(如下圖)



GlassFisf v3 在啟動後,
你即可以執行位於你安裝 GlassFish v3 的文件夾內,

Linux/Unix:
  • [glassfishv3-tp2]/bin/updatetool

來啟動如下的畫面, 進行 Server 各組件的管理與擴充功能.
這替新一代的 JavaEE Server 帶來了新的特點,
不再是以前龐大厚重的 All in One 的 EE Server 容器,
而是富有彈性增減的新觀點 !

順道一提的是該工具使用 Python 寫的哦~ ^^


老魚相關文章:
Java EE 5 應用伺服器安裝教學(使用 GlassFish v2.1)

三月 11, 2008
» (分享教學) JavaEE 5 - JSF 1.2 可視化的 Web UI 專案實作

本週三 Java EE 要進行的主講議題, 先分享給大家~
老僧希望能教出一群懂得團隊合作與會使用標準化 Java EE 5 規範的新生代...努力中
這樣就能造就能承接大型專案如同 ERP 開發的多人團隊.

星雲大師說:"一個人的心量有多大, 成就就有多大!"

老僧我要遵循他老人家的規範, 拿這精神來告誡小沙瀰們,
如果您想讓自己更加成就, 就應該把自己的格局放大,
把自己的態度放低, 至於謙卑與內修就要多自己多唸唸經囉~~呵
唯有團隊合作而非英雄主義, 分工與分享學習心得~
才有可能讓你們這群新生代與大型軟體資訊公司競爭~以小搏大之力

學習更弘大的資訊架構... 學 SOA !?
(老僧的老友: 我快要出本 SOA 的書了, 給我更多參考資源啦~)
(老僧: 我很努力找啦~, 我就看你多會寫~ 服務~服務~)
(老僧的老友: 對~您出去不要跟人閉口開口就談技術面~要談能做到怎樣的結果!)
(老僧: 是大師~所以我默默在 Blog 裡寫技術面囉~呵)

http://docs.google.com/Presentation?id=ddgj2m37_581dzmjds43

» (分享教學) JavaEE 5 - JSF 1.2 可視化的 Web UI 建構專案

本週三 Java EE 要進行的主講議題, 先分享給大家~
老僧希望能教出一群懂得團隊合作與會使用標準化 Java EE 5 規範的新生代...努力中
這樣就能造就能承接大型專案如同 ERP 開發的多人團隊.

星雲大師說:"一個人的心量有多大, 成就就有多大!"

老僧我要遵循他老人家的規範, 拿這精神來告誡小沙瀰們,
如果您想讓自己更加成就, 就應該把自己的格局放大,
把自己的態度放低, 至於謙卑與內修就要多自己多唸唸經囉~~呵
唯有團隊合作而非英雄主義, 分工與分享學習心得~
才有可能讓你們這群新生代與大型軟體資訊公司競爭~以小搏大之力

學習更弘大的資訊架構... 學 SOA !?
(老僧的老友: 我快要出本 SOA 的書了, 給我更多參考資源啦~)
(老僧: 我很努力找啦~, 我就看你多會寫~ 服務~服務~)
(老僧的老友: 對~您出去不要跟人閉口開口就談技術面~要談能做到怎樣的結果!)
(老僧: 是大師~所以我默默在 Blog 裡寫技術面囉~呵)

二月 19, 2008
» Java EE 5 應用伺服器安裝教學(使用 GlassFish v2.1)

新年~跟各位看官問聲~"新年快樂!"
今天延續農曆年前的 Linux 班的應用實例教學 ...
讓小沙瀰能獨自完成並了解過程中所使用 LPIC-1 範圍的內容,

本主題的課程實例是:
您是位 Java 軟體開發公司的系統工程部成員,
授命完成一部 Linux + Java EE 5 應用伺服器的環境,
再交給 Java 程式開發部門使用.


老僧在此整理成短文, 方便下梯次的小沙瀰練習用...
(完成安裝後的中文管理介面)


1. 首先當然必須完成在 Linux 下 Java JDK/JRE 的使用環境:
請自行了解下列二篇文的來構建相關的部份即可, IDE 部份非必要性.

回顧老僧的二篇 IDE 教學文

2. Ubuntu 7.10 套件庫存在的版本問題
其實 GlassFish 早已進了官方的套件庫中,
不過呢...版本號是太舊了點(1.0), 所以我們不選擇上列的方式安裝!
改用自行安裝(如下:)

2.1 GlassFish v2.1 簡介與下載
GlassFish v2.1 是 Sun 主打的開放源始碼 Java EE 5 應用伺服器
(Open Source Application Server for Java EE 5),
如同 RedHat JBoss, BEA Weblogic, WebSphere,
其實 Apache 基金會也有同樣的產品 Geronimo ...,
Java EE 5 在 JSR 的規範中理論上各家公司的實作只是內部的方式不相同,
其它都只是大同小異, 意思是專注了解一家的產品與 Java EE 5 理論,
您也能對其它家的駕輕就熟.

為啥為 GlassFish 當教材 ?!
因為下載不用填一堆問題, 因為不用註冊碼,
因為網路相關教學資源也豐富, 因為跟 Netbeans 6 整合的太順暢了,
更重要的是對本地化的支持高, 連管理介面都有中文化了 ... 呵

GlassFish is an enterprise-quality Java EE 5 application server that offers advanced clustering, centralized administration, and best-in-class performance built by the GlassFish community. The Java EE SDKs contain the Sun Java System Application Server (Sun's supported distribution of GlassFish).
下載~到官網 https://glassfish.dev.java.net/

最右邊就有下載位置可點擊(Download GlassFish v2ur1)
再拉到下載頁的最下方就有各平台版本二進位安裝檔供各位自由下載,
當然也包括了源始碼(老僧我只有三部電腦...裝過三個平台版本, MacOX 10.4, Linux, Win32)
如下圖, 每個平台都區分成二個大一點的是多國語系版(包含正體中文哦~Cool)
副檔名為 .jar 是 java 二進位類別檔的壓縮檔集合.

3.安裝與建議
基於安全性, 個人建議不要以 root 方式安裝與使用它!
在個人的家目錄下開一個 opt/ 來放置自行安裝的應用套件會是個不錯的建議.

設定環境變數的問題 JAVA_HOME ...
Ubuntu Linux 使用 /etc/jvm 這檔案來管理 JAVA_HOME,
我們可以省略對 ~/.bashrc 增加 export JAVA_HOME 的動作.

$ java -Xmx256m -jar glassfish-installer-v2ur1-b09d-linux-ml.jar -console


在 Ubuntu Linux 下的 GTK 與 JDK 存在一個小問題,
原本的 GlassFish 會跑出圖形化的授權協議畫面, 為了避開這小 bug,
改由終端機來秀所以上列最後補上了 -console 的選項.
跑了一大頁的授權協議 ...

當然只有按 'A' 才能繼續囉...會在你所在的位置解開 GlassFish 的完整目錄.

進入解開後的 glassfish 目錄後,
首先必需將 ant 目錄的相關命令改成可執行才能自動構建 GlassFish 的環境
$ chmod -R +x lib/ant/bin

執行自動構建
$ lib/ant/bin/ant -f setup.xml

最後會出現如下的提示與完成構建的說明, 本例是使用多國語系版.


4.基本啟用與管理
GlassFish 的命令集中於該目錄裡的 /bin, 啟用單一節點的範例如下:
當然把這 /bin 加到 $PATH 會帶給您更方便的操作.
$ ./asadmin start-domain domain1

(如下圖的訊息說明)

上述在啟用單一個應用網站節點 'domain1',
您可以考慮學習更進階的 GlassFish Cluster 議題.

打開您的 Firefox 網址 http://localhost:8080 即可看到如下的執行中畫面:


管理者介面在 http://localhost:4848 預設的情況下會有正體中文哦
帳號與密碼預設為 'admin' 與 'adminadmin' (正式使用別忘了改!)


停用 GlassFish
方法1: 從管理者介面(如下圖)
點選左邊的 [Application Server], 再點擊右邊的 [停用實例] 即可


(圖2)


方法2:在終端機執行
$ ./asadmin stop-domain domain1

接下來的修行就靠各位囉~~
記得注意防火牆與安全性問題哦~
Java EE AP Server 同時間使用了至少 6 個不同的 Port ...

support:

biggo.com.tw

biggo.sg

A Django site.