非常に人気のある e コマース ストアでは、クレジット カードの実際の処理は何らかの専用アプリケーション サーバーに移され、より非同期的なプロセスになると思います。
それはどのような種類の Java アプリケーションでしょうか? つまり、キューのメッセージを受け取り、リクエストの処理を開始し、終了後にいくつかの db テーブルを更新するサービスです。
.net では、Windows サービスを使用すると思います。Javaの世界では何を使いますか?
非常に人気のある e コマース ストアでは、クレジット カードの実際の処理は何らかの専用アプリケーション サーバーに移され、より非同期的なプロセスになると思います。
それはどのような種類の Java アプリケーションでしょうか? つまり、キューのメッセージを受け取り、リクエストの処理を開始し、終了後にいくつかの db テーブルを更新するサービスです。
.net では、Windows サービスを使用すると思います。Javaの世界では何を使いますか?
これは通常、HTTP Web サービス インターフェイスまたは JMS メッセージング インターフェイスを使用する J2EE アプリケーションです。HTTP インターフェースは URL 経由でアクセスでき、JMS はキューに接続して送信されたメッセージを取得します。このアプリは、主要な商用 (WebSphere、Weblogic、Oracle) または無料 (Glassfish、JBoss) サーバーのいずれかで実行できます。
Java では、 Glassfish、Tomcatなどのように、これらすべてを行う優れたオープン ソース プロジェクトが既に存在します。
ミッション クリティカルなシステムの場合、ミドルウェアとして IBM MQ シリーズのようなものと、MQ インターフェースを使用して要求を処理するストレートな Java アプリケーションが必要になる場合があります。
私が知っているいくつかの銀行では、これがそのアーキテクチャです。元々、ミドルウェアと同様に、アプリケーション サーバーは C で記述されていました。Java に切り替えることができたのは、実際に重要な作業 (メッセージの送受信、確実な配信の保証、コンポーネントがダウンした場合の中断からの保護) を行っていたコードが IBM MQ であったためです。
または OSGI 環境を使用します。
私たちの場合、Java コンポーネントを収容できる Sybase のアプリケーション サーバーを使用します。これらは、CORBA を介して呼び出すために公開されているパブリック メソッドを持つほぼ標準の Java クラスです。コンポーネントは、(データベース テーブル、Oracle AQ キュー、または JMS キュー内の項目を介して) 実行する作業を検索するために、常に実行するか、(サービスのように) スケジュールに従って実行するようにスケジュールすることもできます。これらはすべてアプリ サーバーに含まれており、アプリ サーバーはトランザクション管理、リソース管理、およびデータベース接続プーリングを提供します。