PowerServer が生まれ変わります
こんにちは、サポート部の Yama-chan です。待ちに待った PowerBuilder 2022 R3 の日本語版が 2024 年 7 月 1 日にリリースされ、同時に PowerServer 2022 R3 (日本語版) もリリースされました。今までの PowerServer とまったく違う新しい仕組みの PowerServer となります。今回のブログでは PowerServer の基本的な使い方について、ご紹介します。
なお、PowerBuilder 2022 R3 日本語版のリリースに伴い、追加・修正して 2024/10/1 に再公開しています。
はじめに
PowerServer は、バージョン 2021 (英語版)から仕様が大きく変わりました。2020 以前のバージョンでは、アプリケーション全体が JavaScript ベースの Web アプリに変換されていましたが、新しい PowerServer では、データベースアクセス部分が自動的に .NET ベースの Web API に変換されます。一方、UI やロジックといったその他の部分は PowerBuilder の機能がそのまま利用され、クラウドから配布可能なクラウドデスクトップアプリとして提供されます。
主な特徴は以下の通りです。
初回のみ | ブラウザーからサーバにアクセスし、専用のランチャーをインストールします。 |
ランチャーからの実行 | インストールされたランチャーからアプリを実行します。アプリの更新があった場合、ランチャー経由で自動的に最新バージョンに更新されます。 |
PowerScript の継続利用 | UI はもちろん、ロジック部分も PowerScript をそのまま利用できるため、変換に伴う非サポート機能が少なく、既存のアプリケーションをスムーズに移行できます。 |
以下では、PowerServer のアーキテクチャを解説し、PowerServer プロジェクトの作成から、デモアプリの配布・実行までの流れをご紹介します。
アーキテクチャ
まず、以下のシステム構成図をご覧ください。
図からわかるように、全体的に以下のように構成されています。
データベース サーバー | 既存のデータベースサーバーをそのまま利用できます。 |
.NET Web API サーバー | .NET ベースの Web API サーバープログラムは自動的に生成されます。特に準備する必要はございません。 |
Web サーバー | 専用ランチャーを含め、クラウドディスクトップアプリがこの Web サーバーに配布され保存されます。のちのちアプリを利用する端末からURL経由でアクセスされた場合、必要に応じて専用ランチャーまたはクラウドデスクトップアプリを配布します。 |
PowerBuilder IDE 開発環境 | PowerServer の開発に必要な、PowerBuilder IDE と PowerServer Toolkit がインストールされています。 |
アプリを利用する端末 | アプリを利用するエンドユーザーの端末です。 |
開発環境で PowerBuilder で開発されたデータアクセス部分は、Web API アプリとして自動的に変換後 Web API サーバーに配布され、クラウドデスクトップアプリは Web サーバー上に配布されます。
利用者端末からは初回のみ、URL を使用して Web サーバーにアクセスし専用ランチャーをダウンロードし端末にインストールします。同時にデスクトップアプリもダウンロードされ、端末にインストールします。
以降に、クラウドデスクトップアプリの更新があった場合は、専用ランチャーを経由して自動的に最新バージョンにアップデートされます。アプリのインストールおよびアップデートについては、すべて自動的に行われ運用管理がかなり楽になります。
また、三層構造によりアプリからは直接データベースにアクセスできないため、セキュリティも向上します。
どのようにクラウドデスクトップアプリを構築し、配布するのか?
クラウドディスクトップアプリの配布には Web サーバーを利用しますが、開発環境では 1 台のローカルPCに PowerServer と Web サーバーを構築し利用することができます。Web サーバーの準備方法について、今回は割愛させていただきます。知りたい方は Web アプリのような PowerClient で紹介しているので、ご参照ください。
作業の手順は以下の通りです。
- PowerServer プロジェクトの作成
- PowerServer プロジェクの設定
- PowerServer プロジェクトのビルドとデプロイ
- PowerServer プロジェクトの実行
では、順番に確認していきましょう。
PowerServer プロジェクトの作成
PowerServer プロジェクトを作成するにはシステムツリービューで対象のワークスペースを右クリックし、表示されるメニューから [新規] を選択すると、以下の画面が表示されます。
上記の画面で「プロジェクト」タブをクリックし、作成したいプロジェクトの種類として「PowerServer」を選択した後、「OK」ボタンをクリックすることで、新しい PowerServer プロジェクトを作成できます。
PowerServer プロジェクトの設定
プロジェクト画面で設定する項目として、5 つのタブに分かれていますが、今回はシンプルなアプリになっているため、最低限設定が必要なアプリケーションタブとデータベースタブのみを紹介します。
■ アプリケーション
アプリケーションタブでは、アプリケーション名、外部ファイル、およびランタイムを設定します。
また、デフォルトではアプリ名とショートカット名として “ワークスペース名” + “_cloud” が自動的に設定されます。今回のサンプルでは ”sample_cloud” が設定されています。お好みの名前に変更できますが、アプリ名が URL で使用されるため、他のアプリと重複しないようなユニークな名前にする必要があります。
以下のアプリケーションタグの詳細ページでは使用するランタイムライブラリを選択できるようになっています。今回はカスタムライブラリの必要がないため、「標準」を使用します。
■ データベース
データベースの設定タグは、以下の画面をご確認ください。
今回は ODBC ドライバーを使用した SQL Anywhere を例に説明します。
プロバイダーとして、「SQL Anywhere(ODBC)」を選択し、次にデータベースとやり取りを行う際に使用されるキャッシュ名として、任意の名前 (今回は “sample_q”) を入力します。データソース名はプルダウンリストボックスから、利用が可能なリソースから選択します。今回は「PB Demo DB V2022R3」を利用します。
次に、データベースサーバーにログインするためのユーザーIDとパスワードを入力すれば完了ですが、下のほうにある「上記のドライバーのライセンス条項を読み、同意します」のチェックをしない場合、プロジェクトを保存する際に警告メッセージが表示され保存できないので、ライセンス条項を読み、理解した上でチェックするようにしましょう。
最低限の設定は以上で完了ですので、「テスト接続」ボタンをクリックして、データベースとの接続テストを実行します。
以下のメッセージが表示されれば、大丈夫です。
また、「プロバイダー」によっては、上記の設定項目が異なる場合がありますのでご注意ください。
では、パワーバーにある保存ボタンをクリックするか、「Ctrl+S」キーを押してプロジェクトを保存しましょう。名称は分かりやすく「PowerServer」とします。
その他のタブについては、以下簡単に説明をします。
■ セキュリティ
セキュリティの設定としては、アプリの認証、署名、マニフェストの追加設定が可能です。
下図を参照。
■ ビルド
ビルドタブではアプリに変更があった場合のビルド方法(フル、インクリメンタル、またはカーソル (超高速))、アプリのプラットホームの選択、および Web API をビルドする際に使用する .NET (.NET Core) フレームワークのバージョンを指定できます。
下図を参照。
■ デプロイ
デプロイタブではターゲットの実行モード、ターゲットサーバー、およびライセンス情報を入力します。
下図を参照。
簡単なアプリの場合、設定はほとんどデフォルトで済むので、手間がかかりません。
PowerServer プロジェクトのビルドと配布
PowerServer プロジェクトを保存してから、早速ビルドとデプロイを行いましょう。
保存した PowerServer プロジェクトを右クリックし、「PowerServer プロジェクトのビルドとデプロイ」メニューを選択します。ビルド処理ではフロントのクラウドデスクトップアプリが生成され、データベースとのやり取りを行うための .NET Web API も自動的に作成されます。デプロイ処理では、クラウドデスクトップアプリは専用ランチャーと共に Web サーバーに配布され、.NET Web API は .NET サーバーに配布されます。
正常にビルドとデプロイが完了すると、以下のメッセージが表示されます。
PowerServer プロジェクトの実行
実行するには PowerServer プロジェクトを右クリックし、「PowerServer プロジェクトの実行」メニューを選択します。
まず、最初に .NET サーバーのコンソール画面が以下のように表示されます。
開発環境では、上記のプロジェクトの実行を選択することで自動的に専用ランチャーとデプロイしたアプリケーションをダウンロードしてから、インストールし、実行されます。
以下は実行したアプリケーションの画面です。
見た目はいままでの PowerBuilder アプリケーションとまったく同じです。それもそのはずです。クラウドデスクトップアプリと名付けられていますが、配布の仕組みが違うだけで中身は PowerScript でコーディングされているネイティブアプリです。
ランチャーがインストールされた後は、いつでもデスクトップ上に作成されたショートカットをクリックして、アプリを実行できます。アプリの更新、または機能が追加された場合は、ランチャーをクリックすると、最新版をダウンロードし実行されます。ユーザーが手動でアプリをインストールする必要がなく、いつでも最新のアプリが自動的に更新され、利用できるようになります。
まとめ
今回は、PowerServer 2022 のプロジェクトの作成から、設定、ビルドとデプロイ、および実行まで一通り紹介しました。みなさん、新しい PowerServer にすこしでも興味を持っていただけたでしょうか。
触った感じでは、ベータ版のときに比べて専用ランチャーの手動アップロードや設定などは簡素化されだいぶ楽になりました。最大の強みはやはり非サポート機能が少なく、修正作業が大幅に削減されることではないでしょうか?みなさんもぜひ、生まれ変わった新しい PowerServer を実際に手を動かして、お試しください。
以上、Yama-chan でした。