第1章 软构件与中间件技术
- 格式:ppt
- 大小:944.50 KB
- 文档页数:57
软件构件与中间件基础学习笔记⼀、什么是软件构件?软件构件是⾯向请求的,关注业务逻辑,对分布式应⽤的通信、互操作、可靠性、兼容性、完整性⽆感的。
中间件技术解决的就是软件构件问题。
⼆、什么是远程对象(Remote Object)?什么是远程对象调⽤(Remote Method Invocation)?远程主机,或者⾮本进程的对象。
与这些对象通信或者请求其执⾏⽅法。
三、什么是中间件的通讯透明性(Communication Transparency)?指借助中间件技术,应⽤程序不关注也⽆法得知⽹络通信的具体⽅法、协议等细节,只关注与应⽤相关的信息。
四、什么是中间件的定位透明性(Location Transparency)?应⽤程序不关注也⽆法得知真正提供服务的服务器端程序的位置。
如果在⽤户访问时服务的位置发⽣改变,不影响⽤户访问并且⽤户⽆法察觉服务的位置发⽣了改变。
五、中间件中的对象引⽤(Object Reference)与Java中的对象引⽤有什么不同?中间件中的对象引⽤⼀般使⽤⼀个字符串,例如UUID,来查找⼀个对象,这个字符串要在整个分布式应⽤中唯⼀。
⼀般的java引⽤则是在⼀个jvm进程中的,定位对象所使⽤的内存地址的⼀个32位或者64位指针。
六、什么是代理对象(Proxy Object)?与远程对象的差别是什么?代理对象⾃⾝并不实现所需要的业务逻辑,⽽是将请求转发给另⼀个对象,由该对象处理,并把处理结果返回给请求⽅。
代理对象充当中间⼈的⾓⾊。
代理对象可以在本地进程中。
七、什么是打包(Marshalling)?什么是解包(Unmarshalling)?打包是指将发出请求所需要的信息按照⼀定的格式⽅法整合在⼀起,以便于发出。
解包是指将收到的响应信息分解成易于使⽤的数据。
⼋、什么是⾯向对象中间件?什么是⾯向消息中间件?举例说明。
⾯向对象中间件使⽤⽅法调⽤、对象调⽤的形式发起请求,响应也是以对象的形式返回,例如代理对象。
《软件平台与中间件技术》课程教学大纲英文名称:Software Platform and Middleware Technology课程编号:7022213学时数:40+S8课程性质:限选先修课程:JAVA程序设计、C#程序设计、操作系统、数据库原理、计算机系统构造、计算机网络根底适用专业:计算机科学与技术、软件工程、物联网工程一、课程的性质、目的和任务1.课程的性质中间件的产生只有短短的 10 年时间,但其进展速度却相当惊人,已经成为构建网络分布式异构信息系统不行缺少的关键技术,与操作系统、数据库治理系统并列为根底软件体系的三大支柱。
软件平台与中间件技术课程是计算机专业学生应当学习和把握的应用型课程,是计算机应用人员开发应用软件系统的理论根底和实践指南,也是计算机类相关专业的一门理论性和实践性并重的课程。
2.课程的目的和任务本课程的目的是使学生把握中间件的根本概念、根本原理、设计方法和实现技术,具有初步分析实际中间件的力量,为其今后在相关领域开展工作打下坚实的根底。
本课程的主要任务是使学生理解中间件的根本概念和主要功能,把握计算机中间件的根本原理及组成构造,把握中间件的使用和一般治理方法,了解微内核构造、线程的掌握与通信、数据全都性、系统容错等技术以及网络中间件和系统安全性等。
培育学生分析和设计中间件的力量以及对常用计算机中间件的使用技能,为以后学习后续课程打下根底。
二、课程的教学内容与根本要求1.中间件产生的背景(1)教学内容计算模式的进展、分布计算模式的特征、开放分布式计算模型、开放分布式处理参考模型 RM-ODP、中间件的产生。
(2)教学根本要求① 了解计算模式的进展、中间件的产生。
② 理解开放分布式计算模型、开放分布式处理参考模型 RM-ODP。
③ 把握分布计算模式的特征。
2.中间件的概念、定义及进展状况(1)教学内容中间件进展的应用需求、中间件的概念、中间件的定义、中间件的进展状况。
第1章中间件技术介绍中间件技术是现代计算机系统中常用的一种关键技术,用于支持各种应用程序之间的通信和交互。
中间件技术使得不同平台、不同语言、不同协议的应用程序能够无缝地进行数据传输和信息交换,提高了应用程序之间的互操作性和集成性。
中间件技术是在应用程序和操作系统之间的一个软件层,它位于底层操作系统和应用程序之间,用于屏蔽不同操作系统之间的差异和应用程序之间的复杂性。
中间件技术可以提供一系列的服务和功能,如消息传输、数据存储、分布式计算、事务管理等,以满足不同应用程序的需求。
中间件技术通常分为两类:基于消息传输的中间件和基于组件模型的中间件。
基于消息传输的中间件是一种通过消息传递来实现应用程序之间通信的技术。
它的基本原理是应用程序通过发送和接收消息进行交互,中间件负责将消息从发送方传递给接收方。
基于消息传输的中间件通常使用消息队列和发布/订阅模式来实现。
消息队列是一种存储消息的容器,发送方将消息发送到队列中,接收方从队列中获取消息并进行处理。
发布/订阅模式是一种将消息发布到主题或者订阅主题的订阅者进行接收的方式。
基于消息传输的中间件可以实现应用程序之间的解耦,提高系统的可伸缩性和可靠性。
基于组件模型的中间件是一种基于组件模型来实现应用程序之间通信的技术。
组件模型是一种将应用程序划分为独立的组件,并通过接口来定义组件之间的交互方式的模型。
基于组件模型的中间件通过提供组件容器、接口定义和消息传递等功能来实现应用程序之间的协作。
组件容器是一种运行时环境,用于加载和执行组件。
接口定义是一种描述组件提供的服务和属性的方式,用于组件之间的通信。
消息传递是一种通过消息来实现组件之间交互的方式。
基于组件模型的中间件可以实现组件的重用和组件之间的松耦合,提高系统的可维护性和可扩展性。
中间件技术在很多领域都有广泛的应用。
在企业应用开发中,中间件技术可以用于实现企业服务总线、分布式事务处理等功能。
在云计算和大数据领域,中间件技术可以用于实现分布式存储、分布式计算等功能。
课程编码:0852980
课程名称:软件体系结构与中间件技术(Software Architecture and Middleware Technology)学分:3 学时:54 讲授学时:54 实践学时:0
课程简介:
《软件体系结构和中间件技术》课程,是计算机系学生的重要必修专业课程。
软件体系结构是最近几年才发展起来的一门新型学科,它为软件系统提供了一个结构、行为和属性的高级抽象,并提供了一些设计决策的基本原理。
中间件是构建网络分布式异构信息系统的关键技术。
本课程分软件体系结构和中间件技术两大模块。
其中,软件体系结构主要介绍软件体系结构的概念、软件体系结构建模、软件体系结构的风格、软件体系结构的描述语言、基于体系结构的软件开发方法等。
中间件技术主要介绍中间件的产生背景、中间件概念、定义及发展情况,中间件的功能、作用、特点、分类、面临的问题及发展趋势。
将以OMG组织的CORBA和Sun公司的EJB规范为例,阐述中间件技术。
选课对象:计算机科学与技术专业、信息管理与信息系统专业、电子信息工程专业、计算机科学与技术专业第二学位学生
先修课程:软件工程,数据结构与算法,操作系统,程序设计
教材名称:《软件体系结构》(张友生编著) 清华大学出版社ISBN:7302078106 《中间件技术原理与应用》(张云勇等编) 清华大学出版社ISBN:7302093997 参考书目:《应用服务器原理与实现》(王千祥编著) 电子工业出版社。
软件构件与中间件第1、面向构件的方法什么是面向构件的方法?Comp onen t-based software engin eeri ng (CBSE) is an approach to software developme nt that relies on software reus—reus ing artifacts面向构件的方法的优点?Reuse Developme nt of system = assembly of comp onentFlexibilit y: Maintenance, replacement of components, extensibility by adding comp onen ts. May eve n happe n at run-time with proper in frastructure support !Maintenance and evaluati on面向构件的方法和面向过程、面向对象的方法有什么异同?En tities for Reuse and Compositi onAbstractio n En capsulati on构件模型?概念:A component model is a definition of standards for componentimpleme ntati on, docume ntatio n and deployme nt(具体在PPT第一张第33页开始)第四构件规约1构件有哪两方面的不兼容(incompatibility),如何解决不兼容(课件第四章第8页)两方面:(1)接口的不兼容(i nteface in compatibility)包括:参数不兼容,操作不兼容(两个构件中相同操作,有不同名字),操作的不完整性(2)语义不兼容(sema ntic in compatibility )如何解决:In terface in compatibility is addressed by writi ng adaptors (使用适配器)---课件上(假设明确化降低构件耦合度使用桥、适配器完善规约说明)—自己笔记2构件的规约层次(四章13页)Syn tax: in cludes specificati ons on the program min g lan guage leve 语法规约Sema ntic: fun cti onal con tracts 语义规约Non-function al: deals with quality of service. 非功能性规约3、构件是如何连接的(四章5页)4同的概念及为什么要使用合同(第四章22页)概念:A set of ben efits and obligatio ns that are mutually agreed upon by the clie nt and为什么要使用合同?A con tract betwee n a clie nt and a supplier protects both sidesIt protects the clie nt by specify ing how much should be done to get the benefit. The clie nt is en titled to receive a certa in result.It protects the supplier by specifying how little is acceptable. The suppliermust not be liable for failing to carry out tasks outside of the specified scope. 第五章构件的结合方法第六章反向控制(六章14页)第七章语言的透明性和位置的透明性桩和框架的设计思想设计题类似本章的例题yellow page 第八章CORBA注意本章的英文缩写CORBA:com mon object request broker architecture公共对象请求代理体系结构IDL: in terface descripti on Ian guage 接口描述语言ORB:Object Request Broker 对象请求代理OMG: Object Man ageme nt group 对象管理组织OMA: Object Ma nageme nt Architecture 对象管理体系结构BOA: Basic Object Adapter 基本对象适配器POA: Portable Object Adapter 可移植对象适配器IOR:improved oil recovery 可互操作对象引用早web serviceBPEL;bus in ess process execute Ian guage项目间的交互工作流及使用工作流的好处(^一章36页)一、名词缩写10分二、概念解释30分三、问答题40分四、设计题20分明确指出要用英文作答的题目用英文作答,其余的随意。
第六章:软件工程基础知识
软件工程包括:软件需求,软件设计,软件构造,软件测试,软件维护,软件配置管理,软件工程管理,软件工程过程,软件工程工具和方法,软件质量
软件工程的概念的提出与20世纪60年代出现的”软件危机”有着密不可分的联系
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
在本书中,将软件生命周期分为需求分析,概要设计
第七章:软件构件与中间件
软件复用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
软件元素包括程序代码,测试用例,设计文档,设计过程,需求分析文档甚至领域知识。
一般认为,构件是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨别的系统;结构上,它是语义描述,通信接口和实现代码的复合体
构件分类可以归纳为3类:关键字分类法,刻面分类和超文本组织方法
构件组装技术大致可分为基于功能的组装技术,基于数据的组装技术和面向对象的组装技术国际上常用的构件标准主要有3大流派,分别是COM/DCOM/COM+,CORBA和EJB
中间件是:
1.在一个分布式系统环境中处于操作系统和应用程序之间的软件
2.中间件一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间
共享资源
中间件作为一大类系统软件,与操作系统,数据库管理系统并称“三套车”
中间件一般分为集成型中间件,通用型中间件和底层型中间件三大层次,一般还可以细分为:通信处理(消息)中间件,事务处理(交易)中间件,数据存储管理中间件,WEB。