2005/8/20

JavaTwo2005的記錄與感想

8/17 早上
1. Netbeans
Matt Thompson 強調 netbeans 比 Eclipse 強在 J2ME AP 的開發上,但觀察這次 JavaTwo 專家講座,EE 相關有 8 個,SE 相關 3 個,ME 相關 2 個,還有 1 個講憑證 IC 卡,1 個講 Tool,EE 的技術場次明顯比 ME 還多,這是不是表示使用EE 的技術人員比 ME 多?雖然 Java 手機的數量驚人,但開發人口是不是比 EE 少很多?如果是這樣的話,Netbeans 從ME 的角度切入 IDE 市場,要怎麼滿足多數 EE 開發人員的胃口呢?

2. J2ME developement in Netbeans
Rima demo J2ME Form使用netbeans開發,畫面上看起來還蠻炫的,可馬上看到Form page的flow,不知道Java EE上的jsp/servlet page flow是不是也可以這樣做?

3. JDK developement
project peabody
jdk developement community
JDK 6.0 mustang
為了維持"相容性"的問題,是使用JRL license,如果真要推進到Free/OSS solution,得向Free Java Runtimes─黃敬群取經。

4. Java EE development
Sun's open source application server
採用OSS license,但得通過compatibility test TCK。

5. Open Solaris

6. 格言 in Matt Thompson's slides
Developer's Don't Buy Things, They Join Things.

7. Mac OS X.
EI Office can run upon Mac OS X.
Aqua - framework - graphics - Darwin(FreeBSD)
framework : classic, carbon, cocoa, java

8. LG3D project looking glass
些許修改後,就直接讓Swing GUI直接套用 looking glass 的3D API

8/17 下午
1. Design Patterns in Java Library - 侯捷
侯老師習慣深度挖掘core API,投影片「畫」得很清楚,相信用了不少時間準備,不過內容並不很深入,只簡述了幾個Pattern並舉出Sun JDK實例,但我想,要從library中「拆解」出Pattern,需要花很多時間。

沒有深入一點問題的答案,例如:為什麼Java IO裡面使用Decorator Pattern時,ObjectOutputStream out =new ObjectOutputStream(new FileOutputStream("worm.out"));為什麼會用ObjectOutput包裝FileOutputStream這個順序。先有Java IO implementation的需求,才會產生在實作中使用Decorator的結果。如果能講出為什麼要套用Decorator跟設計的理念會更有感覺。但如果要這樣講的話,根本講不完,再參拜一下Design Patterns會比較實在。

以後看到他出一本這個題目的書,我也不會意外。但黃敬群提到Sun JRL License的問題,如果是以研究、推廣為出發點,應該不難解決吧。

2. J2EE & .NET Application Interoperability─李宗達
聽完後,還是覺得內容有點亂。J2EE的架構就是以Tier為基礎,如果能利用投影片第8頁的Tier圖,先分Tier,然後根據Tiers講解各Tier上整合的方法、機制與優缺點,應該會讓presentation更有感覺吧。

3. Java在Business Intelligence和Data Warehouse的應用實例─杜修文
Data Warehouse專門在做資料處理的,這個session展示了DW project的過程與作法,還demo出流程的感覺,讓不懂DW的我受益不少。應該可以說是從黑盒子變成灰盒子的狀態。
ps. What is "Cube ?" What is "Dimension ?"

8/18 早上
1. 春神來了- 讓Spring解放您的程式碼─歐宣修
早上睡過頭(得怪Blue Nowhere藍色駭客這本小說),只聽到下半場,我會去拜讀Expert One-on-One J2EE Developement這本書。Spring Framework的發展也是循序漸進的,但只要一看到Framework,我就想到會有一堆 configuration 在等我去作前置學習與處理,有沒有一個 universal configuration library for every software framework/library 呢?如果連config都能標準化,那麼作IDE/學習/使用/拆解應該可以事半功倍。

2. Free Java Runtimes─黃敬群
講了不少Free/OSS的歷史,也作了置入性行銷,目前對他究竟靠什麼賺錢生活,還是蠻好奇的。下半場的Runtimes牛肉部分顯得倉促,只能自己在找時間閱讀slides。目前還是不曉得,如果要porting一個Java Runtime要怎麼做,Java Runtime跟硬體鍵接的部分在哪裡。記得很久以前看過Java Chip,可以直接跑Java binary code的CPU,這種東西應該就是用硬體兜出Java Runtime Environment吧?可以用VLSI做出Java Runtime嗎??

3. 舊瓶新酒之網頁的新動力AJAX(Asynchronous JavaScript Technology and XML)─朱仲傑
講師很用心地做錄音與錄影,但剛剛才發現沒辦法download了。AJAX技術真的沒什麼,沒看到比較fancy的sample demo,例如progress bar...,曾經看過一個用javascript寫的starscraft,看樣子只能用心去試才會有比較fancy的應用,但寫出來的source code馬上會被copy,寫出來後乾脆直接open吧。

4. 以Java語法為基礎的直譯器-BeanShell─王建興
這是個Lightweight Scripting for java,講師把握時間,應該是把該講的全都講了,對於BeanShell的reloadClasses功能,我想可以利用來做live的程式套件更新,就是在服務不關閉的情況下,更新某一支程式或一個套件,尤其再配合remote debugging mode,就可以遙控遠端服務,再配合addClassPath( new URL("http://myserver/~pat/somebeans.jar") ),就可以動態上載程式碼了。但如果真是這麼方便,那麼這個服務管道可能會被hacker輕易地上傳他的程式碼。所以用的時候要動點手腳,不要使用default service port,應該可以避免不少疑慮。不被人掃瞄port& services的話,應該就不會被發現這個大漏洞。

5. 憑證IC卡之Java應用─林孟賢
瞭解了憑證與簽章的概念,但對於自然人憑證的應用還是有點疑慮,因為現在大家會記得要隨身帶手機,帶皮包與信用卡,有誰會記得出門要帶憑證?能不能跟SIM卡整合呢?這可能會違反自然人憑證限制copy的原意,玩玩可以,合理的business model是什麼呢?