软件构件与中间件
- 格式:ppt
- 大小:1.33 MB
- 文档页数:42
1. 软件工厂有两个要素:软件“元器件”技术和它的组装、链接、合成技术。
2. 构件是一个包含约定的被调用接口, 可以被独立部署,且通常依赖于组装运行环境的结构单元。
3. 构件的实现就是以构件的接口说明信息为基础,借助具体的开发平台,用具体的开发工具实现构件接口所描述的功能。
4. 从构件性质来看,构件可以分为抽象构件和具体构件。
5. 软件构件粒度的大小是影响软件成本和软件重用质量的重要因素,它是一个难以清晰定义的概念,它表征了构件的规模与复杂程度,一般认为,构件的粒度是用来描述构件所提供特征的粗细程度的量化,或者说是构件所提供特征的计算量的大小,但通常难以精确度量。
6. 软件构件模型是对软件构件本质特征的抽象描述,是对开发可重用软件构件和构件之间相互通信的一组标准的描述,它一般规定了创建和实现构件的指导原则、构件接口的结构、构件与软件架构以及构件与构件之间的交互机制。
7. 按照组装的时间划分,分为:基于源代码级的组装和基于运行级的组装。
8. SOAP是Simple Object Access Protocol 的缩写,是一种轻量级的、简单的、基于XML的协议,用于在网络之间交换结构化数据。
SOAP协议包括四个部分: SOAP封装(Envelop)、 SOAP编码规则(Encoding rules)、 SOAP RPC表示(RPC Representation)、 SOAP绑定。
9. WSDL是Web Service Description Language的缩写,它是一种使用XML编写的文档,是WEB服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出。
WSDL 可以描述WEB服务的三个基本属性:服务做些什么、如何访问服务、服务位于何处。
10. 构件库是一定形式的构件集合,其由构件、容器、构件管理程序三个部分构成。
11. 构件描述的具体内容应包括三个方面:构件的基本信息、构件的分类信息和构件的接口信息。
软件构件与中间件基础学习笔记⼀、什么是软件构件?软件构件是⾯向请求的,关注业务逻辑,对分布式应⽤的通信、互操作、可靠性、兼容性、完整性⽆感的。
中间件技术解决的就是软件构件问题。
⼆、什么是远程对象(Remote Object)?什么是远程对象调⽤(Remote Method Invocation)?远程主机,或者⾮本进程的对象。
与这些对象通信或者请求其执⾏⽅法。
三、什么是中间件的通讯透明性(Communication Transparency)?指借助中间件技术,应⽤程序不关注也⽆法得知⽹络通信的具体⽅法、协议等细节,只关注与应⽤相关的信息。
四、什么是中间件的定位透明性(Location Transparency)?应⽤程序不关注也⽆法得知真正提供服务的服务器端程序的位置。
如果在⽤户访问时服务的位置发⽣改变,不影响⽤户访问并且⽤户⽆法察觉服务的位置发⽣了改变。
五、中间件中的对象引⽤(Object Reference)与Java中的对象引⽤有什么不同?中间件中的对象引⽤⼀般使⽤⼀个字符串,例如UUID,来查找⼀个对象,这个字符串要在整个分布式应⽤中唯⼀。
⼀般的java引⽤则是在⼀个jvm进程中的,定位对象所使⽤的内存地址的⼀个32位或者64位指针。
六、什么是代理对象(Proxy Object)?与远程对象的差别是什么?代理对象⾃⾝并不实现所需要的业务逻辑,⽽是将请求转发给另⼀个对象,由该对象处理,并把处理结果返回给请求⽅。
代理对象充当中间⼈的⾓⾊。
代理对象可以在本地进程中。
七、什么是打包(Marshalling)?什么是解包(Unmarshalling)?打包是指将发出请求所需要的信息按照⼀定的格式⽅法整合在⼀起,以便于发出。
解包是指将收到的响应信息分解成易于使⽤的数据。
⼋、什么是⾯向对象中间件?什么是⾯向消息中间件?举例说明。
⾯向对象中间件使⽤⽅法调⽤、对象调⽤的形式发起请求,响应也是以对象的形式返回,例如代理对象。
学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《软件构件与中间件技术》全真试题(开卷90分钟)题号一二总分题分31 69得分一.多项选择题(共12小题,31分。
按照要求的选项个数选择)1. 在3层结构的分布式系统中,()包含了系统的核心业务逻辑。
(选1,2分)(A)客户层(B)中间层(C)数据层(D)以上都不是2. 典型的集成中间件为开发人员提供的三种基本支撑为:(选3,3分)()(A)提供构件运行环境(B)提供互操作机制(C)提供公共服务(D)提供数据库管理3. 构件通过封装隐藏其实现细节,构件接口是构件对外公布的唯一信息,使用者只能通过接口了解并使用组件。
CORBA对象的接口是用()定义的,EJB构件的接口是用()定义的,Web Service的接口是用()定义的。
(各选1,3分)(A)WSDL (B)Java interface (C)自然语言(D)OMG IDL4. 在支持分布式对象访问的桩/框架(Stub/Skeleton)结构中,负责替客户端完成底层通信相关工作的是(),负责替服务端完成底层通信相关工作的是()。
(各选1,2分)(A)客户端桩(Stub)(B)构件的接口(C)服务端框架(Skeleton)(D)分布式对象自身5. 在下图所示的OMA参考模型中,哪些涵盖了我们开发一个基于CORBA的应用时可以直接使用、不需自己实现的功能:(选3,3分)()(A)对象服务(B)领域接口(C)公共设施(D)应用程序接口6. CORBA IDL文件中可以定义模块、类型、常量、异常、接口、值等6种规格说明,其中IDL文件的核心内容是:(选1,2分)()(A)类型(B)常量(C)接口(D)值7. CORBA规范可以实现的可互操作性包括:(选3,3分)()(B)不同平台(如不同操作系统)与语言之间的可互操作性(C)不同厂商ORB产品之间的可互操作性(D)不同体系结构中的组件的互操作性(部分支持)(E)不同CORBA规范版本之间的可互操作性8.下面关于EJB的会话构件(Session Bean)的描述正确的有:(选2,2分)()a)Session Bean存在于客户应用与应用服务器交互的时间段内,Session bean中的数据不保存在数据库中。
架构,构件,组件,框架,中间件之间区别 中间件是⼀种独⽴的系统软件或服务程序,分布式应⽤软件借助这种软件在不同的技术之间共享资源; Web Services就是可以通过web描述、发布、定位和调⽤的模块化应⽤; 组件就是对象; 模式,即pattern。
其实就是解决某⼀类问题的⽅法论; 框架,即framework。
其实就是某种应⽤的半成品,就是⼀组组件,供你选⽤完成你⾃⼰的系统; 构件(component)是可复⽤的软件组成成份,可被⽤来构造其他软件。
它可以是被封装的对象类、类树、⼀些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、⽂档、分析件、设计模式(Pattern)等 中间件作为⼀⼤类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不⾔⽽语的.那什么是中间件?我们来看看以下的⼏种定义:Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use.同样,IDC给出的⼀个定义:中间件是⼀种独⽴的系统软件或服务程序,分布式应⽤软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和⽹络通信。
软件构件与中间件第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分明确指出要用英文作答的题目用英文作答,其余的随意。
第C3章软件构件与中间件
软件重用是指在两个或两个以上的不同软件开发过程中重复使用相同或相近的软件元素的过程。
这种可重用的元素称为软构件,可重用的软构件越多,重用的颗粒度就越大。
常见的构件模型
OMG公司的CORBA
Sun公司的EJB
Mircosoft的DCOM
构件的接口是指构件向其重用者提供的基本信息,包括构建名称,功能描述,对外功能接口、所需的构件、参数属性等。
构建的内部结构包括:内部成员和成员之间的关系。
构件的分类
⏹关键字分类法:用关键字进行描述
⏹刻面分类法
⏹超文本组织法
产品构件模型定义了四个层次
EJB是由Sun公司制定的用于开发和部署多层结构、分布式、面向对象的java应用程序的跨平台的构建体系结构。
⏹会话bean:(Session bean)与客户端的一个短暂的会话。
当客户端操作执行完后,也就
就消失了。
⏹实体bean:
⏹消息驱动bean:它结合了session bean与java信息服务jms信息监听者的功能。
中间件是一个分布式系统环境中处于应用程序和操作系统之间的软件。
是独立于系统软件和服务程序的。
中间件的分类
第C4章软件体系结构
软件体系结构分为五种
⏹结构模型(最常用)
⏹框架模型
⏹动态模型(最常用)
⏹过程模型
⏹功能模型
Kruchten在1995年提出了4+1软件体系结构的视图模型⏹逻辑视图:最终用户,功能需求
⏹进程视图:系统集成人员,性能、吞吐量
⏹物理视图:系统工程人员,系统拓扑、安装、通信⏹开发视图:编程人员,软件
⏹场景视图。