アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > .NETエンタープライズ新時代 第2回
 
@IT Special

 

PR

@IT Special 記事企画
.NETエンタープライズ新時代
―― SIerに聞く。エンタープライズ向け.NET導入の実際 ――

第2回 富士通関西システムズ

 

  SI現場のノウハウを凝縮した
  .NET向け独自フレームワーク

 

  中尾 広宣 氏  
株式会社 富士通関西システムズ
生産技術室長 FCP ITアーキテクト
  辻 智博 氏  
株式会社 富士通関西システムズ
生産技術室 グループリーダー
ITアーキテクト(データサービス)
  吉川 啓介 氏  
株式会社 富士通関西システムズ
生産技術室
  西川 俊晴 氏  
株式会社 富士通関西システムズ
生産技術室

 .NETベースのエンタープライズ開発案件が増えている。その中でも目立つケースが、汎用機からの移行とVisual Basic 6.0(以下、VB 6)で構築された中・大規模システムからの移行だ。この傾向は特に関西で顕著だという。

 これに対し、富士通グループにおいて関西地域でのシステム・インテグレーションを担当する富士通関西システムズは、.NET対応の業務アプリケーション向け開発フレームワーク「SDAS for .NET /eProad(以下、eProad)」を独自に開発した。このeProadでは、富士通グループで蓄積された業務アプリケーション開発のノウハウと、.NETテクノロジに対するナレッジが統合されており、極めて効率的に.NETベースの業務アプリケーションを開発できるという。

 eProadの開発背景、.NETと業務アプリケーションとの親和性などについて、開発を担当した富士通関西システムズのプロジェクト・メンバーにお話を伺った。

 

  関西で.NETが好まれる理由  

 

 「オープン化が花盛りだった10年ほど前、JavaとWebシステムを組み合わせたエンタープライズ開発案件が数多くありました。早期からJavaベースの業務システム開発に着手していたという理由もあり、富士通(富士通グループ)もこの種の案件を数多く手がけました。特にこうした動きは、大企業が情報システム本部を置く東京圏で顕著でした。これに対し、中規模のお客さまが多い関西では、汎用機からVB 6によるクライアント/サーバ・システム(C/Sシステム)への移行が多く行われていました。」(中尾氏)。これは、その応答性能やクライアントでの操作性がより重要視されたためだと考えられる。

 「そしていま、当時VB 6ベースでC/Sシステムを開発した企業が、より高い拡張性やTCO削減などを求めて、情報システムを.NETベースで新たに開発し直す動きがあります。またこれに加え関西圏では、これから汎用機ベースの古いシステムをオープン化しようと考えている企業が少なくありません。先に触れたとおり、10年前であればJava+Webのシステムに移行するケースが多かったわけですが、市場動向や開発のコストダウンを考えて、.NETを選択する企業がここ数年で増え始めています。eProadの製品化検討時に行った調査では、富士通関西システムズにおいて、Javaの案件は2割弱、.NETの案件は4割ぐらいと、すでに.NETの案件の方が多くありました。(中尾氏)

 VB 6システムから .NET のシステムへの移行案件が多かったこと、また顧客先企業の開発担当者やパートナーとなる開発会社などにおいて汎用機でCOBOLベースのシステム開発に携わったプログラマが多かったこと、といった2つの理由が背景となり、富士通関西システムズでは、.NET対応の独自のフレームワーク「eProad」の開発を推進することになった。

 

  .NET向けフレームワーク「eProad」の特徴  

 

 「eProadは、.NETで開発された.NETシステムのためのフレームワークです。富士通にはいくつかのフレームワーク製品がありますが、eProadはもともとリッチクライアント型のシステムを構築するために開発されました。ソリューションとしてC#とVB*の両方に対応しています。主な機能としては、フォーム上の部品(コントロール)における項目チェック機能やカーソル・キー/ファンクション・キーの制御、DBアクセス機能、ログ出力機能などがあります。そしてeProadの最大の特徴として、『マップファイル』と呼ばれる設定ファイル(XML形式)による管理があります。これは項目チェックのロジックやエラー時に表示されるダイアログの内容、コントロールの外観、カーソルによる移動、DBアクセス時のパラメータといった、アプリケーション構築後に変更されやすい設定を記述するものです。これによりプログラムを修正することなく、アプリケーションの挙動を簡単に変更できるようにしました」(辻氏)

