MIJS データ標準規格
説明資料(Ver1.0）

作成：2007 年 11 月 29 日（木）メイド・イン・ジャパン・ソフトウェア・コンソーシアム

■概要
１．目的
カスタムメイド、パッケージソフトを問わず、複数のアプリケーションを同時利用する形態が増加し、アプリケーション間の連携が重要課題となっている。
これまで、企業間取引という外部連携のための標準化の取り組みが多かったが、企業内のアプリケーション連携という内部連携は立ち遅れていた。そこで、企業内のアプリケーションが連携できるためのデータ標準規格を制定し、規格に準ずることでアプリケーション間のデータ連携ができるようにする。
【企業 A】

外部連携（EDI など）

アプリケーション【企業 B】
アプリケーション

ＡＸ

内部連携（MIJS 標準）
アプリケーション

アプリケーション

ＢＣ

図 1：外部連携と内部連携の関係
２．対象データ
アプリケーション間で連携されるデータには、日々の業務で増えてゆく「トランザクション」とあらかじめ登録しておく「マスタ」の 2 種類がある。
本規格はその両方を対象とし、多くのアプリケーションで共通に利用するデータから順番に規格化する。第一弾として次の 5 つのデータ標準を Ver1.0 として制定し、以降、順に対象範囲を広げて行く。
第一弾（Ver1.0）

第二弾（予定）【トランザクション】
・生産依頼データ
・生産実績データ
・仕訳データ【マスタ】
・社員マスタ・部門マスタ【トランザクション】
・見込データ・受注データ・売上データ【マスタ】
・取引先マスタ・商品マスタ

表 1：標準化対象データ

1

図２：MIJS データ標準規格（第一弾）の連携イメージ図(1)トランザクションデータ：「生産依頼」「生産実績」
「仕訳」
受注入力

出荷指示

受注

出荷指示

販売管理

売上出荷

仕訳出力

仕訳

払出
在庫

出力処理

受入

会計
生産依頼

生産実績
仕訳入力
AD

連携アダプタ

生産依頼【標準規格】

ADAD

仕訳【標準規格】

生産実績【標準規格】
ADAD
製造指図

AD

仕訳

AD

生産管理

製造報告
工場出荷
出力処理

製造指図

製造

製造実績

仕訳出力

2

仕訳

(2)マスタデータ：
「社員」
「部門」
社員登録

アプリケーションＢ

社員アプリケーションＡ
部門登録
社員登録
AD

社員連携アダプタ
社員AD

AD

部門登録
部門連携アダプタ部門

部門

社員【標準規格】

AD

社員登録

AD
部門
【標準規格】

社員
AD

部門登録

部門

3

アプリケーションＣ

３．規格化の対象
アプリケーション間でデータを連携するために取り決める仕様には、①デー
タ構造、②データインターフェース、③連携プロセスの３種類がある。
データ構造とはデータ項目の定義情報である。たとえば社員データの場合はそこに含まれる社員コード、姓、名、部門コードなどの項目をデータ型、サイズなども含めて定義する。データインターフェースとは、データにアクセスするためのインターフェース仕様に関するもので XML 定義などが含まれる。連携プロセスは、データ送信のタイミング（自動/手動）や送信方向（単方向/双方向）などを定義するものである。
本規格 Ver1.0 では、この中から最も基本となるデータ構造に関する標準仕様を定める。データインターフェースや連携プロセスは規定せず、どのような手段を用いても良いものとする。ただし、連携の容易性を考慮してデータ構造の標準規格が定まった時点で規格化を検討する予定。
①データ定義(RDBMS など)②インターフェース定義(XML など)
データインターフェース

データ構造
連携
プロセス

③プロセス定義(転送方向、トリガーなど)

図３：３種類の規格化対象

4

データ構造
連携
プロセス

４．規格の利用形態(1) 新規アプリケーション作成時
現状はデータの標準規格がないため、新規にアプリケーションを作成する際にデータ構造がばらばらになっている。今後作成するアプリケーションは、MIJS標準規格に準拠することにより、他のアプリケーションと自在にデータ連携できることになる。
(2) 既存アプリケーションの連携
既存アプリケーションは、それぞれ独自のデータ構造を持っている。そのため、アプリケーションごとにピア・トゥ・ピアでデータ連携を行うと、その組合せ数だけ連携の仕組みを作りこむ必要が生ずる。
その課題を解決する手段が MIJS 標準規格を介した連携である。各アプリケーシ
ョンが MIJS 標準規格に対応する連携アダプタを１つ用意することにより、MIJS標準に対応するだけで複数アプリケーションとの連携を実現することができる。
アプリケーションＡ

データ

アプリケーションＣ

A 用連携
アダプタ

データ

MIJS 標準規格準拠

AD

アプリケーションＢ

アプリケーションＤ

MIJS
標準規格

データ

AD

AD

B 用連携アダプタD 用連携アダプタ

図 4：標準規格を利用したｎ対ｎ連携

5

データ■MIJS データ標準規格
１．定義範囲本規格で定義するデータ構造は、一般的なデータのエンティティ構造のうち次のような事項である。
・エンティティ（テーブル）・・・（例）社員基本・アトリビュート（項目） ・・・（例）姓・データ型
・・・（例）NVARCHAR
・データサイズ・・・（例）10
エンティティ（テーブル）

データ型（サイズ）

アトリビュート（項目）

図５：標準規格で定義するデータ項目
２．標準 SQL 規格準拠
データ型は ISO の SQL 標準規格（SQL99）に準拠して定義している。RDBMS により次のような関連となっているので、適用する RDBMS に対応したデータ型を使用する。
型

SQL 標準文字列

NVARCHAR

数値
日付

データタイプOracleSQL Server

DB2

可変長文字列（各国語文字） NVARCHAR2

NVARCHARVARCHAR

DECIMAL

真数（有効数字と位取り）

NUMBER

DECIMAL

DECIMALDATE

日付

DATE

DATETIME

DATE

表２：ISO 標準 SQL と Oracle/SQL Server/DB2 のデータ型対比（例）6■データ構造の説明
データ構造については、別紙「MIJS 標準規格データ定義書」に詳細を示す。
以下、データ構造について説明する
1.基本的な考え方(1) 細分化して値を持つ
標準データは、基本的に細分化してデータを持つ。たとえば社員の名前をデータとして管理する場合、「名前」という１つの値で保有するのではなく、「姓」と「名」で分けてデータを持つ。これは、細分化していた方が連携の際のデータ変換が容易になるためである。
たとえば連携先のアプリケーションが「姓」＋「名」に分割して値を保有していた場合、標準データが「名前」という統合した項目で管理しているとデータをどこで分割してよいか判断がつかない。逆に連携先が「名前」で標準データが「姓」と「名」であれば、「姓」と「名」を連結してデータ転送すればよい。
(2) ログ情報
各エンティティには、「作成者」「作成日時」「更新者」「更新日時」という 4つのログ項目を持つ。これはデータの作成・更新におけるログを記録し、アクセスの証跡を残すものである。このようなデータ上にログを記録する方法のほかに、データアクセスに関するログデータを別エンティティに保存する方法もあるが、必要に応じて併用することを想定している（標準 Ver1.0 では規定していない）。
２．マスタデータ(1)社員データの基本と拡張、履歴の分離
社員データには、業務の担当者（指示者、実行者など）としての項目と社員の人事情報の項目がある。また、人事情報には、現在情報と履歴情報がある。
さらに人事情報には口座情報およびログイン情報という機密情報がある。
これらの役割別にエンティティを分割し、社員基本と社員拡張、社員履歴、社員口座、そしてログインの５つのエンティティに分割している。ほとんどのア
プリケーションは、業務の担当者特定の目的で社員データを保有しているため、社員基本データの連携だけで対応できる。
(2)社員の複数部門兼務対応
社員と部門が多対多の関係、つまり１人の社員が複数部門を兼務できる構造としている。そのため、「社員基本」と「部門」の間に連結用のエンティティ「社員_部門」をはさんでいる。
(3)部門の組織変更対応
部門は、組織変更を考慮して履歴型でデータを管理している。そのためアイ

7デンティファイアー（主キー）に適用開始日という項目が加わっている。
(4) 部門の階層化
部門は階層数の制限のない階層構造としている。そのため、上位部門と自部門の階層という項目が管理されている。
(5) 論理削除
社員基本データおよび部門データは、論理削除に対応している。そのため、それぞれのエンティティ内に「無効フラグ」というアトリビュートを用意している。

３．トランザクションデータ
(1)仕訳データ
仕訳データは、伝票と明細行のほかに貸借区分もアイデンティファイアー（主キー）項目としている。つまり借方で１レコード、貨方で 1 レコードという形態でデータを持つ構造である。
仕訳データの構造としては、明細行ごと（借方と貨方）で 1 レコードという形式も多い。そのようなアプリケーションから標準規格にデータ連携する際は、レコード数が 1 対 2 になるので、借方と貨方の２回に分けてデータ更新する必要がある。
(2)トランザクションデータで使用するマスタデータ
トランザクションデータで使用するマスタデータ（勘定科目コードや品目コードなど）は、基本的に各アプリケーションで共通化されているものと想定している。本バージョンで社員と部門を標準設定したが、それ以外のマスタデータについては以降のバージョンで順次標準化するものとしている。

8

図６：MIJS データ標準規格のエンティティ構造（1）マスタデータ（社員関連および部門関連）

9

(2) トランザクションデータ（仕訳、生産依頼・生産報告）10