ランタイムIDE
Workbench
稼働中のシステムの内部から、アプリケーションを構築、デバッグ、チューニング。ライブデータ、コンポーネント、ロジックに直接アクセスできるブラウザベースのIDEです。
ファブリックにおける役割
稼働中のシステムの内部で構築・デバッグ
外部のIDEは、構造化されたプロジェクトやソース管理に適しています。しかし、作業の多くは稼働中のシステムのより近くから始まります。
- ストリームの確認やスキーマの探索
- クエリのテストや変換処理のレビュー
- イベントが期待どおりの結果を生まなかった原因の調査
Workbenchは、まさにこうした作業のために AmiCore に組み込まれたブラウザベースのIDEです。各ユーザーのエンタイトルメントの範囲内で、現在の環境のライブデータ、コンポーネント、ロジックに直接アクセスできます。
外部エディターでは見えないものが見えます。ライブの状態、進行中の実行、そして各プロシージャが周囲のアプリケーションとどう相互作用するかです。
機能
ブラウザで完結するツール一式
Data Modeler
データへのアクセス、変換、アプリケーションへの受け渡しの方法を、視覚的に設計できます。
- データベース、ファイル、リアルタイムフィードを接続
- SQL と AmiScript でフィルタリング、結合、集計、ブレンドを行い、再利用可能なデータモデルを作成
- リアルタイムのデータモデルを含め、あらゆるダッシュボードコンポーネントの背後にあるデータを編集
単なるデータベースの図ではありません。ソースデータを、ユーザーが目にするすべてのテーブル、チャート、フォームに変えるライブ処理を定義します。
Debugger
AmiScript を、書いたその場所でデバッグ。
- 任意の行にブレークポイントを設定し、停止のたびに変数とコールスタックを確認
- 接続されたインスタンスでコールバックをテスト。再現環境ではなく、ライブデータやテストデータを使用
- 試行的な変更は、明示的に保存するまで一時的なまま
Database Shell
データベースとOSのコマンドを、ブラウザ上の1つのシェルで。
- なじみのあるMySQLライクな AMI SQL で、Center を照会、設定、管理
- SHOWで稼働中のオブジェクトを一覧表示、DESCRIBEで任意のオブジェクトを再構築するSQLを取得、DIAGNOSEでテーブルのメモリなどの運用情報を確認
- SSH経由のシェルコマンド。stdout、stderr、終了コードを取得
Merge Tool
複数の開発者によるレイアウトの変更を、安全に統合。
- アプリケーションの構造に沿って変更を把握
- 操作可能なツリーとして表示
- 競合は、二重に変更された要素そのものまで特定
F1 Console
稼働中の AMI Web インスタンスを管理・診断。
- アクティブなユーザー、セッション、レイアウトと、それぞれのリソース消費
- セッションの終了とヘッドレスセッションの管理
- 選択したセッション内での AmiScript の実行
活用の場
エンジニアリングプロセスを置き換えず、補完する
Workbench は、ソース管理やソフトウェア開発ライフサイクルを置き換えるのではなく、補完します。Workbench はプラットフォームを直接扱い、Visual Studio Code などのエディターは専用プラグインで接続します。その方法については、AmiScriptと3forge Pluginをご覧ください。
- 既存のDevOpsワークフローに適合する継続的インテグレーション
- すべてのモダンブラウザで一貫した機能と外観
- デバイスを問わない:構築したものは、デスクトップ、タブレット、モバイルで完全にレスポンシブ
スケールを見据えた設計
Custom Methods
ロジックを一度定義すれば、コールバック、ボタン、フォーム、データモデル、ビジュアルコンポーネント、イベントハンドラーなど、レイアウトのどこからでも呼び出せます。
- ビジネスルール、書式、検証、エンタイトルメントチェックごとに定義は1つ
- 依存するすべてのパネルやスクリプトではなく、1か所で変更
- より簡潔な AmiScriptと、よく構造化されたアプリケーションのように振る舞うレイアウト
組み込みヘルプ
開発フローに組み込まれたコンテキストガイダンス
ガイダンスは別のリファレンスではなく入力中に表示され、同じセッション内でJava、Python、SQL、3forge の金融向けネイティブ構文をカバーします。
- パラメーター、型、戻り値、使用パターンをその場で表示
- ロジックを実行するのと同じモデルに基づくため、常に環境と正確に一致
- 作業を止めてドキュメントを探す必要なし
大規模環境のパフォーマンス管理
実行をリアルタイムに観察し、ボトルネックをすばやく特定して、ユーザーや下流のワークフローに影響が及ぶ前に解消します。パフォーマンスの可視化は第一級の機能であり、実際の運用条件の下で機能します。
ランタイムの詳細な計測
実行、データアクセス、レイテンシ、スループットを全体にわたって計測します。フレームグラフによるスレッド分析で時間の使われ方を正確に把握し、遅い処理経路を的確に特定して修正できます。
高度なログビューアー
専用のビジュアライゼーションが、アプリケーションログをJVMメモリの割り当て、消費量、余力の明確な全体像に変え、自動生成される所見が分析を導きます。
エンドツーエンドのレイテンシ分析
イベントのタイムスタンプからすべての処理段階までレイテンシを相関付け、傾向、外れ値、ドリフトを浮き彫りにするライブレイアウトで表示します。
セッション単位のリソース帰属
単一のJVM内のリソース使用量を、個々のユーザーやアプリケーションに帰属させます。偏りを見つけ、重要なユーザーを保護し、スケールに応じて何が負荷を生んでいるかを把握できます。
ログメッセージやスレッドから、トリガー、負荷分散、メモリまで、エンジンのほぼあらゆる側面を追跡できます。ここでは LogViewer を紹介します。
ログメッセージストリーム
スレッドアクティビティ
トリガーイベントのタイムライン
負荷分散
JVMメモリ割り当て
キュー処理メトリクス
続きを読む
作業の場は Workbench、書かれるのは AmiScript です。
データ、ロジック、ワークフロー、プレゼンテーションを貫く1つの言語。