【スキャフォールディング】

はじめに

本ページは、REST-API サーバー開発環境におけるスキャフォールディング機能のハブとして、各カテゴリの生成コマンドと関連ドキュメントへの導線をまとめたものです。

craft / runtime / simple の 3 種類のカテゴリは REST-API のメイン処理に直接関わるものではなく、Parallel クラス実装時に各モジュール(SocketManager / RuntimeManager / SimpleSocket)を構築するための生成手段として利用されます。
そのため本ページでは、これら 3 カテゴリは一覧レベルで軽く触れ、REST-API と密接に関わるcustom カテゴリのコマンドを中心に詳しく説明します。

スキャフォールディングは、REST-API サーバー開発に必要なクラスや設定ファイルを自動生成し、プロジェクト構築を効率化するための重要な仕組みです。

main カテゴリ

サーバーのエントリポインントとなるカテゴリです。
この REST-API サーバー開発環境では、以下二つのサンプルサーバーがビルトインされています。

app:event-handler-sample … イベントハンドラタイプのサンプルサーバー
app:state-machine-sample … ステートマシンタイプのサンプルサーバー

craft カテゴリ(SocketManager 用)

REST-API に直接関わるものではなく、Parallel クラス実装時に SocketManager モジュールを構築するための生成コマンドです。

craft:init <初期化クラス名>
craft:parameter <UNITパラメータクラス名>
craft:protocol <プロトコルUNIT定義のクラス名>
craft:command <コマンドUNIT定義のクラス名>
craft:main <メイン処理のクラス名>
craft:setting <設定ファイル名>
craft:locale <メッセージファイル名>

モジュール構築に必要な初期化クラスや各 UNIT クラスの作成方法は ▶フレームワークのご紹介 の IMPLEMENT カテゴリのページを参照してください。

runtime カテゴリ(RuntimeManager 用)

REST-API に直接関わるものではなく、Parallel クラス実装時に RuntimeManager モジュールを構築するための生成コマンドです。

runtime:init <初期化クラス名>
runtime:parameter <UNITパラメータクラス名>
runtime:units <ランタイムUNIT定義のクラス名>
runtime:main <メイン処理のクラス名>

モジュール構築に必要な初期化クラスや各 UNIT クラスの作成方法は ▶RuntimeManagerのご紹介 の IMPLEMENT カテゴリのページを参照してください。

simple カテゴリ(SimpleSocket 用)

REST-API に直接関わるものではなく、Parallel クラス実装時に SimpleSocket モジュールを構築するための生成コマンドです。

simple:tcp-server <メイン処理のクラス名>
simple:tcp-client <メイン処理のクラス名>
simple:udp <メイン処理のクラス名>

モジュール構築に必要な作成方法は ▶シンプルソケット機能 を参照してください。

custom カテゴリ(REST-API と密接に関わる拡張用)

custom カテゴリは、REST-API サーバーの構成要素を直接生成するためのコマンド群であり、REST-API のメイン処理、コンテキスト、パーサー、設定ファイル、Parallel クラスなど、REST-API サーバーの動作に直結する重要なクラスを生成します。

custom カテゴリで利用できる各コマンドは、SOCKET-MANAGER Framework の ▶カスタムコマンド作成機能 によって提供される仕組みを基盤としており、独自のクラス生成処理を柔軟に追加できるようになっています。

以下では、各コマンドの役割と、関連する実装ページへのリンクを示します。

● custom:context <カスタム名>

REST-API のコンテキストクラスを生成します。アプリケーション固有の状態管理や依存情報を保持する中心的なクラスです。
関連ページ:▶コンテキストクラス実装

● custom:event-handler <カスタム名>

イベントハンドラ型 REST-API 実装で利用するイベント処理クラスを生成します。
関連ページ:▶イベントハンドラ型実装

● custom:main <カスタム名>

REST-API のメイン処理クラスを生成します。ルーティングやイベントループ統合の中心となるクラスです。
関連ページ:▶メイン処理クラス実装

● custom:parallel-runtime-manager <カスタム名>

RuntimeManager を利用した Parallel クラスを生成します。REST-API と常駐処理を並行実行する際に利用します。
関連ページ:▶Parallelクラス実装(RuntimeManager)

● custom:parallel-simple-socket <カスタム名>

SimpleSocket を利用した Parallel クラスを生成します。軽量な TCP/UDP 通信を REST-API と並行実行する際に利用します。
関連ページ:▶Parallelクラス実装(SimpleSocket)

● custom:parallel-socket-manager <カスタム名>

SocketManager を利用した Parallel クラスを生成します。高度なプロトコル処理やステートマシンを REST-API と並行実行する際に利用します。
関連ページ:▶Parallelクラス実装(SocketManager)

● custom:parser <カスタム名>

REST-API のパーサークラスを生成します。リクエスト解析や入力検証の中心となるクラスです。
関連ページ:▶パーサークラス実装

● custom:setting-cors <カスタム名>

CORS 設定ファイルを生成します。
関連ページ:▶CORS 設定

● custom:setting-parameter <カスタム名>

REST-API の基本パラメータ設定ファイルを生成します。
関連ページ:▶基本パラメータ設定

● custom:setting-parser <カスタム名>

パーサー設定ファイルを生成します。
関連ページ:▶パーサー設定

● custom:setting-routing <カスタム名>

ルーティング設定ファイルを生成します。
関連ページ:▶ルート設定

● custom:state-machine <カスタム名>

ステートマシン型 REST-API 実装で利用するステートマシンクラスを生成します。
関連ページ:▶ステートマシン型実装

おわりに

スキャフォールディングは、REST-API サーバー開発を効率化するための重要な仕組みです。
本ページを起点として必要なクラスや設定ファイルを生成し、上記紹介した各実装ページを参照しながらプロジェクトを構築していってください。