The Musium of Windows Consortium
Windows Consortium
Top Page


古川会長インタビュー(短) 【1990年】
敗れさった窓たち 【1990年】
Windowsコンソーシアムの誕生 【1990年】
Windows 3.0 前夜 【1990年】 
Windows 3.0の魅力 【1991年】 
Windows 3.0のインストール 【1991年】 
Windows 3.0の日本語処理 【1991年】
Windows Expo. '92 【1992年】
Windows Ready To Run【1993年】
Windows 3.1のインストール 【1993年】
Windows 3.1の日本語処理環境 【1993年】
Windows 95前夜 【1994年】
どう活用するWindows 95 【1995年】
Windows NTの開発環境 【1995年】
Windows NTの動向 【1995年】
インターネット・エクスプローラ 3.0 【1996年】
Windows Expo. '97 【1997年】
Windows98でパソコンは進化する 【1998年】
Windows 2000の概要 【1999年】
Windows Meへの感慨 【2000年】
Windows XPの概要 【2001年】
Windows XPの魅力 【2001年】
古川会長インタビュー(長) 【1990年】



Windows年表
活動の歴史
Windows アーティクル
会員リスト
Photo ライブラリ
松倉会長の業界キーマン直撃インタビュー
下川副会長コーナー
やさしく解説するマイクロソフトの最新技術
Windowsソフトウェア事情
Windowsよもやま話
田中亘のWindow in Millennium
Windows View一覧






Windows コンソーシアム記念館

Windows アーティクル


Windowsの歴史を紐解く過去の記事 【1995年3月】

田中亘


■Windows NTの開発環境
Windows NTという32bitのAPI(アプリケーション・プログラム・インターフェース)仕様に完全に対応している開発環境は、まだVisual C++ Version 2.0しか存在していない。しかし、Windows NTによって実現するネットワーク・コンピューティングという環境においては、16bit対応の製品を含め、あらゆる種類のビジュアル化された開発ツールが、有効に活用できる。
Windows NTによるネットワーク環境において、そこで使われるアプリケーションを開発する必要があるユーザーは、ソフトハウスやSIベンダーにはじまり、システム管理者からエンドユーザーに至るまで、幅広い分野に渡っている。
また、現実の開発関連の製品も、純粋な言語から、クライアント/サーバー環境におけるバックエンドとフロントエンドとしてのツールなど、エンドユーザー・コンピューティングを指向した品揃えが増えてきた。
そのため、一口にWindows NTの開発環境といっても、単独の開発言語だけで、すべての需要を満たすことが困難になっている。
そこで、開発環境に関するサーベイでは、最初に目的とされるデータ処理を考え、その分野別に、どんなツールが必要とされているのか、その分析から具体的な製品の有無などを検証していく。




Windows NT 3.5のプログラムマネージャ

●開発環境のジャンル
Windows NTによるネットワーク環境にとって、そこで使われるプログラムには、さまざまな目的と種類が存在する。その分類を大きく四つに分けて考えると、以下のようになる。
++++++++++++++++++
1.エンドユーザー・コンピューティング環境
 フロントエンドツールの開発環境
2.バックエンドのSQLサーバーの構築
 SQLデータベースの設計と構築環境
3.ミドルウェアや定型業務型アプリケーションの利用
 開発言語を利用したアプリケーションの作成
4.周辺機器やOCXなどの活用
 デバイスドライバの開発環境
