图1展示了一种三层会话Bean的典型架构,其“胖”客户端前台程序,带有一些数据输入窗口,主要用于公司客户服务代表、银行出纳员等等;而这些客户端程序则可使用Java Swing技术,以Java Platform、Java SE,或运行于命令行的纯旧式Java对象(POJO)来开发。通常,最终用户都是从桌面运行客户端程序,输入某些数据,并按下某个界面元素,如点击“提交”按钮来引发一个事件。下面是一般性的工作流程:
1、 用户的某个动作将建立到会话Bean的一个连接,而这个Bean使用远程方法调用(RMI)运行于EJB容器中。
2、 客户端程序调用会话Bean中一个或多个业务方法。
3、 会话Bean处理请求并验证数据——通过与数据库、企业应用程序、老式系统上的某些程序等进行交互,以执行某一特定业务操作或任务。
4、 会话Bean最终发回一个响应到客户端程序,这可通过数据聚集或包含确认信息的简单对象来实现。

图1:三层架构中的会话Bean
Web应用程序三层架构
这种架构,如图2所示,是一种典型的前台应用,通常为运行于台式机或笔记本电脑浏览器中的Web应用程序。目前,各种类型的客户端设备,如PDA、手机、使用Telnet协议的设备,都开始用于运行这类程序。运行于浏览器或移动设备中的Web程序,提供了用户界面(数据输入窗口、提交按钮等等),使用了JSP、JSF、或Java Servlets等Web技术,而典型的用户动作,如输入搜索条件、在“购物车”中添加特定商品,都会通过这些Web技术,调用运行于某个EJB容器中的会话Bean。一旦会话Bean被调用,它会处理请求,并发回响应到Web程序中,而Web程序进行相应处理后,再发回到客户设备上(浏览器、PDA、Telnet)。

图2:三层架构Web应用程序中的会话Bean
在前面所讨论的三层架构中,客户端程序(Web程序)及会话Bean既能运行于某个应用程序服务器的同一实例中,也能运行于同一电脑上的不同实例中,还可以运行于不同电脑上应用程序服务器的不同实例中。