イントロダクション

ここでは、ECHOPFの基本的なアーキテクチャについて解説します。

プラグイン

ECHOPFでは、様々なアプリケーションを構成する機能をプラグインとして提供しています。

サイトマップ

ページをツリー状に蓄積し、サイトマップを構成するプラグインです。 基本的なWebサイトを構築するのに使用します。

ブログ

ニュースや新着情報といった日々追加される記事データを蓄積できるプラグインです。新着順に記事を表示したり、絞り込み検索といった機能を提供します。

データベース

商品情報などの時系列とは無関係なレコードデータを蓄積できるプラグインです。様々な切り口でレコードを検索・抽出することができます。

メールフォーム

訪問者からの問い合わせなどを受け付けるメールフォームを提供するプラグインです。

メンバー

会員の登録・管理、ログイン機能を提供するプラグインです。データへのアクセスをメンバー毎に制限できるアクセスコントロール(ACL)機能も含まれています。

EC

ショッピングカートと在庫・注文情報の管理機能を提供するプラグインです。 商品情報の蓄積と表現は、データベースプラグインが担当します。

インスタンス

前述のプラグインは、機能のみが定義された雛形のようなものであり、そのままの状態で使用することはできません。
実際にサイトアカウント内で使用するには、インスタンスを生成する必要があります。

ECHOPFでは、目的のアプリケーションを実現するのに必要なだけのインスタンスを生成し、
それらを組み合わせて構築作業を進めていきます。

下図のように、同じプラグインから複数のインスタンスを生成することもでき、
ブログやメールフォームの複数設置といったことも簡単に実現することができます。

インスタンス化

複数のブログを設置する場合:ブログプラグインから「新着情報インスタンス」と「イベント情報インスタンス」の2つのインスタンスを生成

このように、汎用性の高いプラグインの機能を、目的に合わせて何度でも再利用できる仕組みになっています。

インスタンスフィールド

インスタンスが受け付けるデータの構造を定義したものをインスタンスフィールドと呼びます。
インスタンスフィールドは管理画面から自由にカスタマイズが可能であり、
インスタンスを用途に応じたデータ構造に対応させることができます。

インスタンスフィールド

メールフォームプラグインから生成した「お問い合わせフォームインスタンス」と「資料請求フォームインスタンス」で、異なるフォーム項目を定義

インターフェース

ECHOPFでは、「サイトビュー」と「REST API」の2種類のインターフェースを提供しています。

サイトビュー ブラウザから閲覧・利用できるウェブサイトを提供するインターフェースです。
インスタンスの機能を、ページテンプレートを介して表現します。
REST API 独自のロジックを持ったネイティブアプリケーション向けに、
インスタンスが持つ機能への直接アクセスを可能にするインターフェースです。
2種類のインターフェース

これら2種類のインターフェースを提供することで、
ウェブサイトとネイティブアプリを、同じプラットフォーム上での実現を可能にしています。