SAP HANA Development
SAP Business Application Studio 基礎:Dev Space設定とSAP HANA開発の進め方
SAP Business Application Studio(BAS)でDev Spaceを作成し、SAP HANA on-premise向けのプロジェクト開発、接続設定、SQLScriptや計算ビューの作業を進めるための実務ガイドです。
SAP Business Application Studio(BAS)は、ブラウザ上でSAPアプリケーションを開発するための統合開発環境です。SAP Web IDEで行っていたプロジェクト作成、ソース編集、ターミナル操作、デバッグ、Git連携などを、Dev Spaceという開発ワークスペースにまとめて実行できます。
SAP HANA on-premise向けの開発では、BASをブラウザ側の作業環境として使い、接続先のSAP HANAシステム、HDIコンテナ、Gitリポジトリなどを役割ごとに分けて管理します。BASそのものにデータを保存するのではなく、接続先とプロジェクトのライフサイクルを整理することが安定運用のポイントです。
BASの役割と全体構成
BASの基本単位はDev Spaceです。Dev Spaceには開発対象に合わせたテンプレートや拡張機能が入り、SAP HANA、Node.js、Java、SAP Fioriなどの作業を独立した環境で進められます。プロジェクトごとに必要なツールを選ぶことで、使わない拡張機能による起動時間や設定の複雑化を抑えられます。
SAP HANA開発の構成は、次のように考えると整理しやすくなります。
- BAS:ソースコード編集、ターミナル、Git操作
- Dev Space:開発対象に応じたツールと拡張機能の実行環境
- SAP HANA on-premise:SQL、テーブル、ビュー、プロシージャの実行先
- HDIコンテナ:アプリケーション用データベースオブジェクトの管理単位
- Gitリポジトリ:ソースコードと変更履歴の保管場所
SAP HANA開発全体の位置づけを先に確認する場合は、SAP HANA開発の全体像も参照してください。
Dev Spaceを作成する手順
BASにログインしたら、Dev Spaceの作成画面で開発対象に合うテンプレートを選択します。SAP HANAアプリケーションを作成する場合は、SAP HANA関連の開発機能を含むテンプレートを選びます。Node.jsやJavaのサービスを同じプロジェクトで扱う場合は、アプリケーションの実行環境に必要な機能も同時に有効化します。
作成時に確認する項目は次のとおりです。
- Dev Space名をプロジェクトの用途に合わせて付ける
- 開発対象に必要な拡張機能だけを選ぶ
- 利用可能なリソースと起動状態を確認する
- 作成後にDev Spaceを起動し、BASのワークスペースを開く
- Welcome画面またはコマンドパレットからサンプルや既存プロジェクトを開く
Dev Spaceを停止すると、ブラウザを閉じた後も作業環境を整理できます。長期間使わないDev Spaceは停止し、不要になったものは削除します。複数の開発対象を扱う場合は、目的ごとにDev Spaceを分けると拡張機能や接続先の混在を防げます。
プロジェクトを読み込む方法
既存プロジェクトを使う場合は、Gitリポジトリからクローンする方法と、ローカルからファイルをアップロードする方法があります。チーム開発ではGitを基準にし、BAS内のワークスペースは作業用のコピーとして扱います。
ターミナルでリポジトリを取得する場合は、次のように実行します。
git clone <repository URL>
cd <project directory>
<repository URL>や<project directory>は、実際の環境に合わせて指定します。取得後は、プロジェクト内の設定ファイル、データベース接続設定、ビルド定義を確認してから作業を始めます。
変更を保存する前に、現在のブランチと差分を確認します。
git status
git diff
BASのソース管理ビューから同じ操作を行うこともできます。認証情報や接続パスワードはソースコードへ直接記録せず、チームで定めた安全な保管方法を利用します。
SAP HANA接続を確認する
SAP HANA on-premiseへ接続する場合は、ネットワーク経路、ホスト名、ポート、ユーザー権限、暗号化設定を順に確認します。BASから接続できることと、SQL実行ユーザーが必要なデータベース権限を持つことは別の条件です。
接続情報を設定する前に、次の項目を整理します。
- 接続先のシステムまたはテナントデータベース
- SQLポートとネットワーク経路
- 開発用ユーザーと必要な権限
- TLS通信を使う場合の証明書と検証条件
- 開発、検証、本番を区別する接続名
BASのターミナルから名前解決やポート到達性を確認できます。接続テストが失敗した場合は、まずBASのDev Spaceから接続先へ到達できるかを確認し、その後に認証や権限を調べます。接続先の稼働状態やサービス状態は、SAP HANA cockpitやSAP HANA database explorerでも確認できます。
SQLの実行やコマンドライン操作を整理したい場合は、hdbsqlコマンドラインの使い方を参照してください。
SQLScriptとデータベース成果物を開発する
SAP HANA向けプロジェクトでは、テーブル、ビュー、計算ビュー、プロシージャ、関数などのデータベース成果物を、ソースとして管理します。変更を直接本番データベースへ適用するのではなく、開発用の成果物をビルドして対象環境へデプロイする流れを作ります。
計算ビューを設計する場合は、データソース、結合条件、投影列、フィルター、集計粒度を先に決めます。計算ビューの作成や設計パターンは、SAP HANA計算ビューの基礎で確認できます。
SQLScriptのプロシージャでは、入力パラメータ、出力テーブル、トランザクション境界、エラー処理を明確にします。複雑な処理を一つのプロシージャに集中させず、再利用できる単位に分割するとテストと保守がしやすくなります。実装例や実行時の確認方法は、SAP HANA SQLScriptプロシージャの実装が参考になります。
HDIベースのプロジェクトでは、データベース成果物をデプロイする対象としてコンテナを使います。開発者の作業領域、デプロイ用の技術ユーザー、アプリケーションから利用する資格情報を分離して設計します。コンテナの構成やデプロイの考え方は、SAP HANA HDIコンテナの基礎で詳しく扱っています。
ビルドとデプロイを安全に進める
デプロイ前には、プロジェクトの依存関係、接続先、ビルド設定、変更ファイルを確認します。開発用データベースでビルドが成功しても、検証環境や本番環境で同じ結果になるとは限らないため、環境ごとの設定値を分離して管理します。
実務では、次の順序で作業すると切り分けしやすくなります。
- Gitのブランチと変更差分を確認する
- ローカルまたはDev Space内で構文と依存関係を検証する
- 開発用SAP HANAまたはHDIコンテナへデプロイする
- SQL結果、権限、アプリケーションの呼び出しを確認する
- 検証環境へ移送する変更単位を確定する
- デプロイログを保存し、失敗時の原因を記録する
デプロイが失敗した場合は、ログの最後に表示されたエラーだけで判断せず、最初に発生したエラー、対象ファイル、実行ユーザー、接続先を確認します。オブジェクトの依存関係が原因の場合は、参照先の成果物が先に作成される構成になっているかを調べます。
BASで発生しやすい問題を切り分ける
Dev Spaceが起動しない場合は、起動状態、割り当てられたリソース、選択した拡張機能、ワークスペースのログを確認します。起動後にターミナルやエディターが正常に動作しない場合は、Dev Spaceを再起動し、対象プロジェクトの依存関係を再確認します。
接続エラーでは、次の順で確認します。
- 接続先ホスト名が正しい
- SQLポートへの通信が許可されている
- Dev Spaceから接続先へ名前解決できる
- ユーザーが対象データベースへログオンできる
- ユーザーに実行対象のオブジェクト権限がある
- TLS証明書の検証条件が接続設定と一致している
ビルドエラーでは、ファイル名の大文字と小文字、成果物の名前空間、依存オブジェクトの順序、未コミットの設定変更を調べます。Linux環境ではパスの大文字と小文字が区別されるため、リポジトリ内のパスと設定ファイルの記述を一致させます。
実行結果が遅い場合は、SQLの実行計画、フィルターの適用位置、結合条件、不要な列の取得、データ量を確認します。開発用データが少ない場合は、検証環境での実行計画も確認し、性能上の問題を早い段階で見つけます。
チーム運用に組み込む
BASを個人用の編集環境で終わらせず、Git、レビュー、テスト、デプロイ記録と組み合わせると、変更の追跡性が高まります。ブランチ名に対象機能や作業番号を含め、コミットメッセージには変更理由を残します。
Dev Spaceの構成はチームで標準化します。利用する拡張機能、接続設定の命名規則、ログの保存場所、デプロイ手順を文書化すると、新しいメンバーが同じ環境を再現しやすくなります。個人のワークスペースだけに存在する設定は、プロジェクト設定やチーム文書へ移します。
本番接続を開発者全員へ開放するのではなく、環境ごとに権限を分けます。開発者には開発用データベースで必要な権限を付与し、検証・本番のデプロイは承認済みのパイプラインや運用手順から実行します。
BAS導入時の実務チェックリスト
- Dev Spaceの目的と利用者を決めた
- 開発対象に必要な拡張機能を選んだ
- Gitリポジトリとブランチ運用を決めた
- SAP HANA接続先とユーザー権限を確認した
- 開発・検証・本番の設定を分離した
- デプロイ前後の確認項目を文書化した
- エラーログと変更履歴の保管場所を決めた
- 不要なDev Spaceを停止または削除する運用を決めた
BASは、エディターだけでなく、ターミナル、Git、ビルド、テスト、デプロイを一つのブラウザ環境で扱える点に強みがあります。SAP HANA on-premise開発では、接続先の管理、権限分離、成果物のソース管理、環境別デプロイを最初に整えると、日常のトラブル対応とチーム開発を安定させられます。