スポンサーリンク

JBoss初心者向けのまとめ

SESでいろんな案件に参画していると、2021年でも当たることがあるJBoss。決まって一緒に出てくるのがEJB。古いニオイがぷんぷんして嫌なのだが、一体何なんだろうか?

JBossとは何か?10の基本事項

  • JBossはJava専用のWebアプリケーションサーバーである。
  • RedHat社によってメンテナンスされている。
  • ライバルはTomcatだが、大差で負けている。
  • 2021年現在はWildFlyという名前に変わっている。
  • 2021年現在、新規プロジェクトで採用されることはほとんどない。
  • EJBの機能を利用することができる。

無償版のJBoss(現、WildFly)はTomcatに実績では大差で負けているが、有償版のJBoss EAPはIBM WebSphere Application Server、Oracle WebLogic Serverとは競っているようである。

Tomcatは無償なので、無償のミドルウェア構成の案件ではJBossは選定対象には上がらないが、有償サポートを受ける案件では、WebSphereやWebLogicとともに選定候補に入ってくるものと考えられる。

但し、無償のミドルウェア構成でも、EJBの機能を必要とする案件ではWildFlyが選定される。

JBossとTomcatの比較

JBoss古いか?

JBossは古い。Webの記事を読む限り、積極的に関わろうとしたり、今から勉強する必要はないと私は関連づけた。

但し、日本のユーザー会であるJBUGは現在も活動している。

JBossのバージョン

JBossのバージョンJava EEのバージョン変更点
JBossのバージョン

JBossとEJB

JBossとEJBは切っても切れない関係である。2010年以降にJavaの学習を始めた人は知らないと思うが、Javaの仕様にEJBというものがあり、EJBの興隆とともにJBossの採用が進んだ。しかし、EJBが下火になるにつれて、やはりJBossも下火になった。

JavaBeansとは?

EJBとは、企業(Enterprise)の業務システム(=大規模システム)向けのJava Beansである。大規模システムで必要とされうる機能をJava Beans形式で提供するものである。

では、Java Beansとは何かと言うと、次の条件を満たしたクラスのことである。

  • publicで引数がないコンストラクタがあること。
  • フィールドに対するgetter/setterメソッドがあること。
  • シリアライズ可能であること。

これだけ見ると、単なるPOJO?ただのオブジェクト?と思うが、それらを満たした上で、後述するような機能を持たせたクラス群(Java Beans群)を提供するのがEJBである。

EJBとは?

EJBはJavaEE(現 Jakarta EE)に諸々の機能が拡張されたものである。

その主な機能とは次の通り。

Session Bean (セッションBean)
Message-Driven Bean (メッセージ駆動Bean/MDB)
Entity Bean (エンティティBean)
EJBの主な機能

JBossはSpringBootアプリケーションも動かせる

JBossはJavaEEに準拠したWebサーバーであるため、SpringBootのwarを動かすことが当然できる。

JBoss EAPとは?

JBoss EAPは、RedHat社の有償版JBossのことである。

JBoss EAPは、無償版JBossであるWildFlyが先んじてリリースされ、機能が安定したところで、JBoss EAPとしてリリースされる。

スポンサーリンク

投稿日:

Copyright© 【Spring Hack】 , 2022 All Rights Reserved Powered by AFFINGER5.