J2EEはデータベース中心のエンタープライズのミドルウェアアプリケーションを開発するのに必要な機能と拡張性を持つことで有名です。そのJ2EEのキーとなるコンポーネントがEJBです。
しかし、現在のJ2EE 1.4とEJB 2.1の仕様はとても複雑なものです。Java開発の初心者が実際にシステムを構築できるようになるためには、EJBコンポーネントモデル、(EJBの) API、XMLベースの配置記述子、そしてたくさんのデザインパターンを習得する必要があります。このプログラミングモデルの複雑さがJ2EEの採用を妨げる大きな要因となっているのです。また、未熟な開発者が誤ったJ2EEの使い方をすると、低品質のソフトウェアを生んでしまうのです。
この複雑さの問題を解消するために、EJB 3.0のエキスパート達は次世代のエンタープライズJavaミドルウェアアプリケーションの新たなプログラミングモデルを開発したのです。新しい(プログラミング)モデルでは、HibernateやXDocletといった、すでに成功を収めているオープンソースプロジェクトの知識と経験が生かされています。EJB3のプログラミングモデルは理解しやすいと同時に、既存のJ2EEの能力を継承しています。
JBossはEJB 3.0の重要な駆動力です。JBossはEJB 3.0の仕様を実装しているだけでなく、EJB 3.0プログラミングモデルをJEMSの他のプロダクトでも一般的に使用できるようにしています。