Skip to main content

JBoss BPM Suite - 全新的房貸範例


很久沒有翻譯了...,有任何問題請告訴我,我會儘快更正。
原文網址:Red Hat JBoss BPM Suite - get rocking with the all new Mortgage Demo
原作者寫太快了,翻譯根本跟不上,哈哈哈...
==========================================

Red Hat 在這個禮拜對客戶發表了新的 Red Hat JBoss BPM Suite Beta 1 版。這個是到Version 6 的版本,這個版本是一個到最終BPM Suite 6 的一個很大的里程碑。

譯註:這是2013/10月份的內容,所以那時候只有Beta 1,現在好像到8了。

在不會討論有什麼會在最後的Beta 版本中出現的前提下,我想要讓各位搶先感受Beta 1 這個版本,這裡提供了一個完全自動化建立的JBoss BPM Suite, 所有在這個房貸Demo的設定都預先設定好了。

就像我先前BRMS 的範例一樣,這個對你來說應該是個非常快速可以進入的使用BPM Suite的一種方式。 首先,請到紅帽的官網Customer Portal上下載BPM Suite. 然後按下開始鈕。

超簡單的吧。

以下是大致的的步驟,帶你一步一步的開始設定以及載入這個範例,首先,請到 Github hosted project bpms-mortgage-demo:

取得專案

# 請執行以下的命令,把專案複製到電腦上。
#
$ git clone https://github.com/eschabell/bpms-mortgage-demo.git

因為這個專案是建置在Beta 版本上,最後的完整的文件也還沒加上去,所以我在這裡就提供攻略囉。 正式版出了以後,在你複製下來的內容就會有完整的quickstart 文件,還會這個專案架構的簡報檔案在裡面。

譯註:現在裡面的東西都很完整了.

現在讓我們來看看提供的目錄和檔案,

專案結構

README.md - 內含使用說明和如何開始的安裝細節.
init.sh - 安裝軟體以及設定範例的腳本.
installs/ - 放置下載回來的JBoss 軟體位置, 詳請件目錄內的Read me.
projects/ - 讓開發者可透過JBDS匯入範例的專案位置.
docs/ - 範例文件目錄夾.
support/ - 所有需要的設定檔,或是安裝需要的檔案都在此目錄下.

完成複製到你機器上之後,可以到紅帽的Customer Portal下載 JBoss BPM Suite Beta 的軟體。
你下載的檔案名稱應該叫做 jboss-bpms-6.0.0.Beta1-deployable-eap6.x.zip (譯註:現在下載的版本為 jboss-bpms-6.0.0.Beta-redhat-5-deployable-eap6.x.zip),在Customer Portal 裡面,除了這個檔案外,請另外下載JBoss EAP 6.1.0.

安裝軟體

# 把下載後的檔案放到 installs 的目錄夾中. 
# 如果是在 Linux/Unix 環境之下,記得確認檔案是可以執行的:
#
$ chmod +x installs/jboss-bpms-6.0.0.Beta1-deployable-eap6.x.zip
$ chmod +x installs/jboss-eap-6.1.0.zip

現在可以到專案的根目錄下,執行 init.sh (或 init.bat)檔案。

安裝結果


安裝完畢後,你會有一個新的叫 target的目錄夾,裡面有一個EAP 伺服器,JBoss BPM Suite 的安裝檔案,和已經設定好的房貸範例。然後,你就可以開始使用了,步驟如下:

啓動JBoss EAP server

# 啓動後, 在啓動的目錄下會出現一個叫做'repository/' 的目錄
# 這是自動安裝的 maven 儲存庫
$ ./target/jboss-eap-6.1/bin/standalone.sh
啓動軟體之後,就可以透過瀏覽器去登入 JBoss BPM Suite 的 Business Central (商務中心)

http://localhost:8080/business-central

這裡面有設定許多不同的角色,因為房貸這個範例裡面的人工任務會需要用到這些不同的角色。

範例角色一覽
  • 使用者 erics 密碼為 bpmsuite, 擁有所有的權限,包含admin
  • 使用者 alan 密碼為 bpmsuite, 有 appraisor 角色.
  • 使用者 bob 密碼為 bpmsuite, 有 broker 角色.
  • 使用者 mary 密碼為 bpmsuite, 有 manager 角色.

在第一次登入,請使用第一個使用者,擁有全部功能的權限。以下所有的截圖都是使用這個角色的畫面。

登入後,你會看見首頁畫面,連接JBoss BPM Suite 許多不同的元件與功能。因為房貸這個範例已經先被載入到系統中,所以不需要從Authoring->Administration 選單裡面再去從頭建立一個新的儲存庫,專案,或是另外從載入已存在的Git 儲存庫。

我們直接到房貸的範例去查看,建制以及部署第一個流程的物件(instance). 請到Project Authoring 下,會出現左邊清單,這裡你會看到一個空的Project Explorer 畫面,請選擇左邊選單的清單,一直往下選,到最後一個目錄下。(譯著:這裡跟原文不同,因為版本不同的關係)

之後在Project Explorer 左下方就會出現這個專案裡面有的資源內容。

有空的時候,可以開始去探索裡面的專案資源等等,就給各位在閒暇時間上去晃晃囉。對了,現在下載的版本是Beta, 所以還有一些問題要解,記得去看一下README.md,這樣你才會知道可能會遇到什麼問題。

現在我們要開始建置與部署這個專案,這樣我們才可以開始跑範例。 請到 Tools -> Project Editor 的畫面,在畫面的右上方,請按下Build & Deploy. 成功後應該會出現一條綠色的successful 的成功警訊。

