Insider's Eyeすべての道は.NETに通ずTechEdとEDCが合体する理由 〜TechEd 2003 Dallas レポート 〜 吉松史彰 |
|
|
2003年6月第1週に米国テキサス州ダラスで開催されたMicrosoft TechEd 2003では、Microsoftが2003年度に投入する新製品が多数発表された。これらはサーバ側の製品群であるWindows Server Systemと、クライアント側の製品群であるMicrosoft Office Systemによって構成され、全体として統合されたシステムとして動作するようになっている。個々の製品としては、Windows Server 2003、Exchange Server 2003、BizTalk Server 2004、SharePoint Portal Server、SQL Server(開発コード名“Yukon”)がサーバ側の製品として見えており、TechEd 2003でもさまざまなセッションで紹介された。クライアント側の製品としてはOffice 2003に含まれる一連の製品群がスポットライトを浴びている。これらの製品群が奏でる音色が、全体として1つに統合された音楽を作り出すのである。
Windowsから.NETへ
個別の製品を紹介するにはまだ時期尚早で内容にも不明な点が多いが、これらの製品群を貫くポイントは、ずばりひと言で説明できる。それは「.NET」である。.NETという言葉が混乱を招くようなら、「.NET Framework」といい換えてもよい。
少し極端な言い方をすると、.NET FrameworkはWindowsに代わる新しいプログラムの実行環境である。これまでのシステムは、Windows API(Win32 API)を呼び出すプログラムがWindowsという実行環境上で動作していた。Microsoftの製品群もそうだし、サード・ベンダの製品群も、SIベンダや情報システム部門が開発したカスタム・システムも、各自のPC上で動作するOffice製品群もすべて、Windows上で動作し、Windows APIを呼び出せるプログラミング言語を使って作られていた。.NET Frameworkは、Windowsに代わる新しいプログラムの実行環境である。Windowsという実行環境に代わって、共通言語ランタイム(CLR)と呼ばれる実行環境が導入される。プログラムは、共通言語ランタイムのAPIである.NET Framework Class Library(FCL)を呼び出せる言語を使って記述される。
アプリケーション・インターフェイスの変化 |
.NET Frameworkは、Windowsに代わる新しいプログラムの実行環境である。Windowsという実行環境に代わって、共通言語ランタイム(CLR)と呼ばれる実行環境が導入され、その上で.NET Framework Class Library(FCL)を呼び出せる言語を使ってプログラムが記述される。 |
現在:製品ごとに異なるカスタマイズ環境
SIベンダや情報システム部門が作るカスタム・システムの場合は、特定の業務にフォーカスした特定の機能のみを実装していることが多いが、Microsoftやサード・ベンダが提供しているパッケージ・ソフトウェアは、後で顧客がカスタマイズできるように、拡張ポイントが設けられていることが多い。たいていのサーバ製品は、導入しただけでは動作しない。導入した上で、SIベンダが拡張ポイントを利用してさらにカスタマイズを行うのが普通である。例えばSQL Serverの場合、T-SQL(Transact-SQL)というプログラミング言語を用い、ストアド・プロシージャという拡張ポイントを利用してカスタマイズを行う。Office製品の場合は、Visual Basic for Applications(VBA)というプログラミング言語を使って、マクロという拡張ポイントを利用する。これらの仕組みの共通点は、それぞれのソフトウェアがそれぞれ個別の実行環境を持っているということである。
SQL Serverのカスタマイズ環境 |
SQL Serverでは、ストアド・プロシージャという拡張ポイントを利用し、T-SQLというプログラミング言語を用いてカスタマイズを行う。 |
Office製品のカスタマイズ環境 |
Office製品では、マクロという拡張ポイントを利用し、Visual Basic for Applications(VBA)というプログラミング言語を使ってカスタマイズを行う。このようにSQL ServerとOfficeで、それぞれ個別の実行環境が用意されている。 |
それぞれの実行環境が異なるということは、それぞれがプログラムの実行に関して個別のポリシーを持っているということでもある。SQL Serverは、Windowsが持っているものとは別にセキュリティ・システムを持っていて、認証と承認をSQL Serverだけで行うこともできる。Officeの各製品は、マクロを実行するかどうかを判断するためのセキュリティ情報を個別に管理している。この状況は、これらの製品を組み合わせたシステムの開発を難しくしている。そして、その難しさを乗り越えて作られたシステムは、一般に非常に繊細な運用を必要とする。これまでのMicrosoftの製品群は、開発ツールであれば開発を容易にし、サーバ製品であれば管理を容易にするのが特徴だったが、これらはすべて個々の製品の枠内で行われていた。それぞれの製品の枠を出なければ、開発と運用管理は容易であったが、いったんその枠をはみ出してしまうと、システムの運用管理は手順が多くなり、従って難しくなる。Microsoftが投入する次期製品群がそれぞれ「〜System」という名前を持っているのは、このような状況への反省と回答にほかならない。
次世代:製品によらず共通のカスタマイズ環境
例えば次期SQL Server(開発コード名“Yukon”)では、ストアド・プロシージャの実行環境として共通言語ランタイムを採用する。Office 2003では、マクロの実行環境は共通言語ランタイムそのものにはならないものの、Microsoftのメッセージによると、マクロから共通言語ランタイム上で動作するコンポーネントを呼び出すことが推奨されている。
次世代のカスタマイズ環境 |
次期SQL ServerやOffice Systemでは、共通言語ランタイム上のコンポーネントを呼び出すことができるので、製品によらず、同じ開発環境、同じ実行環境、同じ運用ポリシーに基づいてシステムを構築できるようになる。 |
つまり、各製品の拡張ポイントが共通化される。パッケージ・ソフトウェアの拡張であろうと、独自開発するシステムであろうと、共通の開発環境、共通の実行環境、共通の運用ポリシーに基づいてシステムを構築できるようになるのである。この共通の開発環境、実行環境、運用ポリシーが「.NET」である。
具体的には、これからMicrosoftが投入するほとんどの製品は、その拡張ポイントを利用して開発を行う際のプラットフォームとして、Visual Studio .NETを利用する。今回のTechEd 2003で紹介・発表された製品では、Visual Studio .NETに次のように対応する。
TechEd 2003で紹介・発表された製品 | Visual Studio .NETとの対応 |
Visual Studio Tools for Office | Office 2003のマクロ開発を支援する*1 |
SQL Server 2000 Reporting System | SQL Server 2000のデータを活用したレポート作成を支援する |
BizTalk Server 2004 | ・オーケストレーション・エンジンがCLRで動作する ・エディタ、マッパーなどの開発支援機能がすべてVisual Studio .NETで実現される |
SQL Server (Yukon) | CLRがデータベース内で稼働し、ストアド・プロシージャなどをCLRベースの言語で記述できる |
Windows SharePoint Services | ポータルサイトはASP.NETで開発される |
*1 現在のところ、WordとExcelにのみ対応している。 |
運用管理担当者にとっても、もはや“.NET”はひと事ではない
これは、開発者にとっては開発生産性のさらなる向上を意味する。だが「.NET」がもたらすメリットは、開発者だけが享受するものではない。開発されたシステムの納品を受け、システムを稼働させ、そして稼働させ続けることを業務にする運用管理者やシステム部門にとっても福音となる可能性を秘めている。.NET Frameworkの共通言語ランタイムには、プログラムを動かすだけではなく、安全に、効率よく、安定して動かす機能が備わっている。つまり、理解すべきシステム・ポリシーは1つで済む。今後開発され、納品されるであろうシステムも、すべて同じポリシーで稼働すると分かっていれば、導入や運用教育はかなり楽になるだろう。
だがそのためには、システムの運用管理を行う担当者が、開発者と同じようにこの環境について知らなければならないことを意味する。この環境は、開発のための環境であると同時に、実行のための環境でもあるからだ。.NET Frameworkベースで作られたシステムを正しく稼働させるためには、その実行環境について正しい知識を持たなければならないのはいうまでもないだろう。
Microsoftが新製品の投入を進めるに従って、システムの運用管理を行う担当者は.NET Frameworkベースのシステムを導入する決断を迫られることになる。.NET Frameworkベースのシステムを導入する決断は、すでにその決断を「行うかどうか」を考える時期ではなくなっている。その決断を「いつ行うか」を考える時期になっているのである。Microsoftの各種製品が.NET Frameworkベースで稼働するようになる時期はもう目前に迫っている。
Microsoft TechEd 2003は、それまでいわゆる「ITプロ」のために開催されていたMECと呼ばれるカンファレンスと(以前はMicrosoft Exchange Conferenceと呼ばれていたが、その後は単なるMECと呼ばれるようになった)、主に開発者向けに開催されていたTechEdを融合して開催された。日本ではこれまで、主に開発者向けのTechEdというカンファレンスと、主にITプロ向けのEDC(Enterprise Deployment Conference)というカンファレンスが存在していたが、これも今年からは統合されて開催される。これはすなわちMicrosoftからの「.NET」に関するメッセージであり、開発者はもちろん、運用管理の担当者も、もはや「.NET」の波からは逃れられないことを示している。波に乗るかどうかはもはや問題ではない。いつ波に乗るかが問題なのである。決断のときは迫っている。
「Insider's Eye」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|