
软件体系结构chaper07领域课件.ppt
58页第七章 特定领域的软件体系结构§§ 7.1 特定领域的软件体系结概述§§ 7.2 DSSA组成§§ 7.3 基于DSSA的软件开发§§ 7.4 基于DSSA的DRICSM系统建模§§ 7.5 流行的软件体系结构软件体系结构chaper07领域课件7.1.1 7.1.1 特定领域的软件体系结构的定义特定领域的软件体系结构的定义 特定领域的软件体系结构(特定领域的软件体系结构(Domain Specific Software Domain Specific Software ArchitectureArchitecture,简写为,简写为DSSADSSA)是从一个领域中所有应用系统的)是从一个领域中所有应用系统的体系结构抽象出来的更高层次的体系结构,这个共有的体系结体系结构抽象出来的更高层次的体系结构,这个共有的体系结构是针对领域模型中的领域需求给出的解决方案构是针对领域模型中的领域需求给出的解决方案DSSADSSA是体现是体现了领域中各系统的结构共性的软件体系结构,它通用于领域中了领域中各系统的结构共性的软件体系结构,它通用于领域中的各个系统的各个系统§ 7.1 特定领域的软件体系结概述特定领域的软件体系结概述软件体系结构chaper07领域课件7.1.2 7.1.2 特定领域体系结构的意义特定领域体系结构的意义•在特定领域中存在着相类似的知识,这些知识信息可在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用。
其总体结构、计算构件、连接以在解决方案中复用其总体结构、计算构件、连接件以及其数据件都是可重的件以及其数据件都是可重的•一旦以上构件设计出来后,开发应用软件的工作就简一旦以上构件设计出来后,开发应用软件的工作就简化了,化了,90%90%以上的工作量是可重用,留下的仅是处理同以上的工作量是可重用,留下的仅是处理同一领域中属个性化的部件,开发一个应用系统人员素一领域中属个性化的部件,开发一个应用系统人员素质可以降低、质量反而提高、开发周期大大缩短,从质可以降低、质量反而提高、开发周期大大缩短,从而提高了生产率而提高了生产率软件体系结构chaper07领域课件 在特定领域中提供一个共同均适用的软在特定领域中提供一个共同均适用的软件体系结构模型为多个应用建立好开发基件体系结构模型为多个应用建立好开发基础和环境,这就是础和环境,这就是PanasPanas的程序族概念,我们的程序族概念,我们称为群体软件称为群体软件需求工程与领域工程需求工程与领域工程7.1.3 7.1.3 特定领域体系结构的目标特定领域体系结构的目标软件体系结构chaper07领域课件需求工程软件体系结构chaper07领域课件以往需求获取中存在问题以往需求获取中存在问题 1. 1. 由系统分析员去向用户调查,然后写出需由系统分析员去向用户调查,然后写出需求报告,系统分析员是不了解用户业务的,因此求报告,系统分析员是不了解用户业务的,因此只能做到一知半解地写只能做到一知半解地写““需求分析报告需求分析报告””这个需这个需求报告自身就隐藏着大量的错误,现在的做法是求报告自身就隐藏着大量的错误,现在的做法是仿真现实系统,让用户老老实实地将自己如何工仿真现实系统,让用户老老实实地将自己如何工作的情况写下来,用户是能够写好的。
作的情况写下来,用户是能够写好的软件体系结构chaper07领域课件 2. 2. 需求和分析这二件事是二个不同范需求和分析这二件事是二个不同范畴中的事,需求获取是描述客观系统,属用户畴中的事,需求获取是描述客观系统,属用户范畴,分析工作应由软件人员通过抽象和分析,范畴,分析工作应由软件人员通过抽象和分析,为下一步设计作准备,是属分析员的范围内的为下一步设计作准备,是属分析员的范围内的事,因此其知识要求,目标和工作方式是截然事,因此其知识要求,目标和工作方式是截然不同的现在的做法是需求获取和领域分析分不同的现在的做法是需求获取和领域分析分开成不同阶段,不能将它们混在一起进行开成不同阶段,不能将它们混在一起进行软件体系结构chaper07领域课件获取需求过程获取需求过程•首先了解系统的主要特征,确定该领域中那个首先了解系统的主要特征,确定该领域中那个模型,如商业系统中那种业态模型,如商业系统中那种业态( (商场、超市、商场、超市、批发,连锁等批发,连锁等) ) 、几级管理和核算、商品数、、几级管理和核算、商品数、经营面积、几级仓库等,由此确定采用那个模经营面积、几级仓库等,由此确定采用那个模式,称为参考模式。
式,称为参考模式•第二步根据模式通过填表、或与电脑交互获得第二步根据模式通过填表、或与电脑交互获得进一步信息,形成初步的需求信息进一步信息,形成初步的需求信息软件体系结构chaper07领域课件需求生成工具需求生成工具该工具有以下功能:该工具有以下功能: 1. 1. 一致性完备性检查,如用的名字是否有定一致性完备性检查,如用的名字是否有定义且统一,有些文档无人接受,有些文档不知从义且统一,有些文档无人接受,有些文档不知从哪里获得,每个事务或功能的触发条件,有些功哪里获得,每个事务或功能的触发条件,有些功能责职无人承担等,需进一步反覆完善能责职无人承担等,需进一步反覆完善 2. 2. 生成各种文档:需求报告、费用估算、实生成各种文档:需求报告、费用估算、实施计划、合同草稿、词典、编码表、亚当图等施计划、合同草稿、词典、编码表、亚当图等软件体系结构chaper07领域课件生成文档的作用生成文档的作用•需求报告、费用估算、实施计划、合同等文档,需求报告、费用估算、实施计划、合同等文档,是提供给用户,给以确认。
是提供给用户,给以确认•其它文档供集成商、领域分析员、系统开发员或其它文档供集成商、领域分析员、系统开发员或集成员之用集成员之用•所有文档都是根据参考模式从可重用文档库中取所有文档都是根据参考模式从可重用文档库中取出样版填写而成的,为此必需规范化出样版填写而成的,为此必需规范化软件体系结构chaper07领域课件获取需求过程的框架获取需求过程的框架产生参考模式参考模式交互或填表用户需求生存工具合同和估算表和图需求报告规格说明库分析员软件体系结构chaper07领域课件 需求建模需求建模 需求工程是面向用户的,其建模的目标是为了与有关承担需求工程是面向用户的,其建模的目标是为了与有关承担者交流,明确用户对系统的需求,并进一步为开发建立需求说明者交流,明确用户对系统的需求,并进一步为开发建立需求说明文档,即提出问题域的解决方案,或称概念模型为此需求文档文档,即提出问题域的解决方案,或称概念模型为此需求文档必需是:必需是:•面向用户的:用户能易理解的面向用户的:用户能易理解的•是严格、一致和完善的是严格、一致和完善的•模型能易於不断扩充和完善模型能易於不断扩充和完善。
ArissAriss建模和建模和UMLUML中的同例场景模型这二种模型,都是完中的同例场景模型这二种模型,都是完整的需求模型,将其业务过程的过程流程细节省略,就是一种描整的需求模型,将其业务过程的过程流程细节省略,就是一种描述用户需求的模型,即用例视图、结构视图或场景视图述用户需求的模型,即用例视图、结构视图或场景视图软件体系结构chaper07领域课件关键技术关键技术•所有文档都应规范化,才能实现生存工具,实所有文档都应规范化,才能实现生存工具,实现文档的转换文档应遵循受限自然语言的语现文档的转换文档应遵循受限自然语言的语法和语义法和语义•受限自然语言的语法和语义可用受限自然语言的语法和语义可用BNFBNF方式定义方式定义•提供提供CASECASE平台,包括文档库及工具库平台,包括文档库及工具库•要有实际工程基础,才能提供出参考模式要有实际工程基础,才能提供出参考模式软件体系结构chaper07领域课件其它需求信息其它需求信息•各岗位角色的权限定义,是设计系统安全性的各岗位角色的权限定义,是设计系统安全性的依据•用户界面的风格,是用户直接与机器打交通的用户界面的风格,是用户直接与机器打交通的部分,应有演示,让用户能挑选。
部分,应有演示,让用户能挑选•了解与外部的联系以及进一步发展规划,为系了解与外部的联系以及进一步发展规划,为系统发展留有余地统发展留有余地•现有计算机使用情况现有计算机使用情况 •..........等等软件体系结构chaper07领域课件小结小结• 客客观观系系统统的的建建立立是是基基于于用用户户观观念念,,仿仿真真现现实实人人工工系系统统而而获获得得,,用用户户只只要要写写出出本本人人的的承承担担任任务务,,及及其其具具体体工工作作步步骤骤因因此此可可以以由由用用户户自自己己编写• 客观系统的模型是采用角色法模型仿照客观系统的模型是采用角色法模型仿照IPO IPO 图的方式,是面向现实系统的模型,因此需求图的方式,是面向现实系统的模型,因此需求说明易于用户接受也易于验证说明易于用户接受也易于验证软件体系结构chaper07领域课件• 客观系统中关键部分是功能描述将每个角色客观系统中关键部分是功能描述将每个角色承担的活动,分解成动作序列每个动作是最小承担的活动,分解成动作序列每个动作是最小单位,包括用何文档,如何处理,产生何文档单位,包括用何文档,如何处理,产生何文档•在实际中也证明角色法是一种很好的有效的方法,在实际中也证明角色法是一种很好的有效的方法,这是汉京公司提出的。
这是汉京公司提出的•还还需需严严格格的的规规范范化化,,要要设设计计分分析析员员专专家家系系统统以以及及原型演示实用化等工作原型演示实用化等工作软件体系结构chaper07领域课件领域工程领域工程•基本假设:在特定领域中存在着相类似的知识,基本假设:在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用这些知识信息可以在解决方案中复用•领域工程是针对同领域的应用工程建立基本能领域工程是针对同领域的应用工程建立基本能力和必要基础设施力和必要基础设施•领域工程是针对特定领域分析、设计和实现软领域工程是针对特定领域分析、设计和实现软件系统软件体系结构chaper07领域课件领域工程领域工程•设计出该领域的体系结构模型;设计出该领域的体系结构模型;•对此模型进一步细化,形成领域体结构框架多对此模型进一步细化,形成领域体结构框架多个模型,它还包括:个模型,它还包括:•①①提炼出可重用的构件;提炼出可重用的构件;•②②设计出可重用数据设计出可重用数据( (称主题数据称主题数据) ),即完成数,即完成数据结构和逻辑数据库的设计,通常在同一领域据结构和逻辑数据库的设计,通常在同一领域中数据结构是最稳定的。
中数据结构是最稳定的软件体系结构chaper07领域课件•领域工程要求有足够的领域信息才能开展,即领域工程要求有足够的领域信息才能开展,即要求有完整的领域需求报告,或已开发过多个要求有完整的领域需求报告,或已开发过多个同领域的应用软件同领域的应用软件•领域工程的核心是通过领域分析和设计形成领领域工程的核心是通过领域分析和设计形成领域的逻辑系统当每次开发一个同一领域时,域的逻辑系统当每次开发一个同一领域时,仅需要作少量修改加以组装集成,就大大缩短仅需要作少量修改加以组装集成,就大大缩短开发周期、降低开发成本,也便干维护开发周期、降低开发成本,也便干维护软件体系结构chaper07领域课件领域分析和设计•领域分析的任务是:通过分析领域需求,提取出系领域分析的任务是:通过分析领域需求,提取出系统的共性,区分出可变和不变的部分统的共性,区分出可变和不变的部分•领域设计的任务是:领域设计的任务是: 1.1.设计领域构架;设计领域构架; 2.2.设计主题数据库;设计主题数据库; 3.3.提炼领域构件。
提炼领域构件领域分析和设计,简称领域分析领域分析和设计,简称领域分析软件体系结构chaper07领域课件领域工程模型领域工程模型软件体系结构chaper07领域课件领域领域应用应用应用应用应用应用应用应用领域领域工程工程DA1B1C1A2B2领域可复用构件领域可复用构件输入输入输出输出领域工程师领域工程师最终用户最终用户领域专家领域专家应用系应用系统开发统开发需求分析员、需求分析员、软件设计者软件设计者......数据件连接件领域工程 领域构架模型领域构架模型软件体系结构chaper07领域课件领城建模的信息来源领城建模的信息来源( (图示图示) )需求报告专家系统原型演示己有系统用户工具客观世界模型:主题文档领域个性和知识需求模型 参加人员:领域专家 分析员软件体系结构chaper07领域课件领域信息领域信息•主题文档: 即从己有的文档中提炼出与领域相关的、稳定的业务过程和数据结构•领域个性知识: 与主题文档相对,客观系统所具有的独特个性而变化的可变部分信息•需求模型: 除上述内容外,对客观系统的全面的客观描述软件体系结构chaper07领域课件领域设计的任务领域设计的任务•设计数据环境,如主题数据库。
•设计逻辑系统的体系结构•设计各构件及相互连接关系软件体系结构chaper07领域课件四种数据环境四种数据环境( (一一) ) 文件系统(Data File) 每一项应用都设计有各自的文件,这常常是结构化分析的直接结果,数据包含于功能中在这类数据环境中,没有使用数据库管理系统,文件是在应用开发时由分析员或程序员设计的它的特点:简单和相对比较容易实现;但数据冗余量大,不灵活,修改的代价很高软件体系结构chaper07领域课件四种数据环境四种数据环境( (二二) ) 应用数据库(Application Data Bases) 使用了数据库管理系统,分散的数据为分散的应用而设计没有发挥使用数据库的优越性其特点:不同的应用系统拥有自己的数据库,各个应用之间的综合数据管理,比下面第三类数据环境之较容易实现;但数据的共享程度不好,维护费用高,随着应用的扩充,数据库数目的大量增加会象文件系统那样导致大量冗余如报表数据库软件体系结构chaper07领域课件四种数据环境四种数据环境( (三三) )主题数据库(Subject Data Bases) 是独立于具体应用数据而相关于领域的数据资源,数据结构和存储方式独立于使用数据的各种职能。
使用数据的各种职能会随者时间的推移不断发生变化,但数据类型本身的变化却不经常发生软件体系结构chaper07领域课件四种数据环境四种数据环境( (四四) ) 信息检索系统(Information Retrieval Systems) 目前,采用数据仓库技术来实现是一种被设计的便于一般信息检索和灵活数据搜索的系统来源于多个数据源的事先收集、整理、存放在敉据仑库中,通常可供决策处理用软件体系结构chaper07领域课件主题数据库设计主题数据库设计•詹姆斯詹姆斯. .马丁马丁(James Martin)(James Martin)在《信息工程》中在《信息工程》中提出了基于主题数据库的总体数据规划方法以解提出了基于主题数据库的总体数据规划方法以解决决““数据处理危机数据处理危机””•主题数据库主题数据库(Subject Data Bases)(Subject Data Bases)是独立于具体是独立于具体应用数据而相关于领域的数据资源,数据结构和应用数据而相关于领域的数据资源,数据结构和存储方式;它独立于使用数据的各种职能存储方式;它独立于使用数据的各种职能软件体系结构chaper07领域课件主题数据库作用和意义主题数据库作用和意义•当一些互不相联的系统分析员在分散独立的开当一些互不相联的系统分析员在分散独立的开发应用软件系统时,相同的数据被不同的开发发应用软件系统时,相同的数据被不同的开发小组开发多次,而且具有不同的结构,这样,小组开发多次,而且具有不同的结构,这样,应该互相协调的数据就不能协调,不同部门之应该互相协调的数据就不能协调,不同部门之间的数据传输也很难进行。
间的数据传输也很难进行•数据在主题数据库中的存放方式,使得它们独数据在主题数据库中的存放方式,使得它们独立于使用数据的程序立于使用数据的程序软件体系结构chaper07领域课件主题数据库作用和意义主题数据库的重要性:主题数据库的重要性: 1.1.它有助于保证数据的完整性和一致性;它有助于保证数据的完整性和一致性; 2. 2.它有助于提高应用开发效率,一旦某一它有助于提高应用开发效率,一旦某一 领域的主题领域的主题数据库建立,可在以后的同领域开发项目中重用数据库建立,可在以后的同领域开发项目中重用 3. 3.由主题数据的重用可得到相应的业务职由主题数据的重用可得到相应的业务职 能的重用能的重用软件体系结构chaper07领域课件主题数据库设计原则主题数据库设计原则•主题数据库中的数据应该是在领域中稳定的,综合用户数据视图,尽可能消除冗余的数据和联系•这个综合过程应遵循一套规则的规范化步骤(如第三和第四范式),因此应该能由计算机完成•应使最终用户尽可能的参与设计。
软件体系结构chaper07领域课件主题数据库规划的基本步骤主题数据库规划的基本步骤 第一步,进行业务分析,建立企业模型,这部分属于需求获取阶段按照企业内部的理解关系,将它们划分若干职能区域,然后,弄清各职能区域中所包含的全部业务过程,再把业务过程细分为一些活动(Activity)按逻辑划分出的职能区域,业务过程和活动的层次关系描述就是企业模型软件体系结构chaper07领域课件第二步,进行实体分析,建立主题数据库模型•清查所有业务活动所涉及的数据实体(Entity)及其属性(Attribute),作好保证标准化的定义与说明,取得著方面一致的理解•然后重点分析这些实体之间的联系,将联系密切的实体组划分到一起,形成一些实体大组(Supergroup)•这些实体大组内部的实体之联系密切而与外界实体联系很少,作为划分主题数据库的依据软件体系结构chaper07领域课件第三步,进行数据的分布分析 结合数据存储地点,进一步调整确定主题数据库结合数据存储地点,进一步调整确定主题数据库的内容和机构,制定数据库的开发策略分布分析要的内容和机构,制定数据库的开发策略分布分析要充分考虑:业务数据的发生和处理地点,权衡集中式充分考虑:业务数据的发生和处理地点,权衡集中式数据存储和分布式数据存储的利弊;还要考虑数据的数据存储和分布式数据存储的利弊;还要考虑数据的安全性、保密性,系统的运行效率和用户的特殊要求安全性、保密性,系统的运行效率和用户的特殊要求等。
根据这些调整实体大组的机构,制定最终的主题等根据这些调整实体大组的机构,制定最终的主题数据库 软件体系结构chaper07领域课件第四步,体系结构设计第四步,体系结构设计 利用企业模型和主题数据库建立业务过程利用企业模型和主题数据库建立业务过程与主题数据库的对应表从表中划分出逻辑子与主题数据库的对应表从表中划分出逻辑子系统,划分的原则是尽量使数据交换最频繁的系统,划分的原则是尽量使数据交换最频繁的一组业务过程和一组主题数据库出现在同一子一组业务过程和一组主题数据库出现在同一子系统中使得各个子系统之间低耦合高内聚,系统中使得各个子系统之间低耦合高内聚,适于作为重用构件适于作为重用构件•如下图所示:如下图所示:软件体系结构chaper07领域课件软件体系结构chaper07领域课件软件体系结构chaper07领域课件领域构件类的提取的几种途径领域构件类的提取的几种途径•智能性很强,无统一方法,必需要与领域专家共同完成•从企业模型中的业务过程来划分成子系统构件•从数据模型优化中分析与主题数据密切相关的业务活动组成构件•从已有的各种模式中寻找相似的结构建立构件,或购买构件产品,经过包装。
•通过抽象技术分析出系统中各抽象模型软件体系结构chaper07领域课件软件体系结构chaper07领域课件§7.2 DSSA§7.2 DSSA的组成的组成 DSSA DSSA由领域模型、参考模型、参考体系结构由领域模型、参考模型、参考体系结构3 3个主要信息元素以个主要信息元素以及框架及框架/ /环境支持工具、抽取和评估组成环境支持工具、抽取和评估组成软件体系结构chaper07领域课件7.2.1 7.2.1 研究研究DSSADSSA及其开发方法的意义及其开发方法的意义 DSSA DSSA是一门以软件重用为核心,研究软件应用是一门以软件重用为核心,研究软件应用框架的获取、表示和应用等问题的软件方法学特框架的获取、表示和应用等问题的软件方法学特定领域的软件体系结构强调应用领域内的重复出现定领域的软件体系结构强调应用领域内的重复出现的大粒度问题及其解的抽象提取的大粒度问题及其解的抽象提取 ((1 1)) 基于基于DSSADSSA的软件开发具有更好的可操作性与可行性的软件开发具有更好的可操作性与可行性 ((2 2)) 基于基于DSSADSSA的开发更高效与实用的开发更高效与实用 软件体系结构chaper07领域课件7.2.2 DSSA7.2.2 DSSA的螺旋型演化过程的螺旋型演化过程为了使为了使DSSADSSA能够较好应用于实际领域,从创建到最终完成需要多次反复进行能够较好应用于实际领域,从创建到最终完成需要多次反复进行才能达到要求。
实际应用中领域需求是变化的,那么才能达到要求实际应用中领域需求是变化的,那么DSSADSSA应该紧跟需求而变,应该紧跟需求而变,其变化过程如下图:其变化过程如下图:软件体系结构chaper07领域课件§7.3§7.3基于基于DSSADSSA的软件开发的软件开发基于基于DSSADSSA的应用开发步骤及其相关的支持工具如下图的应用开发步骤及其相关的支持工具如下图( (开发流程开发流程) )软件体系结构chaper07领域课件§7.4 §7.4 基于基于DSSADSSA的的DRICSMDRICSM系统建模系统建模§7.5.1 DRICSM§7.5.1 DRICSM的定义的定义 DRICSMDRICSM((Digital Resource’s Integration of Digital Resource’s Integration of Creation, Sale and ManagementCreation, Sale and Management)它是数字图书馆企业将)它是数字图书馆企业将数字资源的生产加工、销售、财务核对、数字资源库存管数字资源的生产加工、销售、财务核对、数字资源库存管理等一系列经营管理过程融为一个整体来实现对数字资源理等一系列经营管理过程融为一个整体来实现对数字资源的业务控制。
的业务控制软件体系结构chaper07领域课件7.4.1 DRICSM7.4.1 DRICSM的构成的构成按照数字图书馆企业对数字资源处理流程按照数字图书馆企业对数字资源处理流程,可以分为可以分为如下几个功能模块(见下图):如下几个功能模块(见下图):软件体系结构chaper07领域课件7.4.2 DRICSMSA7.4.2 DRICSMSA的体系结构模型的体系结构模型 DRICSMSA的开发流程对于一个数字图书馆企业而言,在为其开的开发流程对于一个数字图书馆企业而言,在为其开DRICSM系统集成模型时,开发分析的过程像一个三角形的层次结构,系统集成模型时,开发分析的过程像一个三角形的层次结构,如下图:如下图:软件体系结构chaper07领域课件7.4.3. DRICSMSA7.4.3. DRICSMSA的应用需求分析的应用需求分析软件体系结构chaper07领域课件§7.4.4 DRICSMSA§7.4.4 DRICSMSA的应用开发的应用开发软件体系结构chaper07领域课件§7.5 §7.5 流行的软件体系结构流行的软件体系结构 为适应软件日益发展的新需求,新的软件开发末世必需为适应软件日益发展的新需求,新的软件开发末世必需直尺分布式计算、浏览器直尺分布式计算、浏览器/ /服务器结构、模块化和构件化集服务器结构、模块化和构件化集成,是软件类似于硬件一样,可用不同的标准构件组装而成,是软件类似于硬件一样,可用不同的标准构件组装而成。
具体的说可是现下列几点要求:成具体的说可是现下列几点要求: ●● 提供一种手段,是应用软件可用预先编好的、功能明确提供一种手段,是应用软件可用预先编好的、功能明确 的产品部件定制而成,并可用不同版本的部件实现应用的的产品部件定制而成,并可用不同版本的部件实现应用的扩展和更新扩展和更新 ● ● 利用模块化方法,将复杂的难以维护的系统分解为互相利用模块化方法,将复杂的难以维护的系统分解为互相独立、协同工作的部件,并努力使这些部件可反复重用独立、协同工作的部件,并努力使这些部件可反复重用 ● ● 突破时间、空间及不同硬件设备的限制,利用客户和软突破时间、空间及不同硬件设备的限制,利用客户和软件之间统一的接口实现跨平台的互操作件之间统一的接口实现跨平台的互操作软件体系结构chaper07领域课件7.5.1 7.5.1 基于基于CORBACORBA的分布式构件技术的分布式构件技术 CORBACORBA是对象管理协会是对象管理协会(OMG)(OMG)发布的异构网络分布对象的发布的异构网络分布对象的交互标准交互标准。
OMG OMG是一个由业界是一个由业界760760多个公司组成的工业协会,这些公多个公司组成的工业协会,这些公司成立司成立OMGOMG的目的就是为了共同制定出一个大家都遵循的分的目的就是为了共同制定出一个大家都遵循的分布式对象计算标准这一切的努力的结果就是现在大家所见布式对象计算标准这一切的努力的结果就是现在大家所见到的对象管理体系(到的对象管理体系(OMAOMA)软件体系结构chaper07领域课件 OMA OMA将对象分为三类:将对象分为三类:CORBACORBA服务、服务、CORBACORBA设备和应用设备和应用对象如下图:对象如下图:软件体系结构chaper07领域课件7.5.2 7.5.2 基于基于JavaJava的分布式构件技术的分布式构件技术软件体系结构chaper07领域课件7.5.3 7.5.3 基于基于.NET.NET平台的分布式构件技术平台的分布式构件技术软件体系结构chaper07领域课件7.5.4 7.5.4 面向服务的体系结构面向服务的体系结构 面向服务的体系结构的定义面向服务的体系结构的定义 SOASOA是继面相对象,基于构件的软件架构方法之后被提出的一种新的是继面相对象,基于构件的软件架构方法之后被提出的一种新的体系结构。
它来源于早期的基于构件的分布式计算方式,用以解决复杂体系结构它来源于早期的基于构件的分布式计算方式,用以解决复杂环境下的分布式应用,即解决异构集成和系统演化两个问题环境下的分布式应用,即解决异构集成和系统演化两个问题 SOA SOA是传统的面向对象和基于构件的软件设计方法的替代模型基是传统的面向对象和基于构件的软件设计方法的替代模型基于于SOASOA的系统可以使用构件组装服务,也可以使用面向对象的设计构建单的系统可以使用构件组装服务,也可以使用面向对象的设计构建单个服务,但是就整体来看,却是面向服务的下图显示了服务、对象和个服务,但是就整体来看,却是面向服务的下图显示了服务、对象和构件的关系构件的关系软件体系结构chaper07领域课件软件体系结构chaper07领域课件基于基于WebWeb服务的服务的SOASOA实现实现 目前,有多个流行的技术支持面向服务的设计思想,目前,有多个流行的技术支持面向服务的设计思想,如如DCOMDCOM、、CORBACORBA、、WebWeb服务等WebWeb服务标准的成熟和应用服务标准的成熟和应用的普及为实现的普及为实现SOASOA架构提供了基础,所以架构提供了基础,所以WebWeb服务是实现服务是实现SOASOA的最佳方式。
的最佳方式 Web Web服务的核心技术服务的核心技术 ● ● XMLXML ● ● 简单对象访问协议简单对象访问协议SOAPSOAP ● ● WebWeb服务描述语言服务描述语言WSDLWSDL ● ● 统一的描述、发现和集成协议统一的描述、发现和集成协议UDDIUDDI软件体系结构chaper07领域课件。












