构件与中间件技术

2023-11-03


一、软件构件与中间构件

1、分布式软件的基本概念

网络环境:一群通过网络互相连接的处理系统,每个处理节点由处理机硬件、操作系统及基本通信软件等组成

分布式软件:运行在网络环境中的软件系统

2层结构:客户机——服务器结构
缺陷:客户端的负担比较重,系统的可移植性、可维护性不好,数据的安全性不好

3层结构:客户机——中间层——服务器结构
将业务逻辑代码与用户层分离;减轻了客户端负担,增强了系统的可移植性、可维护性,提高了安全性

2、软件构件的基本概念

构件:系统中可以明确辨构的构成成分

软件构件:是指软件系统中具有一定意义,相对独立的构成成分,是可以被重用的软件实体

3、中间件的基本概念

中间件:在操作系统与应用程序之间的一层软件,为分布式应用的开发、部署、运行与管理提供支持

典型集成中间件为开发提供的三种支持:提供构件运行环境,提供互操作机制,提供公共服务

提供构件运行环境:中间件一般通过构件容器为构件提供基本的运行环境
提供互操作机制:集成中间件都提供了很强的高层通信协议,开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码
提供公共服务:现有集成中间件将早期各种中间件中针对分布式软件的通用支持集成于一身以公共服务的形式提供给应用程序

4、互操作的基本原理和实例

Stub/Skeleton结构,Stub负责替客户端完成底层通信相关工作,Skeleton负责替服务端完成底层通信相关工作


二、CORBA基本原理

1、对象管理体系结构

OMA参考模型
在这里插入图片描述
对象服务:对整个生存期的对象管理任务标准化,是关于对象服务的一组规范
公共设施:可用于大多数应用领域,面向终端用户的设施;文档设施,打印设施等
领域接口:与应用领域有关的接口,如金融医疗制造业电信电子商务
应用程序接口:为终端用户执行特定的任务,不是OMG标准化的内容,而是构成整个OMA参考模型的最上层

不需自己实现,可以直接使用的功能有领域接口、公共设施和对象服务

2、ORB结构

在这里插入图片描述

可互操作性
ORB可以支持同一厂商ORB上的客户端与服务端方便地交互
1、不同平台与语言之间的互操作性
2、不同厂商的ORB产品之间的互操作性
3、不同体系结构中的组件的互操作性

3、CORBA的优点和缺点

CORBA提供一个工业标准而不是一个软件产品
CORBA的最大特点是提供了在异类分布式环境中对象之间高度的可互操作性,从而保证了建立在不同CORBA产品之上的分布式对象可互相通信
CORBA对于服务端程序的编写提供了灵活的模型,给开发人员更多的控制力

时间延迟、随机时序、死锁、负载均衡等


三、基于CORBA的开发过程

在这里插入图片描述


四、编写对象接口(CORBA)

IDL(Interface description language)文件:可以定义模块、类型、常量、异常、接口和值,其核心内容为接口Interface

值类型(valuetype):对象副本的状态变化不会影响原来的对象
在这里插入图片描述
在这里插入图片描述
因此即使进行了deposit方法调用,在第三步输出的结果还是500,副本的状态变化不会影响原对象


五、编写服务端程序(CORBA)

1、POA体系结构

在这里插入图片描述
CORBA应用开发过程中编写的服务程序:初始化ORB→创建一个对象适配器POA→创建提供服务的伺服对象→激活伺服对象→激活POA管理器→等待客户程序发来请求

该服务程序的作用是:服务程序利用POA激活伺服对象供客户程序使用,服务程序通常是一个循环的过程,不断监听客户程序请求并为之服务

在这里插入图片描述
POA策略是一个对象,负责控制相关POA的行为以及这些POA所管理的对象,使用POA前应仔细考虑应用程序所需的策略集

在这里插入图片描述
POA管理器是一个对象,为其所管理的POA提供通用的操作集合

2、伺服对象管理器

伺服对象激活器(如何管理大量服务端对象?):
在这里插入图片描述

3、适配器激活器

在这里插入图片描述


六、J2EE

1、J2EE构件

在这里插入图片描述
客户端构件:Applets
服务端构件:Servlets,JSPS,EJBS

2、J2EE公共服务

Service API:JNDI,用于在网络中查找/定位组件或资源;JDBC,提供数据库连接;JTA,事务管理支持可靠的服务端计算,这在很多关键系统中都是必需的;

