28.10.2014 Views

Getting Started - Magic Software DEVNET Japan - Magic Software ...

Getting Started - Magic Software DEVNET Japan - Magic Software ...

Getting Started - Magic Software DEVNET Japan - Magic Software ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!