++++++++++++++++++
この四つの分類は、番号の大きいものほど、よりOSに近い存在となり、開発に必要とされる知識や難易度も高くなる。反対に、番号の小さいものほど、エンドユーザーでも短いトレーニング期間で設計できるものと考えられる。四つの分類のより具体的なイメージを理解してもらうために、簡単な具体例を考えてみる。
まず、フロントエンドツールだが、これはデータベースにデータを入力したり問い合わせを行なうなどの目的で利用するメニュー管理や、SQLデータベースから抽出したデータをグラフ化するような、自動化処理を構築するための開発環境を意図している。また、いままでは定型業務系のコンピュータやアプリケーションで利用されていた伝票入力とか、コンピュータ決済で使われる電子フォームなど、エンドユーザーが身近に使えるフロントエンドを開発するためのものだ。
二つ目のSQLサーバーの設計環境は、いわゆるSQLデータベースの利用を意味している。SQLデータベースなどのデータベース用アプリケーションは、独立したソフトウェア製品とも考えられるが、ネットワーク環境においては、システム構築のための開発環境として、重要な位置づけにある。
三番目のミドルウェアやアプリケーション開発環境は、一般的なソフトウェア製品を開発するためのものだけではなく、データの変換や中継のためのミドルウェアなど、アプリケーションに用意されているマクロ処理だけでは手の届かない範囲に対応したプログラム環境を意味している。より解釈を広く考えれば、エンドユーザーのためのフロントエンドツールを支援するモジュールなどの開発環境も、この分野に属する。
さて、四番目になるデバイスドライバは、プリンタドライバやディスプレイドライバなど、ハードウェアに固有の周辺装置を使うためのシステム関連プログラムから、VBXやOCXなどのOLEのためのサブモジュール類の開発環境になる。
Windows NTを中核としたネットワーク環境において、そこでクライアントとなるWindowsというGUIによる操作では、イベント処理やオブジェクトを対象とした機能選択や情報表示など、旧来の開発言語によるシステムやアプリケーション開発とは、異なる利用状況と開発状況が必要になる。そのため、もはや単独の開発言語だけに頼って、すべての需要をまかなう、という考え方は、過去のものとなりつつある。むしろ、適材適所を心がけ、必要とされる需要に対して、最低限の労力で解決できる開発環境を選択することが、エンドユーザ・コンピューティングの環境を促進するものと考えられる。

●VC++からACCESSまで
いわゆる「開発環境」という言葉の持つイメージには、「言語製品」という認識が強い。確かに、あらゆる目的に対応するプログラム開発にとって、言語製品はオールマイティな環境を提供する。しかし、ネットワーク環境の普及によるエンドユーザー・コンピューティングが重要視されている昨今にあって、すべてのパソコンユーザーが開発言語を使ってプログラムを組むというのは、不可能かつ無意味な時代になってきた。

1.エンドユーザー・コンピューティング環境
『フロントエンドツールの開発環境』
現実のエンドユーザーが望んでいる「結果」は、データベースから抽出したリストの集計やグラフ化といった最終形であり、そのために開発言語を一から覚えなければならないようでは、教育にばかり時間がかかってしまう。かといって、個々のユーザーが望むような結果をすべて、システム管理者や企業内の専門的な開発部門で請け負うことは、現実的に不可能な状況にある。
そのため、エンドユーザーのための開発環境として注目されている存在が、ExcelやACCESSといったアプリケーション製品が持つマクロ機能になる。すでに、マイクロソフト社では、VBA(Visual Basic for Application)という用語を提唱し、Excel 5.0やACCESS 2.0などのアプリケーションで、共通に使えるマクロ言語を整えつつある。
エンドユーザー・コンピューティングという用語は、いかにもあらゆる情報処理をエンドユーザーが、自由に操ることができるような印象を与えているが、現実の利用においては、そのほとんどが、企業内で構築されたデータベースの情報紹介やデータ抽出などが中心になる。データベースという情報の共同体を全員で共有することによって、情報の疎通に優れた環境を構築しようとするものだ。
だが、多機能化を続けるWindows対応のリレーショナル型データベースの多くは、エンドユーザーからは遠い存在になりつつある。本格的なデータベースを目指すあまり、専門的で複雑な構造を持つアプリケーションになってしまった。たとえば、ACCESS 2.0に用意されている機能の中にあるデータベースのためのテーブル作成や、入出力に利用する画面フォームの設計などは、ほんの数年前であれば、企業内のシステム管理部門が、リレーショナル型のデータベース管理システムを使って、汎用コンピュータやミニコンピュータなどの上で、設計運用していたシステムと、基本的な設計構造や概念は変わらない。それが、WindowsというGUI環境の普及によって、コマンドを選択しオブジェクトを配置するという操作だけで可能になったために、エンドユーザーにまで普及したのである。それゆえに、すべてのパソコンユーザーが、ACCESSやdBASEなどのデータベース・アプリケーションを使いこなせるようになることは難しい。
そこで注目される存在が、これらのアプリケーションに備えられているマクロやxBASEなどの定型処理化用の簡易な開発環境になるのである。データベースを中核として、エンドユーザー向けのフロントエンドツールを開発できる能力を持ったアプリケーションには、主に以下のような製品群がある。
+++++++++++++++++++++
・dBASE 5.0J for Windows
ボーランド社のデータベース・アプリケーション。xBASE言語のルーツであるdBASEのWindows版。2way toolと呼ばれるxBASEとGUI環境を橋渡しできる言語仕様とアプリケーション開発環境に優れた製品。
xBASE言語は、MS-DOS版のdBASE時代から使われ続けてきたマクロ処理のための構文だが、その内容は、開発系言語の仕様に近い。変数やループに分岐処理などの構文が用意されていて、BASIC風の言語仕様にテーブルを簡単に操作できる独自の変数とコマンドが拡張されたようなものだった。
そのxBASEをさらに強化して、オブジェクト指向の言語体系まで組み入れたものが、新しいdBASE for Windowsの開発環境になっている。

