用語の説明

業務アプリ(業務アプリケーション)

コンテキサーは、業務アプリケーションを新たに構築するためのツールであり、また既存の業務アプリケーションを実行するためのツールです。コンテキサーのプログラムの内部には、業務アプリケーションや業務固有のロジックに関する情報はなく、それらはすべて定義データとして管理されます。したがって、いわゆる業務アプリケーション・ソフトウェアとして活用するためには、コンテキサーのプログラムに加えて、業務固有の処理が定義された定義データが必要となります。コンテキサーでは、これを、業務アプリ(業務アプリケーション)と呼んでいます。コンテキサーは、この業務アプリを作ることも、業務アプリを利用して、業務を実行することもできます。あるいは、業務アプリを業務の中で利用しながら、業務アプリそのものをカイゼン、改良していくこともできます。

コンテキスト

コンテキストは、業務におけるさまざまな場面や状況に応じた情報の形式です。ある対象、例えばデスク(机)という物体があったとすると、それはオフィスの中では配置や使用者などが意識され、工場ではそのサイズや製造方法が意識され、販売店では価格や利益率や納期などが意識されます。このように、担当者の立場やデータが利用される状況に応じて定義される情報の形式をコンテキストと呼びます。コンテキサーでは、コンテキストを3種類に分けて定義しています。まず、業務を行なう当事者が、状況に応じて画面や帳票を利用するための形式をパネルコンテキストと呼びます。一方、入出力コンテキストは、CSVファイルやデータベースなど外部のデータソースの固有の事情に対応した形式です。最後に、業務ロジック固有の内部手続きにあわせた形式が作業用コンテキストです。

エンティティ

情報処理で利用するさまざまなデータは、それがおかれたコンテキストとは無関係に実在しています。コンテキストは状況に応じて変化していきますが、データは削除しないかぎり存在し、計算機によって操作可能です。コンテキサーでは、こうした具体的なデータのかたまりを、エンティティという単位で管理します。エンティティはデータの入れ物であり、コンテキストはかならず1つのエンティティをその実体として持っています。エンティティはモノやコト、あるいはそれらをまとめてあつかった何らかの意味がある単位です。データはこうしたエンティティのインスタンスとなります。業務で利用するさまざまなコンテキストは、エンティティが持つデータ項目を取捨選択して利用しているということができます。したがって、コンテキストはエンティティのビュー(見え方)ということもできます。

データ共有

一般的なデータ共有の意味とは異なり、コンテキサーでは、データ共有を「複数のコンテキストが、エンティティを介して同一のレコードを保持している状態」と定義しています。つまり、ある1つのエンティティが、2つ以上のコンテキストを持っている場合に、それぞれのコンテキストのデータは、実は共通のエンティティが持つ同じ実体を指しいている状態です。一方のコンテキストがそのデータの一部の値を変更すると、実体が同じであるために、その瞬間に他方のコンテキストが保持しているデータの該当部分が変更されます。コンテキストには、エンティティに属さない独自のデータも存在しますが、多くの部分はエンティティのデータです。したがって、同一のエンティティに属するコンテキスト間では、必然的にデータ共有が行われています。

データ連結

エンティティはデータの実体を持っているまとまりです。例えば、作業者や、機械や、作業などはエンティティと言えます。こうしたエンティティは、さまざまな関係で結ばれている場合が多く、例えば、作業に関するデータには、作業した日時とともに、作業者や、利用した機械などのデータが入力されるでしょう。あるいは、機械にはそれを製造したメーカー、作業者には所属する部署など、別のエンティティにつながっているかもしれません。このような、エンティティ間の普遍的(不変的)な構造に対応して、データ間が結びついた状態を、コンテキサーでは、データ連結と呼びます。データ連結によって、コンテキサーは、他のエンティティのデータをあたかも自分のデータのように利用できます。

データ連携(コンテキスト連携)

データ連結がエンティティ間の不変的な関係を定義するのに対して、その場、その場の一時的な関係に応じて、データを右から左へ受け渡していくような業務でのデータ操作を、データ連携と呼んでいます。データ連携は、コンテキストとコンテキストの関係として定義します。例えば、ある伝票をもとに、別の伝票の内容を更新したり、消し込んだりする業務は、データ連携の操作を行っていると言えます。データ連携の操作の結果、コンテキスト上では、レコードが追加されたり、修正または削除されたりします。つまり、レコードの絶対量が変化することになります。データ連結と異なり、データ連携先での修正は、連携元のコンテキストには反映されません。例えば、価格デーブルをもとに受注伝票を作成後、価格が修正になっても、受注伝票の単価は変更になりません。

2017年1月12日 更新