>>149
APサーバが持つEJBコンテナの上でEJBアプリが動く。
クライアントアプリ(Servletとか)からの呼び出しはEJBコンテナが受ける。
EJBコンテナはDeployment Descriptorの情報に従い、権限チェックを行ったり
トランザクション準備といった前処理をした後、EJBアプリを呼び出す。
EJBアプリを呼び出した後、トランザクション決着(コミットやロールバック)といった後処理をして
呼び出し元に返す。

SpringはAPサーバから見ればアプリの一ロジックにしか見えない。
ServletやEJBのお作法は難しいしめんどくさいから、面倒なところは誰かやってよ、ってことで
SpringとかStrutsとかのフレームワークがあると思っとけばいいんじゃね。
EARファイル=Webアプリ(WARファイル)+EJBアプリ(JARファイル)を固めたもの。