J2EE平台技术架构

  • 格式:docx
  • 大小:16.51 KB
  • 文档页数:3

J2EE平台技术

J2EE 是企业级应用的一种规范,包含有很多方面的技术和构件:如 Javascript、Ajax、Jsp、Servlet、JavaBean、EJB、JMS、Jdbc、JTA、SOA、远程调用RMI、事务、安全、容器、中间件、数据库以及开源的组件和框架,如Ajax框架如Jquery,DWR、展现层框架Struts、业务逻辑框架Spring、对象关系映像框架Hibernate、Ibatis等,SOA规范的重量级Websevice组件如Xfire组件、轻量级如Hessian组件,另外还有一些类似JMS和消息驱动Bean的异步消息处理框架等。另外还可以包含如异常错误及日志处理Log4j组件及Applet等客户端组件。

DAO,JSP,POJO

DAO:数据访问对象,是用于处理集成层的,衔接上层Service(即业务逻辑层)及下层POJO(和数据库表记录进行映象的实体对象)

POJO:和数据库表记录进行映象的实体对象,在Hibernate中有对应的hbm.xml文件对实体对象和相关表进行映像描述。

JSP:Java服务页,容器先把其转换成Servlet,是Html,Javascript,Java,Ajax等的混合体。其存贮在服务器请求响应后按Html规定的格式显示于浏览器。

Hibernate、Spring、Struts框架

Hibernate:处在J2EE的集成层,用于对象关系自动映象,和Hql等配合使用,使关系对象化,使开发更切合面向对的思想。现在Hibernate也支持Sql语句,并支持一级缓存二级缓存及延迟加载和事务等技术以搞高并发性及安全性等。

Spring:处在J2EE的业务逻辑层。它本来还包含一个类似Struts展现层(Spring3在这一块己经有了很好的支持),不过如和Struts配合使用我们一般使用其IOC及Aop技术,其中Ioc对Bean进行依赖注入和控制返转,以达到组件重用及松散耦合的目的并提高可维护性性。Aop是面向切面的技术,其使可以开发者更专注入业务逻辑处理,而那些与业务逻辑关系不是很大的而系统很多地方都有可能用到的地方进行集中优化并自动处理,如事务处理、日志处理等。Spring事务分为编程式事务和声明式事务,声明式事务又可通Aop及拦截器两种方式实现。另外Spring也支持分布式的事务处理。

Struts2:处在J2EE的展现层,可以和Jsp配合使用,有自己的一套标签,有Action进行流程控制,有相关的配制文件Struts.xml,如果配制很多,可以专门给每个子模块做一个子模块配制文件。上可以接收页面传来的数据并把从业务逻辑层获取的数据返回给返回页面,下可以把从页面接受到的数据传给业务逻辑层并接收业务逻辑层返回的数据。Struts2的action属性可以用来临时保存从页面接收到的数据。Action下面调用Service(即业务逻辑处理层)。

JavaScript脚本语言、XML语言 ,流行的javascript框架

JavaScript脚本语言:其执行在浏览器端,可以用来做一些页面验证和提示工作及一些页面业务逻辑处理工作,另外还有一些特效工作。也是一种面向对象的语言。页面验证和提示工作提高系统的安全性,业务逻辑处理工作提高系统的效率并降低服务器的工作压力。JavaScript包括文档对象模型、W3C等。 XML语言:可扩充的标签语言,可用来做配制文件及保存数据用。

流行的javascript框架:JQuery、DWR、Protoype等,他们都支持Ajax、Css。JQuery强大灵活,特别是对列表强大支持。DWR简单实用,Protoype更象传统Javascript的一种标准扩展。

Java设计模式:设计模式是经过设计和开发者经过长期的经验和实践总结和归纳出来的一种固定设计和开发方式。使代码更具重用性、更具理解性、更具可靠性。常用的Java设计模式有三类(创建行、结构型、行为型)二十几种。工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,替代模式、包装模式、模板模式、桥接(Bridge)模式都是比较常用的。

Web services和SOA

SOA:面向服务的架构规范。其中有服务提贡者(服务端)和服务的调用者(客户端),主要是异构系统间进行小量信息交换时使用。共中包含有重量级的现实组件Web services组件:如Xfire等,轻量级的现实组件Hessian等。还可以用远程调用RMI及EJB实现。不能所有的信息交换都用SOA实现,只有那些异构系统、远程信息交换、少量信息交换时才使用,不然的话就会适得其反,托累了系统的整体性能和效率。SOA返回给客户端的数据有XML格式和二进制数据两种,其中Web services是XML格式,这种格式量大传输效率较低,但通过相关API很好解析,Hessian返回二进制数据,量少,效率较高,但返回后解析和处理没有这么方便。

Web services:是SOA规范的一种具体实现。其协议为SOAP,其中的wsdl.xml定义了要调用服务的接口(如方法,参数,返回类型)及一些别的。调用WEB服务时真正业务处理在服务端,然后把结果(返回信息)通过网络返回给客户端。Web services返回的数据是XML格式的。所以数据量比较大,效率低一点。

RUP 统一软件开发过程,是一个面向对象且基于网络的程序开发方法论

系统架构

系统架构一般分为层次架构及系统整体架构。

层次架构:

一般分为展现层(Javascript、JQuery、Dwr、JSP、Struts)、业务逻辑层(即Service层)、集成层(DAO)、POJO或Domain层、数据库层。展现层主要用于页面展现和流程控制。Service主要用于处理业务逻辑,可以调用JavaBean、会话Bean、Dao等。DAO主要用于调用数据访问相关的方法并进行事务处理,并和POJO相接。POJO用于进行对象关系自动映象。数据层包括HQL、SQL、表、存取过程、函数、序列号等。各层应有对应的接口、抽象类、实现类三级结构。

系统整体架构:

系统整体架构应该从提高系统的并发性、团队开发性、可维护性、可扩展性、可重用性、安全性、可移值性、日志、接口等方面宗合考虑。为了达到团队开发性和可维护性和可扩散性,那么系统必须有一个固定的统一的架构模式,如统一的层次结构、统一的配制文件(如XML配制、属性配制、常量配制、参数配制、编码规范和风格配制等),为了达到可重用性应有统一的通用API(如字符串处理、文件处理、数据库访问处理、分页处理、报表、打印、上传、下载、统一的错误异常及日志处理),为了达到可扩展性,系统各层应有对应的接口、抽象类、实现类三级结构。为了达到安全性,系统应该有统一完整的事物处理API,应该对权限进行统一的分配和管理(如定义具体的模块、菜单、操作、数据等权限、定义角色等,并对相关权限进行认证),当涉及到和其它系统的接口时应考虑接口的安全性、信息交换的效率等(如和财务系统的接口、和银行系统的接口、和电信等BOSS系统的接口,这些可能会用到WebService、远程调用、异步消息处理JMS等,为了安全还可能对传输的数据进行加密与解密工作、专门机构进行安全认证等),另外为了使大型系统高并发、负载匀衡、容错性好可以采用群集和分布式系统设计,分布式服务器也可以采用外挂方式,也可以在WEB层,业务逻辑层、数据库层实现多层群集分布。另外为了定性定量的对系统性能进行分析,可以另外专门做一个子系统对系统的结构、瓶颈、压力、流量、点计率进行统计和分析。为了提高系统的并发性还可以改良SQL语句、优化程序处理、优内存防止内存涉漏。