大規模な業務支援システムをエンドユーザーが独力で開発パソコンのアプリケーションからサーバーのRDBを自在に検索・加工トヨタ自動車の本社工場は1991年秋、パソコンLAN(ローカル・エリア・ネットワーク)をべ一スにした業務支援システムを全面稼働した。エンドユーザー自身が40万ステップのBASICプログラムを開発した。パソコン上のアプリケーション・プログラムから、LAN経由でサーバーのRDB(リレーショナル・データベース)にアクセスできる。これを同一パソコン上で市販の統合ソフトなどに渡して自由に加工することも可能だ。当初はシステム部門が本社工場を含む全国10工場のシステム化を計画していたが、本社工場は「必要な情報を、必要なときに引き出して加工できる」ことを重視。単独開発に踏み切った。1991年秋、トヨタ自動車の本社工場で、パソコンLAN(ローカル・エリア・ネットワーク)をべ一スにエンドユーザー'コンピューティングを実現する業務支援システムが全面稼働した。写真1●本社工場OAシステムの初期画面。いる「本社工場OA(オフィス・オートメーション)システム」である。エンドユーザーである本杜工場工務部の職員が自分達で設計・開発し、保守・運用まで行っている。工場内で発生するほとんどの主要な日常業務を処理する。分析・加工できるなど、非定型処理の仕組みにも工夫を凝らしている。今後のエンドユーザー指向の情報システム像を考える上で、参考になる点の多い先進的なシステムだ。データベース・サーバーとして使う汎用機1台と約90台のパソコンをつないだLANを工場内に導入した。パソコンは製造拠点各所や工務部のオフィスなどに分散配置している。必要なデータを検索したり、更新することができる。取り出したデータを同一パソやワープロなどのパッケージ・ソフトに渡して加工することも可能だ。典型的なクライアント/サーバー型のシステムである。大部分のアプリケーション・プログラムはBASIC言語で開発した。パソコンとはいえ、1000ステップ程度のプログラム約400本で構成する大規模なシステムだ。プログラムは各パソコンの40メガバイトのハードディスクに収納している(表1)。本社工場は他9工場とは別にエンドユーザーが開発・運用トヨタが本杜工場など全国10工場を対象に、工場OA化プロジェクトを発足させたのは88年8月のことである。当初はシステム部門が全工場のシステムを開発する予定だった。ところが、パソコンによるプログラム開発の経験があり、ソフト資産のあった本社工場は自分達で設計・開発すると主張。約半年問の議論の末、ついに独自路線を選んだ。全社の情報システムを企画し、開発予算を管理するのはCIS(Commu-nicationandInformationSystem)企画部の役割である。本格的なOAシステムは今回が初めて」と言う。浅井釣同部課長など7人。メンバーの大半はBASICによる開発の経験があった。RDBにデータを複数のパッケージ・ソフト用のデータに自動変換する機能を自分達で開発するなど、技術も高度だ。サーバーに登録してある新しいプログラムを自動的に取り込む、という仕組みも開発した(118ぺ一ジや121ぺ一ジを参照)。図1を見ていただきたい。図1●トヨタ自動車の工場OAシステムの構成。採用し、同一目的のシステムを2系統の体制で開発している。騒は主なアプリケーション・プロクラムの所在を示す本社工場は日本電気の、他の9工場は東芝のハードウエアを採用した。本杜工場のシステムはクライアント」サーバー型である。データベース・サーバーの汎用機ACOS3300とパソコンPC-9801(一部はN5200)がLANによって結ばれている。大部分のアプリケーションは、クライアントであるPC-9801上にある。他の9工場はオフコンV7060を部門ホストとし、この上でアプリケーションを動かす、ホストー端末型のシステムだ。端末にはJ-3100(一部はJ-3300)を使用する。両システムには共通点もある。部門コンピュータのACOS3300とV7060が、全社事務系ホストであるIBM3090とやり取りするデータの項目や内容は全く同じである。部門コンピュータは全社ホストから1日1回の割合で、RJE(リモート・ジョブ・エントリ)によってデータを受け取っている。バッチ処里処理中心では要求が満たせないBAS1C経験者が開発をリード本社工場工務部があえて独自システムの開発に踏み切った理由はいくつかある(図2)。従来のようなバッチ処理中心のホスト−端末型システムでは、必要な情報を随時引き出し、自由に加工できるシステムを実現するのが難しい本社工場工務部の開発メンバーは、従来からBASlC言語でプログラムを開発したり、パッケージ・ソフトを利用した経験があった日本電気PC-9801のハードやソフトの資産を生かしたい第4世代言語など、サーバー側の開発環境も評価した第1は「必要なデータを即座に取り寄せ、その場で加工して評価したい」(宮本次長)という要求が強かったこと。これまで利用してきたバッチ処理中心のホスト−端末型システムは、「システム部に依頼してデータが出力されるのを数週間も待つことがあった。その間に現場の情報に対する二一ズも変わってしまう」(同)という。これが最も切実な理由だ。第2の理由は、前述したようにパソコンによるアプリケーション開発の経験と実績があったことだ。開発を担当した7人のうち、2人は既にBASICで業務プログラムを開発した経験があり、他にも3人がBASICの知識を持っていた。本杜工場が日本電気のハードを選んだのは、PC-9801で開発したプログラム資産を生かしたい、というのが最大の理由だ。エンドユーザーにとっても馴染みのある利用環境の方がよいと考えた。第4世代言語のIDL�Uなど、サーバー側のアプリケーションの開発環境も評価した。本杜工場にとってACOSのアプリケーション開発は全く未経験だったが、開発メンバーのうちBASICの経験のない2人が、IDL�Uを習得して対応した。PC-9801上のBASICプログラムがLAN経由でACOSのRIQSIIにアクセスするためのインタフェースのソフト開発は、日本電気が請け負った。このような技術的なサポートを受けやすかったというメリットもあった。以下では、本杜工場OAシステムのメニュー構成や基本的なシステムの利用方法の例を示そう。サーバーとバソコンに搭載するソフトの構成にも触れる。表2を見ていただきたい。表2●トヨタ自動車の本社工場OAシステムのメイン・メニュー。←→カーソルで�@�n�Dを選択し、↑↓カーソルで項目を選択する。�@はデータベース本社工場OAシステムのメイン・メニューは5つのカテゴリに分類されている。ユーザーがパソコンの電源を入れると、これらのうちの1つのカテゴリが表示され、←→カーソルによってカテゴリを変更できる。↑↓カーソルで、利用したい項目を選択する。メニューは階層的に組み立てられており、各階層では画面に表示された選択枝をファンクション・キー(f・1、f・2など)によって選ぶ。使い勝手を考慮し、階層を飛び越えてメニューを選択することもできるように設計している。ユーザーが日常的に利用するのは、BASICで開発した�B、�Cの業務システムである。これらのアプリケーション・プログラムは、LAN経由でサーバーのRDBにアクセスし、データを処理する。�@はサーバーに直接関係するメニュー。パソコン用パッケージ・ソフトヘのデータ変換機能などを持つ高度なツールだ(118ぺ一ジ参照)。ユーザーが使い慣れたソフトでデータを分析したり資料を作成できるよう配慮しているのも特徴である。主なユーザーは製造拠点の管理者システムを利用するのは、主に工場内の各製造拠点の管理者(現場監督)である。ユーザーは毎日の生産状況や労働状況に関するデータを入力したり、設傭の故障状況を画面上に出力してチェックする。メニューを掘り下げていけば、故障原因の履歴を出力するなど、より詳細な分析も可能だ。データを統合ソフトなどに渡し、ユーザー独自の分析を加えることもできる。費やした工数(人数や時間)などを入力する画面を写真3に示した。メイン・メニューで�B合格数/工数入カシステムを選択し、日付やユーザーの所属を入力すると、写真3の画面となる。ユーザーは生産ライン名、人員の数、部品の品番、操業時間などを表中に入力していく。操業時間の項目にカーソルを持っていくと、操業開始時間と・終了時間などを入力するためのウインドウ(水色)が開く。この数値を入れてやると自動的に操業時間を計算して表中に書き込む、という工夫をしている。本社工場OAシステムで使用する基本的なソフトの構成を図3に示した。図3●本社工場OAシステムの基本ソフトウエアの構成。作条件をSQL文に、RlQSIIサーバーはSQL文をDML(データ操作言語)に変換する。XEは通信ソフトユーザーが利用するアプリケーションは3種類に大別できる。第1にBASICで開発したアプリケーション、第2に表計算などのパッケージ・ソフト、第3にIDL�Uで開発したACOS上のアプリケーションである。IDL�UアプリケーションはETOS52GというACOSの端末エミュレータを使って利用する。MS-DOSモードに戻ることなく、ファンクション・キーによってBASICプログラム、パッケージ・ソフト、IDL�Uプログラムを切り替えて使用できる。ACOS上のRIQS�Uサーバー、それにCOM-XEという3つのソフトが機能する。PC-RDBサーバーは、RDBの表の操作条件をRDB用検索言語であるSQL文に変換する。読み出したりディスクに書き込んだりするための言語、DML(データ操作言語)に変換する。写真4●独自開発したソフトQponRDBでパソコンからサーバーのRDB、RIQS�Uを検索する(a)。検索条件(年月、生産ラインなど)やソート条件(日付の昇降順など)を入力するだけで、RlQS�Uのデータをパソコン上に読み込める(b)以下では、データの検索や加工の柔軟性を高めるツールについて述べよう。次に、データを多面的に分析していく手法の例を紹介する。エンドユーザーが自分達で開発したツールの中でも、特に有用なのが前述したQpon-RDBである。検索したデータを各種のパッケージ・ソフト用データに変換できる機能を持っている。サーバーRDBの汎用検索ツールである(117ぺ一ジの写真4)。写真4(a)は検索条件などを入力する画面である。表示するよう指示している(「取込指定」)。検索条件は、「年月」が199202(1992年2月)、「(生産)ライン」が1である。「日」や「直」を昇順で表示するよう、ソート条件も入力した。「直」は昼間か夜間かを示す。これらの条件で検索を実行したのが写真4(b)である。検索手順を自動的にBASICプログラムに変換するソフトも開発した。写真4の条件で検索した時に自動生成したプログラムの一部を117ぺ一ジの図4に示した。図4●写真4(a)の条件でRDBを検索した時に自動生成したBASlCのプログラム。中にSQL文を文字例として組み込むのが特徴(下の例では5000行以降)。lNTO:AK、:AJ,:Al,:AH,:AG,:AF,:AE,:AD,:AC,:AB.:AA"5140SQL$(1)=""....................................................................................................................プログラムの1360行で呼んでいるサブルーチンRDBSUBはアセンブラで書かれている。これはSQL文をパソコンからサーバーRDBに渡してやるためのものである。5000行目以降では、検索条件を示すSQL文をBASICプログラム中に文字列として組み込んでいる。RDBSUBは、メモリー上に展開されているSQL文を読み出し、RDBに投げてやる。プログラムに名前を付けて登録しておけば、何度でも同じ条件で検索できる。このプログラムをさらに汎用的なものにする機能も開発した。これを登録して実行すると、年月以外の条件は前と同じで、年月のみをユーザーに尋ねてくるプログラムにすることができる。パッケージ・ソフトで即座に加工このツールを使って検索したデータは、簡単にパッケージ・ソフト用のデータに変換して、加工することができる。MS-DOSに戻って、そのソフトを立ち上げる必要はない。システムの使い勝手を考える上で、この機能は特に重要なものだ。サーバーRDBのデータを検索した後、画面下のファンクション・キー群の中から「市販AP」を選ぶと、いくつかのパッケージ・ソフトの名前が表示される。ワープロの新松、データベースのPC-PALスーパーの4種類である(図5)。●ACOS3300のRDB、RlQS�UIからパソコン用簡易ソフトなどへのデータ変換。したソフトQPon-RDBやQPonDiskで実行する。ドッドウェルB・M・SのBM一サザンと呼ぶソフトの導入も検討している。これはQpon-RDBと同様に、RDBのデータをパッケージ・ソフト用データに変換する機能を持っている。Lotus1-2-3のほか、Qpon-RDBでは扱えない表計算ソフトの桐やMultiplanのデータに変換できる。他のいずれのデータに変換することも可能だ。実際の業務に沿って、データを多面的に分析する例を紹介する。メイン・メニュー�Bの保全システムによる設備故障の分析である(119ぺ一ジ写真5)。写真5●保全システムによる設備榔章の分析の例。91年12月度に故障の多かった設備(機番)の一覧から、ある設備(SP-3719)を選んで故障履歴を表示した(a)。これをグラフ化したのが(b)。故障の内容も詳細に分析できる(c)写真5(a)は、9!年12月に故障の多かった設備を、故障件数の順に列記した一覧表(青色の部分)である。各設備の故障履歴も同一画面上に表示できる。写真の例ではNO.3の設備(緑色の文字に変わっている)に注目して、過去1年の月別の故障履歴を表示している(白色の部分)。停止時間の月別履歴をグラフ化して表示する(写真5(b))。パッケージ・ソフトを利用しなくても、このような簡単なグラフ化機能はメニューの各所に用意されている。写真5(c)はNO.3の設備の故障内容の履歴を示している(青色の部分)。詳しい故障内容を表示した(オレンジ色の部分)。このように、ユーザーの思考の流れに沿って多面的に分析を進めていけるような画面構成を考慮している。本社工場OAシステムには、エンドユーザー自身が管理し保守するシステムゆえの工夫が施されている。その仕組みを紹介しよう。これまでは、新しいプログラムを開発するとフロッピ・ディスクに入れて、担当者がパソコンを巡回しながらインストーノレしていた。パソコンの数は現在約90台で、今後も増えていくことを考えると、その負荷は大きい。そこで、パソコンがサーバーから新しいプログラムを自動的にダウンロードする方法を採用した(図6)。図8●新たに開発・修正したプログラムをパソコンにダウンロードする際、パソコン側が取りに行く方式を採用した(a)。一般的な方法ホストからプログラムを一方的に配信すると、パソコンの電源が切られていたり、他のプログラムを実行中の場合、失敗する。[c]のみをダウンロードする。パソコンO02はダウンロードしない新しいプログラムはパソコン側が取りに行く新規に開発したプログラムや既存のプログラムに修正を加えたものは、まずサーバーに登録される。普通は、サーバーが定期的に信号を発して各パソコンの状態を調べ、プログラムを送信するという方法をとる。LAN上の通信のオーバー・ヘッドも問題になる。そこでこれとは逆に、ユーザーがパソコンの電源を入れると、サーバーに信号を送って新しいプログラムをダウンロードするという方式を採用した。すれば、ユーザーは常に最新のプログラムを利用することができる。エンドユーザーの発想だからこそ開発できた管理ツールといえよう。比較し、効率的に未登録のプログラムのみをダウンロードするように工夫している(113ぺ一ジの写真1を参照)。アクセス権の管理はサーバー側でRDBの表定義でユーザーを指定最後にセキュリティの問題に触れておこう。本杜工場OAシステムでは、パソコンからサーバーRDBのデータを検索できるだけでなく、データを書き換えたり、追加することも許している。「エンドユーザー・コンピューテイングと言うからには、ユーザーにいじられて困るデータはない、というのが基本的な考え方」(宮本次長)だ。してもデータの書き込みを制限する必要がある場合は、サーバーRDBの表を定義する時にアクセス可能なユーザー・コードを指定することで対処している。トヨタの情報システムに対する取り組み方を説明してほしい。以前のシステム部門は、エンドユーザーの要望を聞いてそれに答えるだけの受け身の存在だった。それではいけないという反省から、全社の中での情報システムの位置づけを明確にし、システム化の優先順位や、予算、人員などを決定するCIS企画部を設立した。基本的には情報システムの開発はCIS企画部の計画に従って行う。今回の本社工場のようにエンドユーザーが自分達でシステムを開発したいという意向にはできる限り答えていくつもりだ。ユーザー自身がやる気になってくれないシステムはうまく機能しないからだ。エンドユーザー自身がシステムを開発するメリットは何か。私も元はユーザー部門に在籍していた。当時の経験から言えることだがシステム部門から情報システムの導入に伴って業務改善を指示されると、どうも高圧的な感じを受けて素直に聞けないことが多い。ところがユーザーか自分達でシステムを開発すると、自発的に仕事の仕組みを整理してコンピュータを上手に使いこなそう、という意識が生まれる。これからの情報システムの課題は何か。全社ホスト、部門コンピュータ、パソコンのそれぞれにどのようなデータを載せたらよいか、というデータの切り分けの問題がある。全杜ホストは必ずしも全工場の人事や経理に関するデータを持つ必要はないという考え方もある。データベースの整備はCIS企画部にとって大きな課題だ。教育についての課題も多い。システム部門では以前から大型機の教育を実施しているが、パソコンや、中型機とパソコンとのインタフェースに関する教育が遅れており、今年から始める計画だ。エンドユーザーの中にシステム化を推進するための核となる人物を育てる教育も必要。情報システム部の人員も限られており、ユーザーの要求に答えきれなくなってきたからだ。