论坛首页 入门技术论坛

学习J2EE前需要了解的问题

浏览 2003 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-08-07  

    毕业时富士通的面试失败,让我认识到自己从学习方向上的一些不足,以及把一些学习过程中需要理解的东西搁置一旁。作为应届毕业,找工作压力真的很大。学校 java课程学习 ,j2ee的学习等、似乎一些要理解的东西都没有很好的去认真面对,尽管每次笔试都能过,但是自己的学习似乎还存在一些漏洞。学习 java前对“面向对象”的认识等,都应该有个很清晰的概念和大体认识。就好比自己要盖一座房子,最起码我们在盖之前应该对房子的建筑应该有个设计图纸,对房子的建设过程应该有个整体的了解吧。JSP/servlet、Jdbc、JavaBean、Struts等J2ee知识学习了不少,但是当被问及"对 J2EE规范的认识以及有那些具体组件"时,自己似乎找不到应该怎么去回答。

   每个程序员在成长的过程中,心中都要有个方向,心怀一棵大树,然后从根基一点一点成长起来,最后枝繁叶茂。而不能只看着眼前的一些些成果,每天都头顶着天,那样会成长很慢,而且很有可能成“畸形”。

回来后找了些资料,补充学习了下J2EE有必要理解的东西,似乎以往的思路更清晰些了。

一、J2EE提出的背景
1、    企业级应用框架的需求
在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列同陈为中间件。
2、    为了通用必须要提出规范,不然无法达到通用
在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE就是基于JAVA技术的一系列标准。
注:中间件的解释 中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。我们后面说到的容器的概念就是中间件的一种。
二、J2EE的优越性
1、    基于JAVA 技术,平台无关性表现突出
2、    开放的标准,许多大型公司已经实现了对该规范支持的应用服务器。如BEA ,IBM,ORACLE等。
3、    提供相当专业的通用软件服务。
4、    提供了一个优秀的企业级应用程序框架,对快速高质量开发打下基础
J2EE规范  (Java 2 Platform,Enterprise Edition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。

四、J2EE组件层次

   J2EE组件和层次如图1-1所示。
   图1-1 J2EE组件层次(略)
   J2EE规范定义了如下组件:
   ★客户端组件
   ★Web组件
   ★EJB组件
   J2EE规范定义了以下四个层次。
   1.客户端层(Client Tier)
  客户端层用来实现企业级应用系统的操作界面和显示层。另外,某些客户端程序也可实现业务逻辑。可分为基于Web的和非基于Web的客户端两种情况。基于 Web的情况下主要作为企业Web服务器的浏览器。非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
   2.Web层
   为企业提供Web服务。包括企业信息发布等。Web层由Web组件组成。J2EE Web组件包括JSP页面和Servlets。Web层也可以包括一些JavaBeans。Web层主要用来处理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。
   3.业务层(Business Tier)
   业务层也叫EJB层或应用层,它由EJB服务器和EJB组件组成。一般情况下许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。 EJB层用来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行在业务层中的EJB来处理。一个Bean从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。同样,一个Bean也可以从企业信息系统取出数据,发送到客户端程序。业务层中的EJB要运行在容器中,容器解决了底层的问题,如事务处理、生命周期、状态管理、多线程安全管理、资源池等。
   4.企业信息系统层(Enterprise Information System tier)
   处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(Connector Architecture)。它是连接J2EE平台和企业信息系统层的标准API。
   业务层和Web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。
   5.J2EE的分布应用技术
   为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供支持。这些技术涵盖数据库访问、分布式通信、安全等。为分布式应用提供支持的多方面。
   (1)组件技术
   J2EE的核心思想是基于组件/容器的应用。每个组件提供了方法、属性、事件的接口。组件可以由多种语言开发。组件是可以重用的、共享的、分布的。
   (2)Servlets和JSP
   Servlets用来生成动态页面或接收用户请求产生相应操作(调用EJB)。JSP基于文本。通过容器产生相应的Servlets,使内容和显示分开。J2EE中提供了Servlet API,用于创建Servlets。
   (3)EJB技术
   EJB规范提供了一种开发和部署服务器端组件的方法。每个EJB是按功能逻辑划分的,开发时不必关注系统底层细节问题,只关注具体的事务分析。EJB开发完毕后,按规范部署在EJB容器,完成相应的事务功能。EJB支持分布式计算。真正体现了企业级的应用。
   (4)数据库访问
  无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。 JDBC(JavaDatabase Connectivity)是一个独立于特定的数据库管理系统的开发接口。它提供一个通用的访问SQL数据库和存储结构的机制,支持基本SQL功能的一个通用底层的应用程序编程接口。它在不同的数据库界面上提供了一个统一的用户界面。提供了多种多样的数据库连接方式。J2EE中提供了JDBC API使多种数据库操作简单、可行。
   (5)分布式通信技术
   分布式通信技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供多种通信模式。
   为了使运行于某一机器上的对象调用另一台机器的对象,J2EE实现了如下通信方式:
   Java RMI(Remote Method Invoke):远程方法调用。Java RMI实现Java对象间的远程通信。服务器用注册器把一个名字和远程对象绑在一起,客户机通过名字从服务器注册器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法。
   Java IDL(Java Interface Defilation Language):接口定义语言。可以实现Java对象的符合CORBA规范的远程对象通信。
   JNDI(Java Naming and Directory Interface):Java命名和目录接口。JNDI为分布式系统访问远程对象提供了一个标准的命名接口。EJB主接口对象、数据源、消息服务器等都可以用JDNI树的形式注册到名称服务器中,调用它们的对象通过符合JDNI的程序接口在JNDI名称服务器中查找指定名称的远程对象。
   JMS(Java Message Service):Java消息服务。为开发消息中间件应用程序定义了一套规范。Java客户端和Java中间层访问消息系统只要实现JMS定义的简单的接口,就可以实现复杂的应用,而不必去关注低级的技术细节。

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics