Skip to main content

Posts

Showing posts from 2012

JON - Compatible 群組設定

有個朋友說我JON的東西做的太少了,請我多放一些些,
因為JON 是個使用的工具,雖然他的功能很強大,
可是因為跟技術層面的相關太少了,管理層面太多了,
因此我一向不太喜歡做這個相關的。。

Anyway, 雖然沒有很多技術,但是如果可以節省大家很多的管理時間
那我一有空還是會放一些東西上來的。

這次的內容是假設有個管理者,他有兩台JBoss EAP 5, 想要把兩個Server 納在同一個群組下管理。

另外,還要建立一個只有讀取權限的使用者讓他進來看這一個資源群組的內容!

1. 先建立一個Compatible Group

註:只有相同屬性的才可以放在一起叫做Compatible Group, 如 JBoss EAP 5 跟 JBoss EAP 5 是相同屬性, JBoss EAP 5 跟 JBoss EAP 6 就不是。
JBoss EAP 5  與 Datasource 也不是相同的屬性...


選擇Compatible Groups,


建立的時候千萬不要忘記選擇Recursive ,不然這個資源下面的東西都不會進來!


選擇這個群組內會有的資源,這次就是兩個JBoss EAP 5 的Server 

按下Finishe 完成。

2. 建立一個觀看的群組 (Role)

到Administrator 下選擇Roles 新增,選擇View Users,


選擇可以看的資源,

以及使用者


這樣就完成拉。

以下是如何建置影片。


同場加映,如果只想給使用者不是整台,而是單一的畫面怎麼辦!?
以下為獨立去看JVM 的設定方式。


希望有幫到大家囉!

JEAP 5 - JBoss 加上 JON 監控後出現 Failed to load users/passwords/role files問題

因為已經被問了第2次了,我就把它寫上來造福大眾


問題的情況是這樣的,有些朋友在安裝JON 要監控JBoss EAP 5 的時候,出現

Failed to load users/passwords/role files 的 Exception.
2012-12-21 06:21:54,292 ERROR [org.jboss.security.auth.spi.UsersRolesLoginModule] (WorkerThread#0[172.19.138.95:50010]) Failed to load users/passwords/role files java.io.IOException: No properties file: users.properties or defaults: defaultUsers.properties found         at org.jboss.security.auth.spi.Util.loadProperties(Util.java:201)         at org.jboss.security.auth.spi.UsersRolesLoginModule.loadUsers(UsersRolesLoginModule.java:186)         at org.jboss.security.auth.spi.UsersRolesLoginModule.createUsers(UsersRolesLoginModule.java:200)         at org.jboss.security.auth.spi.UsersRolesLoginModule.initialize(UsersRolesLoginModule.java:127)         at sun.reflect.GeneratedMethodAccessor534.invoke(Unknown Source)         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)         at java.lang.reflect.Method.invoke(Method.java:597)        …

JBoss BRMS - 在Open Shift 上安裝BRMS

前幾個禮拜跟朋友去聚會,因為大家都是一堆IT宅,不可避免地聊著聊著,就聊到大家的公司,最近在做些什麼... 出乎意料之外的,發現大家對雲端的Paas 都很有興趣哩~
還有的朋友把程式也放到雅馬遜的EC2 上。。 其實,EC2 的底層也有JBoss 呢!

========================================
=====vvv在安裝之前,請先確定以下都安裝好了vvv=====
========================================
1.到 OpenShift 註冊一個帳號
(這個因為只是普通的註冊,就不多說了。。。)

2. 在電腦裡面安裝 rhc的執行指令
(等我以後有空再寫,其實不難,請到官網上看...)
========================================

因為OpenShift 上面跑的應用程式平台是JBoss EAP 6, 這間接證明了一件事,哈,那就是,BRMS 是可以跑在 JEAP 6 上的喔!
好,廢話不多說,

1. 建立一個Application (應用程式)

rhc app create -a brms53 -t jbosseap-6.0

2. 把eric 提供的程式碼放到Open Shift幫你自動建立的 github repo 裡面

3. 把程式放到server中

以一般JBoss 的安裝思維,這樣應該就裝好了... 但是... 世界當然沒有這麼美好,因為畢竟是Openshift, 所以還是要有一些單獨調整的設定,但是希望總有一天可以接自動化就安裝好了...

設定筆記

這個Project要感謝 Kaushik Bhattacharya,大家有空可以去他的專案總部大聲說謝謝捏: https://github.com/kbhattac/brms53

1) 設定jboss-brms 裡面的 jackrabbit repo, 在jboss-brms.war 中的 components.xml。所以要先找到你自己的UUID,方法如下


rhc app show -a brms5.3


找到後,請將UUID 寫在你的components.xml裡面。





2) 到 designer.war 裡面的 profiles/jbpm.xml 修改host 的 ip 位置,請ssh 進去,跑cmd 模式執行 export $OPENSH…

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 流程交會層


