メインコンテンツまでスキップ

Hexabase によるシステムの構成

ここでは、Hexabase アプリケーションのシステム構成について説明します。

アプリケーションのシステム構成

Hexabase は、Web システムのバックエンドを提供します。フロントエンドは、Hexabase の機能を API 呼び出しする形でスクラッチ開発できます。バックエンド拡張が必要な場合は、FaaS など を利用します。

アプリケーション構成

レイヤーフロントエンドバックエンド(Hexabase)バックエンド拡張
役割操作画面データベース定義 業務フロー定義 アクセス制御データ処理ロジック 外部連携
実装言語 実現手段JavaScript TypeScriptブラウザでの設定作業 Hexabase CLI Hexabase SDKC# Python Nodejs Java など
実装フレームワークSPA React Vue Angular---FaaS AzureFunctions AWS Lamda GCP Cloud Functions API 連携

フロントエンド開発の利用技術

Hexabase のフロントエンドは、 SPA フレームワークにより、スクラッチ開発できます。

フロントエンド技術は進化の早い領域ですが、2020 年には React・Vue.js・Angular が人気を集めています。

https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/

ReactVueAngular
採用技術Virtual DOMVirtual DOMVirtual DOM
JSX静的 HTML templates静的 HTML templates
GitHub stars159k175k67k
npm weekly downloads8,882,5621,963,4892,072,443
学習コストやや高い標準高い
フレームワークサイズ
大規模開発〇正しいコンポーネント分割が必須〇可能だが、比較的シンプルなサイト開発に向いている△ 大規模化すると複雑性が増す

ビジネスロジックの記述とバックエンド拡張

Hexabaseは、アクションに結びつく形で、ビジネスロジックとバックエンドの拡張を実装します。

バックエンド拡張方法

ActionScriptは、アクションにJavascriptのコードを割り当てる機能です。ActionScriptは、簡易的な拡張実装を目的としたもので、外部ライブラリの利用は限定的となっています。

バックエンド拡張を拡張するため外部サービスや外部APIを呼出したりバッチ処理を利用したりするには、Webhook機能を利用します。

バックエンド拡張

Hexabaseのバックエンド拡張は、以下のようなケースで利用します。

  • メール送信などの通知(Hexabase からの出力)
  • 特別な計算処理(Hexabase 内データの更新)
  • 外部システムとのデータ連携(外部から Hexabase への入力を含む)