* 本稿で単に「VB」と表記した場合には、Visual Basic .NETあるいはVisual Basic 2005などの.NET向けのVisual Basicを指す。

 「また、アプリケーションがeProadの『実行エンジン』により実行されるというのもeProadの特徴です。この手のフレームワークでは、ソース自動生成型か、eProadのような実行エンジン型のどちらかが採用されることが一般的です。このうちソース自動生成型は、専用のライブラリを呼び出すソース・コードをツールが自動作成するという方式ですが、この方式では、開発途中で手戻りが発生したときに、プログラムの修正に手間がかかるという問題があります。eProadでは、実行エンジンがマップファイルに従って項目のチェックから通信データの暗号化・復号化といったことまでを自動的に行ってくれます。この仕組みとeProadで提供される共通部品(eProadの標準ライブラリ)を組み合わせることによって、コーディング量の大幅な削減を可能にしています」(辻氏)。VB 6のアプリケーション開発モデルは、どちらかといえば実行エンジン型であった。eProadは、.NETのフレームワークでありながら、VB 6がかつて広く採用される要因となった利点をうまく取り入れているといえるだろう。

eProadの機能構成
業務アプリケーションは、実行エンジンと標準ライブラリで構成されるeProadのフレームワークにより実行される。アプリケーション構成要素の多くは設定ファイル(XML形式)で記述可能であり、その作成を支援するツールなども用意されている。

 VB 6と同様のリッチクライアント型のアプリケーション開発のフレームワークとして開発されたeProadだが、2007年2月にリリースされた「eProad V2」では、Webアプリケーションにも対応し、共通のソース・コードから、リッチクライアント型とWebアプリケーション型の双方のアプリケーションを必要に応じて使い分けられるようになるという。

 「システムが大規模になってくると、サブシステムによっては、ここはWindowsアプリケーション、ここはWebアプリケーションといった使い分けが必要になってくることがあります。これは、実際にお客さまや協力会社さんから多数寄せられた声でした。これら双方に対応するために、異なるフレームワークを使わなければならないのでは無駄が多すぎます。そこでeProad V2ではWebにも対応して、両方のアプリケーション形態を使い分けられるようにしました」(西川氏)

 これにあたり、WindowsアプリケーションとWebアプリケーションの操作性の共通化に力を入れた。例えばeProad V2では、入力生産性の向上には不可欠なファンクション・キー利用をWebアプリケーションでも可能にした。「企業向けシステムでは、伝票入力などを迅速に行うために、ファンクション・キーやEnterキーによるデータ入力は重要です。Web特有の制限事項はありますが、eProad V2では、ブラウザでもできるだけマウスなしで使えるように工夫しています」(中尾氏)。「特に汎用機からの移行では、ファンクション・キーの利用は不可欠ですね。システムによっては利用者に年配の方も多く、その方々にいまさらマウス操作を強制させることはできないといった現場の課題もあり、Web版にも取り入れました」(西川氏)

