页面,用户能够直观的看到,经过系统分析后的数据结果,并能对数据在界面上进行分析。本架构充分考虑了近十几年内用户体验的趋势,把PC端和移动端功能等价设计,以达到用户随时随地能够使用系统的各项服务。在设计和开发用户体验层时候,始终把简便操作、优美视觉、快速反应等要求作为建设原则。
4.1.2 业务服务层
业务服务层主要负责系统业务逻辑的处理。本系统主要通过采用组件化集成设计和开发思想进行业务逻辑的设计和开发,降低不同业务之间的关联度,减少各子系统之间的耦合。在用户体验层与业务服务层之间,引入代理层,负责转发用户与体验层对各业务逻辑处理请求。这样,用户与体验层就不直接与具体的业务逻辑打交道,而是通过代理层转发到相应的业务逻辑,而业务逻辑返回的数据也通过代理层传送至表示层,从而实现表示层与业务逻辑的分离,减少两层之间的耦合,便于系统的维护和升级。同时,通过代理层将各业务逻辑组件与界面解析引擎有机地结合在一起,在未来也很容易兼容其他子平台。
4.1.3 服务集群层
服务集群层主要是为整个系统高并发数提供保障,以最小的硬件成本使系统达到最高性能。本系统将采用JAVAEE系列和ORACLE集群。
4.1.4 数据控制层
数据控制层是专门负责系统与数据库进行数据通信的,它为业务服务层提供了统一的数据访问接口。本系统采用面向对象的设计技术,开发者无需了解下层的具体过程,只需要按照规定调用对象,已达到开发简单,平台安全的目的。可以有效防止开发人员非法利用数据的目的。
4.1.5 服务器层
服务器层主要包括网络、服务器主机、安防设备、负载均衡器等硬件设备,这是系统运行的基础。这个也要根据系统成本投入预算进行计划。
本系统架构的原则是:以最小硬软件成本达到最优性能。本系统的多层架构体系结构稳固、安全,各层相对独立又相互关联,程序布置灵活,易于扩充。
4.2 关键技术路线
4.2.1 基于J2EE架构
J2EE是Sun公司为开发和部署企业级应用定义的一系列标准。J2EE为搭建要求具有可伸缩性、灵活性、易维护性的重要业务系统提供了良好的机制。
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
图3.2 J2EE架构图
这样的体系结构将大大提高应用系统的质量。基于组件的三层应用体系结构的必要性主要体现在以下方面:
(1)加快了企业级应用的开发。J2EE是一个基于标准化的、模块化的、可重用的组件技术的开发框架。它的一系列API,自动处理了一些应用,使程序员把精力集中在业务逻辑上,从而加快项目的开发。
(2)跨平台部署。J2EE提供了一个简单统一的平台,程序员不用考虑何种应用服务器,基于J2EE开发出的应用系统可以部署到任何服务平台上。
(3)高伸缩性。应用J2EE开发的应用系统轻便,可伸缩,通过一系列完整的企业级中间件服务,可以支持操作成百万的事务处理,以及成千上万的不
同用户的并发性请求。
(4)高安全性。J2EE被设计成一个高安全的模型,很容易配置,并提供了一系列的存取控制(Access Control)。
4.2.2 逻辑层构造
逻辑层又称业务层、应用服务层,它是构成应用系统的核心部分。逻辑层的构成由四部分(还可以进一步细分,我们选择了一个比较简化的模型)组成:
图3.3 逻辑层模型
web服务器
web服务器主要被用于对web站点的管理,它通过HTTP协议接受用户请求(URL),按用户请求到web服务器上检索出用户访问的资源,如果需要(比如要求应用服务器解释JSP页面),它会向应用服务器发送请求,由应用服务器返回结果(HTML文档),然后按HTTP协议将HTML文档发送给客户层。
在客户层我们主要使用HTML、XML/XSLT、DOM(文档对象模型)、JavaScript等技术,处理与用户交互的各种操作。为了保证性能,我们在本项目提供的所有软件不采用Applet和activeX技术。
应用服务器
应用服务器是逻辑层的中间层,它是通过一组封装性很好的组件(俗称中间件,服务,引擎)为应用系统提供支持。符合J2EE1.3规范的应用服务器都要提供一组标准的服务组件(最关键的服务有Servlet、EJB、JMS、JavaMail、JNDI、Security、Transaction等)。
本项目采用的应用服务器为apache和IBM提供的系统服务器,同时还集成了一组基础服务组件,这些组件列于下表:
组件名称 Servlets JMS JNDI Java消息服务 Java命名与目录接口 功能描述 解释服务器端小程序应用服务 类别 标准 标准 标准 Hibernate Struts 数据实体访问组件 实现MVC设计模式的支撑组件 扩展 扩展 业务逻辑层
与业务处理有关的所有操作都封装在业务逻辑层,我们使用javabean来封装这些对象。javabean封装的所有对象通过Hibernate与存储层打交道。
业务逻辑层的javabean也依赖于中间件来为诸如事务、生命期、状态管理、多线程及资源存储池提供通常都非常复杂的系统级代码,比如在数据库访问时,我们使用连接池减少频繁打开连接所带来的系统性能下降。
业务逻辑层不直接产生客户端的输出,它只是为应用表现层提供可调用的方法,让应用表现层产生到客户端的输出。
应用表现层
应用表现层通过JSP/Servlet生成用户输出界面,它通过调用业务逻辑层提供的方法进行各种处理(比如从数据库中读取数据、写入数据操作等),然后生成HTML代码,通过web服务器传递给客户端。在应用表现层我们使用JSP提供的一组内置对象和TAGLIB技术。
4.2.3 设计模式
在软件开发时,我们首先要设计一个相对比较清晰的开发架构,在基于J2EE的MIS系统开发中,Struts、Turbine、RealMothods等就是一些目前广为流行的架构方案。基于架构进行系统开发与设计为保证应用系统的稳健、质量有特别重要的作用。
智胜公司在几年的开发积累中,综合上述一些通用架构方案的合理成份,避免了这些架构由于过度通用造成的庞大、臃肿,通过对J2EE体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统扩展性等诸多因素,设计了一套有针对性的架构方案。
图3.4 MVC模式图
整个系统架构采用MVC(Model-View-Controller)模式,进行分布式三层结构设计,逻辑层使用JavaBean和EJB构建。MVC模式如图下所示:
控制层(Controller)
在控制层采用XML文件(controller.xml)作为控制逻辑的描述。大致思路是:开发一个通用的控制ControlServlet控制组件,它截取所有HTTP请求,并根据controller.xml的定义,分发这些请求到相应的边界类(Model的FormBean)和控制类(Model的ActionBean)。
模型层(Model)
模型层以一个或多个EJB/JavaBean的形式存在。这些Bean分为三类: JavaBean或EJB,主要是一些实体类,提供对业务资源和业务逻辑的封装。 FormBean,又称为表单,在rational rose中被描述为边界类,封装了来自于客户层的用户请求信息,如表单信息。
ActionBean,又称为活动,在rational rose中被描述为控制类,它通过获取从ControlSevlet传来的FormBean、取出FormBean中的相关信息、调用JavaBean/EJB等实现核心商业逻辑。最后控制类把控制权传给视图层(View的JSP)。
视图(View)
主要由JSP生成页面完成视图,在JSP中使用标签库(taglib)分开表现逻辑和程序逻辑。通过taglib封装表示层的JAVA代码,非常有利于用户的二次开发。
MVC模式的实现原理小结如下:
所有请求指向ControlServlet,ControlServlet根据controller.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传
基于物联网技术的现代企业智能化管理平台建设方案v213.



