知识库

平台的选择

网站:知识库   来源:网络收集

J2ee 。

net 平台选择 1、平台的选择 随着三层/多层企业信息系统结构的深度发展和下一代分布式计算模型 Web 服务的出现, 企业应用中关于平台、框架、语言的竞争也愈演愈烈。

J2EE 平台在过去几年里一直引领着企 业应用的潮流,但最近微软强力推出的.NET 平台也开始吸引着众多 IT 企业和开发人员的注 意力,向 J2EE 平台提出了强有力的挑战。

企业应用领域的技术对抗也因此拉开了架势。

需要强调的是,.NET 是战略产品,而 J2EE 是描述产品的标准,现在有很多符合 J2EE 标 准的产品。

在可以预见的未来,它们都将是构建企业信息系统应用的基础性平台,尤其是开 发和部署 Web 服务的重要平台。

尽管可以同时使用几种系统平台和语言,但对于企业来说,还需要选择一个战略性的平 台来实现数据的无缝集成,加速企业应用的部署。

而要做出正确的选择,首先需要充分了解 两个平台的特点和优势。

1.1 J2EE 企业应用系统的开发一直面临着重大挑战:一方面,企业应用系统面对的是一个异构的 分布式环境,它必须支持与已有系统的集成性和与其他系统的互操作性;另一方面,作为为 客户、合作伙伴和企业内部信息服务的平台,企业系统还必须具有高可用性、安全性、 可靠性和可伸缩性。

这些要求再加上复杂多变的用户需求和不断伸缩的交付时间,使得企业 系统的开发越来越困难。

开发商和广大程序员一直在努力推动和殷切期待一个成熟、标准的 企业平台来简化和规范企业系统的开发和部署。

Java 技术的出现,尤其是 J2EE(Java 2 Platform Enterprise Edition)平台的推出正是这种努力的结果,也使得企业系统的开发由 此变得更加快速和方便。

需要指出的是,J2EE 本身是一个标准,它为不同厂商创建平台产品 了标准,使不同 J2EE 平台产品之间的交互成为可能。

J2EE 旅程 1/29

Java 于 1996 年由 Sun 公司推出, 当时它的主要用途是制作产生动态网页的 Applet。

后来, 人们发现 Java 的“一次开发,多次运行”、纯面向对象的特性、垃圾回收机制和内置的安全 性特别适合于开发企业应用系统。

于是,企业应用开发商纷纷在 Java 标准版的基础上各自扩 展出许多企业应用 API, 其结果导致基于 Java 的企业应用呈式增长。

但是各企业系统 API 之间又不能相互兼容,破坏了 Java 的平立性。

鉴于此,Sun 公司联合 IBM、Oracle、BEA 等大型企业应用系统开发商于 1998 年共同制订了一个基于 Java 组件技术的企业应用系统开 发规范,该规范定义了一个多层企业信息系统的标准平台,旨在简化和规范企业应用系统的 开发和部署。

这一规范和其定义的平台就构成了 J2EE。

目前 J2EE 的最新版本是 J2EE 1.3。

需要注意的是,J2EE 本身是一个标准,而不是一个现成的产品(虽然现在有很多符合 J2EE 标准的产品),它由以下几个部分组成:  J2EE 规范。

该规范定义了 J2EE 平台的结构、平台角色及 J2EE 中每种服务和 核心 API 的实现要求。

它是 J2EE 应用服务器开发商的大纲。

 J2EE 兼容性测试站点。

Sun 公司的一个测试 J2EE 应用服务器是否符合 J2EE 规范的站点,对通过该站点测试的产品,Sun 公司将发放兼容性证书。

 J2EE 参考实现。

即 J2EE SDK,它既是 Sun 公司自己对 J2EE 规范的一个非商业性 实现,又是为开发基于 J2EE 企业级应用系统原型的一个免费的底层开发环境。

 J2EE 实施指南。

即 BluePrints 文档,该文档通过实例来指导开发人员如何去开 发一个基于 J2EE 的多层企业应用系统。

组件组件-容器 搭建架构 J2EE 规范定义了一个基于组件的多层企业应用系统开发平台,其逻辑结构如图 1 所示。

