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