私は、RESTプロトコルを介してローカルのWildFlyアプリサーバーに接続するデスクトップJavaFXアプリケーションを開発しています。 WildFlyは、自分自身を
素晴らしいアプリケーションをビルドするのに役立つアプリケーションランタイム。
そして、WildFlyの見方は開発のみを目的としているため、最終的に自分のアプリをパブリックにデプロイする場合は、プログラムを「クラウド」上のアプリケーションサーバー、つまりAWSなどに移行する必要があります。 Google Cloud Engine、またはシンプルなデジタルオーシャンドロップレット(最善策のようです)。
しかし、投稿 here は、WildFlyは商業的に使用できると言っているので、(商用の)Javaアプリを一般公開するときに使用する典型的なアーキテクチャーについて完全に混乱しています。ドロップレットは、さまざまな役割(アプリサーバー、DBサーバーなど)を実行できる単なるサーバーであると思います... WildFlyを効果的に置き換えます。もしそうなら、それを効果的にアプリサーバーにするためにドロップレットにいくつかのソフトウェアをインストールする必要はありませんか? WildFlyをインストールしますか?
次の設定の一般的で効果的なアーキテクチャは何ですか?
私はドメインを所有しています。例:www.mysite.comこれには、私のJavaソフトウェアのダウンロードリンクが含まれています。ユーザーがリンクをクリックすると、ソフトウェアがダウンロードされます。 PCにインストールすると、プログラムはRESTを介してRESTプロトコルを介してアプリサーバーのエンドポイントと通信できます。私のサイトとJavaアプリの両方が、RESTリクエストを使用してどちらからでもアクセスできると想定して、ユーザーデータベースにアクセスできる必要があります。 Redisのように、何らかのキャッシュが必要になります。
私の推測:Webサイトドメインは、iPage.comやJavaアプリケーション(クライアント側コードなど)のどこでもホストできます。 )は、iPageのサーバーにダウンロードするファイルとしてホストされます。 Javaアプリのサーバー側コードは、Digital Oceanなどによってホストされ、クライアント側コードが通信するためのRESTエンドポイントを提供します。データベースサーバーは、ウェブサイトとアプリの両方のエンドポイントも提供します。 Redisをアプリサーバーのコードに統合する必要があると思いますか?
アプリサーバーとデータベースサーバーのどちらが togetherまたは離れている になるかは議論の余地がありますが、私は自分のニーズに合った標準的な適切なアプローチの明確化を求めています。
JavaFXデスクトップアプリケーションは、Wildflyアプリケーションサーバー(以前はJBossと呼ばれていたアプリケーションサーバーであり、Red Hatによって開発され、商業的に実行可能なソリューションです)にREST呼び出し)できます。データベースとクラウド。JavaFXアプリケーションでデータベースへのアクセスを許可するRESTful Webサービスを(データベース内で)構築することもできます。使用しているデータベースがわからないため、 here は始めるためのサンプルチュートリアル。
できれば、セキュリティとパフォーマンスの理由から、アプリケーションサーバーとデータベースサーバーは別々のサーバーまたはコンテナに配置する必要があります。クラウド環境でこれをどのように設定するかについて、クラウドプロバイダーに問い合わせることができます。
あなたのジレンマを正確に理解できたといいのですが。