Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト
.NET
|サイトマップ

マイクロソフトが実現する

エンタープライズ コンピューティングの新時代

現在のエンタープライズ システムには、市場の変化に機敏に対応し、企業全体や複数の企業をまたぐ接続性の実装が求められています。こうした要求に応えるのが「サービス指向アーキテクチャ (SOA)」であり、システム構築における今後の主流になると言われています。.NET テクノロジとそれに基づく製品は、この SOA を実現するための技術基盤としてはもちろん、中小規模の企業システムや各種のソリューションとサポートを提供しています。



これからのエンタープライズ システムに求められるもの

今日のエンタープライズ システムには、限られた予算の中で必要とする機能を実現しながら、なおかつ短期間での実装と展開が求められています。従来は、まず要件を定義して、その要件に基づいて設計と開発が進められ、実装していくという機能が重視されていました。しかし現在では、システムに急速な変化への対応が求められており、時間のかかる開発手法は適していません。また、それぞれのシステムは、必ずしも孤立して動作するわけではありません。たとえば、オンライン ショッピング サイトでは、ユーザーが商品を選択してから購入するまでに、商品情報の表示、在庫管理、ユーザー管理、クレジット カードの認証、商品の発送作業など、さまざまなシステムが背後で並行して動作しています。これらのシステムが、それぞれの構造に密接に依存していたのでは、あるシステムを変更することで他のシステムの実装にも影響を与えてしまいます。システムの一部を変更しただけで全体の設計の見直しが迫られてしまうのでは、ビジネスへの機敏な対応は不可能です。

そうした課題への解決策であり、企業におけるアプリケーション開発の新しいトレンドとして注目されているのが「サービス指向アーキテクチャ (SOA : Service Oriented Architecture)」です。現在 SOA への対応が迫られていない企業でも、サービス指向の考え方を理解し、既存システムへ可能な部分から取り入れていくことは、将来に向けた準備となります。

サービス指向アーキテクチャという考え方

これまでのシステム開発では、一貫したコーディングから始まり、クラス、API、コンポーネント、フレームワークなどのソフトウェアを用意して、それを再利用することで開発における効率化と生産性の飛躍的な向上を実現してきました。これが、オブジェクト指向プログラミングやコンポーネント指向アーキテクチャと呼ばれているものです。SOA は、これらの開発モデルの延長線上に位置するもので、アプリケーションのフローのうち、再利用可能なビジネス プロセスをサービスごとに切り分けて利用しようという考え方です。

SOA における各ビジネス プロセスは、別々のサービスとして社内あるいは社外のサードパーティやパートナーによって提供されるため、アプリケーションを開発する際に、すべてのビジネス ロジックを自前で用意する必要がなくなります。

エンタープライズ システムにおけるプログラミング/開発モデルの変遷

それぞれの開発モデルや言語、技術には適材適所があるため、その優越は一概に決められるものではありません。しかし、少なくともエンタープライズ分野においては、システム規模の拡大化と開発効率化の流れから、より再利用性と柔軟性を持ったモデルへと進む傾向 (表の左から右へ) にあります。特に近年では、ネットワーク/インターネットの普及によってビジネス スタイルが変化し、それに合わせたシステム構築が求められています。


Web サービスによって構成される SOA のシステム

SOA を構築する場合、まず各システム間のやりとりを Web サービスで統一することにより「異なるシステム間の連携が容易になる」「システムの変更や置き換えで他のシステムに影響が生じない」「ファイアウォールの外にある社外システムと連携ができる」といったメリットが生まれます。さらにクライアント環境も Web サービス対応アプリケーションにすることで「高い管理性と操作性」を両立できます。また、「資材発注」や「在庫管理」といった“サービス単位”でシステムを構成することで、それぞれのシステム (サービス) の独立性が高まり、企業組織の構造変化にも柔軟に対応できます。

サービスどうしをつなぐための技術基盤

SOA を実現するための具体的な技術基盤として有力なのが Web サービスです。各システムのビジネス ロジック (サービス) が Web サービスとして提供されていれば、それを利用するアプリケーション側にも XML によってメッセージをやり取りできるインターフェイスを用意します。Web サービスは標準技術として規格化されており、ベンダーやプラットフォーム、言語、ツールの種類などには依存しないため、このサービスを他の異なるシステムから容易に利用することができます。これが、さまざまな種類のシステムどうしをつなぐ方法として Web サービスが最適だと言われている理由です。

