Cosminexus サービスプラットフォーム 概説
この節では,SOAを適用したシステム開発の利点や,特徴などについて説明します。
システム開発の点でもSOAを適用すると,次に示す利点があります。
このような利点を生かすために,SOAを適用したシステム開発では,ビジネスプロセス,およびサービスのインターフェースの設計後に,サービスのコンポーネントを設計します。SOAを適用したシステム開発手法の全体像を次の図に示します。
図1-12 SOAを適用したシステム開発手法の全体像
SOAを適用したシステム開発手法には,大きく分けて,次に示す工程があります。
各工程で実施する作業について次に説明します。
業務改革・改善方針,および業務問題分析結果に基づいて,機能要件を調査,新業務フローを作成します。WFA(Work-Flow Architecture)などの記法を使用して作成します。業務フローには,業務にかかわる組織や担当者,業務の流れ,および流れる情報を明示します。
業務フロー作成時には,システム化対象となる業務の機能に対して,サービス候補を決めておきます。また,各サービスの開発方針を決定し,新規開発,既存システムの再利用,パッケージソフトの導入,およびサービス型ソフトウェアの利用などを方針として決定します。これらの利用が決定している場合は,対象とする業務をサービスとして決めておきます。新業務フローの作成例を次の図に示します。
図1-13 新業務フローの作成例
作成した新業務フローを基に,ビジネスプロセス図(基本フロー)としてBPMN(Business Process Modeling Notation)で作成します。また,業務の観点で,ビジネスプロセスを構成する業務を,さらに詳細なビジネスプロセスとして段階的に階層化して,サービスの粒度を見直します。ビジネスプロセス図の作成例を次の図に示します。
図1-14 ビジネスプロセス図の作成例
システムの観点でビジネスプロセスを見直し詳細化します。これとともに,サービスの実装に必要なインターフェース(メッセージの構造や例外処理の追記など)を決定します。
対話ワークフローパターン,対話型アプリケーションパターン,およびオンライン型アプリケーションパターンに対応したインターフェースを設計します。また,この段階で,サービスの粒度についても最終的に決定します。
インターフェースには,サービスに対するインターフェースのほかに,ビジネスプロセス自体のインターフェースがあります。ビジネスプロセス自体も,連携先のサービスを組み合わせた複合的なサービスとなるため,インターフェースが必要となります。サービスおよびビジネスプロセスのインターフェースの設計例を次の図に示します。
図1-15 サービスおよびビジネスプロセスのインターフェースの設計例
ビジネスプロセス,およびインターフェースの各種基本設計仕様を基に,実装に必要なビジネスプロセス定義や,サービスが授受する電文の詳細定義などを設計します。ビジネスプロセスについてはBPELを,インターフェースや電文についてはWSDLまたはXMLの言語を使用して設計や実装をします。
フロントシステムやサービスを実現するアプリケーションを設計します。サービスのコンポーネントは,プレゼンテーション層(画面関係),ファンクション層(業務機能),データ層の3層で構成され,3層ごとに設計します。Struts,JSFなど,業界標準の各種フレームワークを使用することを前提とした設計ができます。
フロントシステムやサービスで,対話で必要な画面や画面遷移を設計します。画面設計は,開発全体にわたって設計を継続します。各工程では,次のように設計します。
フロントシステムやサービスで扱われるデータの分析から,データベースのテーブル設計までをします。データベース設計は,開発全体にわたって設計を継続します。各工程では,次のように設計します。
システム化計画に基づき,機能以外の要件を調査し,対象システム全体のアーキテクチャ概要を設計します。その際,新業務フロー作成でサービス候補として挙げたサービスの開発方針を考慮して,既存システムとの連携方式,およびパッケージソフトウェアとの連携方式を検討します。基本設計工程から詳細設計工程にわたって設計を継続し,機能以外の要件に対応するシステムの方式を設計します。
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.