Web Client
アプリケーションの配備

本マニュアルに記載の内容は、将来予告なしに変更することがあります。これらの情報について MSE（Magic Software Enterprises Ltd.）および MSJ（Magic Software Japan K.K.）は、いかなる責任も負いません。
本マニュアルの内容につきましては、万全を期して作成していますが、万一誤りや不正確な記述があったとしても、MSE および MSJ はいかなる責任、債務も負いません。
MSE および MSJ は、この製品の商業価値や特定の用途に対する適合性の保証を含め、この製品に関する明示的、あるいは黙示的な保証は一切していません。
本マニュアルに記載のソフトウェアは、製品の使用許諾契約書に記載の条件に同意をされたライセンス所有者に対してのみ供給されるものです。同ライセンスの許可する条件のもとでのみ、使用または複製することが許されます。
当該ライセンスが特に許可している場合を除いては、いかなる媒体へも複製することはできません。ライセンス所有者自身の個人使用目的で行う場合を除き、MSE または MSJ の書面による事前の許可なしでは、いかなる条件下でも、本マニュアルのいかなる部分も、電子的、機械的、撮影、録音、その他のいかなる手段によっても、コピー、検索システムへの記憶、電送を行うことはできません。
サードパーティ各社商標の引用は、MSE および MSJ の製品に対するコンパチビリティに関しての情報提供のみを目的としてなされるものです。
本マニュアルにおいて、説明のためにサンプルとして引用されている会社名、製品名、住所、人物は、特に断り書きのないかぎり、すべて架空のものであり、実在のものについて言及するものではありません。

Magic は Magic Software Japan K.K. の登録商標です。
Magic xpa は Magic Software Enterprises Ltd. のイスラエルその他の国での商標または登録商標です。
Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic
Software Japan K.K. の商標です。
一般に、会社名、製品名は各社の商標または登録商標です。
MSE および MSJ は、本製品の使用またはその使用によってもたらされる結果に関する保証や告知は一切していません。この製品のもたらす結果およびパフォーマンスに関する危険性は、すべてユーザが責任を負うものとします。
この製品を使用した結果、または使用不可能な結果生じた間接的、偶発的、副次的な損害（営利損失、業務中断、業務情報の損失などの損害も含む）に関し、事前に損害の可能性が勧告されていた場合であっても、MSE および MSJ、その管理者、役員、従業員、代理人は、いかなる場合にも一切責任を負いません。

Copyright 2023 Magic Software Enterprises Ltd.and Magic Software Japan K.K. All rights reserved.

2023 年 4 月 21 日

Web Client アプリケーシ ョンの実行

Web Client アプリケーションの配備
Web Client アプリケーションを運用環境に配備する手順を説明する上で、以下のことを前提としています。

• Angular アプリケーションは、IIS のデフォルトサイトのルート下に置く。
• Web アプリケーションの名前は、「WebSample」。

Web Client アプリケーションを配備する手順
以下の手順に従って Web Cliednt アプリケーションを配布します。
1. コマンドプロンプトを開き、Magic プロジェクトから Web Client アプリケーションを作成後のフォルダ（output\<app_name>）にカレントを移し、次のコマンドを使用して Angular プロジェクトをビルドします。
ng build --prod

注意：
プロジェクトのファイルサイズが大きい場合、次のようなメッセージが表示されることがあります。

