Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea/
5 changes: 0 additions & 5 deletions .idea/misc.xml

This file was deleted.

22 changes: 22 additions & 0 deletions spec/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,28 @@ keruta はクラウドベースのバッチ処理システムであり、複数
* [keruta log](./log.md)
- ログフォーマット、ログレベル、ログストリーミングの仕様

### モジュール仕様

モジュール間の依存関係は [モジュール構成図](./module/modules.png) を参照してください。

* [kodel:core](./module/kodel_core.md)
- DI、エラーハンドリング、ログ管理を提供する汎用ライブラリのコアモジュール

* [kodel:api](./module/kodel_api.md)
- API 層でのエラーハンドリング、ログ統合、DI 統合を提供

* [ktcp:model](./module/ktcp_model.md)
- KTCP プロトコルのデータモデル定義

* [ktcp:client](./module/ktcp_client.md)
- KTCP クライアント実装(プロバイダー側)

* [ktcp:server](./module/ktcp_server.md)
- KTCP サーバー実装(タスクサーバー側)

* [ktse](./module/ktse.md)
- Ktor WebSocket を使用した KTCP サーバーエンジン

## 開発ガイドライン

- プロトコル仕様は明確で実装可能なものとする
Expand Down
15 changes: 15 additions & 0 deletions spec/module/kodel_api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# kodel:api

## 概要

API 層でのエラーハンドリング、ログ統合、DI 統合を提供するモジュール。

## 責務

- API レイヤーでのエラーハンドリング
- API レイヤーでのログ統合(リクエスト/レスポンスロギング)
- Web フレームワーク向け DI 統合

## 依存関係

- `kodel:core` - 基盤機能を利用
16 changes: 16 additions & 0 deletions spec/module/kodel_core.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# kodel:core

## 概要

DI(Dependency Injection)、エラーハンドリング、ログ管理を提供する汎用ライブラリのコアモジュール。

## 責務

- DI コンテナの提供
- 構造化エラーハンドリング
- ログ管理の基盤機能
- 共通ユーティリティ

## 依存関係

外部モジュールに依存しない
25 changes: 25 additions & 0 deletions spec/module/ktcp_client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# ktcp:client

## 概要

KTCP プロトコルのクライアント実装を提供するモジュール。プロバイダー側で使用される。

## 責務

- サーバーへのメッセージ送信
- サーバーからのメッセージ受信・処理
- 接続管理(再接続、ハートビート)
- 認証処理

## 主要機能

- タスク実行要求の受信
- タスク状態の送信
- ログストリーミング
- エラー通知
- 自動再接続
- ハートビート送信

## 依存関係

- `ktcp:model` - プロトコルメッセージモデル
26 changes: 26 additions & 0 deletions spec/module/ktcp_model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# ktcp:model

## 概要

KTCP(Keruta Task Client Protocol)プロトコルのデータモデルを定義するモジュール。

## 責務

- プロトコルメッセージのデータモデル定義
- タスク状態のエンティティ定義
- バリデーションルール定義
- シリアライズ/デシリアライズインターフェース

## メッセージタイプ

KTCP プロトコルで使用される全メッセージタイプの詳細は [KTCP 仕様](../task-client-protocol.md) を参照してください。

主要なメッセージカテゴリ:
- タスク操作(CRUD)
- タスク実行制御
- 認証とセッション管理
- 監視と診断

## 依存関係

外部モジュールに依存しない
27 changes: 27 additions & 0 deletions spec/module/ktcp_server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# ktcp:server

## 概要

KTCP プロトコルのサーバー実装を提供するモジュール。タスクサーバー(keruta-api)側で使用される。

## 責務

- クライアント接続管理
- クライアントへのメッセージ送信
- クライアントからのメッセージ受信・処理
- 認証・認可
- セッション管理

## 主要機能

- タスク実行要求の送信
- タスク状態の受信
- ログストリーミングの受信
- エラー通知の受信
- クライアント認証
- ハートビート監視
- 接続プール管理

## 依存関係

- `ktcp:model` - プロトコルメッセージモデル
37 changes: 37 additions & 0 deletions spec/module/ktse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# ktse - Keruta Task Server Engine

## 概要

KTCP サーバーの WebSocket 実装を提供するモジュール。タスクサーバーで使用される WebSocket エンジン。

## 責務

- WebSocket サーバーの具体的実装
- WebSocket 接続のライフサイクル管理
- メッセージの送受信処理
- 接続プーリング
- パフォーマンス最適化

## 主要機能

- WebSocket エンドポイント提供(`/ws/ktcp`)
- 双方向メッセージング
- 接続状態管理
- メッセージのバッチ処理
- 圧縮・最適化
- エラーハンドリング

## エンドポイント

```
ws://<host>:<port>/ws/ktcp
wss://<host>:<port>/ws/ktcp(推奨)
```

デフォルト: `ws://keruta-api:8080/ws/ktcp`

## 依存関係

- `ktcp:server` - KTCP サーバーインターフェース
- `ktcp:model` - プロトコルメッセージモデル
- 外部: Ktor WebSocket - WebSocket 通信フレームワーク
Binary file added spec/module/modules.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.