應用軟件的目的是解決某一領域的業(yè)務問題,然而在開發(fā)過程中,除了業(yè)務需求要關注,技術方面也會有大量的問題,另外軟件開發(fā)的費用常常會超出預算。那么如何降低軟件開發(fā)項目的風險呢(包括技術以及成本兩方面)?使用開源軟件是一個很好的選擇。開源軟件使開發(fā)人員從底層功能中解脫出來,可以更好地專注于用戶的業(yè)務需求。由于開源軟件的代碼已經通過了充分的測試,系統(tǒng)的成本降低了,周期縮短了,風險減少了。然而目前國內對于開源軟件的認識還不充分,在商業(yè)軟件開發(fā)中采用開源軟件的比較少,例如開發(fā)者將會面對如何進行基于開源軟件的軟件開發(fā)、如何選擇開源軟件、如何進行單元測試與集成測試等問題。本書將會回答以上所提到的問題。本書是由具有豐富開源軟件開發(fā)經驗的軟件工程師編寫,展示了如何使用最好的開放源碼工具來開發(fā)J2EE應用,這些工具的組合使用可以減少開發(fā)的風險,提高系統(tǒng)的穩(wěn)定性和健壯性。本書使用一個J2EE應用程序-JNEstore的開發(fā)作為實例,展示了整個項目的開發(fā)過程,為在開發(fā)過程的各個階段應用開放源碼的軟件提供了一套方法。本書內容涉及到以下開源軟件:Struts:開源的web應用框架,可以快速開發(fā)MVC架構的應用。Tomcat:高性能的開源web服務器。JBoss:著名的J2EE應用服務器。Eclispe:開源的集成開發(fā)環(huán)境,通過插件的方式可以很容易地擴展功能。Ant:高效的Java構建工具,目前廣泛應用于Java系統(tǒng)開發(fā)。JUnit:單元測試工具。JMeter:Java應用程序性能測試工具。Log4j:日志系統(tǒng)。Jive:論壇模板軟件,可以快速搭建自己的論壇。OSCache:緩存工具。Hibernate:高性能的O/R映射工具。MySQL:開源數據庫系統(tǒng)。