企業の業務システムは互いに連携しています。その連携を支えるのがインターフェースプログラムです。本番稼働した後でも、何か障害が発生した際の調査や、移行時のデータ検証には、このインターフェースに関する仕様書を読み解くことが求められます。
ただ、システム開発経験のない方にとっては、仕様書を眺めても頭に入ってこないかもしれません。これは、そもそもプログラムがどんなことをしているのか、それが仕様書でどう表現されるのかイメージがないからだと思います。
この記事では、インターフェースの仕様書を読み解くのに役立つ基礎知識を紹介します。
インターフェースとは何か
あるシステムから他のシステムへデータを連携する仕組みです。同じシステム内でデータの加工を行うプログラムも同様にインターフェースとして扱うこともできます。
装置と人間の接点として入出力を行う画面のことをユーザーインターフェースと呼びますが、ここでは、そうした画面機能とは区別し、何らかのトリガーでデータを連携する処理のことを扱います。
インターフェース仕様書に書かれる内容
インターフェースプログラムの仕様書に書かれる内容は、大きく分けると3つあります。
- 処理概要
- レイアウト定義
- 編集仕様
処理概要
※画像のサンプルフォーマットに関する説明はこちらにあります。
処理概要では、そのインターフェースが何の処理を行うのかを記載します。何のデータを、どこからどこへ、どんなタイミングで連携するのか。そこでどういう加工が行われるのかを記述します。
加工とは、データを特定の条件で絞り込むことや、複数のデータを結合すること、複数の項目を使った計算を行うことなどがあります。明細データをより大きな単位に集計することもあります。
少し複雑な処理になれば、インプットとプロセスとアウトプットを明記したフローチャートを記載します。これに基づいてよりコードに近い詳細設計書を作成することもあれば、このような概要レベルでそのまま開発されることもあります。
レイアウト定義
※画像のサンプルフォーマットに関する説明はこちらにあります。
インターフェースプログラムが受け取るデータのレイアウトです。レイアウトとは、各項目の定義(名、桁、型)と項目を並べる順番です。
また、データチェックの基礎知識でも紹介した、区切り文字や改行コード、文字コードを何にするか、ヘッダーやフッターレコードの定義もここで記載します。
編集仕様
※画像のサンプルフォーマットに関する説明はこちらにあります。
インターフェースプログラムが受け取るデータのレイアウトから、処理が終わって相手に渡すレイアウトへの変換内容が書かれます。何の処理もなく受け渡しされる場合は、元項目と先の項目が並びます。
あるいは受け取り元のデータではなく、プログラム固有で埋め込む固定の値もあります。処理したプログラムIDや処理日などは固定値の例です。
コード値を変換する場合は、変換テーブルを用いることもあります。
01というコード値が来たら「男」という文字列に変え、02だったら「女」にする。コード値は追加することもあれば、値を変更することもあります。
その都度プログラムを変更し検証するのは手間がかかるため、変換テーブルのデータをメンテナンスする画面を用意しておいて、ユーザが更新をかけると保守が容易になります。
編集仕様に関する参考記事→インターフェース編集仕様まとめ
複数プログラムで利用できる共通機能の参考記事→インターフェース共通機能サンプル
おわりに
もう少し細かい仕様もありますが、概要は以上です。インターフェースに関する仕様を読み解き、業務やプロジェクトに役立つことをお祈りします。
▼インターフェース仕様書の詳細やサンプルを紹介する記事です。
バッチインターフェースを定常的に起動するにはジョブ管理ツールを用います。ジョブ管理ツールについての比較記事は以下になります。
データ移行に関する記事もシリーズ化して揃えておりますのでよければご覧ください。
データ移行の本を書きました!(2017/11/18発売)