站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题关于J2EE的学习与总结

关于J2EE的学习与总结

摘要: 关于J2EE的学习与总结
1. J2EE简介

随着JAVA语言的不断发展,其在服务器端的开发优势越来越明显,因此,越来越多的技术融入到JAVA平台中,并且新的API和标准不断的出现以便更好的适应不同的需求,从而最终形成了集所有企业相关的标准和API于一身的J2EE平台。J2EE是开发分布式企业软件应用的平台。它包括EJB,RMI,JDBC,JSP,JNDI,JMS,JTA,JavaMail等技术。其中,Enterprise JavaBeans(EJB)组件架构是J2EE的基础和最重要的部分。

由于J2EE在各种领域内创建了适用于企业需要的一系列开放的标准,绝大多数供应商产品的基础架构或部件都是遵循J2EE标准来开发的,因此企业不需要再为单独的应用程序平台投资,而且可以选择J2EE中的组件来更好的满足自己的需要,使应用程序具有很好的扩展性和性能。



2. J2EE 应用程序模型

J2EE是被设计为顾客,雇员,供应商,合作者提供企业级服务,这样的应用程序天生具有复杂性,他们要访问各种类型的数据并分发于大量的客户端。为了更好的控制,管理这些应用程序,支持各种各样用户的商业功能要在中间层引入,中间层描述了一个被企业的信息技术部门紧紧控制的环境。J2EE应用程序依靠于EIS层来存储企业的商业数据。这些数据和用来管理它的系统是企业中的核心。

最初,双层结构(client-server)应用程序模型许诺将提高伸缩性与更广阔的功能,但不幸的是,直接向用户提供EIS服务的复杂性和再每台用户计算机上安装和维护商业逻辑所引起的管理上的问题成了很大的限制。 而这些再双层结构中的限制在三层结构中已不存在了。

如今要求既开发服务的商业功能,还要开发访问数据库和其他资源的代码,这是很复杂的,因为每一种多层结构的服务器都有它自己的应用模型,因此组建一直富有经验的开发队伍将是困难的。另外,随着服务规模的扩大,为了降低开支和加快响应速度,也要经常对其基层代码进行修改。

J2EE应用模型定义了一种建筑模型来让多层应用程序实现服务,并消除了以上的问题,提供了可伸缩的,易访问的,易于管理的方法。

J2EE应用模型把实现多层结构服务的工作划分为二部分:

1) 开发者实现商业和表达逻辑,以及由J2EE平台提供的标准的系统服务。

2) 开发者可以依赖于这个平台为开发中间层服务中遇到的系统级硬件问题提供解决方案。

J2EE应用程序模型通过在建立多层应用程序中最小化其复杂程度,围简化和加速应用程序的开发迈出了重要的一步。
后续:关于J2EE的学习与总结(非菜鸟勿看) zhizhiping(原作)

关键字 j2ee,struct,jsp,ejb(福州大学,qq:44309306)





5. J2ee在实际中的应用

5.1. Strust的应用

Struts开始于2000年3月,1.0在2001年7月发布。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。MVC设计模式把一个系统分成3个相互协调的部分:

Model(模型):模型用于封装系统的状态

View(视图):是模型的表示,提供用户交互界面。当模型状态发生变化时,视图应该得到通知,以便更新视图。

Controller(控制器):接受来自视图的请求,修改模型的状态。

Struts应用有3个主要部件:一个Servlet Controller(由Struts提供,org.apache.action.ActionServlet,以下简称controller)及负责具体业务处理的Action类(org.apache.action.Action的基类);Jsp页面(viewer);应用的业务逻辑封装(model)。Struts 的中心控制器(ActionServlet)接受所有来自客户端的请求,并根据系统的配置(Struts-config.xml)路由HTTP请求到其他Action对象(开发者实现的org.apache.struts.action.Action的子类),在这些Action对象中会进行所有的业务操作,比如插入一条订单,修改一条记录。处理完毕,由Struts的ActionServlet转向到JSP页面,将处理结果返回给客户端。从这儿可以看出在Struts中ActionServlet担任了重要的角色,由它控制所有的程序流转,是MVC三个相对独立的部分协调工作,提供系统的完善功能。从下图可见Struts是MVC Model 2的一个典型应用。

5.2. Struts工作机理

在Struts启动时,controller会读入一个配置文件struts-config.xml,其中定义了前端请求的url与相应的Action类及使用的Form类的映射关系,下面是一个struts-config.xml中的片断:

<action path="/logon"

type="org.apache.struts.webapp.example.LogonAction"
name="logonForm"
scope="request"
input="/logon.jsp">
</action>

从中可以看出,这个action会响应url类似于/logon的请求(在后面我们会看到,这儿的实际的url要根据在web.xml中配置,比如可能为/logon.do或/logon.other之类的带后缀的url),负责处理这个请求的action类是org.apache.struts.webapp.example.LogonAction,使用的FormBean是logonForm,scope界定了这个FormBean存在的范围是只在当前request中存在。

