软考 - 系统架构设计师(基于中间件的开发)

中间件技术

中间件的特点:

  • 满足大量应用的需要
  • 运行于多种硬件和 OS 平台
  • 支持分布计算,提供跨网络、硬件和 OS 平台的透明性的应用或服务的交互
  • 支持标准的协议
  • 支持标准的接口

中间件的十大优越性:

  • 缩短应用的开发周期
  • 节约应用的开发成本
  • 减少系统初期的建设成本
  • 降低应用开发的失败率
  • 保护已有的投资
  • 简化应用集成
  • 减少维护费用
  • 提高应用的开发质量
  • 保证技术进步的连续性
  • 增强应用的生命力

中间件的分类:

  1. 通信处理(消息)中间件
  2. 事务处理(交易)中间件
  3. 数据存取管理中间件
  4. Web 服务器中间件
  5. 安全中间件
  6. 跨平台和架构的中间件
  7. 专用平台中间件
  8. 网络中间件

中间件产品介绍

  • IBM MQSeries 是 IBM 的消息处理中间件
  • BEA Tuxedo 作为电子商务交易平台,属于交易中间件

应用服务器技术

概念

在分布式、多层结构及基于构件和服务器端程序设计的企业级应用开发中,它提供的是一个开发、部署、运行和管理、维护的平台。它可以提供软件“集群”的功能,因而可以让多个不同的、异构服务器协同工作、相互备份,以满足企业级应用所需要的可用性、高性能、可靠性和可伸缩性等。

故而,应用服务器提供一个“企业级应用的操作系统”。

功能:

  1. 更合理的分工企业级应用开发,加快应用的开发速度,减少应用的开发量。
  2. 应用设计、开发、部署、运行、管理、维护的平台。
  3. 使得应用与顶层平台无关,便于商业逻辑的实现与扩展。
  4. 为企业应用提供线现成的、稳定而强健的、灵活的、成熟的基础架构。

主要的应用服务器:

  • BEA WebLogic 作为新一代基于 Java 的 Web 应用服务器,是一款满足 Web 站点对性能和可靠性要求很高的产品。
  • IBM WebSphere 强调其在应用开发、数据库和消息服务的集成性。
  • SUN iPlanet
  • Oracle Internet ApplicationServer
  • Sybase Enterprise ApplicationServer

J2EE

**概念:**针对 Web Service、业务对象、数据访问和消息报传送的一组规范。这组应用编程接口确定了 Web 应用与驻留它们的服务器之间的通信方式。

J2EE 注重两件事:一是建立标准,使 Web 应用的部署与服务器无关;二是使服务器能控制构件的生命周期和其他资源,以便能够处理扩展、并发、事物处理管理和安全性问题。

在这里插入图片描述

表示层

表示层由显示 HTML 页面的 JSP 页面和 Servlets 实现。
J2EE 客户端可以基于 Web,也可以基于 Java。

在这里插入图片描述

应用服务层

一般情况下,应用服务层包含表示层请求的表示逻辑和业务逻辑。
业务逻辑通过 RMI 对象和 EJB 实现。EJB 依靠容器来实现事物处理、生命周期和状态管理、资源池、安全等问题,容器是 EJB 运行的环境。

  1. Servlet
    Java Servlet 是指可以扩展 Web 服务器功能的程序。Servlet 从客户端接受请求,动态生成响应,然后将包含 HTML 或 XML 文档的请求发送给客户端。
  2. JSP
    JSP 页面是基于文本的 Servlet 开发方式。JSP 页面如果与 JavaBeans 类结合在一起,可以容易的将内容和显示逻辑分开。
  3. EJB
    EJB 构件用于封装业务逻辑,使开发人员无须再担心数据访问、事务处理支持、安全性、高速缓存和迸发等琐碎任务的编程。EJB 负责接口和类。
    EJB 的三种类型:
    (1)实体 Bean (EntityBean)。表示数据库中的数据及作用于数据的方法。实体 Bean 是具有持久性的事务处理型 EJB,只要数据存在于数据库中,实体 Bean 就存在。
    (2)会话 Bean (Session Bean)。代表与客户间的短暂对话。在执行数据库读写时,会话 Bean 可以请求 JDBC 调用,也可以使用实体 Bean 执行调用,这时会话 Bean 是实体 Bean 的客户端。会话 Bean 的字段中包含对话的状态,如果服务器或客户端出现故障,会话 Bean 将消失。
    (3)消息驱动 Bean (Message Driven Bean)。消息驱动 Bean 能处理从 JMS 消息队列接收到的异步消息。
  4. JMS
    JMS 是支持 Java 程序之间信息交换的 J2EE 机制。这也是 Java 支持异步通信的方法 —— 发送者和接受者无需相互了解,因此可以独立操作。
    JMS 支持消息传播模式: 点到点;出版和订阅
  5. JNDI
    数据源可以绑定到 JNDI 上,并允许应用程序访问
  6. 事务处理
    J2EE 事物处理模型可以在部署过程中定义组成一个事物处理的方法之间的联系,以便事物处理中的所有方法可以作为一个整体存在。
    J2EE 事务处理 API (JTA)和 Java 事务处理服务(JTS)形成 J2EE 中事物处理支持的基础。
    JTA 是高级 API ,包括两个部分:事务处理接口;XA 资源接口。
    JTS 是低级事物处理管理 API,主要作用是将 Java 映射到对象管理组 (OMG)的对象事务处理服务。

