時代の移り変わりとともに、ビジネス環境が変化するスピードはますます速くなっている。そして、ビジネスにはシステムというパートナーが必要不可欠になった。ビジネスとシステム、2つのサイクルがうまく噛み合って回転しなければ、企業活動がストップしかねない。しかし、現実にはシステムが変化のスピードに追いつけず、却ってビジネスのサイクルの回転速度を落としてしまうケースが多く見られる。
要件定義から設計、開発、テストを経て、導入・運用にいたるシステムのサイクル。ビジネスのスピードに追いつくためには、設計・開発フェーズの迅速化、省力化が鍵となる。
現在、企業の情報システムが抱える課題を改めて考えてみよう。IT 部門が設計・開発を行う場合には、2つの理由が考えられる。一つは、ビジネス環境の変化に対して、アプリケーションを対応させる場合。もう一つは、フレームワーク、ミドルウェア、OS/ハードウェアのサポート切れ、もしくは技術革新に対応するために既存資産を置き換える場合だ。後者は、あくまでシステムそれ自体を維持するための作業であって、ビジネス上の利益に資するものではないにもかかわらず、その頻度やコストという面では前者をしのぐ場合も少なくない。
システムそのものの維持に掛かる負担を極力小さくすれば、その分だけ人的・経済的リソースをビジネスに資する行為に費やすことができる。インフラに依存せずに、アプリケーションを利用する。そのための具体的な手段として、富士通が提案するのが、「INTARFRM」(インターファーム)と呼ばれるアプリケーション・フレームワークだ。
設計・開発全般をサポートするアプリケーション・フレームワーク
アプリケーション・フレームワークと聞くと、StrutsやSpringFrameworkなどを想像する方も多いと思われる。これらを狭義のアプリケーション・フレームワークとすれば、それら共通部品・構造化部品に、テストや構成管理を支援するツールや開発規約・開発手順などの作業標準を合わせたINTARFRMは、設計・開発を包括的に支援する広義のフレームワークと言えよう。
その全体像を把握するために、大まかな流れを見ていこう。中核となるのは、設計情報を格納するリポジトリだ。まずは、要求定義をもとに設計した情報をリポジトリに格納する。リポジトリに情報を入力するには2 通りの方法がある。ひとつは、INTARFRMが標準で提供しているドキュメント書式(Excel)に設計内容を記述し、専用ツールを使って格納する方法。もうひとつは、専用画面から直接リポジトリに設計情報を入力する方法だ。
設計情報の格納が完了したら、リポジトリから対象とする言語でプログラムを出力する。現時点でサポートする言語は、Java、Visual C#、Visual Basic .NETの3つ。既存資産のITリフォーム向けにCOBOLプログラムのラッピング機能も近日中に提供する予定だ。システム形態としては、Web、Java アプレット、スマート・クライアント構成が選択できる。
チュートリアルに従って、必要な情報を入力すると、指定したプラットフォームでコードが自動生成される。もちろん、最終的には開発者がディティールを仕上げていく必要はあるものの、例えば、データベースとの接続やHTTP リクエストの処理など、全体の構造が完成した状態から開発をスタートできるというわけだ。
設計情報さえリポジトリに入っていれば、例えばVisual C#のコードをJava に置き換えることも可能だ。「完全な自動変換とまでは行かないが、設計情報がリポジトリに入っているので、変更に掛かる手間は相当軽減される。移行作業を2カ月程度で無事完了させたケースもある。大規模システムでは数年という単位の時間を要するケースが珍しくないことを考えると、その意義は大きいはず」(合田氏)。(次ページへ続く)
プログラミング言語、ミドルウェアの変化を吸収するINTARFRMの効果
ところで、INTARFRMはコードを自動生成する際に、ミドルウェアとの接続ライブラリの代わりに、それらを拡張したものを利用する。ライブラリを直接使ってしまうと、バージョンアップなどによって仕様が変わった際に、システムの整合性が崩れてしまう。従来は、バージョンアップによる、影響がないことを確認するために多大なコストを費やしていたことは冒頭に述べたとおりだ。そうしたコストを回避するために、富士通がそれらをラッピングするクッションを用意し、各ライブラリに変更が生じた場合でも、システム側に影響が及ばないようにしているわけだ。
「アプリケーション・フレームワークがシステムの全てをつなぐというコンセプトのもと、ユーザーがビジネス要件への対応に注力できる環境を提供する。ミドルウェア以下のインフラ部分の変化をINTARFRMが吸収するので、インフラとの整合性をとる手間を大幅に削減できる」(合田氏)。
多様なシステム形態、言語に対応する柔軟性
INTARFRMは、多くの企業にとって課題となっているアプリケーションのライフサイクル・マネジメントにも貢献すると合田氏は言う。例えば、システムの仕様書がなかったり、設計書の記述がアプリケーションの実態と一致していなかったりというのは、よく聞かれる話だ。利用期間が長ければ長いほどこうした状況は生まれやすい。
しかし、INTARFRMを導入したプロジェクトの場合は、設計から開発、テストに至るまで、すべての作業がリポジトリを中心に回ることになる。それは、前述の自動生成ツール然り、設計情報をもとにプログラムの検証を行うテストツール然り。構成管理も同様だ。一連のサイクルを、リポジトリを中心に回すことで、一貫性を担保するのがINTARFRMのコンセプトだ。リポジトリ以外の部分でも、開発標準、開発プロセスを整備、体系化しているので、ノウハウ・スキルの再利用と人的リソースの柔軟な配置が可能になる。
いつも最新のIT 環境に対応するフレームワーク
ここまでの説明では、オンプレミスにINTARFRMを導入する形を想定して説明してきたが、近日中にクラウド上にも実行環境を提供する予定だ。また、富士通はすでに社内に専用のINTARFRM開発クラウドセンターを設置しており、クラウド環境上でINTARFRMを使って開発することが可能になっている。完成時のアプリケーションの形態も、通常のSI 型だけでなく、パッケージやSaaSへも発展できるように拡張を図っていく(図)。
開発現場の課題について正面から取り組み、最新のIT環境への対応にもこだわりを見せるINTARFRM。今後もそのサービス力の進化が期待される。