关于J2EE的学习与总结(一)(福州大学,qq:44309306,非菜鸟可忽略)
关于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应用程序模型通过在建立多层应用程序中最小化其复杂程度,围简化和加速应用程序的开发迈出了重要的一步。
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的应用得到了越来越大的发展。