图中的椭圆形表示组件,大矩形表示容器,包含向下文字的小矩形表示 API,箭头表示访问, 箭头线上的文字表示相应的协议。

2/29

J2EE 是一个基于组件-容器模型的系统平台,其核心概念是容器。

容器是指为特定组件提 供服务的一个标准化的运行时环境,Java 虚拟机就是一个典型的容器。

组件是一个可以部署 的程序单元,它以某种方式运行在容器中,容器封装了 J2EE 底层的 API,为组件事务处 理、数据访问、安全性、持久性等服务。

在 J2EE 中组件和组件之间并不直接访问,而是通过 容器的协议和方法来相互调用。

组件和容器间的关系通过“协议”来定义。

容器的底层 是 J2EE 服务器,它为容器 J2EE 中定义的各种服务和 API。

一个 J2EE 服务器(也叫 J2EE 应用服务器)可以支持一种或多种容器。

在图 1 中,你可能已经注意到每个容器的服务包括 两部分:J2SE(Java 2 Platform Standard Edition)和一组扩展的服务。

这是因为 J2EE 是 以 Java 标准版为基础的,各容器在 J2SE 之上再根据需要一些扩展的服务,如目录服务、 事务管理、数据访问、消息机制、安全性等。

的核心—— ——EJB J2ee 的核心——EJB J2EE 定义了四种组件: Applet 组件、 Application 客户组件、 组件及 EJB Web (Enterprise JavaBeans)组件。

其中 Applet 和 Application 客户组件在客户端运行,J2EE 通过 Java 插 件为 Applet 运行环境,Application 客户的容器就是本地 Java 虚拟机。

Web 及 EJB 组件 在服务器端运行。

J2EE 中包含两种 Web 组件:JSP 和 Servlet。

它们是 Web 服务器的功能扩 展,都能生成动态 Web 页面。

不同的是 JSP 是将 Java 代码嵌入到 HTML 中,服务器负责解释 3/29

执行,生成结果返回用户(与 ASP 技术相似)。

而 Servlet 是单独的 Java 类,它动态生成 HTML 文件返回给客户。

Web 组件的容器比较典型的就是基于 Java 的 Web 服务器。

EJB 是 J2EE 平台的核心, 也是 J2EE 得到业界广泛关注和支持的主要原因。

我们知道, J2EE 的一个主要目的就是简化企业应用系统的开发, 使程序员将主要精力放在商业逻辑的开发上。

EJB 正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的 组件框架来实现分布式的、面向对象的商业逻辑。

EJB 的核心思想是将商业逻辑与底层的系 统逻辑分开,使开发者只需关心商业逻辑,而由 EJB 容器实现目录服务、事务处理、持久性、 安全性等底层系统逻辑。

一个可部署的 EJB 组件包含 3 个部分:  Remote 接口 Remote 接口定义 EJB 组件中的可供用户调用的方法, 也就是通 常所说的实现商业逻辑的函数或过程(如计算商品价格的函数),以供远程客户端调 用。

在 EJB 组件部署到容器的时候,容器会自动生成 Remote 接口相应的实例,即 EJB 对象,它负责代理用户的调用请求。

 Home 接口 Home 接口定义一组方法来创建新的 EJB 对象,查找、定位和清除已有 的 EJB 对象。

在 EJB 组件部署时容器也会自动生成相应的 Home 对象,该对象负责查 找和创建 EJB 对象,返回 EJB 对象的引用给客户;用户利用该引用调用 EJB 组件的方 法,得到结果;最后 Home 对象清除 EJB 对象。

我们可以形象地称 Home 接口为 EJB 对 象的工厂。

 Enterprise Beans 类 Enterprise Beans 类是商业逻辑的具体实现类。

其可供用 户调用的方法在 Remote 接口中定义。

根据功能不同,EJB 2.0 规范中定义了三种 Enterprise Beans:会话 Beans(Session Beans)、实体 Beans(Entity Beans)和 消息驱动 Beans(Message-driven Beans)。

会话 Beans 分无状态和有状态两种。

一般无状态的会话 Beans 模拟商业逻辑,比如计算价 格等。

