Oracleは最近、Glassfishの商用バージョンの廃止を発表しました。 OpenSourceバージョンでは、すべてが問題なく、Java EEのリファレンス実装のままです。 ただし、同じコードベースの商用バージョンがないと、アプリケーションサーバー自体の品質が低下し始め、それに応じてGlassfishの新しいバージョンのエンタープライズ品質が達成できなくなるという事実は心配です。 これは、開発者が考えていないが本番環境で問題が明らかになっている場合に特に当てはまります。 市販のOracle WebLogic製品はGlassfishとは関係ありません。
多くの開発者はJava EE7アプリケーションサーバーを見つける必要があります。このサーバーには一方でOpenSourceバージョンがあり、他方で同じコードベースで商用バージョンを購入する機会があります。
このようなサーバーは
WildFly 8であり、Java EE 7標準(100%Java EE TCK合格)と完全に互換性がありました。 Red Hatは、必要に応じて商用サポート付きでJBossを販売します。 両方のサーバーのコードベースは同じです。 さらに、おそらくJava EEプラットフォームのメインエバンジェリストであるArun Guptaは、OracleからRedHatに移行し、Wildflyに切り替えることをユーザーに強く推奨しています。 彼を信じない理由はない。
この記事では、
InfoboxCloudクラウドの
WildFly 8アプリケーションサーバーについて
説明します。
一般的な情報
Wildflyは新しい製品ではありません。 これは、開発者向けの管理とAPIの両方の分野におけるJBoss AS7 / EAP6のブランド変更と開発です。 Wildfly 8はJava SE 7を使用して構築されており、動作するにはJava SE7(またはそれ以上)が必要です。 このリリースは100%Java EE 7 TCKです。 最小配布サイズは14メガバイトで、Wildflyを使用してフレームワークを構築するのに理想的です。 そしてもちろん、コアJava IDEとの統合も可能です。
管理の変更
- 管理ユーザーをロールに関連付け、必要な管理権限のみを委任する機能。
- NIOに基づいてブロッキングAPIとノンブロッキングAPIを提供する、組み込みの高性能でスケーラブルなWebサーバーUndertow.ioを使用する このWebサーバーは、その構成ベースのアーキテクチャにより、非常に柔軟です。 これを使用すると、小さなイベントハンドラーを組み合わせてWebサーバーを構築できます。
- Wildfly 8は、サーバーのモジュラーベースにパッチを適用する機能など、コマンドラインインターフェイスに追加された豊富な管理コマンドセットをサポートしています。
- Wildflyのすべてのプロトコルは、アプリケーション用の8080と管理用の9990の2つのポートに多重化されています。 これは、管理者がファイアウォール設定に費やす時間を短縮するために行われます。
新しいJava EE 7 API
非常に重要な改善点は、Java Enterprise API 7のサポート(100%TCK、標準の完全サポート)です。
Wildflyに含まれるいくつかの重要な機能強化:
- WebSocket 1.0のサポート。 HTML5より前は、HTTPで従来の要求/応答モデルが使用されていました。 サーバーの変更を常にポーリングする必要がありました。 WebSocketプロトコルは、接続遅延の問題のないクライアントとサーバー間の全二重チャネルを表します。 このテクノロジーとJavaScriptやHTML5などの他のクライアントテクノロジーを使用して、強力で美しいアプリケーションをブラウザーで作成できます。
- JSON処理用Java API 1.0(JSON-P)。 このAPIセットは、JSONドキュメントの解析、生成、変換、およびリクエスト用の新しいAPIを定義することにより、JSONを使用するアプリケーションの機能を向上させます。 したがって、JSONオブジェクトモデル(XMLのDOMなど)を構築し、それをストリーミングモードで使用できます(StAXを使用したXMLの場合)。
- バッチアプリケーションAPI 1.0。 このAPIは、Javaアプリケーションのバッチ処理を標準化するために設計されました。 このテクノロジは、シェルスクリプトまたはレガシー言語(COBOL)によって制御される大量のデータに対する古い長時間の手順の代わりに使用すると考えることができます。
- Java EE 1.0の同時実行ユーティリティ。 これはJava SE Concurrency Utility(JSR-166)拡張機能で、コンテナの整合性を維持しながらJavaEEコンポーネントからマルチスレッドを使用するためのシンプルで標準的なAPIを提供します。
- JAX-RS 2.0、JMS 2.0など、他にも多くの興味深い革新があります。これらは公式ガイドで簡単に読むことができます。
InfoflyCloud IaaSでのWildfly 8 Finalのインストール
この記事のすべての例は、
InfoboxCloudクラウドデザイナーのクラウドサーバー用に作成されています。
InfoboxCloudでサーバーを作成する
動作するには、
InfoboxCloudサービス
Cloud Designer (
試用版 )のアカウントが必要です。
Cloud Designerのコントロールパネルを開きます。 「Cloud Designer」セクションに移動します。
このセクションには、サーバーのリストが表示されます。 新しいものを作成します。
必要なサーバー設定を選択します。 InfoboxCloudでは、CPU、RAM、ディスクなどを互いに独立して変更して、自分に合ったサーバーを作成できます。
サーバーのOSを選択します(Wildflyのインストール中に更新され、すぐにOSテンプレートの最新バージョンが表示されます)。
サーバーを作成する準備ができました。 作成します。
サーバーにアクセスするためのデータは、電子メールで送信されます。 必要に応じて、Cloud Designerコントロールパネルのサーバー設定でパスワードを変更できます。
sshを介してサーバーに接続します。
InfoflyCloudにWildfly 8 Finalをインストールするには、次のコマンドを実行します(CentOS、Ubuntu、またはFedoraの場合):
wget repository.jelasticloud.com/scripts/wildfly8/linux64/wildfly-standalone && chmod +x wildfly-standalone && ./wildfly-standalone && rm -rf wildfly-standalone
インストールには時間がかかります。 OSが更新され、JDKの最新バージョンがインストールされ、WildFlyがインストールされ、WildFlyユーザーがアプリケーションサーバー用に作成され、OSの自動実行サービスが登録されます。
これは標準的なチームではありません。 実際、スクリプトはサーバーにダウンロードされ、すべてを自動的に実行します。 必要に応じて、スクリプトを見てWildFlyの手動インストールのプロセスを理解できますが、クイックスタートでは、手動インストールに時間がかかりすぎます。<server ip>:8080に移動して、インストールを確認できます。
アドレス<ip-server address>:9990はWildFly管理コンソールです。
管理コンソールを使用するには、管理ユーザーを作成する必要があります。 セキュリティ上の理由から、デフォルトのパスワードは設定されていません。
WildFlyへのユーザーの追加
WildFlyにユーザーを追加するには、
binディレクトリから
add-user.shを実行する必要があります。 アプリケーションユーザー(アプリケーション)とWildFlyを管理するユーザー(管理)を作成できます。
非対話モードでユーザーを作成できます。
add-user.sh -m -u {username} -p {password}
管理ユーザーを追加したら、管理コンソールに入ることができます。
CLI
WildFlyには、コマンドラインインターフェイス(CLI)が含まれています。 次のコマンドを使用して、binディレクトリから実行できます。
./jboss-cli.sh
その後、WildFlyのローカルまたはリモートインスタンスに接続できます。 ローカルに接続するには、
connect
コマンドを入力します。 たとえば、
restart
コマンドでWildFlyサーバーを再起動できます。 非インタラクティブモードでは、次のようになります。
./jboss–cli.sh -c --command=restart
。
接続後にWildFlyのリモートインスタンスに接続するには、管理するサーバーのIPアドレスを書き込む必要があります。
InfoboxCloudクラウドでのWildFlyの使用の成功。 次のパートでは、WildflyをデプロイしてJava EE 7アプリケーションを開発するためのより複雑なシナリオについて説明します。
著者:
ユーリ・トルキン