インターフェース仕様書の読み方

インターフェース仕様書の読み方

企業の業務システムは互いに連携しています。その連携を支えるのがインターフェースプログラムです。本番稼働した後でも、何か障害が発生した際の調査や、移行時のデータ検証には、このインターフェースに関する仕様書を読み解くことが求められます。

ただ、システム開発経験のない方にとっては、仕様書を眺めても頭に入ってこないかもしれません。これは、そもそもプログラムがどんなことをしているのか、それが仕様書でどう表現されるのかイメージがないからだと思います。

この記事では、インターフェースの仕様書を読み解くのに役立つ基礎知識を紹介します。

インターフェースとは何か

インターフェースとは

あるシステムから他のシステムへデータを連携する仕組みです。同じシステム内でデータの加工を行うプログラムも同様にインターフェースとして扱うこともできます。

装置と人間の接点として入出力を行う画面のことをユーザーインターフェースと呼びますが、ここでは、そうした画面機能とは区別し、何らかのトリガーでデータを連携する処理のことを扱います。

インターフェース仕様書に書かれる内容

インターフェースプログラムの仕様書に書かれる内容は、大きく分けると3つあります。

  1. 処理概要
  2. レイアウト定義
  3. 編集仕様

処理概要

インターフェース処理概要

※画像のサンプルフォーマットに関する説明はこちらにあります。

 

処理概要では、そのインターフェースが何の処理を行うのかを記載します。何のデータを、どこからどこへ、どんなタイミングで連携するのか。そこでどういう加工が行われるのかを記述します。

加工とは、データを特定の条件で絞り込むことや、複数のデータを結合すること、複数の項目を使った計算を行うことなどがあります。明細データをより大きな単位に集計することもあります。

少し複雑な処理になれば、インプットとプロセスとアウトプットを明記したフローチャートを記載します。これに基づいてよりコードに近い詳細設計書を作成することもあれば、このような概要レベルでそのまま開発されることもあります。

レイアウト定義

レイアウト定義サンプル

※画像のサンプルフォーマットに関する説明はこちらにあります。

 

インターフェースプログラムが受け取るデータのレイアウトです。レイアウトとは、各項目の定義(名、桁、型)と項目を並べる順番です。

また、データチェックの基礎知識でも紹介した、区切り文字や改行コード、文字コードを何にするか、ヘッダーやフッターレコードの定義もここで記載します。

編集仕様

インターフェース編集仕様サンプル

※画像のサンプルフォーマットに関する説明はこちらにあります。

 

インターフェースプログラムが受け取るデータのレイアウトから、処理が終わって相手に渡すレイアウトへの変換内容が書かれます。何の処理もなく受け渡しされる場合は、元項目と先の項目が並びます。

あるいは受け取り元のデータではなく、プログラム固有で埋め込む固定の値もあります。処理したプログラムIDや処理日などは固定値の例です。

コード値を変換する場合は、変換テーブルを用いることもあります。

01というコード値が来たら「男」という文字列に変え、02だったら「女」にする。コード値は追加することもあれば、値を変更することもあります。

その都度プログラムを変更し検証するのは手間がかかるため、変換テーブルのデータをメンテナンスする画面を用意しておいて、ユーザが更新をかけると保守が容易になります。

編集仕様に関する参考記事→インターフェース編集仕様まとめ

複数プログラムで利用できる共通機能の参考記事→インターフェース共通機能サンプル

おわりに

もう少し細かい仕様もありますが、概要は以上です。インターフェースに関する仕様を読み解き、業務やプロジェクトに役立つことをお祈りします。

▼インターフェース仕様書の詳細やサンプルを紹介する記事です。

インターフェース仕様書サンプル

バッチインターフェースを定常的に起動するにはジョブ管理ツールを用います。ジョブ管理ツールについての比較記事は以下になります。

JP1やTWSなどジョブ管理ツール比較

データ移行に関する記事もシリーズ化して揃えておりますのでよければご覧ください。

【まとめ】データ移行の仕事がわかる。解説シリーズ記事の構成

データ移行の本を書きました!(2017/11/18発売)

このブログを書いている人
電子書籍「システム導入のためのデータ移行ガイドブック」著者。 新卒から外資系コンサルティングファームに所属。15年に渡り販売物流、特にCRM領域のコンサルティングに従事。 100名を超えるプロジェクトのPMOなど全体を推進していく役回りや、ユーザ企業への出向を通じた実務経験を持つ。

このブログでは、自身がかき集めた知識や経験を共有する。クライアントへの提案やソリューション開発に直結しないガラクタのようなもの。将来再利用する自分のために。同じような悩みを抱える誰かのためにブログ「元外資系コンサルのガラクタ箱」を運営