・Paradox 5.0J for Windows
ボーランド社のデータベース・アプリケーション。MS-DOS時代から開発されてきた製品のWindows版になり、ボーランド社のオリジナル設計のもの。dBASE 5.0J for Windowsと同じデータベースエンジンを搭載し、レポートやフォームなどを簡単に作成できる支援機能を強化した。開発環境では、オブジェクトPALと呼ばれる言語仕様を持ち、xBASEとは異なる独自性を発揮している。
オブジェクトPALは、フォームとして設計した画面に配置したあらゆるオブジェクトに対して、メソッドという形で定義することのできるマクロ言語で、それぞれのオブジェクトに用意されているイベントに対応して登録される。言語の仕様は、Pascal風のオブジェクト指向型言語になる。

・Microsoft Access Version 2.0
マイクロソフト社のデータベース・アプリケーションの最新版。Access BASICと呼ばれる制御言語を装備している。Visual Basicスタイルのイベントモデルを採用し、キー入力やマウス操作に、実行時エラーや時間経過などの「イベント」に対応した処理を実現している。
Accessの開発環境は、Paradoxのように直接オブジェクトにメソッドを登録するような手軽さとは、少し異なる。Access BASICを使って開発された処理は、モジュールと呼ばれるもので、事前に設計を行ない、そのモジュール名をフォーム設計の段階で、オブジェクトに用意されているプロパティに対して登録する。作業そのものは、平行して行なえるものの、設計する環境が異なるため、Paradoxのような手軽さに欠ける。
+++++++++++++++++++++
この他にも、データベース管理システムの延長線上に位置する開発環境はまだまだ登場すると予測されるが、これらの言語仕様には、一つだけ限界がある。それは、完璧なカスタム化が困難なことだ。
たとえば、Accessのフォーム設計では、データベースのテーブル内のデータを参照したり、次の処理を行なうためのボタンなどを定義することはできるが、テーブルから得られたデータを元にして、ユーザー独自の計算処理をプログラム化する、といった目的にまで応用することは難しい。まったく不可能という訳ではないが、C言語やBASICなどの言語系の開発環境と比較すると、変数の扱いにループや分岐などの処理から、イベントハンドラなどの面で、どうしても「アプリケーション環境のマクロ」としての限界を感じてしまう。
そのため、より本格的なカスタム需要に答えるためには、やはり何等かの開発言語が必要になる。
そこで、いまもっとも注目されているエンドユーザー・コンピューティングのための開発環境が、Visual BasicやDlphiといった「データベースへの対応」を可能にしたビジュアル系の開発言語になる。これらの開発環境の多くは、SQLサーバーなどにアクセスするためのミドルウェアや独自のエンジンを搭載している。その点では、4GLの概念に近い開発言語といえるだろう。
+++++++++++++++++++++
・Delphi
ボーランド社のPascalコンパイラ。Visual Basic対抗の商品で、言語の仕様はPascalになる。Visual Basicよりも優れた点は、OpenDocのコンテナになるアプリケーションの作成ができることや、ネイティブ・コードを生成するコンパイラになっていること。dBASE や ParadoxにアクセスするためのBDE(Borand Database Engine)も備えている。

・Visual Basic 3.0
日本では、まだ2.0までしか日本語化されていないが、米国仕様の3.0では、Access 2.0とおなじJetエンジンを搭載している。言語仕様は、VBA(Visual Basic for Application)と同一で、外部アプリケーションの機能を利用するOLEオートメーションや、OLEカスタム・コントロール(OCX)にも対応している。(1995年当時)

・ProjectX
Oracleが開発したVisual Basicの対抗言語。VBXやOCXに対応している上に、言語の仕様はVBA互換になっている。Oracle 7 Serverのサブセットにあたるblazeというデータベース・エンジンを備え、VB3.0のない日本市場では、開発環境の本命とも目されている。
+++++++++++++++++++++

