当前位置:文档之家› J2EE技术架构

J2EE技术架构

J2EE技术架构《KINGOSOFT高校数字校园综合管理平台》采用先进的J2EE技术架构,基于多层软件构架(即客户层、表示层、业务层、集成层和资源层),采用面向服务的思想、使用WebService和XML等技术整合与集成各种应用系统,能够为高校数字校园建设提供先进实用、安全可靠、便于兼容、易于扩展的应用解决方案。

技术架构如下:J2EE(Java 2 Platform Enterprise Edition)是Java2平台企业版。

J2EE是一套全然不同于传统应用开发的技术架构,包含大量组件,可简化且规范应用系统的开发与部署,进而提高可移植性、伸缩性、安全性与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种遵循J2EE架构开发的软件存在良好的兼容性,解决过去使用的软件产品彼此之间无法兼容、导致内部或外部应用难以互通的窘境。

J2EE是使用JAVA技术开发企业级应用的一种事实上的工业标准,各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上,具有良好可移植性。

J2EE企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service与API。

J2EE容器与相应的组件可以部署在网络中的任一服务器上,具有良好的可伸缩性。

J2EE组件的安全是由各自的容器来负责的,组件的开发人员几乎可以不用或者很少在组件中添加有关安全的代码。

这种安全逻辑和业务逻辑相对独立的架构,使得企业级应用系统有更好的灵活性和扩展性。

J2EE是以企业与企业之间的运算为导向的JAVA开发环境。

J2EE架构定义各类不同组件,如WEB组件、E JB组件等,而各类组件可以复用,可以组装成不同的系统。

客户层是整个架构的最上层,主要用于将操作界面呈现给用户、建立与服务器的连接、接收并验证用户的输入、管理客户端与服务器的会话状态。

客户层分为浏览器客户端和桌面应用客户端。

浏览器客户端使用HTML、CSS、JavaScript与AJAX等技术实现;桌面应用客户端使用PowerBuilder集成开发环境实现。

1、HTML(Hyper Text Mark-up Language):即超文本标记语言,是WWW的描述语言,是一种简单、通用的全置标记语言。

HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。

HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

2、CSS(Cascading Style Sheets):即层叠样式表,是一种标记语言,它不需要编译,可以直接由浏览器执行。

在标准网页设计中CSS负责网页内容的表现。

3、JavaScript:是一种由Netscape的LiveScript发展而来的脚本语言,JavaScript使网页增加互动性。

JavaScript使有规律地重复的HTML文段简化,减少下载时间。

JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI(Common Gateway Interface)验证。

4、AJAX(Asynchronous JavaScript and XML):即异步JavaScript和XML,是指一种创建交互式网页应用的综合开发技术;涉及到:AJAX的定义,基于WEB标准的XHTML+CSS表示,使用DOM(Document Object Model)进行动态显示及交互,使用XML和XSLT(Extensible Stylesheet Language Transformations)进行数据交换及相关操作,使用XMLHttpRequest进行异步数据查询、检索,使用JavaScript进行绑定。

表示层是整个架构中最活跃的分层,由WEB服务器及其组件构成,主要用于处理客户端的请求、响应业务层组件的请求。

表示层引入了基于组件开发的Struts开源框架,采用Servlet与XML等技术实现,具有良好的可伸缩性和稳定性,降低了系统开发的复杂度、提高了开发效率,支持所有的J2EE应用服务器(包括Apache Tomcat、JBoss Application Server、IBM WebSphere Application Server与BEA Weblogic Application Server等)。

1、Servlet:是使用Java Servlet应用程序开发接口(API)及相关类和方法的JAVA组件。

除了JAVA Servlet API,Servlet还可以使用用以扩展和添加到API的JAVA类软件包。

Servlet在启用JAVA的WEB服务器上或应用服务器上运行并扩展了该服务器的能力。

Java Servlet API定义了一个Servlet和JAVA服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。

2、XML(Extensible Markup Language):即扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以很方便地建立。

虽然XML文件比二进制数据占用的空间更多,但XML极其简单、很容易掌握和使用。

XML可以在任何应用程序中读写数据,这使得XML成为数据交换的唯一公共语言。

3、JSP(JavaServer Pages):是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(Tag),从而形成JSP文件(*.jsp)。

WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

JSP可以操作数据库、重新定向网页等,用于实现建立动态网页所需要的功能。

4、Struts:是一个MVC(Model View Controller)框架,用于快速开发JAVA WEB应用。

Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和开发人员定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。

Struts没有涉及M(Model),所以Struts可以调用JAVA实现的任何形式的业务逻辑组件。

5、Portal:是一种WEB应用,通常用来提供个性化、单点登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。

Portal由如下三个部分组成:(1) Portal Server:一个Portal Server就是指一个Web-based系统,通常都会提供个人化设置、单点登录、以及将各种不同来源的信息放在网页之中组合后呈现的功能,门户会根据个性化设置提供定制的网页,不同的使用者浏览页面将获得不同的内容。

(2) Portlet Container:是提供Portlet执行的环境,包含了许多Portlet并且管理其生命周期。

一个Portlet Con tainer接收到来自Portal的请求后,将这个请求传递给存在Container中的Portlet执行。

Portal Server和Portlet Container可以放在一起视为同一个系统的组件或者分开成为两个独立的组件。

(3) Portlet:Portlet是基于JAVA的WEB组件,由Portlet容器管理,并由容器处理请求,生成动态内容。

Po rtal使用Portlet作为可插拔的用户接口组件,提供信息系统的表示层。

6、JSR168(Java Standardization Request 168):定义了一个Portlet的规范,包括Portlet容器和Portlet之间的合约。

JSR168由JCP(Java Community Process)定义。

业务层是整个架构中最核心的分层,由应用服务器及其组件构成,主要用于处理业务逻辑。

业务层引入了基于组件开发的Spring开源框架,采用WebService与JavaBean等技术实现,具有良好的稳定性和可靠性,降低了系统开发复杂度、提高了开发效率,支持所有的J2EE应用服务器(包括JBoss Application Server、IBM WebSphere Application Server与BEA Weblogic Application Server)。

1、JavaBean:是一种JAVA语言写成的可重用组件,是一种JAVA类,通过封装属性和方法成为具有某种功能或者处理某个业务逻辑的对象,其他JAVA类可以通过自省机制发现和操作JavaBean的属性。

JavaBean具有以下特点:可以重复使用;易编写、易维护、易使用;可以在任何安装了JAVA运行环境的平台上的使用,而不需要重新编译。

2、EJB(Enterprise Java Beans):是企业级JavaBean,是JAVA的核心代码,用于开发基于组件的企业应用程序。

EJB包括Session Bean(会话Bean)、Entity Bean(实体Bean)和MessageDriven Bean(消息驱动Bean)。

(1) Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。

每当接收到客户端请求时,容器就会选择一个Session Bean来为客户端服务。

Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。

(2) Entity Bean用于实现O/R(Object/Relationl)映射,负责将数据库中的表记录映射为内存中的Entity对象,创建一个Entity Bean对象相当于新增一条记录,删除一个Entity Bean会同时从数据库中删除相应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。

(3) MessageDriven Bean(MDB)用于接收客户端发送的JMS(Java Message Service)消息然后做相应的处理。

M DB实际上是一个异步的无状态Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。

MDB适用于需要异步处理请求的场合,避免客户端长时间的等待一个方法调用直到返回结果。

3、WebService:是建立可互操作的分布式应用程序的新平台,作为一套标准,它定义了应用程序如何在WE B上实现互操作性。

相关主题