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

→jBPM Suite関連Tips

→JBoss Seam関連


#contents

*JBoss jBPMS ドキュメント、参考情報 [#ndefe16a]
-[[Web Services – Human Task(WS-HumanTask)Specification Version 1.1>http://docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cs-01.pdf]]
--BPM製品が一般的に従う仕様が定義されているらしい。jBPMもこれに準拠しているとのこと


-https://twitter.com/hashtag/jbpm
--TwitterでのjBPMハッシュタグ


-http://kverlaen.blogspot.jp/
--JBossのjBPMS開発チームのリーダーである Kris Verlaensen のblog



**オープンソースコミュニティ版 [#hdc00965]
-[[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/]]
-[[API Document6.0>http://docs.jboss.org/jbpm/v6.0/javadocs/]] ←Kie系のみ
-[[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

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

-http://sourceforge.jp/projects/sfnet_jbpm/
--最新版ダウンロードの一覧があります


**RedHat版 [#p2199c28]
-[[ポータル>https://access.redhat.com/products/red-hat-jboss-bpm-suite/]]

-[[Download>https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?downloadType=distributions&product=bpm.suite&productChanged=yes]]
--RedHat版は評価版を得るにもそれ用のサブスクリプションが必要な模様

-[[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のものでないとあまり参考になりません。
-APIまわりのドキュメントは貧弱なので、事実上ソースを読むことが必須となります。
-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

**6.0.1 ソース [#vc5d1c1b]
-なぜか Kie*** 系のソースだけ別扱いになっています。

*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);
  }
 */
 }
-http://sourceforge.jp/projects/sfnet_jbpm/downloads/jBPM%206/jbpm-6.0.1.Final/jbpm-6.0.1.Final-src.zip/

-プロセスインスタンスのステータス
 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;
   }
 }
-http://grepcode.com/snapshot/repo1.maven.org/maven2/org.kie/kie-api/6.0.1.Final/

-プロセス変数設定
 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);
*ビジネスルールエンジン [#nf636ff4]
-JBOSS BRMS, Droolsなど。jBPMSと組み合わせて使われることが多い(らしい)

-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("---");
-[[BRMS Drools紹介記事>http://www.atmarkit.co.jp/ait/articles/1011/18/news129.html]]
--http://drools.jboss.org/

-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 のあたりに置けば良い。
--この情報はドキュメントのどこにも書いていないように見える(見つけられなかった)し、ググってもドンピシャの情報は出てこない。みんな困っていないのだろうか?
-[[ビジネスルールの館>http://www.iluminado.jp/]]
--JBOSS Rules(Drools)の解説記事


-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# 



*ESB [#s581d0bd]
-[[BPEL と ESB の比較: どちらを使うべきか>http://www.ibm.com/developerworks/jp/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html]] 2008

-[[自動業務フロー(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