struts会读入这些设置,生成相应的org.apache.action.ActionMapping对象。controller正是使用这些mapping来把HTTP请求转发到应用的actions。一个ActionMapping指定了

1)一个请求URI

2)对应的类(Action的子类)

3)需要的属性

对于一个DB应用

1)一个商业逻辑Bean用于连接、查询数据库

2)这个Bean返回结果到Action

3)Action将这些结果存储到request的form bean中

4)Jsp显示



6. J2EE项目中开发团队的组建

J2EE这种应用模型允许不同的开发人员同时进行开发的各个元素。这里阐述一下对不同层次的设计人员,开发人员的技术要求。对以下几个分类进行描述。

设计师组建团队

表现逻辑层的团队角色

业务逻辑层等团队角色

数据库访问层的团队角色团队的组成可以根据人员的数量和系统的范围大小。例如,不一定所有的角色都要分配,有些人可以担当不能的角色。





参考文献

u studying in Struts (icecloud)

u EJB technology (yuan_er)

u J2EE项目中开发团队的组建(作者:任甲林 中国系统分析员2003-08-05)

u J2EE体系结构设计 (作者: 务实 Thursday, October 9 2003 3:30 PM)





续:关于J2EE的学习与总结(非菜鸟勿看) zhizhiping(原作)

关键字 j2ee,struct,jsp,ejb(福州大学,qq:44309306)



3. J2ee体系结构

目前大多数企业采用J2EE技术的结构设计与解决方案。对于我们学习和研究J2EE体系结构来说,了解与掌握J2EE体系结构的设计方法及一些常用模式是必须的;模型-视图-控制(model-view-control,简称MVC)结构是目前最常见的J2EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,尤其是存在大量页面及多次客户访问及数据显示;相比较而言,一个工作流体系结构更多应用于过程控制和较少交互的情况下;除了体系结构外,J2EE的设计模式对我们解决应用系统的设计也有很大的帮助。



4. J2ee所需要的一些主要技术

4.1. EJB技术

Enterprise JavaBeans(EJB)是一个软件组件模型。如今开发电于商务平台已大量使用组件技术.这是因为组件技术提供了服务器上的自治、企业级和分布式功能,并帮助开发者在不同颗粒度级别上定义和封装系统功能。通过采纳组件技术、已建立旧系统的企业在与从一开始就围绕前沿组件体系结构设计的新公司竞争起来更容易。而且软件组件比传统程序更易于为日后的需求进行维护、支持和修改。在金融行业中,利用以服务器为中心方式的优势在于,可以定义商业过程.将它作为一组软件组件编写一次,然后通过多种渠道传递。一旦使金融系统变为由单独的自治组件(而非单一庞大程序)组成.灵活性就随之而来了。

EJB的组件结构是以作为可复用的服务器端组件而设计的,它使企业能够建立可升级、安全可靠、可运行于多重平台且以商务为重点的应用程序。EJB可以让企业开发人员只集中于开发商务逻辑,而不用花费精力处理分布式服务器端系统所带来的底层问题,从而使开发人员可以快速开发大规模的企业应用。

4.2. Jsp,Sevlet技术

在Java2中可以实现向用户的浏览器直接提供动态Html页的服务,在JavaServerPage 技术中通过在Html页中插入Java代码动态生成页是一种很容易的事情。在一些例子中,某些服务需要一些综合的代码,者可以通过从Jsp中调用JavaBean的方法来实现。

采用jsp技术的优点有一下部分:

1) 将内容的生成和显示进行分离

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2) 生成可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

3) 采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

4) 将内容的生成和显示进行分离
与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTML更方便。此外,你可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地方让SERVLETS程序员插入动态部分即可。

5) 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。

6) 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。

4.3. 中间件

中间件本来属于体系机构方面的内容,因其越来越重要的地位,已经使其成为J2EE中非常重要的技术。

J2EE应用程序模型的一个主要优点便是在中间层的多层应用程序。在J2EE平台,中间层商业功能是由企业JavaBean实现的。这些企业Beans允许服务开发者集中于商业逻辑,并且让EJB Server处理传送稳定的,可升级服务的复杂工作。

JavaServerPages 技术和Servlets向客户层提供了易于访问的Internet型服务的中间层功能。Jsp技术使用户接口开发者更加容易的提供向任何浏览器用户提供动态页面的服务。Servlets让基于Java技术的开发者有更大的自由来在Java语言中提供完全的动态服务。

4.4. 其他技术

RMI(Java Remote Method Invocation ),JDBC(Java Database Connectivity),JNDI(Java Naming and Directory Interface ),JMS(Java Message Service ),JTA(Java Transaction API ),JavaMail等技术现在的发展随着J2EE的应用得到了越来越大的发展。
↑返回目录
前一篇: 简析J2EE应用程序数据库类设计模式
后一篇: 从森林到咖啡馆——书评《J2EE设计开发编程指南》