. NET

.NET 平台

.NET 的最终目的: 让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。

.NET 包括4个重要特点:

  1. 软件变服务
  2. 基于 XML 的共同语言
  3. 融合多种设备和平台
  4. 新一代的人机界面

在这里插入图片描述

.NET 框架

在这里插入图片描述

前言:Struts、Spring、Hibernate 都是基于 MVC 模式相结合

Struts 框架

在这里插入图片描述
工作流程:

首先,JSPview 发起一个 .do 表示的请求;ActionForm 封装用户请求数据,同时提供验证数据的功能;ActionServlet 根据 struts-config.xml 文件来得到处理这个请求的 Action 对象,并将请求发送给这个 Action 对象;Action 对象调用 model 去处理这个请求,将结果返回给 ActionServlet ;ActionServlet 决定将结果返回给对应的 view;view 得到结果,并将它显示给用户。

Spring 框架

Spring 的核心概念是控制反转 (IoC),使用 Spring,不必自己在程序码中维护物件的依赖关系,只需在构件中加以设定,Spring 核心容器会自动根据构件将依赖注入指定的物件。

在这里插入图片描述

Hibernate 框架

Hibernate 是一种对象和关系之间映射的框架,是 Java 应用和关系数据库之间的桥梁。

Hibernate 是一个工具,而不是一个 J2EE 的服务器。利用 Hibernate 来作为持久化的处理技术。

Hibernate 只是一个将持久化类与数据库表映射的工具,Hibernate 只需要将每个持久化实例对应于数据库表中的一个数据行即可。

在这里插入图片描述
在这里插入图片描述

基于 Struts、Spring 和 Hibernate 的轻量级架构

在这里插入图片描述

  1. 表示层。

    由 Struts 实现。主要完成如下任务:管理用户请求和响应;提供一个控制器代理以调用业务逻辑和各层的处理;处理从其他层抛给 StrutsAction 的异常;为显示提供数据模型;借助 Struts Validator 框架帮助完成 Web 层的验证工作,通常情况下,不用再去为每个 Web 页面写验证代码,只需通过配置即可实现。Struts 里的控制器也就是 ActionServlet 会解析核心配置文件 struts- config.xml。

  2. 持久层。
    由 Hibernate 实现。它通过一个面向对象的查询语言(Hibernate Query Language,HQL)或正则表达式的 API 来检索对象的相关信息。HQL 类似于 SQL,只是把 SQL 里的表和列用对象和它的字段代替。Hibernate 还负责存储、更新、删除数据库记录。同时 Hibernate 支持大部分主流数据库,且支持父表/子表关系、事务处理、继承和多态。

  3. 业务层。
    由 Spring 来实现。使用 Spring 的优点是:利用延时注入思想组装代码,提高了系统扩展性和灵活性,实现插件式编程。利用 AOP 思想,集中处理业务逻辑,减少重复代码,构建了较理想的解决方案。利用其对 Hibernate 的会话工厂(Session Factory)、事务管理的封装,可以更简洁地应用 Hibernate。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值