前提条件:
GeneXus アプリケーションを SAP Cloud Foundry にデプロイするには、次の手順に従います:
- Cloud Foundry の設定
- データストアの設定
- アプリケーションのデプロイ
SAP Cloud Foundry の試用版にログインします (アカウントがない場合は作成する必要があります)。ログインしたら、 [ trial ] を選択します:
次に示すように、dev スペースを選択します:
左側のメニューで [ Services ] > [ Service Marketplace ] を選択します。次に、検索ボックスで HANA を検索し、 [ SAP HANA Cloud ] を選択します:
次のステップではサービスの新しいインスタンスを作成します。そこで、 [ Instances ] を選択し、 [ New Instance ] ボタンをクリックします:
ポップアップウィザードが開き、SAP HANA Cloud のインスタンスを管理する場合はリンクから対応するよう指示されるので、そのリンクをクリックします。
新しいページにリダイレクトされ、ログインするアカウントを選択するよう求められます。
ログインするかアカウントを選択して続行します。
SAP HANA Cloud Central がロードされるので、このページで [ Create ] を選択します。
作成する新しい HANA データベースを設定するウィザードが開きます。
最初の手順で、 [ SAP HANA Cloud, SAP HANA Database ] を選択し、次の手順に進みます。
この次の手順では、HANA インスタンスの名前と DBADMIN のパスワードを設定します (
後で使用するため、このパスワードは保存しておいてください)。
これらのプロパティを設定したら、次の手順に進みます。
この手順では、データベースに割り当てられる容量を設定します (既定では 120 GB)。
これを設定したら (既定値を変更する場合)、次の手順に進みます。
4 番目の手順では、ウィザードでレプリカを設定しますが、この機能は試用版インスタンスでは利用できません。
5 番目の最後の手順に進みます。
この手順では、このデータベースへのアクセスについて設定します。GeneXus からこのデータベースにアクセスできるように、 [
Allow all IP addresses ] を選択する必要があります。
この最後の手順の後で、 [ Create Now ] を選択します。データベースの作成中、SAP BTP Cockpit の [ Service Instances ] に移動します。
ここに、新しいデータベースがインスタンスとして表示されます。3 つのドットを選択し、 [ Create Service Key ] を選択します:
サービスキーを作成するポップアップが開きます。サービスキーに任意の名前を指定し、 [ Create ] を選択します:
サービスキーが作成されたら JSON を保存します。GeneXus でデータベースを設定する際にこの JSON が必要になります。
HANA Cloud を使用するには、
データストアを設定する必要があります。これを行うには、
ナレッジベースの設定に移動し、展開する
環境を選択します。目的の
データストアを選択し、次のプロパティを設定します。値は、サービスキーから取得した JSON にあります:
Use Custom JDBC URL = True
Use Custom JDBC URL = JSON URL フィールド (validateCertificate パラメーターは false に設定する必要があります。例: jdbc:sap://ad72c-43e5-b2ea-39c60bbcc1be.hana.trial-us10.hanacloud.ondemand.com:443?encrypt=true&validateCertificate=false)
User Id = DBADMIN
Password = 作成した DBADMIN のパスワードです。
Database Schema = 使用するスキーマの名前です。
次のようになるはずです:
SAP HANA データベースと接続するには、最新の SAP HANA JDBC ドライバーを使用する必要があります。
こちらからダウンロードし、ngdbc.jar (ngdbc-2.14.10.jar など) をターゲット環境の \Web\lib フォルダにコピーします。
これにより、開発作業を PC で行っていて、SAP BTP にまだデプロイしていなくても、SAP HANA Cloud を使用してアプリケーションの作業を直接行えるようになります。
クエリをすべて実行すると、アプリケーションを SAP BTP にデプロイする準備が整います。
重要:
- [ Java platform support ] プロパティが "Java EE" に設定されており、[ JDK Directory (JAVA HOME) ] プロパティに JDK 8 ディレクトリーへのパスが設定されていることを確認してから、必要に応じてすべてリビルドする必要があります。sap_java_buildpack を使用するときの、SAP BTP の既定のバージョンは、こちらに記載されているように Java 8 です。
- 「アプリケーションをデプロイ」の「追加のファイルとディレクトリーのデプロイ」セクションで説明されているように、JDBC ドライバーファイルを含めるための参照を含める必要があります。 たとえば、gxdproj ファイルに以下を追加する必要があります:
<ItemGroup>
<AdditionalFile Include="lib\ngdbc-2.14.10.jar">
<RelativeTargetDir>WEB-INF\lib</RelativeTargetDir>
</AdditionalFile>
</ItemGroup>
次に、ngdbc-2.14.10.jar を環境の Web\lib ディレクトリーにコピーする必要があります。
アプリケーションをデプロイするには、 [ ビルド ] > [ アプリケーションをデプロイ ] を選択し、デプロイするオブジェクトを選択します。 [ ターゲット ] として SAP Cloud Platform (Cloud Foundry) を選択します。
次に、デプロイのプロパティを設定します:
[
Cloud Foundry CLI Directory ] = Cloud Foundry クライアントがインストールされているディレクトリー (例: C:\Program Files\Cloud Foundry)。
[
API Endpoint ] = Cloud Foundry アカウントがあるエンドポイント。
[
Organization Name ] = Cloud Foundry アカウントの組織名 (例: p123456789trial)。
[
Space name ] = Cloud Foundry のスペース名 (例: dev)。
[ Origin ] = ログイン時に使用する ID プロバイダーの名前を指定します。この値はオプションで、SAP BTP ID プロバイダーの設定方法に依存します。(例: ldap)
[ User ] = SAP Cloud Foundry へのログインに使用するユーザーアカウント。
[ Password ] = ユーザーのパスワード。
[
HANA Instance Name ] = 作成したサービスの名前 (例: myHANAdb)。
[
Application Name ] = アプリケーションに付ける名前。
ルートフィールドにアプリケーションのデプロイ先が示され、/servlet/com.<ナレッジベース名>.<アクセスするオブジェクト> を追加することでアクセスできます
(例: https://deploycf-wacky-klipspringer.cfapps.eu10.hana.ondemand.com/servlet/com.deploycf.fioribaseobjects.fiorilaunchpad)。