《J2EE项目设计的关键技术及框架说明》由会员分享,可在线阅读,更多相关《J2EE项目设计的关键技术及框架说明(11页珍藏版)》请在金锄头文库上搜索。
1、J2EE体系架构当下使用的是以Java2为基础的软件其所能应用的开发环境有J2ME、J2SE和J2EE。和以前的应用程序相比,J2EE在本质上跟它们有很大的差异,主要体现在进行开发工作作业和完成结构架构的工作流程的管理。作为主体应用的对象,对于那些需要完成特定需求开发任务的分布式的企业级来说,希望在其流程上得以简化,方便操作和管理,再二次开发的过程中能更加的便捷,以此增强软件的适应性,这就是J2EE体系架构的主要特点28。J2EE在使用过程中通过其使用过程中逻辑功能的区别来划分,还有就是在其相应的逻辑层次都有其自身的组件和所对应的服务29。在该系统中,根据不同的功能放在这里面,可以从服务器的运
2、行来组建,还有配套的EJB组件和Servlet组件要将这两部分分别放置在EJB容器和Servlet容器中,他们彼此间要有一定的信息交流,进而方便各个部分的配合使用。从而能有效的提升该平台软件的使用开发效率。一、J2EE的层次化规范J2EE是通过多分区多逻辑联系的Java2平台升级后的企业专用版,在功能方面主要是根据企业的信息管理系统、Web层、客户管理和终端、以及业务人员处理端四个核心部分组成,运行系统30。(1)J2EE的终端客户使用是需求的人士,一般使用过程就是在IE浏览器来进行访问使用,以此来完成信息的传递;除此之外,还可以添加一些具有特别功能的程序,完成相关岗位所需求的职责知能31。具
3、体的逻辑关系如图2-1所示。Web.xml JavaScript验证 JSP请求页面Structs.xml拦截器Action控制中心Hibernate.xmlSpring配置文件Configation执行任务操作回滚TransationSession图2-1 J2EE结构体系图Web层(2)在web层主要负责维护好客户和终端信息传输和逻辑关系的疏导,进而去整理相关资料,处理之中所出现的问题,通过JSP等技术完成服务端发出的各类网络部件需要程序的编写和调试工作32。具体的Web应用结构实现过程如图2-2所示。业务层JavaBean类(可选)Web浏览器Web页面Applet和可选的JavaBea
4、n类应用程序客户端和可选的JavaBean类JSP页面ServletJ2EE服务器层图2-2 Web应用结构(3)J2EE上的重要组件主要是面向应用层的业务组件,它主要是通过组件协调EJB服务器构成。所使用的服务器其是由开发商所公布的EJB服务器和Web服务器组成的信息传递联系而成的,在其使用的过程中要注意系统的安全问题和相关的操作设置,也可以对软件的使用时间做出修改和管理33。因为在EJB功能使用的过程都是在虚拟容器中操作的,这也可以有效的完成资源和线程的安全问题,从而协调一些系统的操作问题等。(4)公司的信息管理系统建设被称为信息管理层,该系统的核心是公司的办公、数据和客户管理共三个部分组
5、成以及硬件设施配置等,所有一切协同工作,顺利的实现企业管理软件的相关操作要求34。二、J2EE的分布应用技术通过使用的标准API和应用工具来完成公司的模式使用上的设置,在正常的情况下,这个开发工具来完成公司所发布的分布型模式,其中的标准可以用J2EE来作为衡量。J2EE平台采用的主要技术模式是基于分布式的安全通信,这种模式可以为软件的使用效率得到很大程度上的提升35。(1)组件技术获取组件的方式是多样化的。它在设计理念是以J2EE为根本的。它可以解决企业在信息管理方面中各类接口或者完成方法的问题。由于组件还可以根据语言的多样化进行服务,所以它有高效便捷的数据共享。它有着对系统资源的高效配置,因
6、而组件对信息资源的利用更加适宜。(2)Servlets和JSP往往EJB客户端主要访问的是Servlets,EJB也是一个针对其Java技术的程序回复。Servlets程序通过其服务器的处理,完成其主要设计程序即完成客户机的请求。实现这个任务的具体过程是先需要调出必需的Servle容器,完成初始化数据的操作之后,进行自动的处理36。在此过程中,能够自动地生成接收客户机请求的对应操作流程和产生动态页面,同时。将显示和内容分离开来。Servlets相较于CGI和传统的相关技术功能更为强大,效率也较之提升,使其可扩展性和可移植性更好,成本也相应的有所降低。JSP的主要作用是动静态的混合编码技术,Se
7、rvlets能够内外分离,通过页面制作在不同性质下的有效分离,使插入动态信息有了可能性。在此过程中,通过Tag进行扩展,经过Web服务器进行编译,之后再运行。(3)EJBEJB的核心组成是由拼装、配置和开发三个部分,对于服务器的使用开发有着基础性的决定作用,可以做到有效的技术支持。EJB服务可以经过多种实例来进行抽象模拟过程,在这个过程中可以做到类似于访问的形式,进而更好的发掘需求设定功能,在该部分中,不用过渡的对系统进行构造,只用把事物结果做出角色分析即可。在EJB开发完成,可以根据相应的需求来做出合理的功能实现部署,在这个过程里,还能通过计算来对各个部分进行数据化处理37。(4)数据库访问
8、制作一个好的软件核心是要搭建一个良好的数据库,这个数据库要包含有效的数据支撑传输能力和多层次的监控系统,所以说在今后对于数据的传输监控中要知道其功能的完善和预留扩展功能的空间。在这里我们选用的是常用数据库的Java API,其性能稳定且符合我们的需求,它的简称是JDBC。在平常的API研发过程中,基于SQL数据来对数据库做出驱动编写,在这个环节虽然简单但是能带来较高的效率38,而且在常见的数据管理和查询过程中,让使用变的跟为便捷。在以及SQL管理的过程中,JDBC不仅可以为数据传输提供良好桥梁,而且可以很好对软件编写做出支持。2.2 MVC模式MVC是Model-View-Controller
9、的缩写, 它是由运用程序设计的一种常用模式。MVC一般是把步骤分为三块,其核心是使用Controller、View以及Model的方式完成,进而帮助了分开的方式,可以在MVC中把程序分成三块部分:控制层、视图层以及模型层。具体的MVC的体系结构39,如图2-3所示。图2-3 MVC体系结构MVC当中根据其所搭建的模型,controller则是将model发送视图,经过视图处理之后把图形完成出现。在这里模型是根据其所出现的状态来完成的和相应的数据分析能力。和相匹配的视图管理为使用者提供信息输入的需求,其核心是经过控制器(Controller)来实现。进而致使我们的视图会出现不同的变化,MVC可以
10、有效的减少接口数量和相关的耦合关系40。Struts2在其研发过程中是当作结构体系来完成对Struts1的保存等特点,而且其可以使用Webwork设计方式来完成对JSP标记和Servlet把其变成一个完整的渠道。在MVC体系之上具有好的特点,根据J2EE所存在的特点,对Struts2开始了多角度的发展开发,保证了Java系统后续仍有很大的开发空间。2.3 JDBC技术JDBC数据源是指各种关系数据库即数据源可以通过JDBC接口进行访问的数据源。而在这种关系模式下会体现出异构性。关系模式是指对关系的描述。一个关系模式应该由R、U、D、DOM、F简称五元组构成。其中R位关系名,U为组成该关系的属性
11、名集合,D为属性组U中属性来自的域,DOM为属性向域的映像集合,F为属性之间数据的依赖关系集合。由于在JDBC数据源中关系的具象化表现实质是一张二维表,所以关系名既是表名,属性名既是列名,域名及属性向域的映像则可直接表明为属性的数据类型和长度。因为关系名和属性名在异构性上只存在很微小的差异,所以在JDBC数据源上几乎可以忽略不计。那异构性对于JDBC数据原来说具体体现在哪里呢?其实主要是体现在数据类型方面。其实每一个关系数据库都有相对应的数据类型集合,并且需要都在一定程度上符合SQL99的数据类型的标准。为了将各关系数据库中不同的数据类型进行对应转换,我们将所有的数据类型主要分为五类,有字符串
12、类、二进制串类、数字类、日期时间类以及其他类。而且为了更加精准快捷的进行转换,还在这五种大分类中进行了精分,在这里进行一下详细的说明:首先,字符串类,即string类。字符串可以理解为字节的序列,而长度就是相对应序列所包含的字节数,即一个字符串就是一个字节的序列。从存储方式的角度,字符串可以分为固定长度字符串和可变长度字符串,而从空间大小的角度又可以分为国家字符串和非国家字符串。我们先从存储方式的角度来介绍,顾名思义,固定长度字符串即指实际长度小于等于指定长度,但是仍会占用整个空间。优点是读取速度变快,缺点是无法将空间利用率最优化。另一种可变长度字符串则是根据实际值来分配相对应的字节数。那再从
13、空间大小的角度来看,由于世界文化的多样性,各个国家的语言也是各有不同,甚至存在很大的差异性,而国家字符串就是将这一问题具象化,术语所说“字符”和“字节”的对应关系,表示的就是一个字符在计算机中由几个字节来表述的问题。相对于一部分官方语言为英语的国家,一个字符就是一个字节来表示就可以,而为了让字符在官方语言非英语的国家也能够精准流畅的使用,所以引入了国家字符串,国家字符串可以用两个字节的Unicode标准来存储字符,既可以表示65536(216)个字符,又可以完备所需。在面对实际问题时,一定要充分的考虑到字符长度的可操作性以及国家字符串的变化问题,以求最精准的传递原本的意思。其次,二进制串类,即
14、binary类。其实二进制串类和字符串类是有一些相似的,也是指字节的序列,但是区别在于二进制串类一般不是用来存储文本信息,基本是用于视频文件、可执行程序、图像以及音频等类似的非文本信息数据。同样的是二进制串类也分为固定长度和可变长度,基本含义则与字符串类大致相同。然后,数字类,即number类。主要分为精确的数字及近似的数字。精确的数字是指整数以及含有小数点的数字。特点是有正负之分、有精度要求和包含小数位。有精度要求一般是指需要有具体位数的十进制数字。小数位顾名思义是指小数点后的数字。而近似的数字则是相对于精确的数字而言,指那些无法获得准确的精度或其本身就不是精确数值。由于各家厂商的数据库对于
15、FLOAT以及REAL等浮点数据类型有各种不一样的小数精度和值范围的界定,所以经常需要截断数据,这样就需要进行类型以及对应类型值两种不同的转换,就会导致转换近似的数据比转换精确的数据困难的多。例如Oracle 9i中数据类型FLOAT的最大小数精度是38,但是DB2 UDB8.1中所对应的竖锯类型DOUBLE的最大小数精度却只有5,所以当需要把数据从两种类型进行转换时就必须进行截断数据。第四种是日期时间类,即datetime类。要说在所有的SQL数据类型中,犯错率和复杂率最高的就是日期和时间了。众所周知,日期和时间包含了很多元素,有年月日和时分秒毫秒等,所以日期时间类是个复合类型。即使在SQL99上划分了日期和时间的数据类型标准,但是在不同的数据库中操作时却有很大的变化。例如,Oracle 9i中的DATE只在这种数据库下体现世纪信息,在其他的数据库中是不存在的;再比如,DB2 UDB 8,1中的DATE和TIME,分别包含日期和时间,但是在Oracle 9i和SQL Server 2000中却是不体现的,所以如果需要将这两个类型的字段进行转换,就需要在值转换阶段扩充值,否则就会出错;还有,SQL Server 2000中还有DATETIME和SMALLDATETIME两种,SMALLDATETIME的数值范围更小(1/1/1900到6/6/2079)而且