事务控制的基本要求:原子性,一致性,隔离性,持久性


七、EJB技术基础

1、EJB构件技术

分布式对象技术是EJB采用的第一种构件技术,支持客户应用访问分布式对象

服务端构件技术( Server-side Component Technology)是EJB采用的另一种构件技术

  1. 用于中间层应用服务器,支持分布式商业对象的开发
  2. 以组件方式提供系统的可重用性与可扩展性

CTM(Component Transaction Monitor)技术是EJB使用的又一种构件技术

  1. CTM是一个应用服务器,它为分布式商业对象提供服务框架
  2. CTM服务框架支持大量的系统级服务

2、EJB的特点

服务框架
EJB将实现商业对象所使用的服务框架的任务划分给了EJB应用服务器,使得应用开发者可以关注于应用商业逻辑的实现,大大提高了开发效率,缩短了应用的开发周期

平台独立性
应用的平台独立性一方面得益于EJB沿袭了Java技术的平台无关性,另一方面,EJB/J2EE规范的开放性使得构成EJB应用的商业对象,可以移植到任何符合EJB规范的应用服务器上

封装特性
EJB的封装特性可以使应用服务器厂商节省IT投资

可定制性
EJB的另一特性就是EJB应用可以在不修改源代码的基础上进行定制化

协议无关性
支持客户程序使用任何通信协议访问EJB应用, 协议无关性使得EJB支持多种类型的客户端

通用性
支持不同规模的应用系统,可以在任何时间增加客户系统,通用性导致系统资源的可伸缩性

3、EJB体系结构

Enterprise Bean

  1. 包含商业逻辑代码的Java类
  2. 提供商业方法供调用
  3. 被部署到EJB应用服务器上
  4. 可以被组装形成大型的EJB应用

Enterprise Bean包含三种类型之一的Session Bean

  1. Session bean存在于客户应用与应用服务器交互的时间段内
  2. Session bean中的数据不保存在数据库中
  3. Session bean可以是有状态的或无状态的

有状态会话构件:要跨方法调用保存会话状态;同时只处理一个客户应用的请求
无状态会话构件:在方法调用中间不维护任何状态;同时可以处理多个客户应用的请求

Entity Bean,第二类的Enterprise Bean

  1. Entity Bean代表数据库中的记录
  2. Entity Bean在数据库中的数据存在期间都会存在
  3. Entity Bean可以被多个客户应用访问

Local Interface与LocalHome Interface


八、EJB构件开发过程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构件与中间件技术 的相关文章