2.バックエンドのSQLサーバーの構築
『SQLデータベースの設計と構築環境』
AccessからVisual Basicまでに至る開発環境の中心は、ネットワーク環境におけるクライアント側の構築にある。エンドユーザーがSQLデータベースにアクセスするためのフロントエンドとしての役割を担っている。
それに対して、サーバー側に構築されるSQLデータベースの存在も、一種の開発環境と捉えることができる。データベースそのものは、アプリケーションの一ジャンルと分類されているが、企業などで利用されるデータベースそのものは、業務に適したアプリケーション環境を構築するための開発ツールと考えることもできる。
そこで、Windows NTで利用できるSQLデータベースに、どのような種類があるのか調べてみた。
+++++++++++++++++++++
・SQL Server
マイクロソフトが、同社のBackOffice製品の一翼として発表しているサーバー・アプリケーションの一つ。SQLデータベースとしてWindows NT Server 3.5上で機能する。

・Oracle
Oracleが開発したSQL対応のデータベース・サーバー。UNIXマシンなどのSQLサーバーとして、高い実績を誇る。
+++++++++++++++++++++
UNIXなどの環境に比べて、Windows NT Server 3.5上で利用できるSQLデータベースは、まだ少ない。しかし、アプリケーション・サーバーとしてのWindows NT Server 3.5は、UNIXなどに匹敵するだけの性能と魅力を備えているので、今後もUNIX系で実績のあるSQLデータベースが、移植される可能性は高い。
また、ユニークなアプローチとして、Accessのアドインツールであるアップサイジング・ツールの存在がある。これは、Access上で設計したテーブル仕様をSQL Serverにコンバートしてくれるツールで、SQL Serverなどの使い方を理解していないユーザーでも、Accessさえ利用できれば、そのデータベースを簡単にSQLデータベース化できるようになる。
エンドユーザー規模のデータベース環境を、ネットワーク・コンピューティングのためのスケールにアップサイズするためのツールとして、今後は注目が集まるだろう。

3.ミドルウェアや定型業務型アプリケーションの利用
『開発言語を利用したアプリケーションの作成』
データベースとそのフロントエンド環境を中心に考えた開発環境とは別に、純粋なソフトウェアやデータを中継するためのミドルウェアなど開発するためには、より本格的な開発言語が必要になる。
その開発環境において、Windows NTの提供する32bitのWindows用APIにすべて対応している製品の最有力は、マイクロソフトのVisual C++ Version 2.0になる。一枚のCD-ROMに収められたVisual C++は、Windows NTのWin32API環境に対応したVersion 2.0と、Win16APIに対応している旧1.5の二製品をパッケージしている。
二つの開発環境は、インストールの段階で、どちらを利用するか選択する。また、Win32API対応のアプリケーションを現在のWindows 3.1などで動かすためのWin32sも用意されているので、Win32API環境で開発しておいて、そのアプリケーションをWindows 3.1で使うことも可能だ。また、VC++ 2.0には、32bit環境に対応したOLE コントロールを開発する環境も用意されている。
さらに、マイクロソフト社のVisual Basci 4.0が登場すれば、よりエンドユーザーにも使いやすい開発環境が充実することになる。だが、この4.0は、Windows 95待ちといわれているため、まだしばらくは出荷に時間がかかる。
一方、C言語以外の開発言語としては、Windows NTの業務用システム開発のためのCOBOL言語が充実している。主な製品としては、すでに以下のものが出荷を予定している。
++++++++++++++++++++
・MicroFocus COBOL V3.1J for Windows NT マイクロフォーカスジャパン
・COBOL 85Ver.1.0 日本電気
・COBOL 85 V12   富士通
・COBOL 85     日立製作所
++++++++++++++++++++

4.周辺機器やOCXなどの活用
『デバイスドライバの開発環境』
開発環境の中でも、もっとも高度な技術とツールが要求される分野は、OSとアプリケーションの中間に位置するデバイスドライバの設計になる。デバイスドライバを開発するためには、C言語系のローレベルなハードウェアの制御用構文を備え持った言語仕様に加えて、OS側で用意されている各種の内部サービスを使うための開発キットも必要になる。それに加えて、OLE2.0のライブラリとして利用できるモジュール開発なども、言語製品の利用が必須となる。
この分野でも、Visual Basic 4.0が登場していない現状にあって、唯一の解決策がVisual C++ 2.0の利用になる。
しかし、米国に比べて、言語関連製品やデベロップメント・キットなどの開発環境用ツール類の日本語化が遅れているため、Windows NTのシステム関連のドライバやツール類を開発するプログラマにとっては、まだまだツール不足な状況にあることは確かだ。


(著者:田中亘 wataru@yunto.co.jp)






当ホームページは、お使いのブラウザーが、
IE5.0でない場合、表示内容が乱れることが御座います。
予め、ご了承ください。