出版時(shí)間:2008-1 出版社:電子工業(yè)出版社 作者:開源技術(shù)選型手冊(cè)委會(huì) 頁(yè)數(shù):525
Tag標(biāo)簽:無(wú)
內(nèi)容概要
包括的領(lǐng)域有開發(fā)平臺(tái)、Web框架、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)、版本控制、項(xiàng)目管理、富客戶端、面向服務(wù)架構(gòu)、工作流等。如果這個(gè)世界沒(méi)有了選擇,那將會(huì)是什么樣子?不可想象。如果這個(gè)世界選擇太多,那將是什么樣子?不可想象。相信很多朋友置身于開源技術(shù)領(lǐng)域時(shí),都會(huì)遇到選擇的困擾。經(jīng)過(guò)多年的發(fā)展,開源技術(shù)越來(lái)越成熟,一個(gè)稍有經(jīng)驗(yàn)的開發(fā)人員經(jīng)過(guò)學(xué)習(xí)都能用開源的產(chǎn)品和技術(shù)構(gòu)建出一套可用的系統(tǒng)。但是,很多時(shí)候我們需要的不僅僅是一個(gè)可用的系統(tǒng),而是希望這個(gè)系統(tǒng)開發(fā)更簡(jiǎn)易,性能更高,擴(kuò)展性更好等。那么在這個(gè)時(shí)候,專家的經(jīng)驗(yàn)就變得彌足珍貴。
書籍目錄
第1章 閑話開源社區(qū)篇第2章 Web框架篇 5 2.1 Struts 7 2.2 Spring 14 2.3 Seam 26 第3章 開源Web服務(wù)器 41 3.1 Apache 43 3.2 Lighttpd 46 3.3 Nginx 49 第4章 應(yīng)用服務(wù)器篇 51 4.1 JBoss 53 4.2 Geronimo 60 4.3 JFox 66 第5章 開發(fā)平臺(tái)篇(IDE) 81 5.1 Eclipse 85 5.2 NetBeans 96 第6章 動(dòng)態(tài)語(yǔ)言篇 105 6.1 Python 107 6.2 Ruby 112 6.3 Groovy第7章 Ajax開發(fā)篇第8章 富互聯(lián)網(wǎng)應(yīng)用篇(RIA)第9章 版本控制篇第10章 項(xiàng)目管理篇第11章 面向方面編程篇(AOP)第12章 反向控制容器篇(IOC)第13章 用戶界面篇(UI)第14章 商業(yè)智能篇(BI)第15章 建模工具篇第16章 對(duì)象關(guān)系映射篇(ORM)第17章 數(shù)據(jù)庫(kù)篇(DB)第18章 軟件測(cè)試篇第19章 面向服務(wù)架構(gòu)篇(SOA)第20章 工作流篇(Workflow)c
章節(jié)摘錄
第1章 閑話開源社區(qū)篇 對(duì)于從事軟件開發(fā)的人員,尤其是對(duì)Java或動(dòng)態(tài)語(yǔ)言相關(guān)領(lǐng)域的人來(lái)說(shuō),“開源”也許是他們最喜愛的單詞。每天,當(dāng)他們坐在電腦前開始編程時(shí),從所使用的Linux操作系統(tǒng),到Eclipse集成開發(fā)環(huán)境,到編程所用的Java或Ruby、Python語(yǔ)言,“開源”烙印在每件工具身上。如果按照我們通常所說(shuō)的,對(duì)待件事情“不僅要知其然,還要知其所以然”,那么我想很多開發(fā)人員在這個(gè)問(wèn)題上應(yīng)該是不合格的,而這也是本文所要著重解決的問(wèn)題。本文試圖從開源的歷史、開源運(yùn)動(dòng)中相關(guān)的一些重量級(jí)人物,以及國(guó)內(nèi)外的重要開源社區(qū)等方面展開討論,對(duì)“開源”做簡(jiǎn)要分析。本文標(biāo)題之所以加了“閑話”二字,初衷是因?yàn)殚_源話題龐雜,非幾本專著所能闡述清楚,更不用說(shuō)一篇小文了。本文很多地方都是點(diǎn)到為止,要深入了解相關(guān)信息的讀者請(qǐng)借助Google和文末的參考資料、網(wǎng)站等自行挖掘?! ¢_源軟件誕生小史 要談開源,首先需要了解開源之前的世界是什么樣子。在軟件產(chǎn)業(yè)高速發(fā)展的背后,知識(shí)產(chǎn)權(quán)有著功不可沒(méi)的作用。也就是有著它的保護(hù),軟件領(lǐng)域很快涌現(xiàn)出了像微軟、IBM、Oracle、BEA等一大批知名軟件公司,分析這些公司的特點(diǎn),我們可以發(fā)現(xiàn)它們對(duì)其旗下的核心產(chǎn)品都有著占有權(quán),也就是它們所生產(chǎn)的軟件的源代碼對(duì)外界來(lái)說(shuō)是嚴(yán)格保密的,其所造成的后果就是在帶給用戶便利的同時(shí)也送來(lái)了諸多不便。舉個(gè)例子來(lái)說(shuō),在使用這些代碼非開源的軟件時(shí)如果遇到問(wèn)題,客戶是沒(méi)有辦法通過(guò)自行檢測(cè)代碼來(lái)解決的,他們只能求助于產(chǎn)品提供商,而這一過(guò)程可能就會(huì)給客戶帶來(lái)難以估量的損失。另外我們也不難看出,對(duì)源代碼的保密還帶來(lái)了大量重復(fù)的勞動(dòng),阻礙了創(chuàng)新的腳步。 上面我們所提到的這種非開源的軟件通常被我們稱為“商業(yè)軟件”。隨著人們對(duì)軟件的認(rèn)識(shí)越來(lái)越深入,商業(yè)軟件的壟斷也引起了很多軟件用戶和計(jì)算機(jī)專家的不滿。麻省理工學(xué)院在1984年率先發(fā)起了自由軟件運(yùn)動(dòng),而且成立了自由軟件基金會(huì)。其代表人物是Richard Stallman,他在《為什么軟件不應(yīng)有所有者?》一文中提到,“一個(gè)軟件并不是單純的工具,一旦軟件的編寫者將其傳播出去,就不單單是在提供‘工具’,而是在傳播‘思想’”,同日寸,他也對(duì)現(xiàn)有的版權(quán)體系進(jìn)行了批判。事情還不僅僅如此,Stallman還試圖創(chuàng)造一種有別于傳統(tǒng)的知識(shí)產(chǎn)權(quán)模式,避免壟斷,加強(qiáng)軟件技術(shù)交流與合作的軟件開發(fā)模式。這種模式要求軟件開發(fā)者開放源代碼,允許任何使用者閱讀源代碼并可以進(jìn)行修改,同時(shí)也不需要向軟件開發(fā)者支付使用費(fèi)。Stallman還表示用戶之間批次拷貝軟件不但不是盜版,還體現(xiàn)了人類天性的互助美德。對(duì)Stallman而言,自由是根本?! 挠脩艚嵌葋?lái)看,自由軟件好處多多,但對(duì)于開發(fā)者或生產(chǎn)廠商而言,這不啻是一個(gè)噩耗。因?yàn)楹芏嗳藭?huì)將自由軟件理解成“免費(fèi)”,針對(duì)這種情況,自由軟件基金會(huì)在版權(quán)聲明中明確強(qiáng)調(diào)“當(dāng)提到自由軟件時(shí),我們指的是自由而不是價(jià)格……”。盡管如此,商業(yè)公司還是將這種模式視為一種威脅,有可能會(huì)導(dǎo)致他們無(wú)利可圖。為了解除這種威脅,Stallman創(chuàng)造了GNU通用公共許可證,即GPL。GPL的基本意思是你可以任意拷貝和散發(fā)根據(jù)GPL許可授權(quán)的軟件,并且你不能阻止他人也做同樣的事情。另外,GPL還要求從GPL作品衍生出來(lái)的作品也必須同樣遵循此條款的約束。由此可見,自由軟件顯然是違背商業(yè)信條的,這也導(dǎo)致了人們對(duì)自由軟件越來(lái)越敬而遠(yuǎn)之?! ≡谶@個(gè)背景之下,1997年春天中的一天,自由軟件社團(tuán)中的一部分人,如Eric S.Raymond(《大教堂與集市》一文作者)等決定尋找另外一種可以贏得更多人認(rèn)同的新模式,這也是今天和我們的開發(fā)生涯息息相關(guān)的開源軟件。與GPL相比,開源軟件的定義允許更大的授權(quán)自由,特別是當(dāng)軟件中混合了商業(yè)軟件和開源軟件時(shí),開源軟件被允許在這些軟件基礎(chǔ)上做更自由的創(chuàng)作?! ¢_源軟件定義 下面我們簡(jiǎn)單地了解一下關(guān)于開源軟件的定義,官方的定義版本寫得很全面,這里我們僅僅挑選一些重要的條款來(lái)解釋。開源軟件需要遵循的首要標(biāo)準(zhǔn)就是要能夠“自由地重新發(fā)行”,被認(rèn)證為開源軟件的產(chǎn)品不能限制任何參與者銷售,也不能限制將該軟件作為其他集合軟件的一部分發(fā)行,也不能要求使用該開源軟件的人支付版稅或其他費(fèi)用。從這一點(diǎn)可以看出開源軟件較自由軟件的概念更為自由?! ?duì)于開源軟件中“源代碼”的定義,是指在提供軟件的同時(shí)也要提供程序源代碼,也必須允許其他人對(duì)代碼進(jìn)行編輯或修改。如果發(fā)行軟件時(shí)沒(méi)有附帶源代碼,那么源代碼必須能夠很容易且低成本地獲得,比如可以從網(wǎng)絡(luò)上免費(fèi)下載等。為了便于程序員閱讀源代碼,它們必須要以比較友好的格式下載,以便容易地編輯。那些故意寫得很模糊的源代碼是不被允許的。從上面這一點(diǎn)來(lái)看,“開源”更大意義上來(lái)說(shuō)是一種文化上的分享?! ∑渌拗茥l款,還包括開源軟件必須允許修改和衍生作品,并且必須允許他們?cè)谠浖脑S可證下進(jìn)行發(fā)行。而且開源軟件也不能限制任何人將程序使用于任何目的,包括不能限制程序用于商業(yè)用途等。也許正是這一點(diǎn),讓包括IBM、BEA、Oracle,甚至連微軟在內(nèi)的公司開始染指開源軟件領(lǐng)域的原因吧。
編輯推薦
《開源技術(shù)選型手冊(cè)》特別邀請(qǐng)了多位國(guó)內(nèi)技術(shù)社區(qū)的專家,請(qǐng)他們結(jié)合自己多年的開發(fā)經(jīng)驗(yàn),對(duì)當(dāng)前開源技術(shù)領(lǐng)域流行的技術(shù)或者產(chǎn)品進(jìn)行比較分析,以期為中高級(jí)技術(shù)人員在工作中做技術(shù)選型時(shí)參考使用。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載