ただし、単にシステムを Web サービス化するだけで、SOA が実現できるわけではありません。それぞれの実装の変更が他のサービスに影響を与えないように、サービスごとの独立性と抽象度を高める必要があります。このためには、インターフェイス、ポリシーなどのサービスの構成要素の定義が重要になります。さらに、システムの機能をサービスという単位で切り分けるには、私たちが行う実際の業務フローを考慮に入れて設計することが求められます。

安易なサービスの設計は、それを利用するソフトウェアに対して影響を与えかねません。モジュールどうしが密結合によって自己完結した“閉じた”システムの場合に比べ、設計や実装の重要度は必然的に高くなります。

サービスは通常、非同期で呼び出されることを考慮して実装します。サービスが呼び出される順序を期待したり、リアルタイムで呼び出したりすることを期待することは困難です。しかし、必要に応じて、サービスをより密接に結合する必要がある場合もあるでしょう。システムに求められる要件を考慮し、変更要求への対応力を強化するために結合の度合いを緩めるか、パフォーマンスを重視して密接に結合させるかを判断する必要があります。

サービス指向アーキテクチャ実現のポイント

Microsoft .NET テクノロジによる SOA の構築

.NET テクノロジでは、Microsoft .NET Framework と Microsoft Visual Studio®、そして Web サービスの稼働環境である IIS (Internet Information Services) および ASP.NET により、パフォーマンスの高い Web サービスを実現することが可能です。

もちろん、SOA によるシステム開発に必要なのは、生産性が高い開発ツールや Web サービスという仕様だけではありません。信頼性の高いプラットフォーム、システム全体を見通して設計を行うためのサポート、そして堅牢かつ低コストでの運用を実現するインフラストラクチャなど、多岐にわたります。

.NET テクノロジでは、1. サービスの実行を支援するためのハードウェア/ソフトウェア プラットフォーム (サービス プラットフォーム)、2. サービスを構成するアプリケーションやコンポーネントの実行環境 (サービスフレームワーク)、3. サービスを提供するための手段 (サービス配信)、4. 複数のサービス群が連携するための機能 (サービス統合)、5. 開発のための環境全般 (サービス作成) といった、必要なものすべてを提供します。このように、包括的に統合された製品ランナップの提供により、SOA 構築におけるライフサイクル全般をサポートすることができます。

サーバーからクライアントまでトータルにサポート

SOA の構築に必要なプラットフォーム全体が提供されているという点は、マイクロソフト製品を導入することの強いアドバンテージになります。これは、SOA に限らず企業の情報システム構築においても同じです。Microsoft Windows Server™2003 は、Web サービスとアプリケーションの開発、運用に必要なセキュリティ、管理性、信頼性、可用性、および拡張性を実現する基本機能と性能を備えた最適のプラットフォームです。特に、IIS は、Windows Server 2003 に付属するバージョン 6.0 で全面的な再設計が行われ、高い耐障害性を実現するプロセスアーキテクチャによって、Web サーバーを効率良く運用できます。.NET Framework で提供される WWW サービス向けのフレームワークである ASP.NET は IIS 6.0 に統合されており、Web アプリケーションの開発、および展開が容易に行えます。

さらに Windows Server 2003 では、パフォーマンスとスケーラビリティが向上しており、ASP.NET とトランザクション処理の高速化を実現しました。4 ウェイまたは 8 ウェイのクラスタと負荷分散をサポートし、高い信頼性を備えています。

一方、クライアント アプリケーションは、Windows フォームから容易にWeb サービスを利用できます。PC 向けの .NET Framework に加えて PDA 向けの .NET Compact Framework があり、さまざまなターゲットに対して、Visual Studio が一貫したサポートを提供します。

また、Web サービスのクライアントとして Microsoft Office System を活用することもできます。Office 自身も XML を扱う機能をサポートしていますが、VisualStudio Tools for the Microsoft Office System を使うことで、Visual Studio の使い慣れている IDE を使い、.NETFramework ベースでの拡張が可能になります。

また、新しい Office ファミリのひとつである Microsoft Office InfoPath™ を使えば、Office スタイルの手法で、Web サービスを利用するフロントエンド アプリケーションを即座に開発できます。

SOA で必要とされるテクノロジ アーキテクチャ

この表は、Web サービスを中心としたエンタープライズ システム、つまり SOA を構築するために必要なテクノロジの概念的なアーキテクチャを表しています。ここで示されている各要素は、あらゆる Web サービスアプリケーションやシステムに必要なものとなります。

