BPEL
BPEL（）とは、実行可能なビジネスプロセスモデリング言語である。しかし、BPELは特定のセマンティックやプロセス構造の要素を持っていないため、考えられるすべてのビジネスプロセスをモデル化し実行することは不可能である。このため、BPELはたとえばJavaのようなプログラミング言語とともに用いられたり、ワークフロー統合ブローカーエンジンなどの商用製品に備わっている独自のスクリプト言語によって拡張されることが多い。
BPELの起源はとにさかのぼることができる。BPEL は XML によってシリアライズ可能で、大規模プログラミングの概念を実現するものである。大規模プログラミングと小規模プログラミングの概念は、ビジネスプロセスで典型的に見ることができる長時間継続する非同期のプロセスを記述する際の二つの側面によって分類することができる。
BPELがIBMとマイクロソフトによって開発されたのは、BPMI.org が開発した初期の言語BPMLに対抗するためであった。この背景については幾つかの議論があるが、おそらく、さまざまなグループで詳細について合意できない性格によるものと思われる。ワークフロー理論が先祖であるBPELとは異なり、BPMLはPi calculusから着想された。このため、BPMLは完全で定式化された文法を持つことになり、市場には強力なBPMLの製品が登場することとなった。このため、アプリケーションサーバ開発を統一する標準に対して統制力を持ちたいと考えていたIBMとマイクロソフトは懸念を持った。
今日では、過去のBPELとBPMLとの違いはほぼ学術的なものになっている。BPELの文法が勝利を収め、BPMLの意味論が勝利を収めた。IBMとマイクロソフトの力により、今日BPELの名前が残っている。BPELは徐々にBPMLへと近づく方向に進化している。BPMLが形式上完全であるため、これは不可避である。