パイプライン
パイプラインとはESPを実現するためのひとつひとつの定義情報です。
AというシステムとBというシステムをつなぐ場合、AからBへと流れるデータを流すためのパイプをイメージしてみてください。これがパイプラインです。
Simple
フローを含む従来の開発手法では、二つのシステムをつなぐためにさまざまな処理を設計し、開発しなければなりませんでした。
パイプラインを用いた手法では、「開発」するではなく「設定」します。開発用のクライアントツールや統合開発環境(IDE)のようなものはもう必要ありません。
Webブラウザでパイプラインコーディネーターと呼ばれるコンソールにアクセスして、必要な処理(アクション)を選び、設定するだけ。開発言語はもちろん、本当に簡単な処理であればプログラムを書いたことがなくても簡単にシステムを「つなぐ」ことができるようになります。
ブログなどのWebアプリケーションと同じ感覚で非常に簡単に「つなぐ」ことができるのです。
また、パイプラインは「センサー」「フィルター」「ジョイント」と呼ばれる3つのステージから構成されます。「つなぐ」ことだけに再注目することによって単純化されたこの処理モデルが、さらに処理をわかりやすくし、設定のみで「つなぐ」ことが実現されるようになっているのです。
Speedy
単純化されたパイプラインというモデルによって「つなぐ」ことが容易になると、いろいろな面で開発スピードも格段にアップします。
パイプラインを作る人がやらなければならないことは、やりたいことを明確にし、それを具現化されたアクションのリストの中から選択するだけ。アクション名も「メールに添付されたレコードファイル(CSV)を取込み」、「データベースのアドレスリストを使ってメールを送信」など、非常にわかりやすい名前になっているので、やりたいことを選ぶのが非常に簡単。このため開発スピードもグッと速くなります。
また、接続先のシステムの仕様が変更された場合にも設定している内容を確認して変更するだけで対応できます。従来のようなコンパイルして配布などという煩雑な手順は一切無用。心配であれば定義を別の名前でコピーしておけば、もしものときにもすぐに元に戻すことができます。
作るのもスピーディー、変更にも素早く対応。これがパイプラインです。
Safety
パイプラインは簡単に速く開発ができるだけではありません。
3つのステージにモデルを単純化することで、より安全にデータを流すことができるように設計されています。
3つのステージの間では流れるデータがすべて保管されます。このため、エラー発生時に元のデータがすでに削除されたしまった場合でも、リトライ処理を実行することができるように設計されています。
リトライ処理もシステムが提供します。自動/手動によるリトライをシステムが提供し、ジョイントからの送信先システムがダウンしているような場合でも簡単に復旧できる設計になっています。