Getting Started - Magic Software DEVNET Japan - Magic Software ...
Getting Started - Magic Software DEVNET Japan - Magic Software ...
Getting Started - Magic Software DEVNET Japan - Magic Software ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
第 9 章 - アプリケーションエンジンのコンセプト<br />
1 . はじめに<br />
<strong>Magic</strong> エンジンは、 開 発 者 とエンドユーザの 双 方 に 使 いやすいデータ 操 作 環 境 を 実 現 する <strong>Magic</strong> uniPaaS の、 中 心 的 な 処 理<br />
実 行 モジュールです。<br />
本 章 では、この <strong>Magic</strong> エンジンがどのような 手 順 で 処 理 を 実 行 するのかについて 学 ぶことで、より 良 いプロジェクトプログ<br />
ラムを 開 発 できるようになることを 目 標 としています。<br />
<strong>Magic</strong> エンジンでは、 他 のアプリケーション 開 発 ツールと 異 なり、ファイルをオープンし、データソースからレコードを 読<br />
み 込 み、ソートして、さらに 必 要 なアクションを 実 行 するなど、プログラム 実 行 に 必 要 な 多 くの 処 理 が 自 動 的 に 実 行 されま<br />
す。このようなプログラム 実 行 に 必 要 な 機 能 が <strong>Magic</strong> エンジン 内 にあらかじめ 豊 富 に 組 込 まれているために、アプリケーショ<br />
ン 開 発 者 は 開 発 時 間 を 大 きく 削 減 することができます。<br />
<strong>Magic</strong> uniPaaS では 上 記 のような 機 能 をロジックユニットと 呼 ばれる 実 行 単 位 として 定 義 し、その 中 でコマンドを 複 数 組 合<br />
わせることで 処 理 を 実 現 します。 開 発 者 は 実 行 するコマンドの 種 類 と 実 行 タイミング 等 を 指 定 できますが、 実 行 に 際 しては<br />
<strong>Magic</strong> エンジンがどのロジックユニットが 実 行 されるべきかを 判 断 し、コマンドの 実 行 を 制 御 します。<strong>Magic</strong> エンジンによっ<br />
て 実 行 が 管 理 される <strong>Magic</strong> uniPaaS の 組 込 みロジックユニットの 多 くは、 開 発 者 やエンドユーザがその 実 行 を 制 御 できないた<br />
め、これらの 組 込 みロジックユニットの 挙 動 を 理 解 することは 大 変 重 要 で、その 動 作 の 仕 組 みを 踏 まえてプログラム 開 発 を 行<br />
うことにより、さらに 効 率 のよい 開 発 作 業 を 実 現 できるようになります。<br />
次 ページ 以 降 で、<strong>Magic</strong> エンジンのコンセプト 全 般 について 説 明 します。<br />
2 . イベントドリブンの 考 え 方<br />
<strong>Magic</strong> エンジンの 本 質 はイベントドリブン 制 御 です。つまり、<strong>Magic</strong> エンジンはタスク 実 行 中 に 発 動 されるさまざまなイベ<br />
ントに 呼 応 して、 対 応 する 処 理 を 行 います。イベントドリブン 型 のプログラミングでは、ある 事 象 を 想 定 し、その 発 生 により<br />
オンデマンドで 実 行 される 処 理 コードを、 事 象 ごとに 記 述 して 行 きます。プログラム 開 発 者 はある 処 理 が 実 行 された 後 、 次 に<br />
どの 処 理 が 実 行 されるかについては 知 ることがありません。<br />
イベントドリブンの 考 え 方 には 三 つの 要 素 があります。すなわち、イベント,イベントトリガ,そしてイベントハンドラです。<br />
イベント<br />
イベントはある 出 来 事 の 論 理 的 定 義 です。 別 の 言 い 方 をすれば、イベントはフラグであり、<strong>Magic</strong> uniPaaS に 対 して 何 か 処<br />
理 をしなければならない 状 態 にあることを 告 げるものです。イベントは <strong>Magic</strong> uniPaaS に 組 込 みのものであったり、 開 発 者 に<br />
よって 定 義 されるユーザイベントであったりします。<br />
イベントトリガ<br />
イベントの 発 動 に 関 する 手 続 き 的 な 処 理 というものはないため、イベントが 発 動 されたことを 判 断 するための 条 件 が 必 要 に<br />
なり、それをトリガと 呼 びます。トリガには、たとえば <strong>Magic</strong> uniPaaS に 内 部 定 義 されているものや、 開 発 者 が 定 義 するもの、<br />
エンドユーザアクションによるものなどがあります。<br />
イベントハンドラ<br />
イベントに 対 応 する 実 際 の 処 理 は、<strong>Magic</strong> uniPaaS ではハンドラとして 定 義 されます。イベントのトリガが 成 立 したときに<br />
処 理 が 実 行 されるためには、イベントに 対 応 するハンドラが 定 義 されていなければなりません。ハンドラは 通 常 複 数 のコマン<br />
ドの 組 合 わせで 定 義 されます。ハンドラには、<strong>Magic</strong> uniPaaS 組 込 みのものと 開 発 者 によって 定 義 されるものとがあります。<br />
3 . タスク<br />
<strong>Magic</strong> uniPaaS の 基 本 的 オブジェクトは[タスク]です。 一 つ 以 上 のタスクの 集 まりがプログラムを 構 成 します。タスクは<br />
必 ず 明 確 な 始 まりと 終 わりがあるデータ 処 理 の 手 続 きであり、エンドユーザとの 対 話 の 有 無 を 含 め、 一 連 のコマンドの 処 理 に<br />
よって 機 能 を 実 現 しています。このタスクの 実 行 プロセスはタスクのメインソースとタスクタイプによって 基 本 的 な 定 義 が 行<br />
われます。<br />
したがってプログラム 作 成 においては、まずはじめにタスクのメインソースとタスクタイプの 定 義 を 行 います。<br />
メインソース<br />
多 くの 場 合 、<strong>Magic</strong> エンジンはタスクメインソースのレコードをループして 処 理 を 行 います。<br />
136 <strong>Getting</strong> <strong>Started</strong><br />
<strong>Magic</strong> uniPaaS V1Plus