系统架构师(十五)基于中间件的开发

构件与软件重用

一个构件由一组对象构成,包含了一些协作的类的集合,它们共同工作来提供系统功能。是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。

构件系统架构特性:

(1)构件系统体系结构由一组平台决策、一组构架框架和构架框架之间的互操作设计组成。
(2)构架框架是一种专用的体系结构(通常围绕一些关键的机制),同时,也是一组固定的作用于构件层次机制的策略。
(3)概念框架的互操作设计包括系统体系结构连接之间的所有框架间的互操作规则。
(4)构件是一组通常需要同时部署的原子构件,一个原子构件是一个模块和一组资源,大多数原子构件都不会被单独部署。

构件标准: 构件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。可以认为构件是一个封装的代码模块或大粒度的运作模块,也可以将构件理解为具有一定功能、能够独立工作或与其他构件组合起来协调工作的对象。

软件重用: 软件重用(软件复用)是使用已有的软件产品(如设计、代码、文档等)来开发新的软件系统的过程。

软件重用的范围: 项目计划、成本估计、体系结构、需求模型和规格说明、设计、源程序代码、用户文档和技术文档、用户界面、数据结构和测试用例。

软件重用的形式分为

  • 水平式重用:是重用不同应用领域中的软件元素,例如数据结构、排序算法、人机界面构件等。标准函数库是一种典型的原始的水平式重用机制。
  • 垂直式重用:是在一类具有较多公共性的应用领域之间重用软件构件。

构件的复用

检索与提取构件 –> 理解与评价构件 –> 修改构件 –> 组装构件

  1. 检索与提取构件:
    • 基于关键字检索
    • 刻面检索法
    • 超文本检索法
  2. 理解与评价构件 :构件详细的描述
  3. 修改构件:借助设计信息和文档修改构件
  4. 组装构件:
    • 基于功能的组装技术:采用子程序调用和参数传递的方式组装构件,要求构件以子程序、过程、函数的形式出现;
    • 基于数据的组装技术:根据核心数据设计一个框架,根据框架中各节点的需求提取构件并修改,此后的组装方式同上,依赖面向数据设计方法,如jackson系统开发方法;
    • 面向对象的组装技术:更适合软件复用,基于父类,生成子类;

构件组装阶段失配问题:

  • 由构件引起的失配:由于系统对构件基础设施、构件控制模型和数据模型的假设存在冲突引起的失配;
  • 由连接子引起的失配:由于系统对构件交互协议、连接子数据模型的假设存在冲突
  • 由于系统对全局体系结构的假设存在冲突引起的失配

中间件技术

中间件处在操作系统、网络和数据库之上,应用软件的下层,也有人认为它应该属于操作系统中的一部分。

系统架构师(十五)基于中间件的开发
表示层

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

应用服务层

一般情况下,应用服务层包含表示层请求的表示逻辑和业务逻辑。业务逻辑通过 RMI 对象和 EJB 实现。

EJB 依靠容器来实现事务处理、生命周期和状态管理、资源池、安全等问题,容器是 EJB 运行的环境。

  1. Servlet:指可以扩展 Web 服务器功能的程序。Servlet 从客户端接受请求,动态生成响应,然后将包含 HTML 或 XML 文档的请求发送给客户端。
  2. JSP:是基于文本的 Servlet 开发方式。具有 Servlet 的所有优点,如果与JavaBeans 类结合在一起,可以容易地将内容和显示逻辑分开。
  3. EJB:用于封装业务逻辑,使开发人员无须再担心数据访问、事务处理支持、安全性、高速缓存和迸发等琐碎任务的编程。
    • 实体 Bean:表示数据库中的数据及作用于数据的方法。
    • 会话 Bean: 代表与客户间的短暂对话。
    • 消息驱动 Bean:能处理从 JMS 消息队列接收到的异步消息。JMS 将消息路由到消息驱动 Bean,由消息驱动 Bean 从池中选择某个实例处理消息。
  4. JMS:是支持 Java 程序之间信息交换的 J2EE 机制。这也是 Java 支持异步通信的方法 —— 发送者和接受者无需相互了解,因此可以独立操作。 支持消息传播模式: 点到点;出版和订阅
  5. JNDI:数据源可以绑定到 JNDI 上,并允许应用程序访问
  6. 事务处理:J2EE 事务处理模型可以在部署过程中定义组成一个事务处理的方法之间的联系,以便事务处理中的所有方法可以作为一个整体存在。

.NET

.NET 首先是一个环境。是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。

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

.NET 的4 个重要特点:

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

轻量级架构和重量级架构

Struts 框架: 是一个基于J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。

Spring 框架: 是轻量级的J2EE 应用程序框架,包括声明性事务管理,通过 RMI 或 web services 远程访问业务逻辑,mail 支持工具,以及对于数据和数据库之间持久层的各种配置的支持。还提供和其他软件集成的接口

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

轻量级架构和重量级架构的探讨:

重量级框架在大规模运行的时候会表现出非常优异的性能,劣势主要是开发效率较低,轻量级框架正好相反,开发的时候非常迅速,但是在大规模运行的时候,性能与重量级框架相比还是有差异的。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8593 人正在系统学习中

来源:竟未曾年少轻狂

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月26日
下一篇 2022年7月26日

相关推荐