Skip to main content

JBoss BRMS - 最佳化流程交會層(Process Interaction Layer)的小技巧

Eric 曾經寫過一些Migration 策略,也較仔細地看過各個流程層面的應用,和提供jBPM 的最佳化建議。以上都是在談論BPM 中特定部分的策略。現在,重新的從一個智能化,整合的企業級系統角度來看,要如何可以更完善的使用JBoss BRMS 去更控制管理你的商業流程呢。

Introduction 簡介
首先,要先把整個BPM 的專案從大的架構往下看,可以大概把整個專案區分成一層一層,像洋蔥一樣不同的層面。從比較仔細的角度去看要怎麼樣建立一個可以有彈性,日後很好維護與擴展的專案。下面的圖一就是表示在一個專案中,可以細分的不同元件的層次,
  • Process Initialization Layer 流程初始層
  • Process Implementation Layer 流程實作層
  • Process Repository 流程儲存庫
  • Tooling for business users & developers 開發人員與普通使用者的工具
  • Console, reporting & BAM dashboards 控制台,報表與 BAM 儀表板
  • Process Interaction Layer 流程交會層



流程初始層 Process Initialization Layer 的部分,提供你,你的顧客之間如何初始化流程的的最佳化的建制方式請參考連結

Process Implementation Layer 流程實作層,可以看一下之前的 part II , 討論有關Stateful Knowledge Session,以及如何優化專案。



控制台,報表與 BAM 儀表板元件也是延伸的工具,在專案中通常是用來輔助商業的使用者,提供有商業價值的資訊,讓他們可以利用這些資料下出正確的商業決策。這個之後再來談。

最後,Process Interaction Layer 流程交會層,這一層你的流程將會實際地去連接不同的legacy系統,辦公室系統,服務層,商業邏輯系統,或是一些其他第三方的系統與服務。這次主要就是討論這一層的架構。

Process Interaction Layer 流程交會層



制定一個好的策略去執行,讀取各個商業邏輯,後端系統,後勤系統,使用者介面,其他應用程式,第三方的服務或是隨便什麼你的商業流程需要用到的東東,有說不盡的好處。很多企業把以上的交會交流中心都放在服務層,利用服務導向的架構(SOA, Service Oriented Architecture) ,所以可以讓不同的系統再整合時擁有很好的彈性以及擴充性。回到商業流程管理的層面,我們稍微看一下其中的幾個後端系統,作為提供如何優化企業流程的範例。

Human tasks 人工作業任務 

JBoss BRMS 商業流程管理(BPM)架構包含了獨立的人工作業任務 (HT) 伺服器,實作WS-HT 這個標準的服務。 因為是可以插拔的方式加入的,所以你可以隨心所欲的在企業中把人工作業任務(WS-HT task)整個的生命週期包在服務中發佈到其他的伺服器上。然後使非同步呼叫的model (invocation model ), 這樣你在實作,與JBoss標準內建JBoss HornetQ 訊息系統的時候,會簡單很多。

Reporting 報表

第二個可以實作的服務叫做Business Activity Monitoring (BAM) 商業活動監控服務,讓報表可以有更大的擴展性。你可以用這個服務去集中化所有商業活動的事件,然後把這些事件都送到更穩定以及快速的JMS 的queue 。另外一台機器用來安裝 JMS BAM的 queue, 或是處理送進來的訊息,這樣就不會影響商業流程(BPM)引擎的效能了。或是另外使用BAM資料庫,跑Batch 或是執行其他用戶端程式去讀去BAM資料,借以優化系統的效能,相同的這樣野不會影響商業流程(BPM)引擎。


Conclusion 結論

以上大概把商業流程管理(BPM)的架構說明了一下,還有解說了不同階層之間的關係與互動。這裡也提供了Process Interaction Layer 流程交會層 的一些最佳化的小技巧。這裡有許多服務可以建立讓你人工作業流程以及報表的任務都集中化。 集中化你的人工作業流程,你可以有更標準以及更可以擴展的企業系統。BAM 服務你可以在自己的架構上把系統的負載分流到另外的地方,因不管有沒有在執行報表,就會保證你的事件會正確送達,同時也可以確保本身流程處理的效能。接下來還會有更多的文章討論流程交會層(Process Interaction Layer ),流程儲存庫(Process Repository ),工具還有報表BAM層喔。



Part 1Part 2Part 3



Comments

Popular posts from this blog

Fuse Integration Service - Setup JBDS and create first quickstart application

Before we go and start creating our first application, I want to show you how to setup your JBoss Developer Studio, create a small application from the quickstart example and then running it on Fuse Integration Service.

I am using JBoss Developer Studio version 9, you can find it here.
After download the

jboss-devstudio-9.0.0.GA-installer-eap.jar
double-click it, and start installing with default values.

After successful installation, we will need install the plugins for Fuse, on JBoss Central view, select software update, select enable early access.


And select JBoss Fuse Development for the plugin,


Click on install, and we are all set to go!

First thing first, we want to create a Fuse project to deploy on the base of Fuse Integration Service, which is OpenShift. If you have not installed it, please go back to my previous post for instructions. So on your JBDS, right click and start creating the project. Select new, maven project, if you have installed the plugin correctly, you should …

Red Hat JBoss Fuse/A-MQ - Fuse and A-MQ Version 6.3 GA is released!

Fuse and A-MQ 6.3 GA has just went out. Maybe, you would think this is just only a minor version release why should I care? Hold your thoughts on that! Because they have done a lot of improvements and also added many new features into this release.

Besides various bug fixes and making sure Fuse Fabric is much more stable. There are two major change in this version update:

New Tooling in JBoss Developer Studio (JBDS) 9.1 GA. Newer Apache Camel version – Camel v2.17. I was really impressed by the work put in to make developing Camel application much simpler. First is the installation of tooling itself. Now it has a all-in-one installer so you don't need to worry about which plugins you need to check. See the videos below to see the new "Getting Started" of Fuse 6.3.



And If you notice from the above video, the presentation of camel route in JBDS has also updated. It fixed some of the miss representation of logic and making it easier to read.

Old Camel Route
New Camel Route
On …

RHTE - Supercharge your integration services

Red Hat Tech Exchange has taken place in Vietnam, Ho Chi Minh city two weeks ago, it is a great event held by Red Hat in Asia Pacific Region. It is open to all Red Hat partners who are interested in learning what Red Hat is doing recently, see what the trend of the open source world, basically it is a great event to share your knowledge and experience, to meet other enthusiastic people.

I am very fortunate to talk in this great event, to talk about the things I have been working on and even discuss it with many. Also got lots of great ideas too. So here are the slide.

My first talk was with Thomas Qvarnström about how to handle large size data in JBoss Fuse and how JBoss Data Grid can help in the situation.

Here is the agenda of the talk, we will be talk about this in the up coming webinar on 24th Sept.

Integration often involves storing, retrieving, and transforming data. Using a traditional database in your integration is likely to becomes a bottleneck that is expensive and hard to …