有幸參加12月在北京舉行的JavaOne|Oracle OpenWorld|Oracle Develope 會議,發些感想吧。
會場隨處可見的是這樣的Logo:
, 看起來Oracle似乎準備要做另一個更加商業化的IBM了,從Sparc CPU到 Sun Machine, Solaris OS, ZFS, Oracle VM for Sparc/x86, Oracle Enterprise Linux, Oracle Database(Oracle 11g/Timesten/Berkeley DB/Mysql), Java, Oracle Enterprise Manager, Oracle Fussion Middleware, 一個覆蓋硬件到最上層軟件的完整提供者, 這其中又有許多平臺化的東西:

- Sparc 體系,投入很大精力做出這樣的機器:
, 然后多個機器形成Larry一直倡導的Grid Computing,構成一個有強大計算能力的平臺
- Oracle VM體系,原先有Oracle VM for x86, 已經在虛擬存儲,虛擬機性能和監控管理做了很多工作,現在加入Oracle VM for Sparc,虛擬化(IaaS)平臺就更加完整,你可以在x86上跑solaris, 也可以在Sparc機器上跑x86系的virtual machine
- JVM體系,會將原有的Jrockit的優點逐漸移植到Hotspot上去,拋開商業化的目的性不談,我相信在未來比較長的時間里, JVM是有生命力和其它語言系抗衡的。
- Fussion Middleware體系。FM構成了現在Oracle應用軟件的結構,你可以把它看作一個軟件版的“從CPU到應用的全棧式解決方案”。比如說,傳統意義上,你需要去關注DB, J2EE, UI, 分布式,并發性,領域化,IDE,PLM等等這些開發流程中必然碰到的問題,Oracle的目標則是提供“完整”的解決方案?;贘Developer 11g + Weblogic + ADF + DB,構成最基本也是“最完整”的開發工具集。所以和傳統J2EE開發體驗不同的是,你發現很多很多事情Oracle都幫你做了,你想過的目標也許它做到了(一個JDeveloper = 配了BPM設計器, HTML/JSP設計器, XML/XSD設計器, UML/ER設計器, SVN/CVS連接器, EJB設計器以及其它許許多多功能的Eclipse).
隨筆:
- 關于Oracle Complex Event Processing(Oracle CEP). 對CEP不熟的同學可參加維基百科:What's CEP. 現場展示了一個Demo: CEP Demo. 展示了對于業務領域內復雜的事件的實時處理。感覺這個CEP產品的流程化已經做得很徹底了,從eclipse的designer, 到流程的監控響應console, 到事件服務器集群和事件緩存。我把它們的eclipse plugin(
http://download.oracle.com/technology/software/cep-ide/11/)裝好后,親自實踐了一下:
我們的項目組也有做流程引擎的,要是有這樣程度的ide,相信用戶會更接受一些吧. - JDK7 Filesystem. 支持許多查詢操作,例如: 獲取父目錄,獲取名字,獲取絕對路徑,以及一些判斷的API
File OPeration(文件操作)相關的:
1. 可以通過路徑獲取文件
2. 更加容易地讀寫文件。
file.newOutputStream();
file.createFromPath();
在創建文件時,可以定義初始的文件屬性:如何設置為('rw--r----)
可以更加容易地拷貝文件:(除了內容,也支持拷貝元屬性,例如源文件的讀寫權限)
Channels
SeekableByteChannel:
維護一個文件偏移位置, 等價于一個隨機文件(RandomAccessFile), 即可以隨便從文件的任意偏移開始讀取。
DirectoryStream, 用來枚舉目錄中的文件或者目錄。
:用較少的資源
:支持大的目錄
:對遠程文件系統提供平滑訪問支持
:提供句柄來訪問目錄
Filtering(過濾)
:內建glob/regex 的模式匹配
:可使用自定義的過濾器實現
Recursive Operations(遞歸操作)
Files.walkFileTree
:深度優先訪問,因為每個目錄節點會被訪問兩次。
:每個目錄或者文件結點被訪問時,都會調用FileVisitor(來獲取信息?)
:Symbol_links(鏈接,軟鏈接) 在默認情況下不會使用,除非指定FOLLOW_LINKS的選項。
File Attribute
支持本地文件系統的各種屬性
支持NFSv4j的ACL模型
支持Samba(DOS類型)
使用FileStore.來查看支持的文件屬性
File Change Notification
監視文件或者目錄,當有改變(增加,刪除,更新)時可以發事件來通知
通常是通過Polling來循環查詢
提供WatchService來監控手動注冊的文件對象。
File SPI
可以提供對某種虛擬文件系統的實現,例如一個Zip文件(也可以是光盤的各種格式:UDF, ISO, IMG, BIN,), Mac的DMG包, Linux的TAR/GZIP/BZIP等. 虛擬機的磁盤格式(QCOW, VMDK)
可以提供對某種實體文件系統的實現. - Oracle ADF. 是一個基于JSF(JSF?很多人一聽就準備放棄了的吧~~,其實很多架構上的思想是很值得借鑒的)的UI框架。使用JSP的Tag語法加上JDeveloper提供的Designer支持,能非??焖俚卮罱ǔ鲆粋€功能非常完整的Ajax Application出來。很多思想的光芒可供參考:
- JavaScript的封裝性,很多功能,特別是Ajax的功能,都不需要去寫js了
- UI組件的多樣化, 從菜單,表單,表格,到樹,日歷,日期,滾動條,調節尺,盡可能多樣的控件。但是我感覺這些還是不太夠的,這些組件或者能幫助你,但是實際中還是需要自己去寫JS。
- Data Binding的支持,看圖說話:

簡要地說,通過JSF的Managed Bean支持session/request/application scope的變量,再加上它自有的Page Definition實現Page scope的變量,就做到了頁面到頁面的傳遞數據。仍然是通過Page Definition, 將從DAO或者EJB那邊來的數據傳遞到頁面上。
posted @ 2011-01-05 10:08 Li0N 閱讀(2099) | 評論 (1) | 編輯 收藏