全部博文(626)
分类: Java
2013-09-22 09:45:08
J2EE Architecture(15)
1、客户层
客户端包括个人桌面系统、工程工作站、笔记本、手机和PDA(Personal Digital Assistant)系统等。
大型企业系统需要支持庞大的客户群,架构师必须认真分析客户层需求,尤其要注意改善用户体验。
J2EE规范为企业提供了多个合理的输入点,能在各个企业系统层的各个位置支持客户端。外部客户端位于企业防火墙之外。客户端可连接到Web层、业务层甚至资源层。
J2EE平台支持Java客户端,以及诸如CORBA的非Java客户端。
J2EE支持的Java客户端包括Applet、Java应用客户端、J2ME移动客户端或MIDlet。
2、客户端的职责
1)与服务器建立连接
2)管理与服务器的会话状态
3)将用户界面呈现给客户
4)验证客户端的用户输入
5)与服务器通信
客户端平台是一个管道,将用户输入传给企业应用程序,并返回响应。
由于企业需要支持大量客户端,且客户端类型多样,企业倾向于使用瘦客户端架构。
3、客户端的要点
1)客户端类型和输入点
架构师必须合理部署各个层,以满足数量庞大的各类客户端的需要。
2)性能标准
所有客户端都需要经由某种网络类型来访问企业系统。架构师必须满足一下几个关键的连接和性能标准:
(1)带宽小
(2)网络不可靠
(3)性能低
(4)系统故障
3)安全环境
架构师必须为在经由各输入点使用J2EE企业应用程序的用户提供一个安全防护罩。
安全系统首先要对使用企业系统的用户进行身份验证和授权。大可不必为所有企业应用程序用户提供相同的安全级别。例如:如客户从内网登陆系统,则客户只需利用包含用户名和密码的简单登陆,就能访问系统;而如用户从Internet登陆系统,则必须对用户执行一个较详细的安全检查,以执行身份验证和授权。
尽管有多个客户输入点,但大多数用户都是通过Web层或业务层登陆到企业系统。
架构师必须通过合理使用防火墙系统,适当地保护Web层、业务层或资源层。防火墙能有效地支持HTTP协议。
4)用户体验
架构师应根据客户端的系统类型和数量,制定合理的设计决策。
4、客户层组件
企业应用程序的设计需足够灵活,是客户层能轻松适应企业应用程序的功能变化。
一些重要的J2EE客户端:
1)HTML客户端
如IE等。需研究各种浏览器对Javascript和CSS的支持,显示是否相同。
2)Applet客户端
Applet是客户端组件,在浏览器环境中运行。
Applet是特殊的Java类文件,可下载到客户端系统,并在浏览器提供的JVM运行环境中运行。
Applet提供了一个远比简单HTML客户端强大的客户环境。
3)Java应用程序客户端
通常在个人计算机系统的桌面上运行。此类Java应用程序通过JNLP(Java Network Launching Protocol,Java网络启动协议)部署为Java Web启动客户端。
这个特性允许客户端自动连接到服务器,下载必须的文件,建立通信,完成事务。
4)MIDlet客户端
MIDlet是一个Java组件,在设备环境中运行。MIDlet中的MID是Mobile Information Device的缩写。这些轻量级组件在特殊虚拟机KVM(Kilobyte Virtual Machine)运行时环境中运行。
MIDlet功能有限,但能支持图形用户界面,能响应事件,还有助于通过HTTP网关与企业连接。
5)非Java应用客户端
它包含若干种类型,主要是根据客户需求开发的。
基于CORBA标准构建的客户端可以使用诸如COS(CORBA Object Services,CORBA对象服务)的命名服务查找网络组件,或用OTS(Object Transaction Service,对象事务服务)参与事务。
6)Web服务客户端
使用Web服务的客户端。它能使用SOAP(Simple Object Access Protocol,简单对象访问协议)交换信息,能使用HTTP上的SOAP,与面向Web服务的应用程序交换信息,或获取服务。
5)客户层容器
容器必须提供组件支持,为客户端组件提供运行时环境。
1)浏览器环境
2)Java环境
3)移动环境