随机推荐

  • 单片机蓝桥杯--数码管显示

    我们先来看一下蓝桥杯板中数码管部分的电路图 对于动态数码管的控制 是需要有段选和位选的 位选是控制数码管哪一位显示 段选是控制该位显示什么数字 由上图可知 当Y6C有效时 P0控制的是数码管的位 当Y7C有效时 可以给P0写入显示数字的断码
  • RedHat Enterprise下如何配置KVM虚拟机的网络网桥

    RedHat Enterprise下如何配置KVM虚拟机的网络网桥 一 网桥的相关创建命令 1 创建网桥设备 brctl addbr
  • 【Github】目标检测组会内容分享

    组会的内容展示为PPT PDF的形式 讲解目标检测领域比较重要的论文 比如R CNN SPP Net等经典论文 资料已经打包好上传到我的github仓库 仓库地址为 https github com biluko Object detect
  • Java后端内部面试题(前一部分)

    面试题 基础篇 1 Java 语言有哪些特点 1 简单易学 有丰富的类库 2 面向对象 Java 最重要的特性 让程序耦合度更低 内聚性更高 2 面向对象和面向过程的区别 面向过程 是分析解决问题的步骤 然后用函数把这些步骤一步一步地实现
  • python 遇到表情代码出错, 用正则表达式去掉表情代码

    gt gt gt aa U0001f60a adwkdkdkkdk 这里 U0001f60a 这是表情的代码 带这个 gt gt gt import re gt gt gt cc re compile r U0001f60a cc 就是需要
  • 小程序授权登录最新解决方案

    小程序授权登录最新解决方案 一 在WXML中设置单击事件 也可以直接放在第一个页面的ONLOAND函数中 用户进入小程序后自动弹出 二 在JS中设置Button的触发代码 三 演示 一 在WXML中设置单击事件 也可以直接放在第一个页面的O
  • SmartForms取消Word编辑器 恢复文本编辑器

    导语 在目前最新版本的 S 4 HANA 1909和2021版本中 SmartForms的文本编辑器改成了嵌套Word 而不是直接修改文本框的形式 这给很多电脑配置不是很高 或者Word兼容性有问题的开发带来了困难 下面说一下如何恢复到文本
  • Ruoyi用户菜单权限

    若依用户菜单权限 后端实现 首先如果想先要实现菜单权限 那么得现在后端添加一个与之对应的权限字段 这样就有权限字段了 前端实现 前端得需要调用这个权限字段的按钮 调用该权限字段的按钮 点击事件 接口请求 若依前端功能 这里得需要在ruoyi
  • page table 改进之 反置页表

    页表是把所有的逻辑页面放到一起 但随着进程的增加 逻辑页面会迅速增长 有多少页面页表就会有多少项 那么不变的是物理内存 为什么不给物理内存编号记录每一块存放了哪个进程呢
  • 【图像处理】图像检索的三种python实现(直方图/OpenCV/哈希法)

    简介 本文介绍了图像检索的三种实现方式 均用python完成 其中前两种基于直方图比较 哈希法基于像素分布 检索方式是 提前导入图片库作为检索范围 给出待检索的图片 将其与图片库中的图片进行比较 得出所有相似度后进行排序 从而检索结果为相似
  • 《互联网程序设计(Java)》——课程笔记10:Http程序设计

    1 概论 HTTP系统包括客户端软件 浏览器 和服务器软件 HTTP服务器 早期的客户端软件 其主要工作可理解为文件下载和文件显示 实际上现代的HTTP客户端比文件下载要复杂得多 它包括网页文件的下载 跨平台的本地显示 参数的传递 动态网页
  • python爬虫Scrapy框架笔记分享12-Splash 的使用

    1 Splash介绍 Splash是一个JavaScript渲染服务 是一个带有HTTP API的轻量级浏览器 同时它对接了Python中的Twisted和QT库 利用它 我们同样可以实现动态渲染页面的抓取 2 安装 2 1 安装docke
  • el-date-picker 实现禁止选择今日以后的日期,以及时间跨度不超过365天,和设置默认选择日期,解决选择当天无效问题

    首先el date picker有 picker options属性 绑定属性 picker options pickerOptions 然后在data中设置需要的数据 data let secondOfDay 1000 60 60 24
  • Unity3D之动画(Animation)的制作

    实例说明 忍者跑酷的player动画制作 这些都是用Sprite做的动画 在prioject面板里的一组sprite里面点击 之后看属性面板的Sprite Editor对这组Sprite进行编辑 下面先编辑一个idle状态的动画 首先选择第
  • 2023HW-8月(10-15)53个0day,1day漏洞汇总含POC、EXP

    点击 仙网攻城狮 关注我们哦 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 2023HW 8月10 15号0day 1day漏洞汇总 已更新 包含以下漏洞需要自取 链接 https pan baidu com s 1Tr94yV
  • 使用OpenCV的OpenCL(ocl)模块

    参加OpenCV的OpenCL模块 以下称OCL 移植工作已经有2个月了 这里我说移植而不是开发 是因为大部分OCL模块的函数是从已经很成熟的GPU模块直接移植过来的 因此 目前阶段OCL模块所支持的函数接口是GPU模块的一个子集 但由于运
  • 变分推断(variational inference)

    大家对贝叶斯公式应该都很熟悉 P Z X p
  • C++调用OpenCV实现图像阈值处理

    1 前言 在计算机视觉技术中 阈值处理是一种非常重要的操作 它是很多高级算法的底层处理逻辑之一 比如在使用OpenCV检测图形时 通常要先对灰度图像进行阈值 二值化 处理 这样就得到了图像的大致轮廓 以便于识别图形 在阈值处理中 会将图像的
  • 配置NTP时间客户端

    NTP Network Time Protocol 是将计算机预指定服务器时间保持一致的服务 也就是让计算机时间同步的工具 前导知识 1 配置NTP服务前需要安装软件包chrony 2 NTP的系统服务 chronyd 3 NTP客户端配置
  • 构件与中间件技术

    文章目录 一 软件构件与中间构件 1 分布式软件的基本概念 2 软件构件的基本概念 3 中间件的基本概念 4 互操作的基本原理和实例 二 CORBA基本原理 1 对象管理体系结构 2 ORB结构 3 CORBA的优点和缺点 三 基于CORB