見出し画像

☕EJBとJavaBean Springの誕生 JMS(疎結合)とRMI(密結合)も

パッケージは各ワードをピリオドで連結して階層化されている。先頭ワードのjavaは開発元提供の純正基礎版を意味する。他に純正拡張版のjavax、任意団体提供のorg、企業提供のcomがある。

といいうことでこの本だが

ほとんど旧約聖書みたいなもので、Springが登場するのは後半にさしかかったところで、この版だと真面目にEJBのメリデメについて論じている。Spring発祥というので呼んでるとEJBとかRPCの微妙な話が続く。

律儀にも[without EJB]という本があってこれはだいたいみんなが期待するような内容になっている。EJB全否定といったところだろうか。

こちらが新約ということになる。EJBが悪いと言っているわけではないが、難しいからSpringやPOJOの流れが主流になっていった、ということのようだ。十年前3000円した古本はいまや100円代で購入できる。

メッセージングとは、ソフトウェア・コンポーネントまたはアプリケーション間の通信方法の1つです。メッセージング・システムは、ピアツーピアの機能です。メッセージング・クライアントは、他のクライアントにメッセージを送信したり、他のクライアントからメッセージを受信したりすることができます。各クライアントはメッセージングエージェントに接続し、メッセージを作成、送信、受信、および読み取る機能を提供します。
メッセージングにより、疎結合の分散通信が可能になります。コンポーネントは宛先にメッセージを送信し、受信者は宛先からメッセージを取得することができます。しかし、送信者と受信者は、通信するために同時に利用可能である必要はありません。実際、送信者は受信者のことを何も知る必要はなく、受信者も送信者のことを何も知る必要はない。送信者と受信者は、どのメッセージ形式とどの宛先を使用するかだけを知っていればよいのです。この点で、メッセージングは、アプリケーションがリモートアプリケーションのメソッドを知っている必要があるRMI (Remote Method Invocation) などの密結合技術とは異なっている

JMS(疎結合)とRMI(密結合)

「EJB」、すなわちEnterprise JavaBeansは、Java EE (現在のJakarta EE) の一部として長い間利用されてきたサーバーサイドのコンポーネントアーキテクチャです。近年、マイクロサービスアーキテクチャやSpring Bootのような軽量フレームワークの人気の高まりに伴い、EJBの人気は減少しています。

そのため、多くの新しいプロジェクトやモダンなアーキテクチャでEJBが最初から選択されることは少なくなってきています。しかし、過去の大規模なエンタープライズシステムではEJBが多用されているため、その知識やスキルが全く価値がないとは言えません。

短く言えば、新しいプロジェクトを始める際にEJBを選択するのは一般的ではありませんが、既存のシステムのメンテナンスや移行に関与する場合、EJBの知識はまだ有用です。

お願い致します