<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    #

    Web工作流設計器

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

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

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

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



     

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



     

     



     

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



     

     

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

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

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


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

     

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

     

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

     

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

     



     


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

     

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

    posted @ 2012-03-06 18:02 paulwong 閱讀(346) | 評論 (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 閱讀(1548) | 評論 (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 閱讀(351) | 評論 (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 閱讀(231) | 評論 (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 閱讀(2202) | 評論 (0)編輯 收藏

    中文JBOSS論壇

    http://www.jbosschina.org/forum-6-1.html

    posted @ 2012-02-29 14:56 paulwong 閱讀(468) | 評論 (0)編輯 收藏

    tomcat 和 jboss的熱部署(熱發布)問題

    所謂的熱部署(熱發布)(下面稱為“熱部署”),就是說,在web工程發布之后,不可避免的,會遇到修改BUG的問題。現在的熱部署就是為了解決這個問題,其功能就是說:在不停止web服務的同時,對jsp和java類進行修改,修改后的效果同時還能夠在頁面上顯示出來。節省了調試時間,提高了效率。不過,修改配置文件是個例外,如果對配置文件做修改,一定要重啟web服務。

    常用的web服務器一般為tomcat和jboss,現一一做介紹。

    1.tomcat熱部署
    在tomcat中支持熱部署有兩種方式(在原理上來說,這兩種方式是一致的,只是放的位置不同)
    a)在catalina_base\conf\catalina\localhost\中依照manager.xml定義一個xml文件,比如我的項目稱作sodoperation,我們就可以寫一個sodoperation.xml,內容如下:

    <context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>

    其中,path指的是你在tomcat中的項目名稱,就像manager一樣,docBase是指你的項目所在的web目錄。一直到歡迎頁面為止(也就是web-inf的前一個目錄)。但是一般來說,這個目錄中最好不要有中文,如果有的話,可以在文件開始加入
    <?xml version='1.0" encoding='utf-8' ?>來試一下,即整個文件變為:
    <?xml version='1.0" encoding='utf-8' ?>
    <context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>

    這樣就可以了,如果用這種廣告,同時使用myeclipse的部署的話,輕易不要remove,這樣會使文件都會被刪掉,不能持久。所以,建議使用第二種方法。

    b)第二種方法和第一種方法在原理上是一致的,其區別就是位置的不同,這次在catalina_base\conf下的server.xml,在文件末加入:
    <context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>

    解釋和上面一樣,這種方法在啟動tomcat后,會在catalina_base\conf\catalina\localhost\中加入一個與第一種方法的文件。這樣保證,只要對server.xml不做修改,你可以隨便對新生成的文件刪除,對熱部署沒有任何問題

    2.jboss熱部署
    在jboss中做熱部署也有兩種方法,因為jobss集成了tomcat,也可以說這兩種方法是在jobss上的一個修改。
    a)修改
    /opt/jboss4.3/jboss-as/server/node1/deploy/jboss-web.deployer/context.xml

    <Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
    <Manager pathname=""/>
    <InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
    </Context>

    加上
    antiResourceLocking="true" antiJARLocking="true",重啟jboss,再用myeclipse Redeploy project的時候就不需要重啟,部署完了直接開瀏覽器預覽啦

    posted @ 2012-02-29 14:46 paulwong 閱讀(2419) | 評論 (1)編輯 收藏

    ACTIVITI(JBPM5)

    1. Activiti 5.3:子流程(subProcess)
    2. Activiti 5.3:配置與 Spring 整合
    3. Activiti 5.3:流程活動自動與手工觸發執行
    4. Activiti 5.3 安裝配置


    1. Activiti in Action(實戰Activiti)-目錄
    2. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(1)
    3. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(2)
    4. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(3)
    5. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(4)
    6. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(5)
    7. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(6)
    8. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(7)
    9. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(8)
    10. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(9)
    11. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(10)
    12. Activiti in Action(實戰Activiti)-第一章 BPMN 2.0: what’s in it for developers?(11)
    13. Activiti User Guide(Activiti用戶指南)-Chapter 17. Activiti KickStart
    14. Activiti User Guide(Activiti用戶指南)-Chapter 18. JBPM Migration(JBPM 遷移)(1)
    15. Activiti User Guide(Activiti用戶指南)-Chapter 18. JBPM Migration(JBPM 遷移)(2)

     

     

    ACTIVITI IN ACTION 源碼下載:
    http://code.google.com/p/activitiinaction/downloads/detail?name=ActivitiInAction_sourcecode.zip&can=2&q=

     

    posted @ 2012-02-27 20:32 paulwong 閱讀(827) | 評論 (0)編輯 收藏

    僅列出標題
    共115頁: First 上一頁 86 87 88 89 90 91 92 93 94 下一頁 Last 
    主站蜘蛛池模板: 国产色无码精品视频免费| 亚洲情a成黄在线观看动漫尤物| 亚洲人成激情在线播放| 无人在线观看免费高清| 亚洲AV日韩精品久久久久久久| 免费无码一区二区三区蜜桃| 亚洲日产无码中文字幕| a级特黄毛片免费观看| 亚洲αv久久久噜噜噜噜噜| 免费无码H肉动漫在线观看麻豆| 亚洲AV无码久久精品蜜桃| 久久大香香蕉国产免费网站| 亚洲黄色在线电影| 亚洲天堂免费在线| 亚洲欧美国产欧美色欲| 永久免费无码网站在线观看| 久久久亚洲精华液精华液精华液| 国产午夜影视大全免费观看| 国产精品无码免费专区午夜| 亚洲图片一区二区| 毛片在线免费视频| 日韩大片在线永久免费观看网站| 国产亚洲av片在线观看18女人| 成人黄网站片免费视频 | 亚洲精品视频在线观看你懂的 | 免费一级毛片无毒不卡| 久久亚洲精品国产精品| 成全视频在线观看免费高清动漫视频下载| 亚洲另类无码一区二区三区| 亚洲精品视频免费| 国产成人精品免费视频动漫| 亚洲精品亚洲人成在线| 亚洲日韩一页精品发布| 免费H网站在线观看的| 一级做a免费视频观看网站| 亚洲国产高清人在线| 国产男女性潮高清免费网站| 精品免费视在线观看| 亚洲AV成人片无码网站| 亚洲国产成人久久综合碰碰动漫3d| 成年女人喷潮毛片免费播放|