J2EEおよびIBM BPM 7.0および7.5を使用したエンタープライズシステムの開発経験に基づく概要。
この記事は、IBM BPM(ビジネスプロセス管理)プラットフォームを使用することでビジネス顧客が期待するものと、結果として得られるものを理解するためのものです。
一方、開発者が得るのは、作業の単純化または複雑化です。
はじめに
IBM BPMの紹介は、短い紹介から始めます。 まず、IBM BPMは、WebSphereのビジネスプロセス管理ラインの多数のIBM製品を組み合わせた一般的な名前であると書きます。
主なものは次のとおりです(図2を参照)。
- WAS(WebSphere Application Server)-基盤となるソフトウェアプラットフォームであるJ2EE Application Server。
- ESB(WebSphere Enterprise Service Bus)は、ビジネスロジックを備えたすべてのサービスをホストするエンタープライズデータバスです。
- Process Server(WebSphere Process Server)は、バージョン7.0でビジネスプロセスを実行するためのプラットフォームそのものです。 また、バージョン7.5では、Process Server自体に加えて、Lombardiのエンジンもあります。 それらの比較は、すでに以下の記事にあります。
BPMはどのようなタスクを解決しますか?
過去数年にわたって、主に銀行セクターで、BPMを使用してさまざまなタイプのプロジェクトを実施してきました。
経験に基づいて、「独自のソリューション」を書くことと比較して、IBMの既製のソリューションを使用する主な利点を説明できます。
- ビジネスプロセスの視覚的なモデリングと実行。
- 柔軟なビジネスプロセスを構築するための既製のコンポーネントのセット:条件、並列ブランチ、期待、イベントなど。
- 手動アクションのユーザーインタラクション(ヒューマンタスク)
- ビジネスプロセスの再構成における柔軟性。
- ビジネスプロセスの管理性。 組み込みツール、たとえば、Process Choreographerなどのユーティリティによって提供されます。これにより、ビジネスプロセスの実行中のインスタンスを監視し、そのステータスを変更し、必要に応じて、手動でデータや特定のインスタンスの進行状況を変更することもできます。
- トランザクションビジネスタスクのサポート。
- ビジネスプロセスのバージョン管理のサポート。
- 仕事の安定性。 これは、負荷分散を備えたクラスターの形でサーバーを適切に構成することにより提供されます。 最小のダウンタイムは、もちろん、すべてのアクティブノードを含むクラスターの構成を保証します。
- 生産性 クラスタの形でBPMプラットフォームを編成すると、クラスターノードの形でシステムに新しいサーバーを追加することにより、システムの優れたスケーラビリティが得られます。
建築
アーキテクチャ的には、メインBPMコンポーネントの相互作用は非常に簡単に表現できます。図3を参照してください。
1. WebSphere Process Server:
- シミュレートされたビジネスプロセスがテンプレートとして含まれています。
- シミュレートされたパターンに基づいてビジネスプロセスインスタンスを起動します。
- ビジネスプロセスのインスタンスは、データオブジェクト(ビジネスオブジェクト)を受け入れ、組み込みビジネスロジックを実行しますが、ESBを介してさまざまなサービスにアクセスできます。
2. WebSphere Enterprise Service Bus:
- 必要なシステムとデータベースへの必要な統合レベルのアクセスを提供するビジネスロジックを備えたサービスが含まれています
- ESBサービスは、入力を処理および変換し、特定の問題を解決するために必要な出力を取得します。
- ESBサービスは、外部および内部のシステムとデータベースの両方にアクセスできます。
- ESBサービスは、必要なビジネスロジックを満たすために、既製のWebSphere ESBコンポーネントと、たとえばJavaを使用して開発者が作成したコンポーネントの両方を使用できます。
開発
主な開発はWebSphere Integration Developer(WID)で実行されます-バージョン7.5以降、これはDesignerです。 WIDはEclipseに基づいて開発されており、ビジネスプロセスやESBサービスを作成できるだけでなく、たとえばJavaでコードを記述およびデバッグすることもできます。
さらに、次のようなIBMの他のツールを使用できます。
- ビジネスプロセスの事前モデリング用のWebSphere Modeler。
- 視覚的なポートレットを作成するためのポートレットファクトリ。
- IBM Process Designerは、Lombardi Teamworksに代わるBPMNプロセス開発環境です。
視覚部分
ビジネスプロセスを操作するためのシステムの視覚的な部分を構築するために、IBM BPMは3つの主なオプションを提供します。図5を参照してください。
- 別のIBMソリューション-WebSphere Portalを使用します。 開発者は、Process Serverとの統合、タスク管理用の既製の制御(タスクリスト)などの「既製」機能の一部を使用して、このポータルのポートレットを作成できます。
このオプションは、会社のユーザーのすべての職場が実装される「単一の企業ポータル」を構築するのに最適です。 - WebSphere Business Spaceを使用します。 このIBMソリューションはProcess Serverの一部であり、ビジネスプロセスを管理するための一連の定義済みウィジェットを備えたWebアプリケーションです。 新しい機能を追加するには、「標準ウィジェット」を構成するか、新しいウィジェットを作成します。
このオプションは、BPMの作業開始時のクイックスタートには便利ですが、Internet ExplorerのJavaScriptが遅い、ウィジェットとしてのみのフォームのレイアウトなど、実際の操作中にいくつかの制限と欠点があります。 - 外部のProcess Severインターフェイス(API)を使用します。 ビジュアル部分は任意の言語、フレームワーク、プラットフォームで開発でき、BPMとの統合は、Process Server自体の既製のアクセス可能なAPIの接続を通じて実現できます。
このオプションは、ユーザーグラフィックインターフェイスを備えた既に開発された企業システムでビジネスプロセスを管理するための新しいフォームを追加する場合に最も受け入れられます。
おわりに
結論として、IBM BPMの使用が最も効果的であるという私たちの観点から、どのような基本条件の下で書いてみたいと思いますか。
- IBM BPMを単一のプラットフォームとして使用して、会社のビジネスプロセスを自動化する。 注:BPMを部分的に使用すると、プラットフォーム自体の展開とサポートの両方に大きなオーバーヘッドが生じる可能性があります。
- ビジネスロジックを使用してサービスをホストする企業データバス(ESB)会社の作成と開発。 サービス指向アーキテクチャ(SOA)を使用してESBを構築する重要な側面。
- 必要なレベルのスケーラビリティ、フォールトトレランス、およびセキュリティを備えたBPMプラットフォームを展開およびサポートできる、高度な資格を持つシステム管理者の存在。
- JavaおよびJ2EEの高度な資格を持つ開発者および設計者の存在。 残念ながら、または幸いなことに、BPMは、既成のコンポーネントを単に構成または使用するだけでは、会社のビジネスタスクのすべてを解決することはできません。 そのため、Java開発者は、必要な機能を備え、時間通りに高性能で信頼性の高いソリューションを作成する必要があります。