JavaEE 简介

1. JavaEE

  J2EE 是 Java2 平台企业版 (Java2 Platform Enterprise Edition),它的核心是一组技术规范与指南,提供基于组件的方式来设计、开发、组装和部署企业应用。J2EE 使用多层分布式的应用模型。

2. JavaEE 分层

  1. 客户层:运行在客户计算机上的组件,用户和系统的接口逻辑,通过 http 协议的访问来应用服务器。
  2. 表示层:运行在 J2EE 服务器上的组件,通过与业务逻辑层互动,将用户需要的数据以适当的方式输出。
  3. 业务逻辑层:同样是运行在 J2EE 服务器上的组件。
  4. 企业信息系统层:运行在 EIS 服务器上的软件系统。

  以上的层次一般认为是 客户层 + J2EE 应用服务层 + 企业信息系统层三层应用,分布在三个不同位置:客户计算机、J2EE 服务器以及后台的数据库。

2.1. 客户层

  Web 浏览器,也称 Web 客户端,以标准格式显示从服务器传递过来的网页,他们传递给浏览器时已经是 HTML 文件或者 XML 文件,浏览器正确的显示给用户。

  小应用程序(Applet)是嵌在浏览器中的一种轻量级客户端,现在使用的已经很少了。

  应用程序客户端,J2EE 应用程序客户端,相较于 Applet 来说是一个比较重量级的客户端,能够使用大多数的服务和 API,它运行在客户机上,提供强大而灵活的用户界面。

  B/S模式:浏览器——服务器,C/S模式:客户端——服务器。
  比较常用的是 B/S 模式,维护成本低,只需要维护服务器端的代码,而C/S模式访问速度快,但是需要维护客户端和服务器两端的程序,维护的成本比较大。
  目前C/S多用于移动设备的App,这些App经常会要求更新软件,这就是维护客户端程序。但即便是使用C/S开发,大部分还是会用到B/S模式,比如微信中很多都是一个网页,就是在客户端中嵌入一个浏览器,所以目前主流的模式是B/S模式。

2.2. JavaEE 应用服务器

  两大容器:Web 容器和 EJB 容器,其中 EJB 容器现在应用已经比较少了。
  Web 容器给处于其中的应用程序组件(核心组件是JSP,Servlet)提供一个环境,使 JSP,Servlet 直接与容器中的环境变量接口交互,不必关注其他系统问题。主要由 Web 服务器来完成,比如 Tomcat、WebLogic、WebSphere 等。

2.3. 企业信息系统层

  负责运行企业信息系统软件,包括 ERP、数据库、目录服务、其他遗留系统等。

3. JavaEE组件标准规范

3.1. JDBC(Java Database Connectivity)

  JDBC API 为访问不同数据库提供一个统一的路径。

3.2. JNDI(Java Name and Directory Interface)

  JNDI API 被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源 DNS 和LDAp,本地文件系统或者应用服务器中的对象。

3.3. EJB(Enterprise JavaBean)

  J2EE 技术得到广泛重视的原因之一就是 EJB。它提供了一个框架来开发和实施分布式商务逻辑,由此很显著的简化了具有可伸缩性和高度复杂的企业级应用程序的开发。
  EJB 规范定义了 EJB 组件在何时如何与他们的容器进行交互作用。容器负责提供公用的服务,例如目录服务,事务管理,安全性,资源缓冲池以及容错性。
  但是需要注意的是,EJB 并不是实现 J2EE 的唯一路径,正是由于 J2EE 的开放性,是的所有的厂商能够以一种和 EJB 平行的方式来到达同样目的。

3.4. RMI(Remote Method Invoke)

  远程方式请求,RMI 协议调用远程对象上的方法,它使用序列化的方式在客户端和服务器之间传递数据。RMI 是一种被 EJB 使用的更底层的协议。

3.5. Java IDL/CORBA

  在 Java IDL 的支持下,开发人员可以将 Java 和CORBA 继承在一起,他们可以创建 Java 对象并使之能够在 CORBA ORB 中展开,或者他们还可以创建 Java 类并和其他 ORB 一起展开的 CORBA 对象客户。后一种方法提供了另一种途径,通过它 Java 可以被用于将你的新应用程序和旧的操作系统集合在一起。

3.6. JSP

  JSP 页面由 HTML 代码和嵌入其中的 Java 代码组成。服务器在页面被客户端所请求之后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端浏览器

3.7. Java Servlet

  Servlet 是一种小型的 Java 程序,它扩展了 Web 服务器的功能。作为一种服务器的应用,当被请求时开始执行,这和 CGI Peri 脚本很相似。Servlet 提供的功能大多和 JSP 类似,不过实现的方式不同。JSP 通常是大多数的 HTML 代码中嵌入少量的 Java 代码,而 Servlet 全部由 Java 写成并生成 HTML。

3.8. XML

  XML(标准通用标记语言的子集),是一种可以用来定其他标记语言的语言。它被用来在不同的商务过程中共享数据。XML 的发展和 Java 是相互独立的,但是它和 Java 具有相同的目标:平台独立性。

3.9. JMS

  JMS 是用于和面向对象消息的中间件相互通信的应用程序接口。它既支持点对点的域,又支持发布/订阅类型的域,并且提供了下列类型的支持:消息传递、事务型消息的传递、一致性消息的传递和具有持久性的订阅者支持。JMS 还提供了另一种方式来对新系统和旧后台系统相互集成。

3.10. JTA

  JTA 定义了一种标准 API,应用程序由此可以访问各种事务监控

3.11. JTS

  JTS 是CORBA OTS 事务监控的基本实现。JTS 规定了事务管理的实现方式。该事务管理器是在高层支持 Java Transaction Api 规范,并且在较低层次实现 OMG OTS specification 和 Java 印象。JTS 事务管理器为应用程序服务器、资源管理器、独立的应用以及同学资源管理器提供了事务服务。

3.12. JavaMail

  JavaMail 是用于存取邮件服务器的 API,它提供了一套邮件服务器的抽象类,不仅支持 SMTP 服务器,也支持 IMAP 服务器。

3.13. JAF(JavaBeans Activation Framework)

  JavaMail 利用 JAF 来处理 MIME 编码的邮件附件。MIME 的字节流可以被转换成 Java 对象,大多数应用都可以不需要直接使用 JAF。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值