C400

150. API を駆使しているソフト製品を選ぶこと

API(=Application Programming Interface) とは
IBM が提供している便利プログラムであって
IBM iのオブジェクトの解析など高度な要求を処理するための
プログラム群のことである。
_

例えばファイルに含まれているフィールドの一覧を調べるとか
ファイルのメンバー一覧を調べるといった具合である。
▼ API by Category = APIのカテゴリー一覧表
_

[解説]

これは IBM Knowledge Center の API by Category の一覧である。
APIはカテゴリー別にこれだけ多くのAPIが用意されている。
Windowsでさえも API はあって本屋に Windows の API の書籍が
ブームになった並んだことがある。
API はどの OSでもOSの中核となるプログラムのことである。
OS そのものも実は APIによって構成されており
APIはつまり OSの一部である。
それでは OS のすべてのプログラムが API であるかというと
そうではない。
OS の一部のプログラムで IBM が公開を許可したものだけ
ユーザーでも APIとして使うことができるようになっている。
APIでないOSのプログラムをユーザーが呼び出すことはできない。

参考[375.公開API とシステム・プログラムとのちがい]

_

■ API で高度な処理

APIを使うとユーティリティ・コマンドだけではできない
高度な処理を行えるようになるのでソフトウェア製品を開発するときは
API を駆使することになる。
またコマンド・ユーティリティが使える処理であっても
APIで処理すると処理速度は俄然速くなる。
これもソフトウェア製品でAPIが使われる理由である。
_

■ API は仕様を公開しているだけ

APIの解説はそのAPIのパラメータなどの仕様の説明してしていない。
APIはプロ使用しかも C言語による使用を前提としているので
サンプル・ソースなどによる説明もほとんどない。
従って実行してみて初めてその意味がわかるというのも
少なくはない。
現在のAPIの解説はすべて英文のみであるので
苦もなく英文の技術文書くらいは読みこなせる必要がある。

■ ソフトウェア開発会社にはこれくらいは必要

_

ソフトウェア開発会社特に製品を開発している会社では
APIを解析したり駆使するくらいの能力くらいは必要である。
APIを駆使することで今までにはない多くの能力を
IBM iに与えることができるようになるからである。
APIを効率よく駆使している会社の製品を選ぶべきである。

■ 最近ではオブジェクト解析も

技術が進んでくるとAPIだけでは足らなくなってくる場合がある。
また必要なAPIがIBMによって提供されていない場合がある。
そのようなときはオブジェクトを直接解析する必要がある。
オブジェクト解析が許されていないオブジェクト(=例えば *QRYDFN)
もあるが何とか解析できないことはない。
オブジェクトを直接解析することができるようになれば
そのソフト開発会社も技術力は進んでいるとみてまちがいないだろう。
_

[結論]
製品を開発しているソフトウェア開発会社より一般の情報システム室の
スタッフのほうが技術レベルが高いというのは珍しくないというか
平均すると優れた情報システム室の開発者のほうが技術レベルは
高い。
このことを考えればソフト製品を開発販売している会社であっても
情報システム室が想像するほど技術レベルは高くない場合が
多いので製品の選定は慎重に行ったほうがよい。