現在你可以從最上方打開Process Management -> Process Definition ,這樣就可以見到你部署的專案了。 在這裡應該會看見清單內會出現做 MortgageApplication ,按下右手邊放大鏡可以看見流程的細節內容。

按下右上方的New Instance就可以開始啓動流程,會跳出一個表單可以填入。 
請依照下方的內容填入表單,就可以把流程跑到appraisor 身上讓他可以開始檢查表單。

提交表單:
  • Name: erics
  • Address: somewhere
  • SSN: 123456789
  • Income: 80000
  • Property Sale Price: 50000
  • Down Payment: 30000
  • Amorization: 10
按下表單下方的送出箭頭,然後你就可以去檢查表單流程的狀態,看工作列表,以及完成需要的人工任務。

預先載入JBoss BPM Suite 流程

還有一個更有趣的玩法,就是先一次同時幫你載入16 個不同狀態的流程到JBoss BPM Suite 裡面,也同時可以到Process & Task Dashboard 去監控商業活動(BAM).


# 一但你完成JBoss BPM Suite 的裝,已經部署執行了之後,可以事先將16 個流程物件載入進去
# 每個物件的狀態都不同噢。
#
$ java -jar support/jboss-mortgage-demo-client.jar erics bpmsuite

你會在Process Management -> Process Instance 的畫面看到16個流程,在Tasks -> Tasks List 也會看見。


也可以去看單一個流程物件,更細的去看看的參數以及參數的值。



監控的部分可以從Process & Task Dashboard 去看。特別注意你去取得從清單中的人工任務..



所以大概就是這樣,請開始快樂的使用JBoss BPM Suite.

最後一點,這一整個Demo 是跑在記憶體上的,所以只要你一重開JBoss BPM Suite, 你處理的資料,物件,等等都會不見。只要重跑那個jar 檔就可以重新安裝設定了。



Comments

Popular posts from this blog

Red Hat Fuse - Announcing Fuse 7 Tech preview 3 release.

Red Hat Fuse 7.0 technical preview three is out today! On the pathway to become one of the best cloud-native integration platform, Fuse gives developer freedom to choose how they want to develop the integration solution, where they want to deploy it and capabilities to address new integration personas that do not have development experience.
By supporting the three major runtime, developer is free to work on the runtime of their choice.By supporting standalone and cloud deployment, it simplifies the complexity to distinguish between these environments, allowing application to deploy freely among the environment of your choice. All levels of developers are welcome, you can either dive deep into creating customize complex integration logic, or using the new low code platform to quickly build a simple integration. In this Tech Preview release you get it all.
Fuse StandaloneSpring-boot for microserviceKaraf 4 for OSGi loverJBoss EAP for JavaEE developersFuse on OpenShiftPlugins for easy co…

JBoss EAP 6 - 效能調校 (一) DataSource 的 Connection Pool

效能沒有什麼Best Practice, 反正能調整的就那些。 通常,一個程式的效能大概有70-80% 都跟程式怎麼寫的其實比較有關係。

最近我最疼愛的小貓Puji 因為膀胱結石開刀的時候過世了,心情很差請原諒我的口氣沒有很好,也沒有心情寫部落格。

Puji R.I.P.

=======================正文=======================

這個題目很多人叫我寫,可是這題目好大,這分明就是整死我咩~
所以我會分幾段慢慢寫。

JBoss 的 SubsystemDatasource WebWeb Service EJB Hibernate JMSJCAJVM 調校OS (作業系統)

先來看一下 DataSource Subsystem, DataSource 的部分主要是針對Connection Pool 做調校。

通常,程式都會需要跟資料庫界接,電腦在本機,尤其是在記憶體的運算很快,但是一旦要外部的資源連接,就是會非常的耗資源。所以現在的應用程式伺服器都會有個Pool 放一些先連接好的 資料庫connection,當程式有需要的時候就可以馬上提供,而不用花那些多餘的資源去連接資料庫。

這就是為什麼要針對Connection Pool 去做調校。

以下會討論到的參數,都是跟效能比較有關係,Datasource 還有很多參數,像是檢核connection 是否正確的,我都不會提到。如果你追求的是非常快速的效能,那我建議你一個檢核都不要加。當然,這樣就會為伺服器上面執行的程式帶來風險。這就是你要在效能與正確,安全性上面的取捨了。 (套句我朋友說的話,不可能又要馬兒好,又要馬兒不吃草的..)

最重要的調校參數就是 Connection 的 Pool 數量。(也就是那個Pool 裡面要放幾條的connection.) 這個參數是每一個應用程式都不一樣的。

min-pool-size 

Connection Pool 最少會存留的connection 數量

max-pool-size 

Connection Pool 最多可以開啓的 connection 數量

prefill

事先將connection pool 裡面建立好min-pool-size 的connection.

我的建議是觀察一下平常程式要用到的量設定為 min-pool-size 。
加上…

JBoss Fuse - Fuse workshop 101 - Part One

On my way to Hong Kong for a day of workshop on JBoss Fuse, and as I go through my Slide deck, I cannot find any decent easy workshop for beginners. Therefore I decide make a workshop that is easy for Camel first timer to get their hands dirty.

The first of part of the workshop is an introduction to Camel, it first goes through what is exactly inside JBoss Fuse.

For part one of the workshop, it takes your through the very basic of Camel, one of the very important component inside JBoss Fuse.
Every Camel need to have a runtime container to run in, inside camel we call it a CAMEL CONTEXT.  Inside every Camel context, you can define lots of camel route and registry, don't worry about what those are, we will explain later.


So inside out blueprint xml, you will see a tag called camelContext.



Next up is camel route, they are a chain of command or process defined by you, as a developer.
Inside the camel route, there are consumer endpoints that listens to the incoming messages, producers …