有状态的会话 Beans 通常模拟一个客户会话,它会临时保存客户信息,根据客户要求 调用其他 Beans 来存取数据。

两种会话 Beans 都不保存状态信息或数据,当客户断开连接或 服务器关闭时,会话 Beans 也随之消失。

一个会话 Beans 的典型例子是网站上的购物车。

4/29

实体 Beans 模拟商业数据, 它表示一个数据存储, 可以是状态信息或数据库中的一条纪录。

实体 Beans 在客户断开连接或服务器关闭后, 仍有服务保证其数据得以保存。

一个实体 Beans 的典型例子就是客户账号信息。

消息驱动 Beans 在行为上很像会话 Beans。

不同的是仅在需要向这些 Beans 发送消息时才 调用消息驱动 Beans,比如在需要的时候发送用户确认信息等。

另外,在提交和部署 EJB 组件时,还需要两个文件:部署描述文件,容器根据该文件来部 署 Enterprise Beans,所要求的服务;EJB jar 文件,它是提交给 EJB 容器的一个部署 单元,容器(应用服务器)在部署时解开它,装入 Enterprise Beans。

EJB 容器非常复杂,一般由专业的 J2EE 应用服务器开发商,比较流行的 EJB 容器由 IBM 的 WebShpere、BEA 公司的 WebLogic Server、Sun 公司的 iPlant 等应用服务器。

EJB 容器除了为 EJB 事务处理、目录服务、持久性管理和安全性服务外,还负责 EJB 的部署、 发布和生命周期管理。

平台标准服务 服务是组件和容器之间,以及容器和 J2EE 服务器之间的接口,在实现层面上它就是一系 列 API 和协议。

J2EE 平台定义了一组标准的服务,其中有些服务是由 J2SE 的,有些则 是 J2EE 对 Java 的扩展。

 目录服务 JNDI(Java Name and Directory) API 为应用程序了一个统一 的接口来完成标准的目录操作,由于 JNDI 是独立于目录协议的,应用程序可以用它 访问各种目录服务,如 LDAP、NDS、DNS 等。

 数据访问 JDBC(Java Database Connectivity) API 为访问不同类型的数据库提 供了统一的途径,屏蔽了不同数据库的细节,具有平台无关性。

J2EE 平台除了要求核 心的 JDBC API(包含在 J2SE 中)外,还要求扩展的 JDBC API 2.0,它支持行集、连 接池和分布式的事务处理。

 事务处理 JTA(Java Transaction Architecture)定义了一组标准的接口,为 应用系统可靠的事务处理支持。

JTS(Java Transaction Service)是 CORBA OTS 5/29

事务监控的 Java 实现。

JTS 规定了事务管理器的实现方式,该事务管理器在高层支持 JTA 标准,在底层实现了 OMG OTS 规范的 Java 映射。

 消息服务 JMS(Java Message Service)是一组用于和面向消息的中间件相互 通信的 API。

它既支持点对点的消息通信,也支持发布/订阅式的消息通信。

 电子邮件 JavaMail API 允许在应用程序中以独立于平台、独立于协议的方式收 发电子邮件。

JAF(JavaBeans Activation Framework)负责处理 MIME 编码,JavaMail 利用 JAF 来处理 MIME 编码的邮件附件。

 CORBA 兼容接口 RMI(远程方法调用)是在分布式对象间通信的 Java 本地方法, 它使应用程序调用远程方法像调用本地方法一样,不需要考虑所调用对象的位置。

RMI-IIOP 是 RMI 的扩展,是符合 CORBA 标准的对象通信协议,也是 J2EE 默认的组件 通信协议。

Java IDL 允许 J2EE 应用组件通过 IIOP 协议访问外部的 CORBA 对象。

 安全服务 JAAS(Java Authentication and Authorization Service)用两个 步骤实现安全性:认证,即由用户认证信息(如用户名和密码)来获得系统认证, 这一过程又称之为登录;授权,在被确认为合法用户后,系统根据用户的角色授予其 相应的权限。

J2EE 的授权是基于安全角色的概念,一个安全角色是一个拥有相同权限 的逻辑组。

