2011年1月5日

          有幸參加12月在北京舉行的JavaOne|Oracle OpenWorld|Oracle Develope 會(huì)議,發(fā)些感想吧。

          會(huì)場(chǎng)隨處可見的是這樣的Logo: , 看起來Oracle似乎準(zhǔn)備要做另一個(gè)更加商業(yè)化的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, 一個(gè)覆蓋硬件到最上層軟件的完整提供者, 這其中又有許多平臺(tái)化的東西:
          1. Sparc 體系,投入很大精力做出這樣的機(jī)器: , 然后多個(gè)機(jī)器形成Larry一直倡導(dǎo)的Grid Computing,構(gòu)成一個(gè)有強(qiáng)大計(jì)算能力的平臺(tái)
          2. Oracle VM體系,原先有Oracle VM for x86, 已經(jīng)在虛擬存儲(chǔ),虛擬機(jī)性能和監(jiān)控管理做了很多工作,現(xiàn)在加入Oracle VM for Sparc,虛擬化(IaaS)平臺(tái)就更加完整,你可以在x86上跑solaris, 也可以在Sparc機(jī)器上跑x86系的virtual machine
          3. JVM體系,會(huì)將原有的Jrockit的優(yōu)點(diǎn)逐漸移植到Hotspot上去,拋開商業(yè)化的目的性不談,我相信在未來比較長的時(shí)間里, JVM是有生命力和其它語言系抗衡的。
          4. Fussion Middleware體系。FM構(gòu)成了現(xiàn)在Oracle應(yīng)用軟件的結(jié)構(gòu),你可以把它看作一個(gè)軟件版的“從CPU到應(yīng)用的全棧式解決方案”。比如說,傳統(tǒng)意義上,你需要去關(guān)注DB, J2EE, UI, 分布式,并發(fā)性,領(lǐng)域化,IDE,PLM等等這些開發(fā)流程中必然碰到的問題,Oracle的目標(biāo)則是提供“完整”的解決方案。基于JDeveloper 11g + Weblogic + ADF + DB,構(gòu)成最基本也是“最完整”的開發(fā)工具集。所以和傳統(tǒng)J2EE開發(fā)體驗(yàn)不同的是,你發(fā)現(xiàn)很多很多事情Oracle都幫你做了,你想過的目標(biāo)也許它做到了(一個(gè)JDeveloper = 配了BPM設(shè)計(jì)器, HTML/JSP設(shè)計(jì)器, XML/XSD設(shè)計(jì)器, UML/ER設(shè)計(jì)器, SVN/CVS連接器, EJB設(shè)計(jì)器以及其它許許多多功能的Eclipse).

          隨筆:

           
          1. 關(guān)于Oracle Complex Event Processing(Oracle CEP). 對(duì)CEP不熟的同學(xué)可參加維基百科:What's CEP. 現(xiàn)場(chǎng)展示了一個(gè)Demo: CEP Demo. 展示了對(duì)于業(yè)務(wù)領(lǐng)域內(nèi)復(fù)雜的事件的實(shí)時(shí)處理。感覺這個(gè)CEP產(chǎn)品的流程化已經(jīng)做得很徹底了,從eclipse的designer, 到流程的監(jiān)控響應(yīng)console, 到事件服務(wù)器集群和事件緩存。我把它們的eclipse plugin( http://download.oracle.com/technology/software/cep-ide/11/)裝好后,親自實(shí)踐了一下:            
             我們的項(xiàng)目組也有做流程引擎的,要是有這樣程度的ide,相信用戶會(huì)更接受一些吧.
          2. JDK7 Filesystem. 支持許多查詢操作,例如: 獲取父目錄,獲取名字,獲取絕對(duì)路徑,以及一些判斷的API

            File OPeration(文件操作)相關(guān)的:
            1. 可以通過路徑獲取文件
            2. 更加容易地讀寫文件。
            file.newOutputStream();
            file.createFromPath();

            在創(chuàng)建文件時(shí),可以定義初始的文件屬性:如何設(shè)置為(
            'rw--r----)
            可以更加容易地拷貝文件:(除了內(nèi)容,也支持拷貝元屬性,例如源文件的讀寫權(quán)限)

            Channels
            SeekableByteChannel:
            維護(hù)一個(gè)文件偏移位置, 等價(jià)于一個(gè)隨機(jī)文件(RandomAccessFile), 即可以隨便從文件的任意偏移開始讀取。

            DirectoryStream, 用來枚舉目錄中的文件或者目錄。
            :用較少的資源
            :支持大的目錄
            :對(duì)遠(yuǎn)程文件系統(tǒng)提供平滑訪問支持
            :提供句柄來訪問目錄

            Filtering(過濾)
            :內(nèi)建glob
            /regex 的模式匹配
            :可使用自定義的過濾器實(shí)現(xiàn)

            Recursive Operations(遞歸操作)
            Files.walkFileTree
            :深度優(yōu)先訪問,因?yàn)槊總€(gè)目錄節(jié)點(diǎn)會(huì)被訪問兩次。
            :每個(gè)目錄或者文件結(jié)點(diǎn)被訪問時(shí),都會(huì)調(diào)用FileVisitor(來獲取信息?)
            :Symbol_links(鏈接,軟鏈接) 在默認(rèn)情況下不會(huì)使用,除非指定FOLLOW_LINKS的選項(xiàng)。

            File Attribute
            支持本地文件系統(tǒng)的各種屬性
            支持NFSv4j的ACL模型
            支持Samba(DOS類型)
            使用FileStore.來查看支持的文件屬性


            File Change Notification
            監(jiān)視文件或者目錄,當(dāng)有改變(增加,刪除,更新)時(shí)可以發(fā)事件來通知
            通常是通過Polling來循環(huán)查詢
            提供WatchService來監(jiān)控手動(dòng)注冊(cè)的文件對(duì)象。


            File SPI
            可以提供對(duì)某種虛擬文件系統(tǒng)的實(shí)現(xiàn),例如一個(gè)Zip文件(也可以是光盤的各種格式:UDF, ISO, IMG, BIN, ), Mac的DMG包, Linux的TAR
            /GZIP/BZIP等. 虛擬機(jī)的磁盤格式(QCOW, VMDK)
            可以提供對(duì)某種實(shí)體文件系統(tǒng)的實(shí)現(xiàn).
          3. Oracle ADF. 是一個(gè)基于JSF(JSF?很多人一聽就準(zhǔn)備放棄了的吧~~,其實(shí)很多架構(gòu)上的思想是很值得借鑒的)的UI框架。使用JSP的Tag語法加上JDeveloper提供的Designer支持,能非常快速地搭建出一個(gè)功能非常完整的Ajax Application出來。很多思想的光芒可供參考:
            1. JavaScript的封裝性,很多功能,特別是Ajax的功能,都不需要去寫js了
            2. UI組件的多樣化, 從菜單,表單,表格,到樹,日歷,日期,滾動(dòng)條,調(diào)節(jié)尺,盡可能多樣的控件。但是我感覺這些還是不太夠的,這些組件或者能幫助你,但是實(shí)際中還是需要自己去寫JS。
            3. Data Binding的支持,看圖說話:
                            
          簡(jiǎn)要地說,通過JSF的Managed Bean支持session/request/application scope的變量,再加上它自有的Page Definition實(shí)現(xiàn)Page scope的變量,就做到了頁面到頁面的傳遞數(shù)據(jù)。仍然是通過Page Definition, 將從DAO或者EJB那邊來的數(shù)據(jù)傳遞到頁面上。

          posted @ 2011-01-05 10:08 Li0N 閱讀(2100) | 評(píng)論 (1)編輯 收藏


          2009年7月28日

               摘要: Windows的命令行很弱,沒有l(wèi)inux下面許多強(qiáng)大工具的支持,作為一個(gè)替換解決方案,首先需要去 http://www.cygwin.com/ 下載cygwin的安裝程序: 然后安裝,可以選中你所需要的包, 比如grep, tar, zip, vim, emacs, ssh, awk, python, perl, svn, cvs, git, hg,... 對(duì)于經(jīng)常使用的emacs, ...  閱讀全文

          posted @ 2009-07-28 22:54 Li0N 閱讀(2263) | 評(píng)論 (1)編輯 收藏


          僅列出標(biāo)題  

          posts - 2, comments - 2, trackbacks - 0, articles - 0

          Copyright © Li0N

          主站蜘蛛池模板: 维西| 三穗县| 礼泉县| 和静县| 勐海县| 怀集县| 芜湖市| 潢川县| 庆阳市| 府谷县| 景泰县| 英超| 天峨县| 贵港市| 保亭| 杂多县| 镇远县| 晋宁县| 彭山县| 清丰县| 涟源市| 响水县| 连山| 凤山市| 志丹县| 孝昌县| 杭州市| 会泽县| 丹阳市| 南宁市| 进贤县| 宜川县| 塘沽区| 册亨县| 隆化县| 高州市| 凤翔县| 比如县| 神池县| 图们市| 平邑县|