eProadにより構築されたWebアプリケーションの実行画面  
eProad V2ではWebアプリケーションにも対応。ファンクション・キーが使えるなどWebアプリケーションでありながらWindowsアプリケーションに限りなく近い操作性が実現されており、COBOLなどによる汎用機システムのユーザーにとっても移行しやすいインターフェイスを提供している。

 「すでにWindowsとWebの両方を採用したシステムの構築を始めている事例もあります。その事例では、伝票入力が主体の業務ではWindowsアプリケーション、レスポンスがシビアに要求されず、不特定多数の人が使うようなところはWebアプリケーションを採用しています。WindowsとWebの混在。それができるのもeProadの強みの1つです」(中尾氏)

 

  WebサービスやClickOnceなども採用  

 

 eProadでは、WebサービスのインターフェイスやClickOnce技術も採用している。「Windowsクライアントとサーバ間の通信インターフェイスには、Webサービスを採用しました。これにより同じ業務ロジックをWebアプリケーションからもWindowsアプリケーションからも呼び出すことができ、業務の形態に即した方式が採りやすくなっています」(辻氏)。「また、Windowsアプリケーションの運用面では、従来からクライアント・アプリケーションの配布がよく課題となりますが、eProadでは、.NET Framework 2.0の機能であるClickOnce技術によりアプリケーションを配布できます。いわゆるスマート・クライアントと呼ばれる方式です。それに加え、差分のみの更新や配布モジュールを圧縮するといった独自の機能も提供しています。基幹業務などでは、アプリケーション全体をいっきに更新してしまうと業務全体が停止してしまう危険性があるといったことや、ネットワークの負荷が大きくなりすぎるといったことを考慮しているためです。ちなみにWebサービスで通信を行う際にも、データをXMLでそのまま送らず、いったん圧縮したデータをXMLに付加して送るといった工夫を行っています」(吉川氏)

 eProadの配布機能は、先述したマップファイルと相まって非常に強力な仕組みとなっている。「実際のアプリケーション更新で必要となるような情報は、たいていの場合、プログラムではなくXMLファイルであるマップファイルに格納されています。このためアプリケーションの更新は非常にコンパクトに済みます。利用者は配布が行われていることすらほとんど気付かずにアプリケーションを運用できます」(中尾氏)

 

  Visual Studio 2005 Team Systemを活用して開発されたeProad  

 

 業務アプリケーション開発を強く意識した数々の機能を備えたeProadだが、そういった機能の多くは、実際に顧客やSIerから上がった声を取り入れた結果組み込まれたものだという。「配布モジュールやXMLデータの圧縮、eProad V2のWeb対応といったこともそうですが、多くの仕様はこれまでいろいろなプロジェクトで発生した問題点やニーズを反映したものです。eProadではそういった数々のノウハウを製品開発当初から取り込んで設計しました。マップファイルによりさまざまなパラメータを外部化して仕様変更に強くしているのも、多くのプロジェクトで仕様変更が多発して困っているという現場の悩みに対応したものです。そうした顧客の声を広く取り入れられたのは、弊社がフィールド対応部門に多くのスタッフを抱えるSE会社だったからこそだと思います」(西川氏)

 eProad自体の開発にはVisual Studio 2005 Team Systemが使用された。「コードカバレッジやロードテスト、単体テストの自動化などでVisual Studio 2005 Team Edition for Software Developersの機能を活用し、開発効率を大きく向上させることができました。こういった製品開発では、ある部分に加えた変更が、ほかの部分に影響を及ぼしていないかをチェックするための、いわゆる回帰テストを行います。この点でもテストの自動化は非常に重要です。また、Team Systemでは、われわれが慣れ親しんだVisual Studioにテスト機能が統合されています。使い勝手や開発効率という意味で、これも非常に重要なポイントでした」(吉川氏)。

 「今回は社内での開発にTeam Systemを活用しました。当初からの予想以上に効果がありましたので、今後はそのノウハウを顧客向けのSIにも広げ、フィールドでも活用していくつもりです」(中尾氏)

 eProadの導入実績はどうなっているのだろうか。「稼働済みの案件も含め、大規模なものだけでもすでに10社以上、eProadを適用しているプロジェクトがあります。現時点では、汎用機からのリプレイスが中心です」(中尾氏)。しかし現実の案件で選択される開発言語は、予想とは異なり、圧倒的にVBが多いという。「驚くことに、これまでのすべての事例において、開発言語としてVBが選択されました。eProad自体はC#で開発しており、私たちの開発チームが精通していること、また次世代の開発言語の主流になると考えられることから、お客さまには基本的にC#を勧めているのですが、実際にはすべてのプロジェクトでVBが使われました。VB開発者層の厚みを再確認するとともに、慣れた言語を使いたいというVB開発者の強い要求を感じました」(中尾氏)

 

  .NETが選ばれる理由  

 

 しかし.NETが広く受け入れられ始めた理由は、単にVB開発者が多いというだけではない。「.NETが選ばれる背景には、VBだけでなく、開発言語としてC#が使えることもあると考えています。言語構造などが似ていることから、たいていのJavaの開発者は、C#にすんなり入っていくことができます。詳しく調査したわけではありませんが、経験的には、Java開発者はVB開発者人口に勝るとも劣らないほどいると思います。このためプロジェクト・チームを組むときに、幅広く人員を集めることができます。弊社があえて両方の言語をサポートしているのもこのためです」(西川氏)

 .NETの採用が進む理由には、プラットフォームとしてWindowsが使えることもあるようだ。「かつて、エンタープライズ用途でWindowsプラットフォームを使うことに対しては、信頼性や可用性が要求レベルに応えられないとする声が少なからずありました。さしたる根拠のない先入観に支配された意見も多かったと思いますが、現在のWindowsプラットフォームはバージョンを重ねるごとにこれらが改善され、数々の導入実績から見ても、もはや問題は見あたりません。するとプラットフォーム選択では、ユーザビリティや運用コスト、拡張性や柔軟性が注目されます。この点最近では、WindowsのGUIに慣れたユーザーがサーバ管理を行うケースがあり、システム管理においてもWindows GUIを使い、システム管理コストを圧縮したいという要望が増えてきました。このため、まずWindowsプラットフォームありきで.NETが選択されるケースも少なくありません。こうした流れは今後も続くでしょう。」(西川氏)

 富士通グループでは、Javaベースのソリューションも数多く手がけているわけだが、SIにおいて、Javaと.NETをどのように位置付けているのだろうか。「.NETかJavaかという選択は、もちろんお客さまにとって最適なソリューションがどちらであるかという点が第一の基準になります。ただシステムが大規模になってくると、従来は.NETという選択はほとんどありませんでしたが、最近では.NETが選択されるケースも珍しくなくなりました。eProadの開発をスタートした2003年当時、.NET向けのフレームワークということで、社内でも否定的な意見があったものですが、いまとなってはすっかり過去の話になりました」(中尾氏)

 今回見てきたように、eProadには、富士通関西システムズがこれまで日本企業向けのシステム開発で培ってきたノウハウが活かされている。Windowsプラットフォームやベース・フレームワークとしての.NETのポテンシャルに加え、日本国内におけるSI現場のノウハウを活かした、日本独自のフレームワークの登場は、本当に生きた情報システムを効率的に開発するための頼もしい存在となるだろう。

関連リンク
株式会社 富士通関西システムズ
SDAS for .NET /eProad
マイクロソフト導入事例:富士通関西システムズ



Microsoft .NETはエンタープライズのシステム基盤として、多くの企業向けシステムでの開発基盤、および運用プラットフォームという形で導入が進んでいる。 .NETにかかわるキーマンたちの声を聞き、実際の導入事例を見て、.NETが開発をどう変えるのかを知ろう。
【注目インタビュー】 〜 .NETのキーマンがエンタープライズ戦略を語る
Visual Studio Team Systemで実践する ソフトウェアエンジニアリング
【導入事例】 〜 SIerに聞く。エンタープライズ向け.NET導入の実際
第1回
日本ユニシス株式会社
第2回
株式会社 富士通関西システムズ
第3回
アバナード株式会社
第4回
株式会社アークウェイ
第5回
株式会社ビジネス・インフィニティ & 株式会社NTTデータ

提供:マイクロソフト株式会社
企画:アイティメディア 営業局
制作:デジタル・アドバンテージ
掲載内容有効期限:2007年6月30日
 
関連リンク
マイクロソフト株式会社
Microsoft .NET
Microsoft .NET Framework
Microsoft Visual Studio 2005 Team System

関連記事リンク
初めてのMicrosoft .NET
Visual Studio 2005 Team System 概要
VSTSの単体テスト機能は本当に使えるのか?
.NETエンタープライズWebアプリケーション 開発技術大全
私はコレで、VB 6を卒業しました
VB 2005でVB 6プログラマーの時代がやってくる
Visual Basic 2005へ移行する理由
設計者が語るVisual Basicの来た道、進む道


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