制定一個好的策略去執行,讀取各個商業邏輯,後端系統,後勤系統,使用者介面,其他應用程式,第三方的服務或是隨便什麼你的商業流程需要用到的東東,有說不盡的好處。很多企業把以上的交會交流中心都放在服務層,利用服…

JBoss BRMS - 最佳化流程實作層(Process Implementation 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 流程實作層,是維護流程的位置。普通的使用者與開發的苦命人員可以利用流程儲存庫,工具去設計這些流程。 在這裡你還可以看到實作類,比較細節的內容,像是一些在專案裡面為了要應付特別的node而產生的專業領域的延伸程式。
控制台,報表與 BAM 儀表板元件也是延伸的工具,在專案中通常是用來輔助商業的使用者,提供有商業價值的資訊,讓他們可以利用這些資料下出正確的商業決策。這個之後再來談。
最後,Process Interaction Layer 流程交會層,這一層你的流程將會實際地去連接不同的legacy系統,辦公室系統,服務層,商業邏輯系統,或是一些其他第三方的系統與服務。請期待它的Best Practice。
Process Implementation Layer 流程實作層

這一層專注在你的商業流程設計,客制的在流程中的action, 還有因應你的需求所衍生擴展出來的流程。 藉由採…

JBoss BRMS - 自訂Domain的任務

那天在Present的時候,因為在當場Sample 流程裡面的任務都是用Drools,
因此有人問我jBPM 是否可以結合呼叫外部的Application 或是 Service.
當然可以啦。因為jBPM 5 開始,jBPM 它的Flow 跟 Drools 的 rules 結合得很緊密,
所以應該大部份的時候都不太需要這樣做啦。。。

=========================================================
請先學會怎麼自己建立Web Service. (連結)。
因為這篇的重點是在jBPM裡面去呼叫既有的Web Service.

因為BRMS 5.3 是使用 jBPM5, 也就是用BPMN 2.0, 聽說 BPMN 2.0 也有直接對應WebService 的定義,可是身為一個Java 的開發者,我比較喜歡用Java Code 去呼叫。
這樣又會更直覺一點。而且使用這個方式也可以舉一反三,不只是 Web Service, 一些其他的特定程式模組呼叫也可以使用這種方式。

在流程中的任務,加上自訂的WorkItem
=========================================================

1. 在Workspace 中按下滑鼠左鍵,建立一個jBPM 的專案。

2. 取名DemoProject,因為是要全新建立一個專案,請選擇建立空白(Empty)專案,



3. 左邊會出現剛剛建立的DemoProject, 到程式路徑下,的 ../resource 建立 META-INF的資料夾,然後在 META-INF 資料夾裡面建立一個檔案 drools.rulebase.conf



4. 打開剛剛建立的drools.rulebase.conf檔案,在裡面定義我自定的 "任務定義檔" 位置。
drools.workDefinitions=MyDef.wid
5. 在與同一層的目錄下建立MyDef.wid檔案,裡面定義任務的內容,如 input, output, icon等....

6. 因為剛剛在icon那裡定義一個圖檔,所以要把圖檔放上去。放在../resource/icons 之下。

7. 這時我們的Task 已經定義好了,可以開始定義流程了,請先按下滑鼠右鍵,建立BPMN2 …

JEAP 6 - 從Server 上Remote 呼叫其他Server 上的 Clustered EJB

老公前幾天才跟我發飆說,如果我晚上回家再不理他,在家裡寫Blog的話
他就要跟我離婚,白天的工作就很忙了,
為了家庭的和睦,所以最近更新會慢一點。。。
=======================================

EJB Server 連結需要在兩邊的Server 做一些基本認證的連接點,
我們把EJB 設定為Cluster, 所以需要有HA 的機制,不會設定的,請到前面幾篇去看(連結)。
再啓動另一台JBoss 去呼叫兩個Cluster 的EJB instance.


呼叫的那個WAR (或是EAR) 請放在我們稱作Client端,被呼叫的EJB Server 我們叫接收端。

接收端
基本上接收端的機器不需要做特別的設定,僅需要建立一個Application user 即可。 所以,請到JBoss_INSTALL_PATH/bin 下,執行 add-user.sh or add-user.bat 如下
(如果你是Domain 的話,僅需要在Domain controller 下執行,如果你是在Standalone的話,請每個Server 都要執行喔!)

Lin-Christinateki-MacBook-Air:bin weimeilin$ ./add-user.sh

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties) 
(a): (告訴系統是AP在用的)

Enter the details of the new user to add.
Realm (ApplicationRealm) : 
Username : christinaejb (使用者名稱)
Password : (輸入密碼)
Re-enter Password : (輸入密碼)
What roles do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: (使用者的角色,在這裡直接空白)
About to add user '…