さらに、これらをサポートする具体的な製品やテクノロジとしてマイクロソフトが提供しているものを割り当てています。SOA に必要とされるすべての要素に対して提供されているため、システム全体の設計、開発、運用を一貫して行うことができます。Web サービスは異種システムどうしの接続を可能にしますが、すべてのプラットフォームを統一することで、より高い開発効率や生産性、再利用性を実現できます。

サービス作成 サービス配信 サービス統合

Web サービスの設計、開発、組み立て、管理、配置、およびテストに必要なツール、プロセス、方法論、およびパターンを提供

サポート製品 :
  • Visual Studio
  • Visual Studio Tools for Office

…etc

あらゆるタイプのデバイスのサポートを含め、プレゼンテーションの問題とテクノロジに焦点を当てたポータルおよびクライアントサービスを提供

サポート製品 :
  • .NET Passport
  • Microsoft Alert
  • SharePoint™ テクノロジ

…etc


サービスと現在の運用システム、すなわちレガシー アプリケーション、商用アプリケーション、データベース、他の Web サービスとの間の統合と相互運用を提供。一般にはエンタープライズ アプリケーション統合 (EAI) と呼ばれます

サポート製品 :
  • BizTalk® Server
  • Windows Server System
  • Office System

…etc

サービス フレームワーク

Web サービスベースのアプリケーションが必要とするプロセス、ロジック、機能、および状態管理を含み、Web サービス用の具体的なサポートを提供する完全なエンタープライズ アプリケーションサーバー

サポート製品 :
  • SQL Server™
  • Exchange Server
  • Windows Server System™
  • Office System

…etc


サービス プラットフォーム

OS、ハードウェア、ストレージ、ネットワーキング、およびシステム全体のための信頼および管理サービスを提供

サポート製品 :
  • Windows XP
  • Windows Server
  • Windows Mobile™

…etc

SOA を強力にサポートする Windows Server System

さらにマイクロソフトでは、SOA を実現しサポートしていくためのさまざまなサーバーソフトウェアが用意されています。Visual Studio を使った開発はもちろん、サーバー間の連携が容易に実現できるため、SOA の構成要素として活用できます。また、高度なスキルが要求される SOA の構築をサポートする製品も提供しています。たとえば BizTalk Server 2004 は、SOA をベースに Web サービスや各種ミドルウェア、ホストデータ、ERP パッケージ、データソースなどを相互につなぎ、企業間のビジネス プロセスの可視化と最適化を実現するサーバーソフトウェアです。開発環境は Visual Studio と統合されており、Visual Studio の IDE を利用してビジネス プロセスのスキーマやフロー制御などの各種定義を実行することが可能となっています。

また、Microsoft Operations Manager 2005 (以下、MOM 2005) が提供するシステムの運用管理機能も、SOA を強力にサポートします。MOM 2005 は、システムの包括的なイベント管理、予防安全となる監視と警告、レポートや傾向分析といった機能を提供します。これにより、システム管理者は SOA を構成している各システムとサービスの状態を常に把握できます。さらに IT サービスの提供をビジネスとする企業であれば、システムの運用と監視によってサービスの可能性を高めることが、顧客に対して質の高いサービスを提供し続けることにもつながります。

従来型システムの構築と .NET テクノロジ

SOA は、大規模システムにとって有効ですが、統合を考慮せずにシステムを構築すると、のちの運用、あるいは関連する新システムを新たに開発するときに、大きな影響を与える場合があります。従来型のクライアント/サーバーシステムに比べ、設計の重要性が増すことも事実です。うまく設計されていないサービスは、システム全体の動作やパフォーマンスに悪影響を及ぼします。また、小規模システムやスタンドアロンで動作するツールの開発では、必ずしも SOA に沿った開発モデルが魅力的でない場合もあります。

.NET Framework と Visual Studio は、こうした従来型の開発においても、より高い開発生産性を提供します。今後のアプリケーション開発で.NET テクノロジを採用していくことは、新しいプラットフォームへの対応を容易にします。さらに、すでに身に付けた開発スキルは、将来、SOA によるシステムの実装が求められた場合にも活かすことができます。もちろん、Windows® 環境の開発において .NET ベースの開発が主流となっていくことは言うまでもありません。

企業システムの SOA 構築を支える BizTalk Server

SOA の構築において重要なポイントとなるのが Web サービスを基盤としたシステムです。しかし、実際の企業システム全体を SOA の形で一から作ることはまれです。稼動中の既存システムを活かしつつ、新規のシステムはSOA に対応させていくというシナリオが現実的です。その場合に困難となるのが既存システムとの連携です。これまでのシステムの多くは、Web サービスのように疎結合ではないため、その変更には多大なコストと時間がかかってしまいます。

