→[[要件定義・基本設計]]

→JBoss Seam関連


#contents

*JBoss jBPMS ドキュメント、参考情報 [#ndefe16a]
-[[jBPM 6 Documentation ナナメ読み>http://d.hatena.ne.jp/tokobayashi/20140508#p1]] 2014.5.8
--[[その2>http://d.hatena.ne.jp/tokobayashi/20140510#p1]]

-[[jBPM & BRMS>http://www.ngc-ngc.jp/pukiwiki/index.php?Java%2FjBPM]]

-[[API Document6.0>http://docs.jboss.org/jbpm/v6.0/javadocs/]]
-[[API Document5.3>http://docs.jboss.org/jbpm/v5.3/javadocs/]]

-[[BPMN2 User's Blog>https://community.jboss.org/people/bpmn2user/blog]]
--サンプルの投稿がある模様

-[[BPMNによるビジネスプロセス・モデリング:http://www.atmarkit.co.jp/farc/rensai/bpmn01/bpmn01.html]]

-[[JBoss.org Community Documentation(6.0)>http://docs.jboss.org/jbpm/v6.0/userguide]] 2014.6

-[[RedHat jBPMSドキュメント>https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_BPM_Suite/]]

-[[JBPMリファレンスガイド(ver.5.3)>https://access.redhat.com/site/documentation/ja-JP/JBoss_Enterprise_SOA_Platform/5/html-single/JBPM_Reference_Guide/index.html]] 2014.6 ←日本語。ver.6とは結構違う内容なので、基本概念を理解するための参考程度に読む

-[[Eclipse BPMN2 Modelerのドキュメント>http://eclipse.org/bpmn2-modeler/documentation.php]]
--[[User's Guide>http://eclipse.org/bpmn2-modeler/documentation/BPMN2ModelerUserGuide-1.0.1.pdf]]


*jBPMS サンプル [#j2c841c9]
jBPMSのver.5とver.6はかなり変わっているようなので、サンプルはver.6のものでないとあまり参考になりません。
-[[Drools and jBPM@github>https://github.com/droolsjbpm]]

-https://github.com/jsvitak/jbpm-6-examples

-[[jBPM 6 web application examples>http://jsvitak.wordpress.com/2014/01/09/jbpm-6-web-application-examples/]]

-[[jBPM 6 Web application example>http://www.mastertheboss.com/jbpm6/jbpm-6-web-application-example]]

-http://sourceforge.jp/projects/sfnet_jbpm/downloads/jBPM%206/jbpm-6.0.1.Final/jbpm-6.0.1.Final-src.zip/

-Starting jBPM 6 engine
--http://www.mastertheboss.com/jbpm6/introduction-to-jbpm-6/
--http://www.mastertheboss.com/jbpm6/introduction-to-jbpm-6/page-2


*jBPMS Tips (Ver.6) [#g4e77e1a]
-あるユーザの所属するグループを取得して表示
 private void dispUserGroup(String user) {
  String callBackProp = System.getProperty("jbpm.usergroup.callback.properties");
  System.out.println("callbackProperty=" + callBackProp);
 
  UserGroupCallback ugrpCallback = new JBossUserGroupCallbackImpl("classpath:/usergroups.properties");
 
  List<String> grps = ugrpCallback.getGroupsForUser(user, null, null);
  for(String grp : grps) {
    System.out.println(grp);
  }
 /* こういうやり方もある
  RuntimeEnvironment env = RuntimeEnvironmentBuilder.Factory.get().newDefaultInMemoryBuilder()
        .addAsset(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2).get();
  UserGroupCallback ugc = env.getUserGroupCallback();
  grps = ugrpCallback.getGroupsForUser(user, null, null);
  for(String grp : grps) {
         System.out.println(grp);
  }
 */
 }

-プロセスインスタンスのステータス
 private void dispProcState(ProcessInstance processInstance) {
 int st =processInstance.getState();
 switch(st){
   case ProcessInstance.STATE_ACTIVE:
     System.out.println("st=STATE_ACTIVE");
     break;
   case ProcessInstance.STATE_COMPLETED:
     System.out.println("st=STATE_COMPLETED");
     break;
   case ProcessInstance.STATE_ABORTED:
     System.out.println("st=STATE_ABORTED");
     break;
   default:
     System.out.println("st=" + st);
     break;
   }
 }

-プロセス変数設定
 WorkflowProcessInstanceImpl wfpi = (WorkflowProcessInstanceImpl) processInstance;
 Map<String,Object> vmap = wfpi.getVariables();
 for(String s : vmap.keySet()){ // 表示処理は不要
   System.out.println("var:" + s);
 }
 wfpi.setVariable(varName, "xxx");

-JbpmJUnitBaseTestCaseで直接プロセス変数取得
 String val = (String) getVariableValue(varName, processInstance.getId(), ksession);
 System.out.println("val=" + val);

-VariableScopeを使ってプロセス変数の一覧を取得する
 ContextableInstance ci = (ContextableInstance) processInstance;
 VariableScopeInstance vsi =  (VariableScopeInstance)ci.getContextInstance(VariableScope.VARIABLE_SCOPE);
 VariableScope vs = vsi.getVariableScope();
 List<Variable> vars = vs.getVariables();
 System.out.println("---");
 for(int i = 0 ; i < vars.size(); i++ ){
   System.out.println(vars.get(i).getName() + "=" + vars.get(i).getValue());
 }
 System.out.println("---");

-EclipseでjBPMのテストクラスを動かすときのユーザ情報はどこにある?
--もともと用意されているjohnとかmaryとかkrisvとかのユーザは使えるのに、自分で適当なユーザを使いたくてもエラーになってしまう。
--ドキュメントには users.properties を修正するとか adduser.batを実行するとか言う記述があるが、いずれもWebコンソールの話で、Eclipseでテストを実行するときのユーザ情報にはまったく関係がない。
--Eclipseでテスト実行するときのユーザ情報は、JBPMS を C:\jbpmにインストールした場合、C:\jbpm\runtime\jbpm-test-6.0.1-20140120.jar の中に usergroups.properties というファイルがあり、その中にユーザー情報が直に書かれている。
--このjarの中にある usergroups.properties の代わりに自前のユーザ情報の設定を使いたい場合、このファイルをeclipseで開いてローカルにコピーし、自分の好きなように修正を加えた上で、getResourceメソッドで最初に検索される場所に置いておけば、jarを探す前にそちらにある usergroups.propertiesを読み込んでくれます。
--具体的には、Eclipseでビルド・パスの設定で確認すればよいが、<project>/src/main/java のあたりに置けば良い。
--この情報はドキュメントのどこにも書いていないように見える(見つけられなかった)し、ググってもドンピシャの情報は出てこない。みんな困っていないのだろうか?


-Eclipse PluginのProcess Instancesビューの使い方
--Eclipseが自動生成した ProcessTestクラスのコンストラクタの2つの引数が両方ともtrueになっているが、第二引数をfalseにしないとProcess Instancesビューは有効にならず、何も表示されない。第二引数をfalseにしたうえで、デバッガで実行中に止め、変数ビューでksessionに行を合わせると初めてProcess Instancesビューに表示される。
--Process Instanceビューは Process InstancesビューからProcessInstanceをダブルクリックすると表示される。

-インストール後のEclipse起動
--普通にEclipseを起動するとjBPMのruntimeのjarがビルド・パスに入らないので、コマンドラインから ant start.eclipse で起動するようにするか、runtimeのjarをビルド・パスに組み込んでしまうのが良いかも
--antで起動した場合、 eclipse.preferences.ini の下記の記述が引数として渡されている
 org.jbpm.eclipse/jBPM.Runtimes=jBPM runtime#./runtime#true# 


*ビジネスルールエンジン [#nf636ff4]
-JBOSS BRMS, Droolsなど。jBPMSと組み合わせて使われることが多い(らしい)

-[[BRMS Drools紹介記事>http://www.atmarkit.co.jp/ait/articles/1011/18/news129.html]]
--http://drools.jboss.org/

-[[ビジネスルールの館>http://www.iluminado.jp/]]
--JBOSS Rules(Drools)の解説記事


*ESB [#s581d0bd]
-[[自動業務フロー(BPM、ESB) uCosminexus Service Platform:実行環境 uCosminexus Service Platform:Cosminexus:ソフトウェア:日立>http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/esb/lineup/ucsp/index.html]]

-[[エンタープライズ・サービス・バス(ESB)>http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%BB%E3%83%90%E3%82%B9]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS