paulwong

          #

          activiti5.6安裝實戰

          如下是在window win7旗艦版環境下使用mysql數據庫的安裝實錄:

          一)下載 activiti-5.6.zip(http://activiti.org/downloads/activiti-5.6.zip


          二)將activiti-5.6zip解壓到指定目錄,假設為“D:\activiti”,注意下面提到的路徑均是相對于該路徑而言


          三)修改數據庫類型為mysql

          打開文件“setup\build.properties”修改db=mysql(默認為h2)。


          四)配置mysql數據庫

          創建名稱為activiti的空數據庫,url要改為:“jdbc:mysql://localhost:3306/activiti?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useServerPrepStmts=true“,否則報編碼錯誤,連接帳號設為activiti,密碼也設為activiti。(如果不喜歡默認的連接配置,可以修改文件“setup\build.mysql.properties”中相應的屬性值)


          五)預下載一些必需的文件到“C:\downloads”

          “D:\downloads”這個路徑是在build.properties中通過屬性“downloads.dir”定義的,也可以手動修改指定其他位置(默認值為:downloads.dir=../../downloads)。

          如果確保網絡環境很順暢,這一步也可以不做,安裝腳本會自動下載,由于之前的版本我安裝時經常下載中斷,導致文件損壞、安裝異常,所以我習慣了先預先下載,保證安裝順暢點。主要下載如下2個文件,左側為下載地址,右側為下載后保存的文件名:


          1) http://mirrors.enquira.co.uk/apache/apache-tomcat-6.0.29.zip –> apache-tomcat-6.0.29.zip (2.71MB)

          若有tomcat可以不用下載,將tomcat復制到該目錄下,如果tomcat的版本不是6.2.29則需要修改setup\build.properties文件中的tomcat.version=6.0.xx

          修改為當前的tomcat版本


          2) http://activiti.org/downloads/activiti-modeler-5.6.war –> activiti-modeler-5.6.war (31.8MB)

          此war文件就是activiti演示的web程序war包必須下載。


          3)為了改變演示安裝里KickStart使用的數據庫,產生一個新的activiti.cfg.jar,并將它放置到apps/apache-tomcat-6.x/webapps/activiti-kickstart/WEB-INF/lib文件夾。 


          4)將JDBC DRIVER JAR拷貝到setup\files\dependencies\libs中,并將類似libs.webapp.administrator的所有配置文件中如有對H2JAR引用的都增加對JDBC DRIVER JAR的引用


          六)修改瀏覽器的可執行文件路徑

           

          打開文件“setup\build.xml”修改屬性windows.browser的值為瀏覽器的啟動文件對應的位置。如我一直使用chrome,配置如下:

          <property name=”windows.browser” value=”C:/Documents and Settings/dragon/Local Settings/Application Data/Google/Chrome/Application/chrome.exe” />

          修改這個的目的是方便下面的”ant demo.start”結束后自動打開瀏覽器訪問相關演示模塊的首頁。

          注:在我的win7下系統上,使用chrome瀏覽器配置成了C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chrome.exe但是在demo.start啟動后沒有打開瀏覽器,配置成Firefox瀏覽器啟動路徑也沒有生效,原因有待查明中。


          七)檢查一下你的電腦是否已經使用了tomcat服務

          如果使用了tomcat服務,得停掉,否測會沖突。順便檢查一下8080端口有沒有被占用,否測也會沖突導致安裝失敗。


          八)安裝ant1.7和jdk1.5+環境

          主要是設置環境變量ANT_HOME和JAVA_HOME,并將%ANT_HOME%\bin、%JAVA_HOME%\bin設置到path環境變量中。


          九)一切就緒后就可以開始體驗了

          命令行切換到“setup/”,運行”ant demo.start”,等待整個安裝過程自動完成吧,安裝完畢后默認會自動打開瀏覽器。若沒有啟動瀏覽器,需自己手動打開瀏覽器在地址欄中輸入訪問地址。

          可訪問web應用如下:

          Web應用名稱 URL 描述
          Activiti Probe http://localhost:8080/activiti-probe/ 管理員管理控制臺。利用此工具可以查看配置的流程引擎是否被正確初始化了,以及數據庫表的內容。
          Activiti Explorer http://localhost:8080/activiti-explorer/ 流程引擎控制臺。利用此工具可以瀏覽個人以及候選任務列表,然后完成任務。
          Activiti Cycle http://localhost:8080/activiti-cycle/ Activiti協作工具。利用此工具可以瀏覽倉庫及在模型格式間執行切換
          Activiti Modeler powered by signavio http://localhost:8080/activiti-modeler/p/explorer 基于web的流程設計工具。利用此工具進行以圖形化的方式編寫復合bpmn2.0的流程定義文件。
          Activiti Kickstart http://localhost:8080/activiti-kickstart 允許以臨時的方式來快速而高效地指定流程。使用KickStart可以快速創建簡單流程、快速原型以及臨時的工作流。
          Activiti Administrator http://localhost:8080/activiti-administrator 用于管理用戶和用戶組的web應用程序。目前它只是被當作獨立的應用程序,但我們打算根據許可將有些web應用程序統一成一個web應用程序。

          演示用戶

          用戶Id 密碼 角色
          Kermit Kermit 管理員
          gonzo gonzo 經理
          fozzid fozzid 用戶


          十)新建一個流程并演示。

          訪問:http://localhost:8080/activiti-modeler/

          訪問后會看到左側菜單欄中是當前workspace中自帶的一些示例流程。


          點擊上方菜單new->Business process diagram菜單項,瀏覽器會打開activiti建模器

          如圖,此圖中描述了一個編寫每月財務報告—>審批財務報告的簡單流程。(此處用自帶的FinancialReportProcess流程做演示)

          圖中看到的是一個 none start event (左邊的圓圈),其次是兩個 user tasks撰寫財務報告批準財務報告,以 none end event (右邊邊框加粗型的圓圈) 結束。

          • none start event 讓我們認識到要開始一個流程。
          • user tasks 聲明一個基于用戶操作的流程任務. 注意第一個任務是分派用戶組 accountancy 的, 而第二個任務是分派到用戶組management 的. 查看 分派用戶任務章節 可以得到更多怎樣分派任務到用戶或組的信息。
          • 當到達 none end event 節點后流程就結束。

          以用戶fozzie(他是一個會計師)身份登錄到Activiti Explorer(http://localhost:8080/activiti-explorer/),選擇PROCESSES頁簽,在列表的Action列中點擊流程“Monthly financial report’”的“Start Process”鏈接來啟動一個流程實例。如下圖所示:


          由于我們是以用戶fozzie登錄,故在我們啟動了這個流程實例后,可以看到一個新的候選任務。我們這是切換到TASKS頁簽頁去看看這個新任務(如下圖),可以發現就算其他人啟動的流程實例,所有屬于用戶組accountancy的用戶都可以看到這個新的候選任務。


          領取任務:

          通過Activiti Explorer界面點擊claim按鈕將執行相同的領取任務操作。現在這個任務將顯示在任務領取者的個人任務列表中,領取任務后,可以在my tasks中查看并點擊頁面上的complete按鈕提交。


          現在注銷掉fozzi用戶并以kermit(他是管理者)用戶登錄,第二個任務現在就顯示在待指定任務列表中了。Kermit用戶和上一步的操作一樣,可以對該任務進行領取和提交,至此,該流程就走完了。如下圖所示:

           


          我在安裝使用過程中遇到如下一些問題:

          1)activiti-modeler-5.6.war不會自動發布,導致訪問不了

          解決辦法:自己將activiti-modeler-5.6.war手工解壓到apps\apache-tomcat-6.0.29\webapps\activiti-modeler,并刪除apps\apache-tomcat-6.0.29\webapps\activiti-modeler-5.6.war


          2)tomcat控制臺顯示的中文亂碼

          解決辦法:修改文件apps\apache-tomcat-6.0.29\conf\logging.properties,增加如下一行的配置:

          java.util.logging.ConsoleHandler.encoding = GBK


          3)使用activiti-modeler保存流程圖前后臺均會報錯

          解決辦法:創建目錄apps\apache-tomcat-6.0.29\endorsed,并將jar文件”apps\apache-tomcat-6.0.29\webapps\activiti-modeler\WEB-INF\lib\jaxb-api.jar”復制到該目錄下。


          4)第一次安裝后,新建流程中出現中文會出錯,網上找了下沒有找到解決方法,我又重新安裝了一遍,沒有該問題了,目前尚不清楚是由何引起的。

           

          安裝eclipse designer插件:

          需要eclipse版本為:Eclipse IDE for java EE developers(Helios Service)

          打開Help->Install New software。在如下面板中,點擊Add按鈕,然后填寫下列字段:

          Name: Activiti BPMN 2.0 designer

          Location: http://activiti.org/designer/update/


          添加完成后,eclipse會搜索到BPMN designer插件,選中后,按提示操作完成即可。

          由于是在線安裝,插件可能偏大,我在安裝的過程中等待了很長時間,大約半個小時,所以如果安裝此插件請耐心等待。

          安裝完成后,重啟eclipse, 導入activiti自帶的examples,在src/main/process/路徑下,隨便找個后綴名為bpmn20.xml的文件打開,就可以看到該插件的效果了,如圖:


          終于安裝完成了,總結一下,在安裝過程中,遇到了或多或少的問題,發現activiti的用戶數不是那么多,因為好多問題網絡上都搜索不到解決辦法,都得自己再鉆研一下,很是痛苦,不知啊現在國內有那個項目用activiti5的成功經驗是否可以拿出來分享一下。

          posted @ 2012-03-19 00:19 paulwong 閱讀(15808) | 評論 (3)編輯 收藏

          ACTIVITI WEB DESIGNER

          1. 下載代碼:http://signavio-core-components.googlecode.com/svn/trunk

          2. 修改build.properties
            # This is the Signavio Core Components configuration file. Most users only have to configure this file.

            # The path to your Apache Tomcat webapps folder這里就是生成WAR后,會自動拷貝過去的目錄
            dir-tomcat-webapps 
            = /apache-tomcat-6.0.16/webapps

            # The path to your jBoss deployment folder
            dir-jboss-webapps 
            = /jboss-5.1.0/server/default/deploy

            # The folder the war file(s) is/are stored
            target 
            = target

            # The version of the application. If you want to integrate the Signavio Core Components into
            #  your own software product
            , you can align the version number.
            version
            =5.0-SNAPSHOT

            # The name of the war file
            , if you use the all-in-one-war build target
            war 
            = activiti-modeler

            # The configuration you want to use. This is the name of the folder in the 'configuration' project
            #  that contains the configuration and skin files. The following configurations are available:
            #  default
            , Activiti, jBPM
            #  You can also add your own configuration in the 'configuration' project.
            configuration 
            = Activiti

            # The URL of your server. Format: http(s)://<domain>(:<port>)這里要填實際的IP
            #  Do not add a trailing slash here!
            host 
            = http://10.5.12.248:8180/

            # The path on your system the directories and diagram files are created.這里就是圖形文件保存的地方
            # Do not use \ ! Always use / !
            fileSystemRootDirectory 
            = ../../../workspace/activiti-modeler-examples

          3. 要特別注意編碼,否則會編譯失敗,修改EDITOR中的build.properties
            <java dir="${build}" jar="${root}/lib/yuicompressor-2.4.2.jar" fork="true" failonerror="true" output='${compress.temp}'>
                <!-- add a row as follow --> 
                <sysproperty key
            ="file.encoding" value="UTF-8"/> <arg file='${build}/oryx.debug.js' /> 
            </java>

          4. 運行命令
            ant build-and-deploy-all-in-one-war-to-tomcat

          5. 打開瀏覽器輸入網址:http://10.5.12.248:8180/activiti-modeler即可

          posted @ 2012-03-16 11:37 paulwong 閱讀(2849) | 評論 (2)編輯 收藏

          activiti 5.4 demo基于oracle數據庫安裝配置

          一、環境下載
          1. Activiti5.4.zip
          2. activiti-modeler-5.4.war
          3. apache-tomcat-6.0.20.zip
          4. jdk 1.6full22
          5. ant1.8.2
          6. oracle 10g rc2

          二、環境準備
          1. 安裝jdk1.6full22 配置JAVA_HOME,CLASS_PATH,PATH
          2. 安裝ant1.8.2,配置ANT_HOME,PATH
          3. 安裝oracle 10g rc2,創建用戶:activiti/activiti(建議為其創建獨立表空間和臨時表空間),分配create session,resource,dba權限;
          4. 解壓Activiti5.4.zip->../activiti-5.4(即activiti_home)
          5. 將activiti-modeler-5.4.war和apache-tomcat-6.0.20.zip放到activiti_home/downloads

          三、activiti5.4 demo相關配置
          1. 指定demo數據庫為oracle 10g
            修改activiti_home/setup/build.properties:db=H2->db=oracle

          2. 指定自選版本的tomcat(建議6.0以上,這里用的是6.0.2.0,以下為測試過)   
            修改activiti_home/setup/build.properties:tomcat.version=6.0.32->tomcat.version=6.0.2.0

          3. 指定自己下載的activiti-modeler-5.4.war和apache-tomcat-6.0.20.zip(這里必須與tomcat.version一致) 
            修改downloads.dir=../../downloads->downloads.dir=activiti_home/downloads

          4. 配置oracle數據庫信息,主要修改activiti_home/setup/build.oracle.properties:       
            db=oracle
            jdbc.driver
            =oracle.jdbc.driver.OracleDriver
            jdbc.url
            =jdbc:oracle:thin:@localhost:1521:ORCL
            jdbc.username
            =activiti
            jdbc.password
            =activiti


          5. 修改tomcat的8080為80端口,主要修改activiti_home/setup/build.xml配置(兩處):
            <replacetoken><![CDATA[port="8080"]]></replacetoken>
            <replacevalue><![CDATA[port="80" URIEncoding="UTF-8"]]></replacevalue>
            注意:如果修改了默認端口,需要修改配置文件里所有默認端口為指定端口

          6. 指定自己的瀏覽器,這里用的是firefox,如果配的瀏覽器不存會取當前系統默認瀏覽器
            <property name="windows.browser" value="F:/application/Mozilla Firefox/firefox.exe" />


          7. 指定自己數據庫對應的jdbc driver默為ojdbc5*.jar,這里指為ojdbc14.jar,修改如下:
            <include name="ojdbc1*.jar" if="db.is.oracle"/>

            并把ojdbc14.jar放到:activiti_home/setup/files/dependencies/libs和activiti_home/setup/files/webapps所有web工程對應的lib里(這個在安裝發布相應工程為自動復制到相應的應用里)

          8. 解決安裝過程中中文顯示亂碼問題(這里不能解決安裝一小段顯示亂碼問題),在activiti_home/setup/files/tomcat/logging.properties添加如下內容:
            java.util.logging.ConsoleHandler.encoding = GBK

          9. 在activiti_home/setup運行ant cfg.create命令生成修改后的activti配置,這些信息都放在新生成的activiti_home/setup/build文件里
            這里最關鍵的兩個文件:activiti.cfg.xml和activiti-cfg.jar

          10. 替換activiti_home/setup/files/cfg.activiti/standalone/activiti.cfg.xml為新生成的activiti.cfg.xml

          11. 替換activiti_home/setup/files/webapps下所有activiti-cfg.jar為新生成的activiti-cfg.jar

          12. 修改activiti_home/setup/files/cfg.modeler/configuration.properties里host = http://localhost:8080為host = http://localhost(這里用的是80端口)

              

          posted @ 2012-03-14 15:19 paulwong 閱讀(5165) | 評論 (0)編輯 收藏

          Web工作流設計器

          http://www.duobee.com/demos/workfloweditor.html

          posted @ 2012-03-11 21:46 paulwong 閱讀(626) | 評論 (0)編輯 收藏

          一張業務表用于多個業務流程

          在工作流管理系統中,通常是先給業務流程建模,利用流程設計器,將業務的辦理過程用流程支持的節點方式表示出來。



           

          業務建模之后,再確定每個節點上辦理的業務,辦理業務的過程,通常是以填寫完業務表單的方式來完成的。所以需要分析每個節點上填寫的表單內容,根據 表單內容建立業務表,表字段等。再將字段綁定到表單中錄入控件上,將表單錄入的數據保存到數據庫中,這樣業務表單模塊就完成了。



           

           



           

          業務表單完成之后,再掛接到流程節點上。



           

           

          另外可能需要再次完善一下流程節點的一些屬性,如增加每個節點的指定辦理人。

          設置取業務表中的一些關鍵值用于流程中,如取報銷單中的報銷金額,請假單的請假天數,用于流程上下文中做條件使用。

          最后,在業務表中,需要增加一個流程實例id字段,用于和業務流程關聯。在啟動業務流程的時候,需要將獲得的流程實例id寫入這個字段中,使得業務記錄能和流程實例關聯上。


          通過上面這些步驟,就建立好了業務流程了,可以啟動流程實例,辦理業務了。業務的流轉就按照流程建模中定義好的順序辦理,不需要再在業務表 中增加狀態字段來控制業務的流轉了。業務的辦理過程變得有跡可循了,每個流程實例均可以列出運行的軌跡圖,或者列表出運行的軌跡。每個節點上辦理的業務也 能通過查詢業務表單再次展現。

           

          上面我們說過,業務表是存儲辦理業務數據的數據庫表,一般來說,一個業務表只用于一種業務流程中,存儲同一類型的業務數據。當流程運行結束的時候, 這些業務數據就被封存,不能在流程的節點中再次被編輯和修改。(除非直接開庫修改數據,或者另外做一些模塊,直接修改業務數據)

           

          但是,這些封存的業務數據,有可能會被再次啟用投入到另外一個業務流程中去使用,這種需求可能是需求肯定是有應用場景的,不管是分段的處理過程還是后期又做的一些業務補充等,都有可能發生。

           

          如果一個業務表,需要再次用于另外一個業務流程當中,則我們只需要給業務表,再增加一個流程實例id字段,就可以了,再次新啟動的業務流程獲得的流 程實例id就寫入這個新的流程實例id字段。和以前的那個流程實例id不相關了。只是如果是編輯同一條業務記錄的話,就可能把上次的數據給修改了。這樣理 論上是可以支持n個業務流程。

           



           


          總結一下,一個業務表用于一個業務流程中,用一個流程實例id字段和流程關聯,用于另外一個業務流程中,則再建一個流程實例id字段和流程實例關聯。

           

          一個業務流程可能會涉及到多張業務表,一張業務表也可能涉及到多個業務流程。

          posted @ 2012-03-06 18:02 paulwong 閱讀(348) | 評論 (0)編輯 收藏

          Java MVC框架性能比較

          現在各種MVC框架很多,各框架的優缺點網絡上也有很多的參考文章,但介紹各框架性能方面差別的文章卻不多,本人在項目開發中,感覺到采用了struts2框架的項目訪問速度,明顯不如原來采用了struts1框架的項目快,帶著這些疑惑,我對各類MVC框架的做了一個簡單的性能分析比較,其結果應該說是基本符合預期的,可供大家參考。

          測試環境:

          CPU:酷睿2 T5750,
          內存:DDR2-667 2G,
          Web容器:Tomcat6.0,最大線程數設置為1000,
          操作系統:WinXP-sp3

          測試步驟:

          搭建6個Web工程,如下:
          1.純JSP:不包含任何MVC框架,只有一個測試用的JSP頁面。
          2.struts1:包含一個Action,不做任何邏輯處理,直接轉發到一個JSP頁面
          3.struts2 JSP:不包含Action,只包含測試JSP頁面,直接訪問該頁面。
          4.struts2 單例Action:采用Spring來管理Struts2的Action實例,并配置成單例模式。
          5.struts2 多例Action:采用Spring來管理Struts2的Action實例,并配置成單例模式。
          6.SpringMVC3:采用Spring來管理Controller實例,包含一個Controller,不做邏輯處理,收到請求后,直接返回到一個JSP頁面。

          測試結果:

          測試工程 請求數 并發數 總時間(s) 總時間(s) 總時間(s) 平均值(s) Requests Per Second(每秒處理請求數)
          JSP 2000 200 5.55 3.59 4.11 4.42 452.83
          struts1 2000 200 6.77 3.83 7.00 5.86 341.03
          struts2 JSP 2000 200 25.20 26.30 24.11 25.20 79.35
          struts2 單例Action 2000 200 28.36 27.59 27.69 27.88 71.74
          struts2 多例Action 2000 200 31.31 31.97 39.56 34.28 58.34
          SpringMVC3 2000 200 7.16 7.50 4.27 6.31 317.09

          說明:

          以上測試雖不是非常的精確,但基本能說明一定的問題。每個JSP頁面和Action都不包含任何的業務邏輯代碼,只是請求轉發。每輪測試取三次總時間的平均值。所有工程的測試均全部完成并正常處理請求,沒有請求拒絕情況發生。

          結論:

          1. 純JSP的性能應該最高,這不難理解,JSP被編譯成Servlet后,沒有任何多余的功能,收到請求后直接處理。(這也驗證一句經典的話:越原始效率就越高。

          2. struts1的性能是僅次于純JSP的,由于struts1采用單例Action模式,且本身的封裝相比struts2應該說簡單很多,雖然開發效率不如struts2,但已經過多年的實踐考驗,性能穩定高效。

          3. 相比來說struts2的性能就比較差了,這不難理解,struts2之所以開發方便,是由于采用值棧、OGNL表達式、攔截器等技術對請求參數的映射和返回結果進行了處理,另外還采用大量的標簽庫等,這些都無疑增加了處理的時間。因此降低了效率。在我們實際的項目中,我測試本地工程訪問每秒處理請求數只能達到35左右,應該說還有不少可優化的空間。

          4. 很多人認為struts2性能差是因為它的多例Action模式導致的,但我們采用spring管理struts2的Action,并設置按單例方式生成Action實例后,發現其性能有所提高,但并不是很明顯。由此可見,多例Action模式并不是struts2性能瓶頸所在。另外,我們在struts2中采用JSP方式訪問,發現其性能依舊和沒有采用任何MVC框架的純JSP之間存在好幾倍的差距,這又從另一個側面證實了我們剛才得出結論,struts2性能的瓶頸不在于它的多例Action模式。

          5. SpringMVC3的性能略遜于struts1,但基本是同級別的,這讓人眼前一亮,springMVC有著不比struts2差的開發效率和解耦度,但性能卻是struts2的好幾倍,這讓我們灰常振奮,SpringMVC無疑又是項目開發的一個好的選擇。

          posted @ 2012-03-03 16:13 paulwong 閱讀(1549) | 評論 (0)編輯 收藏

          Hadoop Map/Reduce 學習

          Hadoop最近很火,到處都能看到,查了一下資料大概先了解一下其運行原理。
          google在05年公開了Map/Reduce論文,MapReduce在處理巨量數據方面有明顯優勢。
          google公司一個技術大牛jefffery Dean提出的這個算法,隨后很多小牛紛紛實現了Mapreduce,Hadoop是它的java實現,MapReduce概念直接推動了云計算概念的火爆。
          沒有優秀算法云是沒法搞的。

          這篇文章對Map/Reduce原理講的很清楚。
          http://www.chinacloud.cn/download/Tech/MapReduceOverview.pdf

          這個是Apache關系Hadoop的文檔,安裝、開發示例都有。
          http://hadoop.apache.org/common/docs/r0.19.2/cn/mapred_tutorial.html

          官方WIKI
          http://wiki.apache.org/hadoop/Running_Hadoop_On_OS_X_10.5_64-bit_%28Single-Node_Cluster%29

          posted @ 2012-03-03 16:01 paulwong 閱讀(342) | 評論 (0)編輯 收藏

          一個JBPM流程設計器

          https://github.com/bluesoft-rnd/aperte-workflow-core/wiki

          posted @ 2012-03-01 00:38 paulwong 閱讀(352) | 評論 (0)編輯 收藏

          云計算介紹

          什么是云計算?
          • 網格計算(Grid Computing)
          • 分布式計算(Grid Computing)
          • 并行計算(Parallel Computing)
          • 效用計算(Utility Computing)
          • 網絡存儲(Network Storage Technologies)
          • 虛擬化(Virtualization)
          • 負載均衡(Load Balance)
          表現方式
          • 基礎架構即服務(IaaS):Amazon Simple Storage Service,通過Webservice API向外界提供存儲服務,數據存到分布式的各個地方
          • 平臺即服務(PaaS):Google App Engine,開發平臺,寫一個JAVA程序部署到上面;Amazon Elastic Compute Clouding
          • 軟件即服務(SaaS):Salesforce.com,提供在線的CRM,根據需要買帳號,服務等,企業無須開發系統;Google App,提供一整套的辦公系統
          以上所介紹的可以稱為公有云。

          云計算給我們帶來了什么
          • 小企業:通過公有云降低成本,按需采購IT資源,以小撥大
          • 中大企業:通過私有云,提供全新的IT交付方式,高效可擴展的系統
          • 開發者:全新的開發模式,需要做一個轉換,即熟悉大規模并行運算
          關鍵技術
          • 分布式計算模型:MapReduce
          • 分布式文件系統:HDFS
          • 分布式數據庫系統:HIVE
          云計算對企業的價值
          高度可用性,高度可擴展性

          案例
          • 金融數據收集分析系統:以廉價的IT設備收集少量金融數據,前端有各種模塊收集數據-->云計算模式進行數據處理
            -->保存到傳統數據庫-->用戶展現
          • IT知識庫系統:前端數據取模-->云計算模式進行數據處理-->用戶查詢-->查詢API
          JAVA平臺對云計算的支持
          著名的開源實現:Hadoop

          項目組成
          • Pig
          • Chukwa
          • Hive
          • MapReduce
          • HDFS
          • Zookeeper
          • Core(核心部份,任務分配,調度)
          • Avro(處理序列號)


          MapReduce模型
          • 源數據(Map)-->中間數據(Reduce)-->結果數據
          • 處理流程:客房端提交任務-->Master Node決定如何折分任務-->分到各節點
          • 實現:先啟動Hadoop系統-->編寫客戶端程序-->使用Hadoop運行客戶端程序

          posted @ 2012-02-29 17:59 paulwong 閱讀(233) | 評論 (0)編輯 收藏

          在eclipse中使用jboss熱部署功能

          最近看Jboss in action,里面提到Jboss的hot deploy功能,今天動手試了一下了一下,發現確實很好用。

           

          首先使用eclipse的Automaticlly publish when resources change 功能 ,設置一個較短的時間,比如一秒,那么在編輯保存之后,eclipse會自動發布更新到jboss部署目錄。


          在jboss中,可以使用Jmx Console,deploy,undeploy和redeploy。

          例如:C:\Jboss\bin\twiddle invoke "jboss.system:service=MainDeployer" redeploy file://C:\Jboss\server\default\deploy\jbosstest.ear 。即完成對jbosstest.ear的重新部署。

           

          在eclipse中可以把jmx命令行客戶端twiddle配置為外部工具。


           

          這樣,每次修改后,點擊 即可重新部署應用程序。

          posted @ 2012-02-29 16:24 paulwong 閱讀(2206) | 評論 (0)編輯 收藏

          僅列出標題
          共115頁: First 上一頁 86 87 88 89 90 91 92 93 94 下一頁 Last 
          主站蜘蛛池模板: 莎车县| 赤壁市| 南乐县| 庆元县| 泗阳县| 安顺市| 晋州市| 旺苍县| 沙湾县| 阿拉善盟| 勐海县| 新疆| 龙里县| 基隆市| 德钦县| 兴仁县| 尉氏县| 沙雅县| 晋城| 乐亭县| 甘谷县| 贵定县| 安溪县| 内丘县| 金沙县| 福州市| 边坝县| 玉环县| 内江市| 车致| 湖州市| 始兴县| 凉城县| 龙口市| 府谷县| 镇远县| 嘉义市| 大厂| 化隆| 墨江| 汽车|