j2ee一个J2EE应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所能提供的更丰富的用户界面的任务。具有代表性的是用Swing或抽象窗口工具包(AWT)API建立的图形用户界面(GUI),但是一个命令行界面也是当然可能的。
应用程序客户端直接访问运行在商业层的enterprise bean。然而,如果应用程序需要授权, 一个J2EE应用程序客户端可以打开一个HTTP连接来与一个运行在Web层的servlet建立通信。
4、JavaBeans组件体系结构服务器层和客户层也可以包含以JavaBean组件体系结构(JavaBeans组件)为基础的组件来管理在一个应用程序客户端或applet与运行在J2EE服务器上的组件之间的数据流动以及服务器端组件与数据库之间的数据流动。在J2EE规范中JavaBeans组件不被认为是J2EE组件。
JavaBeans组件具有实例变量以及用来访问实例变量中的数据的get方法和set方法。作这种用途的JavaBeans组件在设计和执行时相当简单,但是它必须遵守JavaBeans组件体系结构的命令和设计惯例。
5、J2EE服务器通信图1-2显示了客户层组成的多种方式。客户端可以直接和运行在J2EE服务器中的商业层进行通信。如果是一个运行在浏览器中的客户端,也可以通过运行在Web层中的JSP页面和Servlet进行这种通信。
你的J2EE应用程序是采用瘦客户端还是胖客户端。要作出这样的决定,你应该明白将胖客户端是将功能留在客户端,使它与用户更接近,而瘦客户端是将功能的实现尽可能地交给服务器。由服务器处理更多的功能,就更容易分发、部署和管理应用程序;而将更多的功能留在客户端对于有经验的用户也许是个明智的选择。
图1-2 服务器通信J2EE的Web组件既可以是servlet也可以是JSP页面。Servlets是一个Java编程语言类,它可以动态地处理请求并作出响应。JSP页面是一个基于文本的文档,它以servlet的方式执行,但是它可以更方便建立静态内容。
在装配应用程序时,静态的HTML页面和applet被绑定到Web组件中,但是它们并不被J2EE规范视为Web组件。服务器端的功能类也可以被绑定到Web组件中,与HTML页面一样,它们也不被J2EE规范视为Web组件。
正如图1-3中所示,和客户层一样,Web层也可以包含一个JavaBeans组件以管理用户的输入并将输入发送到运行在商业层的enterprise bean进行处理。
图1-3 Web层和J2EE应用程序商业代码,表示了例如银行、零售和财政这样的特定的商业领域的相适应的逻辑。它由运行在商业层的enterprise bean处理。图1-4显示了一个enterprise bean如何从客户端接受数据,对它进行处理(如果需要),并将其发送到企业信息系统层以作存储。一个enterprise bean也可以从存储器获取数据,对它进行处理(如果需要),并将其发送到客户端应用程序。
图1-4 商业层和EIS层