第一篇:Java開源集成開發(fā)工具
Java開發(fā)工具點評
Java開發(fā)工具點評
在計算機(jī)開發(fā)語言的歷史中,從來沒有哪種語言象Java那樣受到如此眾多廠商的支持,有如此多的開發(fā)工具,Java菜鳥們?nèi)绯跞氪笥^園的劉姥姥,看花了眼,不知該何種選擇。的確,這些工具各有所長,都沒有絕對完美的,就算是老鳥也很難做出選擇。在本文中我簡要介紹了常見的十五種Java開發(fā)工具的特點,管中窺“器”,希望能對大家有所幫助。
一、JDK(Java Development Kit)
SUN的Java不僅提了一個豐富的語言和運行環(huán)境,而且還提了一個免費的Java開發(fā)工具集(JDK)。開發(fā)人員和最終用戶可以利用這個工具來開發(fā)java程序。
JDK簡單易學(xué),可以通過任何文本編輯器(如:Windows 記事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)編寫Java源文件,然后在DOS狀況下利通過javac命令將Java源程序編譯成字節(jié)碼,通過Java命令來執(zhí)行編譯后的Java文件,這能帶給DOS時代程序員美好的回憶。Java 初學(xué)者一般都采用這種開發(fā)工具。
從初學(xué)者角度來看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面向?qū)ο蟮脑O(shè)計思想。JDK的另一個顯著特點是隨著Java(J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規(guī)模企業(yè)級Java應(yīng)用開發(fā)非常困難,不能進(jìn)行復(fù)雜的Java軟件開發(fā),也不利于團(tuán)體協(xié)同開發(fā)。
二、Java Workshop
Sun MicroSystems公司于1996年3月26日推出了Java WorkShop 1.0,這是業(yè)界出現(xiàn)的第一個供Internet網(wǎng)使用的多平臺開發(fā)工具,它可以滿足各公司開發(fā)Internet和Intranet網(wǎng)應(yīng)用軟件的需要。Java WorkShop完全用Java語言編寫,是當(dāng)今市場上銷售的第一個完全的Java開發(fā)環(huán)境,目前Java WorkShop的最性版本是3.0。Java Workshop的特點表現(xiàn)如下:
1、結(jié)構(gòu)易于創(chuàng)建:在創(chuàng)建平臺中立的網(wǎng)格結(jié)構(gòu)方面,Java Workshop比其他任何一種Java開發(fā)工具都要方便。
2、可視化編程:Java Workshop的可視化編程特性是很基本的。Java Workshop允許程序員重新安排這些操作,甚至可以確定觸發(fā)操作行為的過濾器。1
Java Workshop產(chǎn)生的模板帶有許多注釋,這對程序員是很有幫助的。
此外,Java WorkShop支持JDK1.1.3以及JavaBeans組件模型,API和語言特征增加了編譯Java應(yīng)用程序的靈活性。Java WorkShop開發(fā)環(huán)境由于完全用Java寫成,所以可移植性極好,以致于多個平臺都能支持,目前Java WorkShop支持Solaris操作環(huán)境SPARC及Intel 版)、Windows95、WindowsNT、以及HP/Ux等平臺。適合于初學(xué)者進(jìn)行一些簡單的Java編程。Java WorkShop的缺點是Java Workshop中的每一個可視化對象都遲早會用到網(wǎng)格布局,這種設(shè)計方法是許多人不習(xí)慣的;Java Workdshop的調(diào)色板是較差的,僅僅能滿足絕大部分應(yīng)用的基本要求。
三、NetBeans 與Sun Java Studio 5
NetBeans是開放源碼的Java集成開發(fā)環(huán)境(IDE),適用于各種客戶機(jī)和Web應(yīng)用。Sun Java Studio是Sun公司最新發(fā)布的商用全功能Java IDE,支持Solaris、Linux和Windows平臺,適于創(chuàng)建和部署2層Java Web應(yīng)用和n層J2EE應(yīng)用的企業(yè)開發(fā)人員使用。
NetBeans是業(yè)界第一款支持創(chuàng)新型Java開發(fā)的開放源碼IDE。開發(fā)人員可以利用業(yè)界強(qiáng)大的開發(fā)工具來構(gòu)建桌面、Web或移動應(yīng)用。同時,通過NetBeans和開放的API的模塊化結(jié)構(gòu),第三方能夠非常輕松地擴(kuò)展或集成NetBeans平臺。
NetBeans3.5.1主要針對一般Java軟件的開發(fā)者,而Java One Studio5則主要針對企業(yè)做網(wǎng)絡(luò)服務(wù)等應(yīng)用的開發(fā)者。Sun不久還將推出Project Rave,其目標(biāo)是幫助企業(yè)的開發(fā)者進(jìn)行軟件開發(fā)。NetBeans 3.5.1版本與其他開發(fā)工具相比,最大區(qū)別在于不僅能夠開發(fā)各種臺式機(jī)上的應(yīng)用,而且可以用來開發(fā)網(wǎng)絡(luò)服務(wù)方面的應(yīng)用,可以開發(fā)基于J2ME的移動設(shè)備上的應(yīng)用等。在NetBeans 3.5.1基礎(chǔ)上,Sun開發(fā)出了Java One Studio5,為用戶提供了一個更加先進(jìn)的企業(yè)編程環(huán)境。在新的Java One Studio5里有一個應(yīng)用框架,開發(fā)者可以利用這些模塊快速開發(fā)自己在網(wǎng)絡(luò)服務(wù)方面的各種應(yīng)用程序。
NetBeans是開放源碼的Java集成開發(fā)環(huán)境(IDE),適用于各種客戶機(jī)和Web應(yīng)用。Sun Java Studio是Sun公司最新發(fā)布的商用全功能Java IDE,支持Solaris、Linux和Windows平臺,適于創(chuàng)建和部署2層Java Web應(yīng)用和n層J2EE應(yīng)用的企業(yè)開發(fā)人員使用。
NetBeans是業(yè)界第一款支持創(chuàng)新型Java開發(fā)的開放源碼IDE。開發(fā)人員可以利用業(yè)界強(qiáng)大的開發(fā)工具來構(gòu)建桌面、Web或移動應(yīng)用。同時,通過NetBeans和開放的API的模塊化結(jié)構(gòu),第三方能夠非常輕松地擴(kuò)展或集成NetBeans平臺。
NetBeans3.5.1主要針對一般Java軟件的開發(fā)者,而Java One Studio5則
主要針對企業(yè)做網(wǎng)絡(luò)服務(wù)等應(yīng)用的開發(fā)者。Sun不久還將推出Project Rave,其目標(biāo)是幫助企業(yè)的開發(fā)者進(jìn)行軟件開發(fā)。NetBeans 3.5.1版本與其他開發(fā)工具相比,最大區(qū)別在于不僅能夠開發(fā)各種臺式機(jī)上的應(yīng)用,而且可以用來開發(fā)網(wǎng)絡(luò)服務(wù)方面的應(yīng)用,可以開發(fā)基于J2ME的移動設(shè)備上的應(yīng)用等。在NetBeans 3.5.1基礎(chǔ)上,Sun開發(fā)出了Java One Studio5,為用戶提供了一個更加先進(jìn)的企業(yè)編程環(huán)境。在新的Java One Studio5里有一個應(yīng)用框架,開發(fā)者可以利用這些模塊快速開發(fā)自己在網(wǎng)絡(luò)服務(wù)方面的各種應(yīng)用程序。
四、Borland 的JBuilder
Jbuilder進(jìn)入了Java集成開發(fā)環(huán)境的王國,它滿足很多方面的應(yīng)用,尤其是對于服務(wù)器方以及EJB開發(fā)者們來說。下面簡單介紹一下Jbuilder的特點:
1、Jbuilder支持最新的Java技術(shù),包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的應(yīng)用。
2、用戶可以自動地生成基于后端數(shù)據(jù)庫表的EJB Java類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應(yīng)的向?qū)С绦蛴兄谟脩羧娴毓芾鞩DL(分布應(yīng)用程序所必需的接口定義語言Interface Definition Language)和控制遠(yuǎn)程對象。
3、Jbuilder支持各種應(yīng)用服務(wù)器。Jbuilder與Inprise Application Server緊密集成,同時支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速開發(fā)J2EE的電子商務(wù)應(yīng)用。
4、Jbuilder能用Servlet和JSP開發(fā)和調(diào)試動態(tài)Web 應(yīng)用。
5、利用Jbuilder可創(chuàng)建(沒有專有代碼和標(biāo)記)純Java2應(yīng)用。由于Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標(biāo)記,它支持最新的Java標(biāo)準(zhǔn)。
6、Jbuilder擁有專業(yè)化的圖形調(diào)試介面,支持遠(yuǎn)程調(diào)試和多線程調(diào)試,調(diào)試器支持各種JDK版本,包括J2ME/J2SE/J2EE。
JBuilder環(huán)境開發(fā)程序方便,它是純的Java 開發(fā)環(huán)境,適合企業(yè)的J2EE開發(fā);缺點是往往一開始人們難于把握整個程序各部分之間的關(guān)系,對機(jī)器的硬件要求較高,比較吃內(nèi)存,這時運行速度顯得較慢。
五、Oracle 的JDeveloper
Oracle9i JDeveloper(定為9.0版,最新為10g)為構(gòu)建具有J2EE功能,XML和Web services的復(fù)雜的,多層的Java應(yīng)用程序提供了一個完全集成的開發(fā)環(huán)境。它為運用Oracle9i數(shù)據(jù)庫和應(yīng)用服務(wù)器的開發(fā)人員提供特殊的功能和
增強(qiáng)性能,除此以外,它也有資格成為用于多種用途Java開發(fā)的一個強(qiáng)大的工具。
六、Oracle9i JDeveloper的主要特點如下:
1、具有UML(Unified Modeling Language,一體化建模語言)建模功能??梢詫I(yè)務(wù)對象及e-business應(yīng)用模型化。
2、配備有高速Java調(diào)試器(Debuger)、內(nèi)置Profiling工具、提高代碼質(zhì)量的工具“CodeCoach”等。
3、支持SOAP(Simple Object Access Protocol)“簡單對象訪問協(xié)議”、UDDI(Universal Description, Discovery and Integration)“統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議”、WSDL(Web Services Description Language)“WEB服務(wù)描述語言”等Web服務(wù)標(biāo)準(zhǔn)。JDeveloper 不僅僅是很好的 Java 編程工具,而且是 Oracle Web 服務(wù)的延伸,支持 Apache SOAP,以及 9iAS,可擴(kuò)充的環(huán)境和 XML 和 WSDL 語言緊密相關(guān)。Oracle9i Jdeveloper完全利用Java編寫,能夠與以前的Oracle服務(wù)器軟件以及其他廠商支持J2EE的應(yīng)用服務(wù)器產(chǎn)品相兼容,而且在設(shè)計時著重針對Oracle9i,能夠無縫化跨平臺之間的應(yīng)用開發(fā),提供了業(yè)界第一個完整的、集成了J2EE和XML的開發(fā)環(huán)境,允許開發(fā)者快速開發(fā)可以通過Web、無線設(shè)備及語音界面訪問的Web服務(wù)和交易應(yīng)用,以往只能通過將傳統(tǒng)Java編程技巧與最新模塊化方式結(jié)合到一個單一集成的開發(fā)環(huán)境中之后才能完成J2EE應(yīng)用開發(fā)生命周期管理的事實,從根本上得到改變。缺點就是對于初學(xué)者來說,較復(fù)雜,也比較難。
第二篇:Java程序員必須掌握的開發(fā)工具
Java程序員必須掌握的開發(fā)工具
以下的開發(fā)工具,能幫助你成為一名高級java程序開發(fā)人員。
1.Eclipse
盡管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有調(diào)查表明,Eclipse仍然是幾乎半數(shù)Java開發(fā)人員首選的開發(fā)環(huán)境。Eclipse是IDE領(lǐng)域的瑞士軍刀,有著大量定制的接口和無數(shù)的插件。它無處不在,后面本文將推薦的其他所有工具都提供Eclipse插件。這也是八維必講的開發(fā)工具。
Eclipse的工作流程可分為三個方面:工作臺,工作空間和視角。工作臺作為到IDE的出發(fā)點。工作空間將項目、文件和配置設(shè)置組合在一個單獨的 目錄下。視角定義工具、視圖和有效設(shè)置。雖然新手開發(fā)人員可能會覺得相比Netbeans和IntelliJ IDEA,Eclipse使用起來更難,但Eclipse的靈活性,使其成為企業(yè)開發(fā)的首選IDE。
Luna,Eclipse的最新版本,支持Java
8、分屏編輯、新的黑色主題,以及一個功能齊全的命令行終端。
2.Gradle
Gradle是一個自動化項目工具,建立在Apache Maven和Apache Ant的功能上。雖然Gradle并不是最流行的構(gòu)建工具(最流行的是Maven,64%的Java開發(fā)人員會選擇它),但它的普及速度很快。它也可作為默認(rèn)的Android構(gòu)建工具。
Gradle引以為傲的是它的簡單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。
3.Javadoc
Javadoc是Oracle提供的文檔生成器。它可以將特殊格式的注釋解析為HTML文檔。
Javadoc注釋使用開放標(biāo)簽、關(guān)閉標(biāo)簽,以及一個或多個描述性標(biāo)簽的格式。開放式標(biāo)簽類似于標(biāo)準(zhǔn)Java多行注釋標(biāo)記,使用兩個星號的除外。Javadoc也解析普通的HTML標(biāo)簽。
Javadoc自動格式化標(biāo)簽和關(guān)鍵字,除非另有規(guī)定。Javadoc廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區(qū)域。許多IDE--包括 Eclipse--可以自動添加Javadoc注釋模塊到變量、類和方法中。支持Maven、Gradle和Ant的插件在編譯代碼的同時也可以構(gòu)建 Javadoc HTML。
4.JUnit
JUnit是用于編寫和運行單元測試的開源框架。一個基本的JUnit測試包括測試類、測試方法、以及執(zhí)行測試的功能。JUnit使用標(biāo)注來確定測試如何構(gòu)造和運行。例如,如果你的程序有一個類叫做MathClass,具有乘法和除法的方法,你可以創(chuàng)建JUnit測試來檢 查不符合預(yù)期的值。輸入數(shù)字2和5到乘法方法,你希望得到的結(jié)果為10。當(dāng)輸入0作為除法方法的第二個參數(shù)時,你會期望給出一個數(shù)字計算異常的警告因為除 數(shù)不能為0:
@Test標(biāo)注規(guī)定,MathClass方法是一個測試用例。在JUnit提供額外的標(biāo)注,比如@Before,這樣你就可以在測試運行之前設(shè)置環(huán)境。JUnit還可以設(shè)置規(guī)則用于定義測試方法的行為。例如,TemporaryFolder規(guī)則使得一旦測試完成,由測試創(chuàng)建的文件或文件夾就會被刪除。
5.Cobertura
Cobertura可用于分析Java代碼的測試覆蓋率。Cobertura根據(jù)沒有被測試覆蓋的代碼生成基于HTML的報告。
Cobertura提供可用于插裝、檢查和測試代碼的工具。通過監(jiān)控可測試的代碼,Cobertura允許你使用你選擇的測試框架,甚至不需要測試框架就可以運行程序。
Cobertura根據(jù)行、分支和程序包三個方面給出代碼覆蓋報告。每個類別都有一個可自定義的閾值,如果覆蓋面低于閾值,就會觸發(fā)警告。Cobertura還集成了Maven和Gradle 的自動檢測功能。
6.FindBugs
FindBugs是一個匹配編譯代碼模式,而非使用bug數(shù)據(jù)庫的工具。當(dāng)提供源代碼時,F(xiàn)indBugs還可高亮顯示檢測出bug的代碼行。
在它的3.0.1版本中,F(xiàn)indBugs繼續(xù)保持著數(shù)以百計的bug描述。根據(jù)bug的嚴(yán)重程度,F(xiàn)indBugs將bug分為四個水平:相關(guān) 的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,F(xiàn)indBugs還提供一個命令行界面,Ant任務(wù),以及Eclipse插件。
7.VisualVM
包含在JDK中的VisualVM是監(jiān)控和審查Java應(yīng)用程序性能的工具。VisualVM檢測并重視活躍的JVM實例來檢索有關(guān)進(jìn)程的診斷信息。
VisualVM可以很容易地實時診斷性能問題。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你還可以對JVM做一個快照,這樣以后在任何時都能審查。
8.Groovy
Groovy是一種編程語言,通過添加新的關(guān)鍵字,自動導(dǎo)入常用的類,以及可選類型變量聲明,既簡化又?jǐn)U展了Java。
Groovy的核心優(yōu)勢之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受。
第三篇:開源工作流框架及平臺集成分析報告(范文)
開源工作流框架及平臺集成分析報告
目 錄
Java主要開源工作流列表.......................................................................................................1 1.1.jBpm..............................................................................................................................1 1.2.OSWorkflow.................................................................................................................1 1.3.Enhydra Shark...............................................................................................................1 1.4.Activiti5........................................................................................................................1 1.5.OpenWFE.....................................................................................................................1 1.6.Werkflow.......................................................................................................................1 1.7.OFBiz............................................................................................................................2 1.8.Flow4J...........................................................................................................................2 1.9.ObjectWeb Bonita.........................................................................................................2 1.10.OBPM...........................................................................................................................2 四大開源工作流框架分析.......................................................................................................2 2.1.JBpm.............................................................................................................................2
優(yōu)點...................................................................................................................................2 缺點...................................................................................................................................3 2.2.OSWorkflow.................................................................................................................3
優(yōu)點...................................................................................................................................3 缺點...................................................................................................................................3 2.3.Enhydra Shark...............................................................................................................3
優(yōu)點...................................................................................................................................3 缺點...................................................................................................................................3 2.4.Activiti5........................................................................................................................4
優(yōu)點...................................................................................................................................4 缺點...................................................................................................................................4 與統(tǒng)一開發(fā)平臺集成...............................................................................................................4 3.1.流程定義插件集成.......................................................................................................4 3.2.核心包及jar包集成...................................................................................................4 3.3.部署方式.......................................................................................................................4 3.4.版本選擇與維護(hù)問題...................................................................................................5 1.2.3.1.Java主要開源工作流列表
1.1.jBpm jBpm是一個靈活可擴(kuò)展的工作流管理系統(tǒng)。作為 jBpm運行時server輸入的業(yè)務(wù)流程使用簡單強(qiáng)大的語言表達(dá)并打包在流程檔案中。jBpm將工作流應(yīng)用開發(fā)的便利性和杰出的企業(yè)應(yīng)用集成(EAI)能力結(jié)合了起來。
1.2.OSWorkflow OSWorkflow是一個靈活的工作流引擎,設(shè)計成可嵌入到企業(yè)應(yīng)用程序中。它提供了許多的持久化API支持包括:EJB,Hibernate,JDBC和其它。
1.3.Enhydra Shark Shark完全基于WfMC和OMG標(biāo)準(zhǔn),使用 XPDL作為工作流定義語言。流程和活動的存儲使用Enhydra DODS(一個開源OR映射工具)。
1.4.Activiti5 Activit5繼承了jBpm4的所有優(yōu)點,支持最新BPMN2.0規(guī)范,實現(xiàn)了流程的可視化以及創(chuàng)新的Activiti Cycle協(xié)作組件,此外,通過與Mule的集成加強(qiáng)了其集成能力。
1.5.OpenWFE OpenWFE是一個開放源碼的Java工作流引擎。它是一個完整的業(yè)務(wù)處理管理套件:一個引擎,一個工作列表,一個Web界面和一個反應(yīng)器(存放自動代理)。可以與應(yīng)用程序很好的給合。
1.6.Werkflow Werkflow是一個靈活可擴(kuò)展的基于流程和狀態(tài)的工作流引擎。它的目標(biāo)是滿足可以想象的所有工作流程,從企業(yè)級的業(yè)務(wù)流程到小范圍的用戶交互流程。通過使用可插拔和分層結(jié)構(gòu),可以方便地容納各種工作流語義.第1頁 1.7.OFBiz OFBiz是一個非常著名的開源項目,提供了創(chuàng)建基于最新J2EE/XML規(guī)范和技術(shù)標(biāo)準(zhǔn),構(gòu)建大中型企業(yè)級、跨平臺、跨數(shù)據(jù)庫、跨應(yīng)用服務(wù)器的多層、分布式電子商務(wù)類WEB應(yīng)用系統(tǒng)的框架。OFBiz最主要的特點是OFBiz提供了一整套的開發(fā)基于Java的web應(yīng)用程序的組件和工具。包括實體引擎, 服務(wù)引擎, 消息引擎, 工作流引擎, 規(guī)則引擎等。
1.8.Flow4J Flow4J是一個可在Eclipse平臺下以拖放的方式進(jìn)行工作流建模的插件.。
1.9.ObjectWeb Bonita Bonita 是一個符合WfMC規(guī)范、靈活的協(xié)同工作流系統(tǒng)。對于各種動作如流程概念建模、定義、實例化、流程控制和用戶交互等提供了全面的集成圖形工具。100% 基于瀏覽器、使用SOAP和XML數(shù)據(jù)綁定技術(shù)的Web Services封裝了已有的工作流業(yè)務(wù)方法并將它們以基于J2EE的Web Service形式發(fā)布。
1.10.OBPM OBPM是一個開源,輕量級的BPM系統(tǒng)。它的目標(biāo)是讓非IT人員也可以輕松構(gòu)建IT業(yè)務(wù)處理流程。OBPM內(nèi)建工作流引擎(Workflow Engine), Form構(gòu)建器,Report設(shè)計器。OBPM支持瀏覽器(IE/Firefox)做為客戶端,同時還提供了強(qiáng)大的圖形客戶端。
2.四大開源工作流框架分析
2.1.JBpm 優(yōu)點
1、JBpm是最適合擴(kuò)展的代表,是在所有開源引擎中最適宜被商業(yè)化應(yīng)用的一款;
2、JBpm使用了開源框架Hibernate3, 支持當(dāng)前大多數(shù)流行的數(shù)據(jù)庫, 針對不同數(shù)據(jù)庫有一個對應(yīng)的初始化腳本文件.3、JBpm將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理
4、使用Jpdl流程定義語言,直觀易懂,可以手工修改,并且有一個Eclipse流程定義插件。
5、文檔豐富,用戶群最大,開源組織十分活躍,被jboss收購后發(fā)展趨勢良好;
第2頁 缺點
1、Eclipse流程定義插件不開源;
2、Hibernate3做持久化層,會產(chǎn)生冗余表和數(shù)據(jù);
3、JBpm3、JBpm4、JBpm5版本互不兼容,發(fā)展趨勢不明確;
2.2.OSWorkflow 優(yōu)點
1、OSWorkflow是最輕量型的代表,也是一款非常靈活和低級別定位的工作流引擎的實現(xiàn)框架,可視化圖標(biāo)的流程在osworkflow 里都可以用代碼實現(xiàn);
2、OSWorkflow 有著非常優(yōu)秀的靈活性,它能為應(yīng)用程序開發(fā)者提供集成,也能與現(xiàn)有的代碼和數(shù)據(jù)庫進(jìn)行集成;
3、OSWorkflow基于Action驅(qū)動,符合框架開發(fā)人員的操作方式及編程習(xí)慣;
缺點
1、實現(xiàn)一個工作流系統(tǒng)非常繁瑣,每一個流程步驟實現(xiàn)均需要代碼改變狀態(tài)字段;入門難度較高;
2、組件功能匱乏,復(fù)雜流程項目需要基于其引擎做大量的二次開發(fā),不適用;
3、配置項和開發(fā)代碼量相對較多,后期維護(hù)成本較高;
2.3.Enhydra Shark 優(yōu)點
1、工作流體系最為完備和復(fù)雜,秉承“模塊化”的思想,比較容易擴(kuò)展;
2、代碼量較少,易于閱讀、易于改寫、易于維護(hù);
3、有一個Jawe來圖形化定義流程,圖形化功能相對較強(qiáng),可以編輯活動變量,流程邏輯控制屬性.缺點
1、相比其他完全開源的框架,Shark2.0后,很多組件、文檔商業(yè)化,需要付費;
2、版本更新慢,代碼也不再按照開源方式來完成,商業(yè)化的定位限制了其發(fā)展。
第3頁 2.4.Activiti5 優(yōu)點
1、Activiti最大的優(yōu)勢是采用了PVM(流程虛擬機(jī)),支持BPMN2.0規(guī)范及其之外的流程格式;
2、與外部服務(wù)有良好的集成能力擴(kuò)展,通過與Mule的集成加強(qiáng)了其集成能力;
3、繼承了jBpm4的所有優(yōu)點,實現(xiàn)了流程的可視化以及創(chuàng)新的Activiti Cycle協(xié)作組件;
4、對流程引擎運行期實例提供管理及監(jiān)控的Web控制臺。
缺點
1、數(shù)據(jù)持久層采用MyBatis3,沒有遵循JPA規(guī)范;網(wǎng)絡(luò)上反應(yīng)“回退功能”實現(xiàn)起來比較困難;
2、核心是 BPMN 2.0 的流程引擎,BPMN2規(guī)范發(fā)展的比較慢,語言本身也過于復(fù)雜可讀性差。
3.與統(tǒng)一開發(fā)平臺集成
3.1.流程定義插件集成
1.JBpm與Activiti都有基于eclipse圖形化插件和基于Web的流程設(shè)計器,2.OSWorkflow推薦手工編寫 xml 格式的工作流程描述符,有基于Eclipse GEF技術(shù)開發(fā)的osworkflow建模工具;
3.Shark有JAWE作為定義工具,是否可與平臺IDE集成還需要預(yù)研。
3.2.核心包及jar包集成
1.都屬于輕量級工作流框架:jBpm.jar 1.06M;activiti-engine-5.9 1.1MB;osworkflow-2.8.0.jar 393KB;
2.Shark核心包大小在6M左右,但是依賴jar包過于龐大,其他三個框架依賴jar包都不多,但是否與平臺jar包沖突還需驗證;
3.3.部署方式
1.JBpm與Activiti都可以與應(yīng)用項目集成也可以單獨部署;
2.OSWorkflow不可單獨部署,一般推薦與spring集成,方便事務(wù)管理及功能擴(kuò)展;
第4頁 3.Shark可集成也可單獨部署:可以直接作為java庫來使用;也可以單獨部署,作為CORBA ORB 或 Web 服務(wù)來使用;
3.4.版本選擇與維護(hù)問題
1.JBpm4 積累文檔豐富.網(wǎng)上具有大量的共享技術(shù)資源,也是最穩(wěn)定的版本,但是目前已停止開發(fā)和更新;jBpm5基本上完全拋棄了jBpm4的代碼,所有代碼全部來自原先的Drools Flow,資料和文檔相對較少;
2.OSWorkflow是opensymphony下的一個開源項,2.8版本穩(wěn)定,文檔不是很詳細(xì),有較多網(wǎng)絡(luò)資源,曾是ERP軟件開發(fā)中廣泛應(yīng)用的工作流框架,JBpm的出現(xiàn)帶走了很多用戶,使其發(fā)展乏力;
3.Enhydra Shark2.0后,很多組件、文檔商業(yè)化,需要付費,而且版本更新慢,商業(yè)化的定位限制了其發(fā)展;
4.Activiti5是JBoss jBpm架構(gòu)師加入Alfresco后的作品,繼承了jBpm4的所有優(yōu)點,保持開發(fā)更新中,用戶不斷增加,較多用戶推薦,開源社區(qū)活躍,發(fā)展前景看好。
4.總結(jié)
總體來看,四款工作流引擎框架與平臺集成難度都不大,但所依賴第三方j(luò)ar是否與平臺沖突還需具體驗證;從應(yīng)用項目開發(fā)角度來看,JBpm4、Activiti5友好度較高,難易程度適中容易上手,而OSWorkflow、Shark則顯得較為復(fù)雜;從文檔資料及后期項目維護(hù)角度來看,Activiti5無論從版本升級,網(wǎng)絡(luò)資料及社區(qū)活躍度來看都更勝一籌,其他三款框架都多少存在一些難度和問題。
第5頁
第四篇:Hadoop的頂級匯報、分析、可視化、集成和開發(fā)工具
馴服大數(shù)據(jù)的七種武器
隨著泰國洪水抬高的硬盤價格逐漸回落到正常水平,數(shù)據(jù)存儲容量的增長速度有望重新開始飆升。這將讓風(fēng)頭蓋過商業(yè)智能的“大數(shù)據(jù)”應(yīng)用更加火爆,上至白宮下至沃爾瑪都在使用Hadoop、NoSQL數(shù)據(jù)庫和廉價通用服務(wù)器的組合進(jìn)行低成本的大數(shù)據(jù)分析,不過雖然大數(shù)據(jù)分析的軟硬件成本在降低,但是為數(shù)十臺大數(shù)據(jù)服務(wù)器編寫應(yīng)用依然比傳統(tǒng)SQL數(shù)據(jù)庫來得復(fù)雜。而且Hadoop任務(wù)是用Java編寫的,這進(jìn)一步增加了復(fù)雜性。目前已經(jīng)有很多大數(shù)據(jù)工具能夠幫助人們駕馭大數(shù)據(jù)的分布式計算馬力,這些工具大多也能與NoSQL數(shù)據(jù)庫一起工作,這與傳統(tǒng)數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫要靈活得多。
面對大數(shù)據(jù),最大的挑戰(zhàn)也許來自對數(shù)據(jù)的理解和提出正確的分析命題/問題,這遠(yuǎn)比讓你的Hadoop任務(wù)運行得更快有意義。所以以下列舉的這些工具也只是大數(shù)據(jù)的”器“,而非”道“。
一、Jaspersoft BI Suite
Jaspersoft是從列數(shù)據(jù)庫生成PDF報告的最好的開源軟件。JasperReport正跳上大數(shù)據(jù)的班車,在大數(shù)據(jù)和其報告生成軟件之間增加了一個軟件層。JasperReports服務(wù)器目前提供軟件用于從許多主流存儲平臺讀取數(shù)據(jù),包括MongoDB,Cassandra、Redis、Riak、CouchDB和Neo4j。Hadoop自然也不會缺席,JasperReports向HBase提供了一個Hive Connector。但是Jaspersoft的大數(shù)據(jù)整合工作開始不久,還沒有實現(xiàn)完全的集成,例如可視化查詢設(shè)計工具還不能跟Cassandra的CQL對接,你需要手動輸入。
二、Pentaho Business Analytics
Pentaho也是以報告生成引擎起步的軟件平臺,與Jaspersoft的策略類似,也是通過增加新的數(shù)據(jù)源來進(jìn)入大數(shù)據(jù)市場。你可以講Pentaho的工具與大多數(shù)流行的NoSQL數(shù)據(jù)庫如MongoDB和Cassandra掛接起來。當(dāng)連接上數(shù)據(jù)庫后,你就能拖放數(shù)據(jù)庫列到窗口和報告界面,就像是用來自SQL數(shù)據(jù)庫的信息一樣。Pentaho還提供軟件用于從Hadoop集群中抽取HDFS文件數(shù)據(jù)和HBase數(shù)據(jù)。其中最新吸引人的工具要數(shù)圖形編程界面Kettle,也稱Pentaho Data Integration。
三、Karmasphere Studio and Analyst
并非所有大數(shù)據(jù)工具都從報告工具開始。Karmasphere Studio就是基于Eclipse開發(fā)的一組插件。它是一個專業(yè)化的IDE集成開發(fā)環(huán)境,可以讓Hadoop任務(wù)的創(chuàng)建和運行更加容易。
四、Talend Open Studio
Talend也提供了一個基于Eclipse的IDE,用于串聯(lián)Hadoop的數(shù)據(jù)處理任務(wù)。Talend的工具可用于數(shù)據(jù)集成、數(shù)據(jù)質(zhì)量和數(shù)據(jù)管理工作,同時為這些工作準(zhǔn)備了相應(yīng)的子程序。Talend Studio允許你通過向模板拖拽建立任務(wù),例如獲取RSS的feeds。Talend的TalendForge是一些列的開源擴(kuò)展,可以與該公司的其他軟件搭配工作。大多數(shù)工具看上去都是庫過濾器,用于將Talend的軟件與其他主流廠商如Salesforce.com和SugarCRM的產(chǎn)品進(jìn)行連接。你可以從這些系統(tǒng)讀取數(shù)據(jù)到到你自己的項目中,這簡化了集成工作。
五、Skytree Server
并非所有的工具都被設(shè)計用來簡化代碼與虛擬機(jī)制的串聯(lián)。Skytree提供了一個功能群組,提供了更加復(fù)雜的機(jī)器學(xué)習(xí)(Machine-learning)算法。你只需要將正確的命令輸入正確的命令行。
六、Tableau 桌面和服務(wù)器版
Tableau桌面版是一個可視化工具,能讓你更直觀地審視數(shù)據(jù),你還能抽離數(shù)據(jù)從不同角度觀察,你還能降其他數(shù)據(jù)混合進(jìn)來獲得新的結(jié)果。Tableau在幾個版本前就開始擁抱Hadoop,現(xiàn)在你能想處理其他數(shù)據(jù)一樣處理Hadoop的數(shù)據(jù)。Tableau通過Hive來結(jié)構(gòu)化查詢,然后將盡可能多的數(shù)據(jù)緩存在內(nèi)存里以實現(xiàn)交互。其他的報告工具都是離線生成報告,而Tableau洗完功能提供一種交互機(jī)制,這樣你就能不斷分割數(shù)據(jù)。緩存能夠部分解決Hadoop集群的延遲問題。
七、Splunk
Splunk與上述工具有所不同,它并不是一個純粹的報告生成工具或AI路徑的集合,雖然它在很大程度上也能實現(xiàn)這些功能。Splunk為你的海量數(shù)據(jù)創(chuàng)建一個索引,將其整理成可以搜索的鏈接,其方式就好像這些數(shù)據(jù)是一本書或者文本塊。雖然數(shù)據(jù)庫也內(nèi)建有指標(biāo),但是Splunk的索引方式更像是文本搜索處理。
Splunk的索引功能非常靈活,可以兼容很多數(shù)據(jù)源,包括日志、配置文件、消息等,基本上所有應(yīng)用產(chǎn)生的文本數(shù)據(jù)它都能”吃“下去。Splunk還有很多解決方案套裝出售,其中包括監(jiān)控微軟Exchange服務(wù)器以及政策web攻擊。
Splunk圍繞索引抽取文本串和搜索、提供報警和報告功能。你可以敲入重要文章的URL或者IP地址。Splunk會根據(jù)數(shù)據(jù)中的時間戳將結(jié)果以時間軸的方式展示出來。這只是一個簡單的應(yīng)用,但如果你在數(shù)據(jù)Feed中找到的正確的指針,Splunk將非常強(qiáng)大。Splunk非常適合處理日志文件。
Splunk的一個新工具Shep,目前正在Beta內(nèi)測,提供Hadoop和Splunk之間的雙向集成,可以在兩個系統(tǒng)間交換數(shù)據(jù),你還可以從Hadoop中查詢Splunk的數(shù)據(jù)。
第五篇:Java程序員需要了解的8個Java開發(fā)工具
Java程序員需要了解的8個Java開發(fā)工具
Java是計算機(jī)應(yīng)用程序編程語言,被廣泛用于創(chuàng)建Web應(yīng)用、服務(wù)器處理、用戶端的API開發(fā)乃至數(shù)據(jù)庫等多個領(lǐng)域。下面厚學(xué)網(wǎng)小編列出了8個有助于你開發(fā)Java應(yīng)用程序好的Java工具。
1.SparkJava 這是一款體形輕巧,功能強(qiáng)大的Web應(yīng)用框架。Spark擁有簡單而直接的方法。您可以通過一些繁瑣的XML配置來使用Spark框架編寫應(yīng)用程序。Spark能讓你花費很少的精力來開發(fā)Java的Web應(yīng)用程序。
2.jClarity jClarity是兩款產(chǎn)品的結(jié)合:illuminate用于性能監(jiān)控,而census則可以收集日志和分析數(shù)據(jù)。jClarity支持云集成,并且其框架緊湊輕巧。
3.Clover Clover是用于代碼覆蓋的一大利器。該工具有助于用于應(yīng)用程序測試的代碼。我們可以在IDE或持續(xù)集成系統(tǒng)中運行Clover。該工具能讓測試的運行速度更快。
4.JProfiler JProfiler擁有直觀的用戶界面,可以幫助你解決性能瓶頸和理解問題。JProfiler能讓你輕松約束內(nèi)存泄漏和修復(fù)線程的問題。
5.VisualVM VisualVM是一個集多功能于一身的Java故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此輕便的工具有著驚人的分析能力。你可以在各種技術(shù),如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM出名的是附加了API,以獲得更多的數(shù)據(jù),以及自動使用更快捷。
6.Elasticsearch Elasticsearch提供了可以整合現(xiàn)有的應(yīng)用程序來驅(qū)動其與輸入數(shù)據(jù)的交互的工具。這款開源工具提供了實時搜索和分析引擎。Elasticsearch可用于可靠性和可擴(kuò)展性作為重要因素的分布式環(huán)境。該工具提供了超簡單的全文搜索體驗。
7.Sonarqube
Sonarqube是一個用來管理代碼質(zhì)量的開放式平臺?;赪eb的應(yīng)用程序可以與Java應(yīng)用程序進(jìn)行配置。它提供了規(guī)則、警報、閾值、排除和設(shè)置功能。SonarQube允許用戶將指標(biāo)結(jié)合在一起,以及使用歷史的措施混合。
8.Takipi Takipi是一個輕量級的Java代理。Takipi安裝方便,用不了幾分鐘就可以搞定。它對代碼注釋或配置并沒有要求。你可以使用一臺具有完全功能的服務(wù)器與Takipi工作。此款 Java工具能幫助你減少調(diào)試時間。
總結(jié)
對于想學(xué)習(xí)Java的朋友來說,比較快的方式當(dāng)然是結(jié)合自身實際情況找一家專業(yè)的培訓(xùn)機(jī)構(gòu)來進(jìn)行系統(tǒng)有效的學(xué)習(xí),對此,小編推薦您可以訪問厚學(xué)網(wǎng)(004km.cn)來了解各大知名培訓(xùn)機(jī)構(gòu)的詳細(xì)情況,為自己的選擇保駕護(hù)航;目前厚學(xué)網(wǎng)共計入駐了多家IT領(lǐng)域的知名培訓(xùn)機(jī)構(gòu),如:被北大青鳥、達(dá)內(nèi)、上海藍(lán)鷗、閣瑞鈦倫特軟件培訓(xùn)等,在讓客戶了解全面的課程信息及真實用戶評價的同時,也讓客戶能夠更放心,省心的選擇到想學(xué)的課程,希望小編的傾力推薦能夠?qū)δ倪x擇有所幫助,期待您早日學(xué)有所成,加油!