メッセージでは サイズが 3.12M バイトなので カレントフォルダ内の "angular.json" ファイルの赤字の部分を "4mb" に変更してだ
さい .
"configurations":{"production":{"budgets":[{"type":"initial","maximumWarning":"500kb","maximumError":"1mb" --> 4mb},
これで、Error は表示されなくなります。（Warning は表示されます）

2. Angular プロジェクトフォルダの下に、dist\<app_name> という名前の新しいフォルダが作成されます。

注意：1

Web Client アプリケーシ ョンの実行

Magic xpa のプロジェクト名がキャメルケース（dist\WebSamples など）で定義していた場合、Angular13 によって、ケバブケースやハイフン（"dist\web-samples"）に変換されます。（サポートバージョン：4.8.1）

3. 2. このフォルダ（例では、"web-samples"）を <Magic xpa のインストールフォルダ >\PublishApplications にコピーします。
4. \assets フォルダ内の server-config.json を確認します。サーバ名やリクエスタのエイリアス設定が Magic の実行環境と合っていることを確認してください。
{"protocol": "http","server": "ServerName","requester": "Magic4xScripts/MGrqispi.dll","appname": "WebSamples","LogClientSequenceForActivityMonitor": "N","InternalLogLevel": "","InternalLogSync": "Message","DisplayGenericError": "N","FirstHTTPRequestTimeout": "5"}5. index.html の <based href> を変更します。
<!doctype html><html lang="en"><head><meta charset="utf-8"><title>WebSamples</title><base href="/web-samples/"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"></head><body><app-root></app-root><script type="text/javascript" src="runtime.js"></script><script type="text/javascript"src="es2015polyfills.js" nomodule></script><script type="text/javascript" src="polyfills.js"></script><script
type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script></body></html>6. Magic サーバを起動し、アプリケーションを実行します。
7. Web ブラウザで http://<server>/Magic4xRIAApplications/<your_app_name> にアクセスするとアプリケーション画面が表示されます。

2

Web Client アプリケーシ ョンの実行

DMZ マシン上に Web Client アプリケーションを配置する
組織の LAN 内にあるマシンに Web Client アプリケーションを配備し、LAN 外にある非武装地帯（DMZ）サーバで公開することができます。外部ユーザは、DMZ サーバを介して Web Client アプリケーションにアクセスすることができます。
次の図はそのシナリオを示しています。

前提条件
以下の 2 台のマシンが必要です。

ファイアウォールの背後にあるマシン A（IP アドレスが <10.9.9.4> の場合）

• Magic xpa 4.x RIA/WCL Server をインストールします。
• Magic xpa Web Client アプリケーション（ecf）をデプロイします。
ファイアウォールの前のマシン B（DMZ マシン）
（IP アドレスが <192.168.25.10> のような場合）
1. Magic xpa 4.x のリクエスタをインストールします。
Magic xpa のコンポーネントのインストーラを使用することでリクエスタのみをインストールすることができます。

1

Web Client アプリケーシ ョンの実行

以下に示すように、Web Client とインターネットリクエスタのオプションを選択します。

Web_Client_ のキャッシュフォルダのエイリアス名を指定します。

2

Web Client アプリケーシ ョンの実行

Web_Client のキャッシュフォルダを管理者権限を持つユーザで共有します。

2. Scripts\mgreq.ini ファイル（リクエスタのインストール フォルダにあります）で、MessagingServer を <Magic xpa
サーバのアドレス / ポート > に設定します。例えば

MessagingServer = < マシン A のホスト名（または IP アドレス）>/6415
3. Web Client アプリケーションのデプロイについては、「Web Client アプリケーションの配備」を参照してください。ここで dist\<app_name> というフォルダが作成されます。<app_name> フォルダを マシン B の c:\inetpub\wwwroot\ にコピーします。

3

Web Client アプリケーシ ョンの実行

4. C:\Inetpub\wwwroot\NewApp\assets\server-config.json ファイルの、”Server”プロパティに <DMZ マシンのアドレス> を設定します。例えば"server": "192.168.25.10"
5. mgreq.ini を設定した後、IIS を再起動します。

Magic xpa サーバと Web サーバ間の通信
2 つのネットワーク間の通信を開始するためには、以下のポートをファイアウォールで開放する必要があります。

DMZ と LAN 間のファイアウォールの設定••••

HTTP - TCP 80
6325 ( ミドルウェア用ポート )1500-2000（アプリケーションサーバーの magic.ini の設定に基づくポートの範囲）。
SMB ポート TCP 445 - 共有フォルダにアクセスするために開いている必要があります。

Web サーバと Magic xpa サーバは、ホスト名を使用して通信する必要があります。
C:\Windows\System32\drivers\etc\hosts ファイルにホスト名と IP アドレスを設定します。

マシン A で以下の手順を実行する。
\\< マシン B の IP アドレス >\Web_Client_Cache を、ドライブ（例：z: ライブ。）にマッピングします。
magic.ini では、以下のように設定します。
WebClientCachePath = z:\

アプリケーションのテスト
以下の URL を実行します。Web Client アプリケーションの画面が表示されることを確認してください。
http://< マシン B のホスト名（または IP アドレス）>/WebSample
これで終了です。

4

Web Client アプリケーシ ョンの実行

Magic xpa Studio でキャッシュファイルを生成する
Magic xpa Studio でキャッシュファイルを生成します。これまでのキャッシュ生成との違いを理解するために、これまでの開発モードでのキャッシュ生成と同様に、どのように行われているのかを理解しましょう。

開発モードにおけるキャッシュ生成の仕組みの違い
Magic xpa は、Ver 4.8 以前は、アプリケーションサーバ上で実行中に、プログラムのキャッシュファイルを、WebClientCachePathとして指定されたフォルダに生成していました。
Magic xpa は WebClientCacheAlias という名前で Web サーバ上にエイリアスを作成し、アプリケーションサーバのWebClientCachePath フォルダを指定するようにしています。これにより、Web サーバは アプリケーションサーバに保存されたキャッシュを読み込むことができるようになりました。
Web Client プログラムを初めて実行したときは、常に、WebClientCachePath フォルダにキャッシュファイルのセットが作成されます。プログラムソースを変更してプログラムを実行すると、Magic xpa は上記のパスに新しいキャッシュファイルを作成します現在、開発モードでも同じ仕組みになっています。

実行モードにおけるキャッシュ生成の仕組み。
キャッシュファイルがアプリケーションサーバにある実行モードでは、従来のキャッシュ生成の仕組みでは、Web サーバでポートを開いてキャッシュを読み込む必要がありました。
また、キャッシュファイルを Web サーバ上のフォルダに保存するためには、アプリケーションサーバの認証が必要でした。
実行モードにおけるセキュリティの潜在的な問題を排除するために、Magic xpa はキャッシュを生成するための別のメカニズムを提供します。
Magic xpa Studio では Web Client アプリケーションの src\assets\cache フォルダにキャッシュファイルを生成します。
つまり、Ver 4.9 以降では、キャッシュファイルはアプリケーションの一部となる予定です。
このメカニズムでは、キャッシュはアプリケーション自体から読み取られます。もし、要求された キャッシュが利用できない場合、Magic xpa はエラーになります。
注意：実行中はキャッシュファイルが生成されないため、xpa プログラムに変更を加えた場合は、Studio からキャッシュを生成し、手動で "\assets" フォルダに配置する必要があります。

キャッシュファイルの生成
1.［Web］メニュー の［配備の準備］をクリックします。［配備の準備 ] ダイアログボックスが表示されます。

2.［Web Client キャッシュを作成］オプションを選択します。選択されたオプションは、< アプリケーションフォルダ >\src\assets\cache フォルダ内のキャッシュファイルを作成します。.

キャッシュファイルの読み込み生成されたキャッシュファイルは、前述のように以下の 2 つのモードで読み込むことができます。

• 開発モード …… 開発モードでは、プロジェクトが配備できる状態になると、キャッシュファイルが作成されます。
Magic.ini で指定された \alias フォルダから読み込むことができます。

• 実行モード …… 実行モードでは、新しいキャッシュファイルは作成されません。既存のキャッシュファイルは、アプリケーションの \assets フォルダから読み込むことができます。

1

Web Client アプリケーシ ョンの実行

Web Client プロジェクトを構成するオブジェクトにおいて、何がキャッシュされ、何がキャッシュされないかについては、次の表を参照してください。
キャッシュされるもの

キャッシュされないもの

メインプログラム以外のすべての Web Client プログ
ラム

環境パラメータはキャッシュされません。その代わり、応答の一部として送信されます。

メインプログラムを含むすべてのコンポーネントプ
ログラム

常駐テーブル

メニューリスト

サポートバージョン：4.92