NetDictionaryで始める
Webサービス・プログラミング

2.ICDの開発環境


デジタルアドバンテージ
2001/09/11


 すぐ次で述べるように、現在の@IT/ICDは、データベースからダイナミックにWebページが生成されているわけではなく、静的なWebページとしてWebサーバ内に保存され(各見出し語の解説ページごとに固定的なURLが割り当てられ)、読者のブラウザに送信されている。しかし多数の用語解説ページを効率よく管理するため、社内的にはこれらをデータベース化し(SQL Server 2000)、フロントエンドとなる編集/管理用ユーザー・インターフェイスをVisual Basic 6.0で開発した。

Visual Basicで開発したICD用編集環境
見出し語の登録や関連用語へのリンク、関連Webページへのリンクなどを管理する。また、@IT/ICDとして公開するためのWebページ・データ(HTMLファイル)を出力する機能もあり、適宜データを出力して@ITにftpで転送し、用語事典として公開している。
  新規見出し語の登録や、編集したい見出し語の検索をここで行う。
  解説文をここに入力する。
  見出し語名や見出し語の読み、英語表記などを入力する。
  この見出し語から参照する関連用語の選択はここで行う。
  この見出し語に向かう参照を別の見出し語に追加する。ここで見出し語を指定すると、その見出し語の「参照先」として、現在編集中の見出し語が追加される。
  この見出し語に関連するWebページへのリンクはここで設定する。
  この見出し語の識別番号。Webページ・データの出力時には、この数値がファイル名として使われる(例えばこの「Webサービス」なら、ページのファイル名は「85038141.html」となる)。

 データ自体は、SQL Server 2000を使って管理している。DBMS(DataBase Management System)としてSQL Serverを選択したのは、当然ながらマイクロソフトの各種ソフトウェアとの相性がよいこと、またWindows 2000やMicrosoft .NETなど、マイクロソフトの製品や技術を扱う場合が多いので、半分は実験を兼ねられるからだ。

SQL Serverで見たICDの実データ
解説文へのビジュアル(写真、図版)の追加や、執筆者情報、社内校閲情報など、必要に応じてデータ構造もブラッシュアップされてきた。

@ITにおけるICDの構成

 ICDデータベースは、必要に応じて鋭意更新されているが、その変更結果が@IT/ICDとして公開されるためには、データベースからWebページを出力し、ページ・データを@ITのWebサーバに転送しなければならない。時期によって多少の波はあるのだが、おおよそ月に2〜4回程度は@IT側のデータを更新している。すでに述べたとおり、前出の編集環境は、SQL Server上のデータベースから、Webページを出力する機能も併せて持っている。

 各見出し語のデータには、それぞれユニークな識別番号が割り振られており、ページの出力時には、これがWebページのファイル名となる。基本的なしくみはこれだけなのだが、1つのフォルダに大量のHTMLファイルが存在すると管理しにくいので、最終的には、「00」〜「99」という名前のフォルダを作成し、識別番号からこのフォルダに対応するハッシュ値を求めて、適当なフォルダの中にファイルを保存するようになっている。

 あまりかっこうのよくない仕様なのだが、現状のICDの検索機能では、フルテキスト検索ではなく、見出し語とのマッチングのみを行い、一致する語を列挙するようになっている。このためICDでは、データベース中の全見出し語と、その見出し語のデータベース中のエントリ番号を組にした検索用のテキスト・ファイルを出力し、検索時にはこのファイルと、ユーザーから指定された文字列のマッチングを行う。


 INDEX
  [特集]NetDictionaryで始めるWebサービス・プログラミング
  第1回 NetDictionaryプロジェクトとは何か?
    1.コンピュータ用語事典、ICDとは?
  2.ICDの開発環境
    3.NetDictionaryとは?
    4.さまざまなWebサービス実験を行う実験場「WebService.jp」
    5.関連記事や会議室を提供する@IT
    6.公開中のサンプル・アプリケーション
         コラム:Visual Studio .NET日本語版ベータ2の入手方法

更新履歴
【2001.9.11】最後の見出し「@ITにおけるICDの構成」において、「ICDの各ページに対しても、@ITのフルテキスト検索用インデックスは生成されているので、記事検索ページから検索すれば、ICDに対してもフルテキスト検索を実行できるようになっている。」と記載していましたが、ICDのデータについては、@IT総合検索においても、見出しのみからの検索でした。当該表記部分を削除しました。お詫びして訂正させていただきます。
 
 特集 : NetDictionaryプロジェクト


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間