このような問題を解決するのが、BizTalk Server 2004 です。BizTalk Server 2004 は、BPM (ビジネス プロセス管理) や EAI (エンタープライズ アプリケーション統合)、B2B (企業間取り引き)、インターネット EDI (電子データ交換) などを実現するためのプラット フォームです。ビジネス プロセスをグラフィカルに定義したり、メッセージの分析やモニタリング、処理の負荷分散といった機能を持っていますが、特に SOA の構築において力を発揮するのが、異なるシステムを接続し、多種多様なデータのやり取りを可能にするアダプタの機能です。

この機能によって BizTalk Server 2004 は、既存システムどうしはもちろん、新規システムとの間においても仲介者としてデータのやり取りをサポートします。この対応をそれぞれのシステムの変更するという形で行った場合、実装に必要なコーディングの量は膨大になります。企業は、BizTalk Server 2004 の導入によって、コストと時間を節約しながら SOA へ移行することができます。

.NET を“今”導入することのメリット

.NET Framework は、OS のバージョンに依存しないアプリケーションの開発と実行を目的としたフレームワークです。ハードウェアや OS のパワーを最大限に引き出せるよう数多くのさまざまな機能が提供され、セキュリティに関しても大幅に強化されています。これによって、アプリケーション開発の生産性やシステムの信頼性が向上します。

発表からすでに 4 年以上が経過した .NET は、市場においても豊富な製品開発やソリューションの構築実績があります。また、「SQL Server 2005」や、次期 Windows である「Longhorn (開発コード名)」など、将来登場する製品は、.NET Framework を活用することを想定しているため、.NET で構築されたシステムのさらなる拡張と発展が期待できます。

クライアント/サーバーからスマート クライアントへ

現在、.NET によるシステム構築の中で、特に注目されているのが「スマート クライアント」です。これは、クライアント/サーバーアプリケーションとして提供されてきた従来型のクライアント (ファット クライアント) が持っていた操作性、応答性を損なうことなく、管理性やメンテナンス性に優れた Web アプリケーションに移行するためのソリューションです。

これまでの Web アプリケーションでは、Web ブラウザをクライアントとしていたため、HTML が持つ機能や表現力の限界がありました。.NET によるスマート クライアントは、.NET Framework 上のクラスライブラリを使用してアプリケーションを構築するため、ファット クライアントに匹敵する操作性と高速な応答性が期待できます。これは、典型的な Web アプリケーションには無い大きなアドバンテージと言えます。また、Visual Studio の特長である多言語対応により、Visual C#®、Visual Basic® .NET をはじめさまざまな開発言語を利用できるため、開発生産性も向上します。Windows XP などを搭載した PC はもちろん、.NET Framework のサブセット版である .NET Compact Framework も提供されているため、PDA やスマートフォンまで、特定のデバイスに依存せず、さまざまなデバイスから同じ情報にアクセスすることができます。

さらに Web サービスを利用することにより、さまざまなシステムに散在したデータを集約して、データの一貫性と利便性の高いシステムを構築できるようになります。Web サービスに対応している Microsoft Office System の各アプリケーションを、そのまま業務アプリケーションのクライアントとして利用できるのも、.NET によるスマート クライアントの大きな特長です。

既存システムの課題を解消するスマート クライアントへの移行

Windows の優れた操作性と Web アプリケーションの高い柔軟性と管理性を実現したものがスマートクライアントです。既存システムの課題を解消するソリューションとして、さらには将来 SOA にも対応できるシステムとして期待されています。これらは、今後のエンタープライズ システム構築における選択肢として使い分けていくことが求められます。ただし、.NET テクノロジを基盤とすることで、Visual Studio という 3 つのソリューションに共通の開発環境が利用できるため、システムの移行をスムーズに行うことができます。

長所 :
  • 開発が比較的容易
  • 操作性が優れている
  • オフラインでも使用できる
短所 :
  • 配布と管理が困難
  • システムの変更が困難
  • 利用できる環境が限られている
長所 :
  • 操作性が優れている
  • 配布と管理が容易
  • システムの変更が容易
  • ネットワーク トラフィックの軽減
短所 :
  • プラットフォームに依存する
長所 :
  • プラットフォームに依存しない
  • システムの変更が容易
  • Web ブラウザがあればマシンを選ばない (モバイルでの利用に適している)
短所 :
  • 操作性が悪い (HTML の限界)
  • オフラインでは使用できない
  • ネットワーク トラフィックの増大

