2010-01-01から1年間の記事一覧

マルチインスタンスタスク(続き)

まずはじめに、前回の内容に誤りがあったので訂正します。 マルチインスタンスタスクにおいて、「いくつのインスタンスが生成されるか」という指定は、"loopCardinality" 属性または "loopDataInput" 属性で指定されます。 "loopCardinality"属性が使われる…

マルチインスタンスタスク

BPMN のタスクの種類として、マルチインスタンスタスクというものがあります。プロセスにおいて、トークンがこのマルチインスタンスタスクに到達すると、タスク(インスタンス)が複数生成されます。たとえば「確認」というタスクがあって、これを複数の人が…

XPDL のデータ定義について(まだまだメモ書き)

XPDLにおいて、ワークフローシステムやBPMS(ビジネスプロセスマネジメントシステム)で使用するデータは "Relevant data field/Property" として定義します。定義できる個所は複数あるのですが、もっとも解りやすいのはの子要素として定義する形です。 該当…

タスクの種類

XPDLでは、タスクに複数の種類があります。ひとまず仕様書を抜粋して、一覧にしました。ちょっと違いの分からないものがいくつかあります。 TaskService A Service Task is a Task that provides some sort of service, which could be a Web service or an …

web.xml の の指定は、エラーページのファイルサイズに注意

web.xml で HTTP 404 エラーの場合に、同時のエラーページを指定することができます。 たとえば以下のようになります。

ExtJSのComboBoxで、HTML escape が必要な選択肢を表示する方法

ExtJSのExt.form.ComboBoxは、デフォルトでは選択肢のHTMLエスケープを実行してくれません。 たとえば yes no という選択肢を用意すると、右の図のようになります。 選択するときちんと表示されますが、選択肢の一覧のところではとが欠けているのが見て取れ…

XPDL と Questetra BPM Suiteのデータ形式の比較(続き)

先日の簡単なプロセスモデルを、今度はXPDLで表現します。概略は以下の通りです。 (XPDL2.1に対応した手頃な XPDL エディタを見つけれていないので、仕様書等を参考に手書きしています) <Activities> <Activity Id="1"> <Event> <StartEvent Trigger="None" Implementation="Other" /> </Event> </Activity> <Activity Id="2" Name="Compose Acceptance Message"> <Implementation> <Task> <TaskUser> </taskuser></task></implementation></activity></activities>

XPDL と Questetra BPM Suiteのデータ形式の比較

簡単なプロセスモデルを用いて、XPDLとQuestetra BPM Suiteのデータ形式を比較します。以下のように、開始イベントとタスク・終了イベントが直列に並んだだけのプロセスモデルを考えます。このプロセスモデルをQuestetra BPM Suiteのデータ形式で表現した場…

Questetra BPM Suite のプロセスモデルをXPDLで表現する(まだまだXPDLの勉強中)

TaskもEventもGatewayも。子要素で区別される。 Flowは。FromとToでどこからどこに接続されているか表現される。 XPDLのTaskには8種類あるが、Questetra BPM Suiteのタスクはか。 描画情報はで表現される。

エンジンがどう動作すべきかにも言及している BPMN 2.0

先日、BPMN 2.0 では Intermediate Boundary Events は大きく2種類に分かれると書きました。例外フローに移行した場合、タスクやサブプロセスがキャンセルされるかどうかで、2種類に分かれます。同じことを BPMN 1.2 で表現できるのかどうか調べてみました。…

H2 Database に向く Web アプリケーション

H2 Database のロック機構は、テーブルロックしかなく、かつ EXCLUSIVE と SHARED の2種類しかないという単純なものです。 EXCLUSIVE ロックは EXCLUSIVE ロックとも、SHARED ロックとも競合する。SHARED ロックどうしは競合しない。 insert, update, delete…

jQueryでカスタムのNamespaceを取り扱う方法

困っていたので、記録しておく。http://stackoverflow.com/questions/91518/jquery-attribute-selectors-how-to-query-for-an-attribute-with-a-custom-namespace

H2 Database の明示的ロック

H2 Database には、行レベルロックはない。テーブルレベルロックのみ。 並列性は低くなるものの、処理が高速になるので、テーブルレベルロックのみにしているようです。別途、MVCC (Multi-Version Concurrency Control) という仕組みが開発されているようで…

PostgreSQLの明示的ロック

SQL テーブルレベル 行レベル SELECT FOR UPDATE ROW SHARE 行レベルロック獲得 UPDATE, INSERT, DELETE ROW EXCLUSIVE 行レベルロック獲得 ROW SHAREとROW EXCLUSIVE は競合関係にないので、テーブルレベルでは上記SQL文は競合しない。行レベルではもちろん…

データベースの ISOLATION レベルサポート状況

必要があったので、少しデータベースの ISOLATION レベルのサポート状況を調べました。 PostgreSQL READ COMMITTED(default) SERIALIZABLE H2 READ UNCOMMITTED READ COMMITTED(default) SERIALIZABLE MySQL InnoDB READ UNCOMMITTED READ COMMITTED REPEATA…

Intermediate Boundary Events in BPMN 2.0

BPMN 2.0 の仕様策定が進んでいます。昨年夏に Beta1 が公開されそこからまだ進展していないのが気がかりですが、今年はそれに対応した製品の開発が加速するという話も聞きます。さて肝心の内容ですが、BPMN 1.2 からいくつかのアイコンが追加されています。…

「孤独死」は社会にとって大きな問題ではないが、NHKの「無縁社会」

筆者の主張するところに、大きく異論はない。死に方は自由だ。社会の問題でもない。しかし筆者のNHKの「無縁社会」に関する意見に、私は賛成しない。生と死は表裏一体でどう死ぬかを考えることは、どう生きるかを考えることに等しいと私は考えている。したが…

Namespace を使用しているXML文書に対するXPath式

NameSpace を使用しているXML文書に対する XPath 式は注意が必要です。XPath を取り扱うライブラリに対して、どのネームスペースを使用するか、予め登録する必要もありますが、それが NG であるシチュエーションもあります。たとえば、以下のSpring のXML Sc…

ExtJS 3.1 で Ext.applyIf の動作が変わっています

ExtJS の Ext.applyIf の動作が、3.0 と 3.1 とで変わっています。ソースコードを見ると一目了然です。3.0 applyIf : function(o, c){ if(o){ for(var p in c){ if(Ext.isEmpty(o[p])){ <-- ここが変わっている o[p] = c[p]; } } } return o; }, 3.1 applyIf…