機能詳細(データソース)
トップ  > 製品・サービス  > HINOMARU  > 機能詳細(データソース)

機能詳細(データソース)

 テンプレートソースからは、データベース、XMLファイル、ウェブサービスによって提供されるデータなど、元データの違いを意識することなく、全て同じ手法で参照することができます。
 これにより、他のシステムのデータをHINOMARUにインポートすることなく、直接参照することができます。

データソースの全体像

データソースの全体像

データソース

 データソースはユーティリティの1つの種類です。
 HINOMARUのユーティリティメニューから、新規登録、プロパティ(データソースタイプによって設定項目が異なります)の編集などを行うことができます。

 さらに、検索方法やメンテナンス方法を記述したステートメントを登録することで、各種データにどのようにアクセスするかという定義をしておくことも可能です。
 この記述方法は、データベースを参照する場合はSQL、XMLの場合はXPathなどになります。一般的なクエリ言語が存在しないものは AOQL(Aoi Object Query Language)と呼ばれる特別なクエリ言語が採用されたり、それ以外の特別な記述方法になったりします。

データソースの種類

MySQL 一般的なLAMP環境などで、MySQLデータベースにアクセスするためのデータソースです。
MySQL用に最適化されているため、PDOを使うよりもはるかに効率的に処理が行われます。
SQLite MySQLデータソースと同様、SQLite専用のデータソースです。
PDO PDO(PHP Data Object)経由で様々なデータベースにアクセスするためのデータソースです。
接続可能なデータベースはPHPの設定に依存しますが、PostgreSQL、Oracle、SQLServerなどを利用することができます。
ODBC ODBC(Windows環境のみ)経由で様々なデータベースにアクセスするためのデータソースです。
Microsoft Jet SQL 用に最適化されています。
これを使うことで、例えばAccessデータベースや、EXCELシートに記述されている表形式のデータなどを参照することができます。
Text CSVファイルやTSV(タブ区切り)ファイルを参照するためのデータソースです。
XML XMLデータを参照するためのデータソースです。
サーバ上のファイルだけでなく、外部サーバのXML(RSSやXHTMLなども含む)、さらにはREST形式のウェブサービスからの応答など、様々なものに応用することができます。
POP POP3サーバを参照するためのデータソースです。
メールボックスに届いているメッセージを取り扱うことができます。
その他 随時、新しいデータソースの開発や、既存データソースのバージョンアップをしています。

ストレージ

 ストレージとは、データソースのどのフィールドをどのように参照するか、各フィールドにはどのような入力規則が適用されるか、といった入出力のインターフェースを定義するためのものです。
 1つのデータソースに、切り口が異なる複数のストレージを設定できるので、利用する場面にあわせて定義をしておくことが可能です。

 また、入出力の方法が決まるため、HINOAMRUによってデータの参照や、メンテナンスをすることができるようになります。
 つまり、ストレージの定義が完成すれば、検索画面やメンテナンス画面も同時に完成してしまうのです!

リソースとマップ

 データソース以外にも、リソースとマップというデータ構造をメンテナンスする機能と、それを利用する方法があらかじめ用意されています。
 それらはテンプレート内に記述され、サイト内のコンテンツ、共通設定、コード表示、メッセージ表などとして簡単に利用することができます。

リソース

 リソースとは、階層構造を持つデータの集まりです。
 データの各要素はオブジェクトと呼ばれ、それぞれのオブジェクトの中では、さらに階層構造や繰り返し構造を持たすことができます。

 リソースは入力規則を設定するだけで、HINOMARUの強力なメンテナンス機能を利用することができます。
 例えば、画像ファイルの登録、選択肢として他のリソースやマップを参照する、特定フィールドの選択によって他のフィールドを表示させる、など、全て入力規則を設定するだけで簡単に実現します。

 複雑なオブジェクトを定義することもでき、サイト内のコンテンツデータ(記事や製品リストなど)として応用することも可能です。
 ただし、サーバスペックにもよりますが、大量のデータを扱う場合はデータベースを利用することを検討します。リソースの参照は、実行効率が良い反面、データ量が増えた時にメモリ効率が多少悪くなる特性があります。