開発者をサポートする MSDN サブスクリプション

マイクロソフトでは、開発者をあらゆる角度から支援するパスを用意しています。

その 1 つが「MSDN® サブスクリプション」です。これは、開発者が必要とするすべて、すなわち各製品に関する技術資料、最新の情報、そして開発に必要なすべてのソフトウェアを 1 年間にわたって提供していくというもので、更新によって継続的な利用が可能です。特に大規模なシステム開発では、多くのソフトウェアが関係しあうため、テスト環境の準備も大変ですが、MSDN によってそれが容易になり、コスト面でも大きな助けとなります。また、現行製品に関するドキュメントはもとより、あらゆるテクノロジをテーマ別に分類し、それぞれについての詳しい技術資料が提供されています。内容は決してベテラン開発者を対象にした高度な内容ばかりでなく、たとえば Visual Studio .NET テクノロジマップのように、これから使い始める際に役立つ手引きもあります。一方で、これから登場する製品の情報やベータ版がいち早く手に入るため、現在だけではなく、将来に渡っての導入プランや研究にも役立てることができます。

また、アプリケーション開発企業に対しては「Microsoft Application Development Community 2005」を用意しています。これは、参加企業に最新の技術情報に関するセミナーやトレーニングを定期的に開催する他、マイクロソフトの Web サイトでの製品紹介や製品テストの合格に向けたサポートなどを行っています。

さらに、.NET 製品の開発企業には「.NET Connected ロゴ プログラム」という認定プログラムがあります。これは、その製品やサービスが .NET が提唱する高い相互接続性、信頼性、俊敏性を兼ね備えたソフトウェアであることを示すものです。自社製品でこの認定を受けることで、エンドユーザーに対して“より確かな製品”であるということをアピールできます。

プラットフォームの発展に欠かせないコミュニティ

プラットフォームの発展は、単に製品を提供するベンダーだけの存在で成り立つわけではありません。ユーザーと製品をサポートし盛り上げていくユーザーコミュニティの存在が不可欠です。特に.NET において開発者コミュニティの存在は重要で、INETA Japan Non-MS linkGotDotNet Japan をはじめ多くのコミュニティが活動しており、マイクロソフトの .NET デベロッパー エバンジェリスト チームも積極的に参加しています。

業界全体の発展を目指した DSI への取り組み

マイクロソフトでは、Web サービスの構築、運用管理における効率向上を重要な戦略と位置づけています。そして、その普及と発展のために、DSI (Dynamic Systems Initiative) いうイニシアチブに率先して取り組んでいます。DSI とは、IT ライフサイクル全体に渡って、リソースの最大化と人件費の削減を実現するソフトウェアを提供することを目的とした業界規模の活動です。マイクロソフトでは、Windows オペレーティングシステムを始め、アプリケーション開発ツール、アプリケーション、ハードウェアおよび管理ツールを統合した製品群を提供し、ソフトウェアの研究開発をパートナーと協調して進めています。

大規模システムの開発を支援する次期 Visual Studio

マイクロソフトの製品や技術を使って企業システムを構築する際、最も重要な役割を担ってるのが開発ツールの Visual Studio です。Windows をプラットフォームとする IDE (統合開発環境) として、開発者が必要とするすべてを提供します。最新版である Visual Studio .NET 2003 では、Windows クライアント アプリケーションから .NET Compact Framework によるモバイルアプリケーションまで、統一された環境で開発ができます。また、Visual Basic や Visual C# のみならず、サードパーティが提供する COBOL などの言語を利用できるため、多くの企業で稼動中の既存システムを開発、拡張にも利用できます。

Windows Server System、Office System、各種の Windows クライアントは、Visual Studio によって開発、カスタマイズされることで、互いに接続し、統合された企業システムとして構築されます。また、Web サービスの開発も強力にサポートしているため、SOA を構築するためのツールとして活用できます。

2005 年にリリース予定の Visual Studio 2005 では、Team System により、企業における大規模システムの開発時に必要とされる機能が強化されます。これまでのような開発者のサポートはもちろん、アーキテクトやプロジェクトマネージャといった、企業システムの全体的な設計や統合、テスト、プロジェクト管理を行う人々をサポートする他、複数スタッフで取り組むチーム開発を効率的に行うための機能が加わります。これらの機能には、たとえばプロジェクトの進捗や状態の管理、個々の成果物や情報の共有化といったものがあり、チーム内のコラボレーションを促進することで、より高い生産性をもたらします。


Microsoft