J2EE 的安全角色由应用组件商来定义。

 Web 服务支持 目前 J2EE 还不对 Web 服务的支持。

Sun 了一套 API 及其 实现 WSDP 作为对 J2EE 的扩展,但目前还不是 J2EE 规范的内容。

在 WSDP 中,JAXP 用来解析 XML 文档;JAXR 向 UDDI 服务器注册 Web Services;JTX/RPC 用基于 XML 的协 议(如 SOAP)来发送和接收 XML 文档;JWSDL 处理 WSDL 文档。

虽然 J2EE 不是为 Web 服务而生,但它现在正在努力追赶 Web 服务的脚步。

多层应用模型 从应用的角度来看,J2EE 为企业应用系统的开发了一种多层分布式企业应用模型。

在 J2EE 中,应用逻辑按功能不同可以划分为不同类型的组件,各组件根据它们所在的层分布 在不同的机器上,共同组成一个基于组件的分布式系统。

如图 2 所示,J2EE 定义了一个典型的四层结构,分别是客户层、Web 层、商业逻辑层和企 业信息系统层。

6/29

相关内容
  • 如何选择可靠的媒体发稿平台?

    如何选择可靠的媒体发稿平台?

    如何选择可靠的媒体发稿平台?...

  • 如何选择可靠的媒体发稿平台?

    如何选择可靠的媒体发稿平台?

    如何选择可靠的媒体发稿平台?...

  • 伦敦金平台如何选择

    伦敦金平台如何选择

    伦敦金平台如何选择...

  • 区块链平台选择什么样的服务器

    区块链平台选择什么样的服务器

    区块链平台选择什么样的服务器...

  • 如何选择互联网黄金理财平台?

    如何选择互联网黄金理财平台?

    如何选择互联网黄金理财平台?...

  • 代写读后感应该选择哪些平台?

    代写读后感应该选择哪些平台?

    代写读后感应该选择哪些平台?...

  • 如何选择一个正规的黄金投资平台

    如何选择一个正规的黄金投资平台

    如何选择一个正规的黄金投资平台...

  • 群发短信平台哪家好,如何选择好的短信平台?

    群发短信平台哪家好,如何选择好的短信平台?

    群发短信平台哪家好,如何选择好的短信平台?...

  • 如何选择靠谱的P2P网贷平台

    如何选择靠谱的P2P网贷平台

    如何选择靠谱的P2P网贷平台...

  • 选择哪里的服务器适合区块链交易平台的搭建

    选择哪里的服务器适合区块链交易平台的搭建

    选择哪里的服务器适合区块链交易平台的搭建...

  • 网友在搜
  • 发布商业信息
  • 选择确认平台
  • 选择确认平台
  • 专业选择测试平台
  • 选择一个好的平台
  • 选择平台重要性的句子
  • 冒险岛2 葱头夫 夜火无码 百度云 丹尼尔惠灵顿北京专柜 杭州电子科技大学 保健 pe foam 生产工艺 满肚麻辣香锅加盟官网 武钢原邹继新 imovie手机导出在哪里 ashley lane 种子 古典舞蹈串词主持词 春的森林未删减版在线 静冈 富士山一日游 spdif lpcm 苹果保修政策 棒针女童元宝针织开衫 剑灵法杖外形哪个好看 windows10自带重装 西塘景区内临河客栈 步进电机的驱动芯片 蟹爪兰夏天怎么养 haim waisman 蛇女教学视频s7 c#winform 导出excel 日本访谈节目 怎样取消工作表密码 bloodpop honey select哪儿下载 elizur名字寓意 花卉主题公园策划方案 惠普打印机墨盒故障 微信商家提现收费吗 童话镇原唱是谁 mrquin 很真实 2018款福特探险者配置 摘英文怎么读 宁俊明135战法好用吗 狂野飙车8赛季5刷钱 帘头窗帘怎么安装方法 eg622750532jp 侠客风云传 唐中慧入队 brain power decline 变性双面杀手第一季 2017节奏感强的英文歌 nerf伞兵多少钱

    All Right Reserved 知识库

    声明:本站内容源于网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

    如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况 网站地图 网站栏目