(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf_第1页
(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf_第2页
(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf_第3页
(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf_第4页
(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机科学与技术专业论文)企业应用系统集成及其应用研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 利用企业应用系统集成技术( e m e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ,e a l ) 将企业 内已有系统集成是提升企业内部系统、达成企业目标和增强企业竞争力的重要手 段之一,也是当前计算机应用的发展趋势。本文以实际项目为背景,针对电子设 计自动化( e l e c t r o n i cd e s i g na u t o m a t i o n ,e d a ) 领域中的集成问题进行了深入的探 讨,并成功地实现了集成系统i s y s 。本文具体分析了当前几种体系结构,在e d a 的应用领域中提出和成功地实现了以合适客户端为特征的多层体系结构:研究和 应用了e a i 中的方法,其中包括模型化企业系统、企业系统构建策略、企业应用 系统集成模型和应用集成样式的问题:讨论了四种与项目实现相关的中间件技术 c o r b a 、r m i 、s o c k e t 、j n i ,针对每种技术的i o 性能作了相应的编程实践和性 能评价,在此基础上,i s y s 最后选用了较为底层的s o c k e t 中间件技术,获得了满 意的效果;最后对e a i 的发展趋势作出了展望。 关键字:企业应用系统集成,中间件,电子设计自动化,合适客户端 a b s t r a c t a p p l y i n ge n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ( e a i ) t e c h n o l o g yc a l ll e v e r a g et h e c a p a b i l i t i e so fe x i s t i n ge n t e r p r i s ea p p l i c a t i o n s ,a c h i e v ee n t e r p r i s eg o a l a n dh e l pa n e n t e r p r i s ec r e a t ec o m p e t i t i v ea d v a n t a g e e a ii so n eo ft r e n d so fc o m p u t e ra p p l i c a t i o n t e c h n o l o g yn o w a d a y s b a s e do na ni n d u s t r yp r o j e c t ,t h i s t h e s i sm a k e sa n i n d e p t h e x p l o r a t i o no f e a ii ne l e c t r o n i cd e s i g na u t o m a t i o n ( e d a ) f i e l da n df i n a l l yas y s t e m n a m e di s y si s s u c c e s s f u l l yi m p l e m e n t e d a f t e rs e v e r a la r c h i t e c t u r e sa r ea n a l y z e d ,t h e t h e s i sp r o p o s e sa n da p p l i e sam u l t i t i e r s a r c h i t e c t u r e ,f e a t u r i n gw i t h “f i tc l i e n t ”a l s o , t h et h e s i sa n a l y s e s ,d i s c u s s e sa n d a p p l i e ss e v e r a lt o p i c so fe a i ,w h i c hi n c l u d em o d e l i n g e n t e r p r i s ea p p l i c a t i o ns y s t e m s ,e n t e r p r i s e s y s t e m c o n s t r u c t i o n s o l u t i o n ,e n t e r p r i s e a p p l i c a t i o ni m e g r a t i o nm o d e l sa n da p p l i c a t i o ni n t e g r a t i o ns t y l e s m o r e o v e r , 4r e l a t e d m i d d l e w a r e t e c h n o l o g i e s c o r b a ,r m i ,s o c k e t ,j n i a r ed i s c u s s e da n dt h e i r p e r f o r m a n c e sa r ee l a b o r a t e da n de v a l u a t e da n de v a l u a t e d ,w h i c ha r eb a s e do nt h e p r a c t i c a lp r o g r a m m i n g , t h es o c k e tt e c h n o l o g yi ss e l e c t e da n dt h er e s u l ti ss a t i s f a c t o r y a l s ot h e p r o s p e c t so f e a ia r ei l l u s t r a t e d k e yw o r d s :e a i ,m i d d l i w a r e ,e d a ,f i tc l i e n t 第一章概述 1 1 企业应用系统集成( 队i ) 1 1 1 e l 的意义 现代信息社会的高度发展,带来了企业之间的竞争加剧。企业开始认识到必 须将企业内部的各个分散的应用系统有效地联系起来,形成一个整体,才能有效 地增强企业与客户的关系,为客户带来多种途径和更便利的服务:增强企业与供 应商的合作伙伴关系使商业活动链的协调更有效率;增强企业自身内部的商业过 程使企业内部工作流程更加通畅和高效,因此希望加速开发和使用能为满足更 多需求的新应用系统1 1 1 1 2 1 。当许多企业正在努力为使自己的企业应用系统互联寻找 更好更高效的方法和构建许多属于自己专有的方案时,也有许多人和许多公司正 在探索及开发现在被命名为企业应用集成( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n , e a i ) 的解决方案以及相关的产品。 1 1 2e i 的定义与目标 简单来讲,e a i 是一种r r 业上新的商业解决方案,它通过使用中间件方 式,连接企业中业已存在的应用系统、商业软件包以及新的代码来满足新的商业 需求。e a i 主要是指企业内部应用系统互联,但也有人认为e a i 概念的延伸就是 b 2 b i ( b l 商琳s s 睁b 璐i 玳胬i n t e g r a t i o n ) 或者e a i 包括了b 2 b i 。本文并不打算对 b 2 b i 形式进行过多阐述( 请参见1 3 1 1 4 l q ) ,因为e a i 本身的理论技术也是b 2 b i 的 重要内容和基础。 1 1 3e i 的主要目的 e a i 是让一个企业或组织能够快速而容易地集成不同的应用以增强企业的竞 争力。但从更深层次上讲,e a i 的另一个目标是研究如何进化企业内部体系结 构,使其在原有不同的技术和应用基础上,在集成过程中搭建适合自己的体系结 构,不但为未来企业内部新的应用系统集成的快速开发和使用奠定了基础和框 架,也为未来企业与企业之间的连接作好准备i t l l 6 1 ”。 1 1 4e a i 与w e b e a i 的出现,w e b 是其中关键因素之一。w e b 及其底层的i n t e m e t 技术改 变了整个工业的环境,e a i 是处于这个大环境中。w e b 为企业提供更好的服务创 造了条件,也为商业竞争创建了一个新的竞技场;但是,w e b 应用和e a j 并不 是同义词。许多w e b 应用并没有集成参与,而许多集成的项目也与w e b 无关。 然而w e b 的出现大大刺激了企业使用e a i ,而且有效的基于w e b 的应用通常是 依赖于已存在的应用系统集成。许多实例也证明了这一点,因为真正的逻辑功能 大部分由原有应用系统构成,而w e b 提供了一个更标准的通信机制和更一致的 平台9 1 1 1 “。 1 2e a i 在e i ) a 领域的应用 在二十世纪七十年代的末期,集成电路的设计开始走向商业化。于是开始出 现了为这些电路设计提供服务的专用软件,这被称为电子设计自动化( e d a : e l e c t r o n i c d e s i g na u t o m a t i o n ) 的计算机辅助设计( c a d ) :c o m p u t e ra i d d e s i g n ) 。e d a 技术,就是采用c a d ) 技术进行电子系统和专用集成电路设计的 技术。e d a 技术可面向三个不同的层次,即系统级、电路级和物理实现级【5 l 。本 文中所涉及的是以e d a 的后端设计( 物理设计) 为主。e a i 在e d a 行业中的应 用有它的特殊性和难度:e d a 应用软件纷繁复杂,一个完整的业务流程包括相当 多的环节;各应用系统( 尤其物理实现级) 大多采用各自专有( p r o p r i e t a r y ) 体系 结构和数据格式;系统运行平台也不尽相同( s o l a r i s ,h p u x ,a i x ) ;并且各个 环节交换的数据量也是极其庞大,对于e a i 的方案的空间、时间性能以及鲁棒性 提出了更高的要求。在e d a 行业中如何有效的实施e a j ,将原有的“孤岛”系统 和第三方工具集成起来,完成商业过程的集成( b p i :b u s i n e s sp r o c e s si n t e g r 血o n ) i l l , 以满足更高层次的自动化,以及提供基于w e b 的工作环境与合作环境,已成为 个挑战性的研究课题m 1 1 ”1 。 1 3 课题研究背景 e a i 领域中有许多相关产品,也有许多相关的成功经验和体系结构可借鉴。 但是,e a i 涉及的情况往往极其复杂和多样,没有一种e a i 方案或产品能解决所 有问题。并且e a i 在不同领域的具体应用中也往往具有不同的内容。当前许多e a i 的讨论集中在诸如企业资源计划管理( e r p ) 等以数据库为特征的商业领域中。 2 而本文所面临的课题是一个e a i 所较少涉及的e d a 物理设计领域。这个行 业中的e a i 所面临的是一个个异构的、封闭的和以文件系统为存储方式的系统。 e d a 中系统以自动化计算为特征,所涉及的数据量往往十分庞大,内存管理和系 统运行环境也十分严格,所以对于集成后系统在数据存取性能、系统的稳定性上 都有很高的要求【8 】【”1 。 e a i 技术涉及操作系统、数据库、面向对象技术、分布式技术和体系结构以 及i n t e m e t 等相关领域,同时e a i 应用的成功也取决于对应用领域的深入了解和 掌握。 本文课题背景中所涉及的公司主要业务是以e d a 的后端设计( 物理设计) 为主。该公司是e d a 的后端设计的供应商。公司已有一些以美国专利为基础的 后端优化工具。本课题的任务和目标就是在新的形势要求下,集成公司内的一系 列工具以及一些必要的第三方工具,以提供一个整合的后端设计平台。进而公司 还提出新的基于i n t e r n e t 平台的战略,要求新的系统能运行在i n t r a n e t i n t e m e t 中,为设计者提供更灵活的工作地点和工作时间,即设计者可以通过i n t e m e t 访 问服务器而开展工作。这些同时也为远程客户观看芯片制造厂商的芯片后端设计 提供了便利,同时系统应进一步可以支持协同工作1 1 6 l 。而e a i 为整个系统的成功 奠定了坚实的基础和起了决定性的作用,这是本文论述的重点。 由于工业界中商业原因,本文中有些地方涉及到敏感的名称时,将使用替代 名称。 1 4 论文工作概要 本文所作的工作分为两个部分。一研究工作:在深入研究基本e a i 的基本 理论技术基础上,以实际项目为背景,针对较为特殊的e d a 行业进行了系列 的研究工作,提出和设计了较为合适的系统体系结构;为了具体应用,研究和分 析了不同的集成模型和集成样式以及中间件等问题。二在上述研究工作基础 上,我们开发了一个名为i s y s ( 替代名) 的系统,现在已经形成一个e d a 的工 业产品;此产品以l a t e r n e t 为平台,支持用户的远程工作和协同工作。 本文主要研究和解决了以下问题: 1 在总的系统目标下,对各种系统体系结构进行了仔细的研究和分析,针对 e d a 领域中的具体要求,提出和讨论了名为合适客户端的多层体系结构,克服了 3 瘦客户端和胖客户端在应用中的弱点。在实践中,本文进步提出了如何设计和 实现合适客户端的原则。 2 在企业系统的构建中,讨论了企业i t 目标构建的三种策略扩展、替代 和连接,对于如何合理利用企业内原有系统进行了分析,并根据企业内原有系统 的不同情况,而分别实旅不同策略。实践中表明了e a i 在具体情况下,也可以采 取舍弃原有系统的策略而获得最终满意的结果。新系统的开发将使用j a v a 平台, 而放弃原有的t c l t k 工具。 3 详细分析和讨论了“功能层集成模型”和“数据层集成模型”,在分析实 际情况下,对企业内原有系统的不同情况分别运用了两种集成模型。结果表明, 由于正确地运用了集成模型。原有系统的功能被有效地重用,加快了整个系统的 实施进度和减少了企业内部系统的冗余和错误。 4 两种基本集成样式:点对点( p o i n t - t o - p o i n t ) 和中介型( m e d i a t o r ) 被讨论和 分析。在基于m e d i a t o r 样式的情况下,提出和使用了一个简化的样式,简化了集 成而使系统的性能得到提高。 5 为达成互联异构系统的目的,四种相关的中间件技术被讨论、实验和评 述。在经历这个工业界产品i s y s 中,由于e d a 系统对系统的性能以及运行环境 都有很高的要求,我们选用了较为底层的和成熟的s o c k e tf r c p m , ) 作为互联技 术。实践表明,对于集成关键性的以及对运行环境要求严格的系统,较底层的和 成熟的技术具有重要价值【l ”。 本文章节安排如下:第一章绪论;第二章介绍e a i 的一些基本理论和技术。 第三章围绕e d a 的实际项目探讨了系列问题,包括以合适客户端为特征的多 层体系结构、模型化企业系统、企业系统构建策略、企业应用系统集成模型和应 用集成样式的问题。第四章探讨了四种相关中间件技术,并进行了i o 性能的测 试,为系统的实现选择了合适的中间件。第五章是结论和展望。 4 第二章 e a i 的基本理论与技术 2 1e a i 的四个基本构建块( i n t e g r a t i o nb a s i cb u i l d i n gb l o c k s ) 在一个企业中实现e a i 既需要技术,也需要方法学。一个e a i 的体系结构 需要把各种技术以一种有结构的方式组织起来。e a i 主要基于四个技术构建块: 通讯模型( c o m m u n i c a t i o nm o d e l ) ,集成方法( m e t h o do fi n t e g r a t i o n ) ,中间件 ( m i d d l e w a r e ) 和服务( s e r v i c e ) 。这四种方法共同存在,而且互相联系构成个体系 结构n 一个企业将通过选择具有实现了一个或多个构件块的产品,将它组织到整合 的( u n i f i e d ) 体系结构中。产品的选择应注意它是怎样来实现构件块的特色和功能 的。企业也需要确定一套产品将怎样配合到整合的体系结构中。e a i 体系结构之 间的差别也在于每个构件块的特点和功能上的广度与深度的不同。 2 1 1 通信模型( c o m m n i c a t i o f lm o d e i ) 系统之间的交互方式对于系统的适应性是一个关键。基本上两种选择:同步 方式( s y n c h r o n o u sc o m m u n i c a t i o n ) 和异步方式( a s y n c h r o n o u sc o m m u n i c a t i o n ) 。 ( 1 ) 同步方式是指发送者发送信息后等待,直到应答后收到才继续下一步工 作。典型来讲,发送者是需要得到询问的结果后才决定怎样进行下步。同步方 式需要发送者和接收者在通讯时协调它们的内部过程。这样的协调表明了同步通 信是一种较高程度的耦合。协调的规则依据不同类型的同步通信而有所不同。以 下是三种不同类型的同步通信方式: 询问,回答( r e q u e s f f r e p l y ) 单道( o n e w a y ) 同步轮询( s y n c h r o n o u sp o l l i n g ) ( 2 ) 异步方式不需要发送者和接收者以通讯方式协调它们之间的运行过程。 它提供了比同步方式更低的耦合度。异步通信方式也包括三种主要的类型: 消息传递( m e s s a g ep a s s i n g ) 发布者定购者( p u b l i s h s u b s c r i b e ) 广播( b r o a d c a s t ) 2 1 2 集成方法( m e t h o d so fi n t e g r a l :i o n ) 集成方法其实就是如何构建一个从发送者到接收者的请求。基本上是两种方 法:消息( m e s s a g e ) 和界面( i n t e r f a c e ) 。与集成方法相关的是联接器和适配器的概 念。 2 1 1 1 消息方式 在消息集成方法中,发送消息者建立一个消息来实现某种功能。该消息包含 该功能所需要的信息和数据,该消息也同时包含控制信息和相应数据。集成应用 的设计者必须预先定义消息。好的e a i 结构应该提供设计工具来完成这些设计方 案。任意个发送消息的应用必须做到以下几点: 采用合适的格式来创建消息。 将消息置入通讯系统中。 从通讯系统中接收消息。 将消息分割成它的控制信息和数据。 决定如何处理消息。 2 1 1 2 界面方式 一个应用定义好各种操作功能的集合组成了系统界面,界面定义了应用所能 接收的调用。所以调用者发送的任何信息和数据是通过界面形式来进行。 作为集成方法,信息与界面之间的不同看起来不大,但很重要。基于界面的 集成需要关于界面规范和定义,这样使用者清楚知道一个应用程序所能实现的功 能,而消息并不会直接联系到任何具体的应用:而且一个应用程序所能处理的任 务和功能都由界面形式严格定义,这样清晰而易懂,而消息却本质上隐藏了应用 程序将会怎样实施动作。所以通常来讲界面形式的调用更容易检测出错误和容易 维护和重用。但消息方法为需集成的系统之间提供了一个更低的耦合度。对于界 面调用,实际编程中表现为函数调用或方法调用。如果以正确而适当的方法实现 界面的调用,一个应用系统的界面可以透明地被另外一个系统调用,被调用的系 统好象是个调用者的内部调用。 长期而言,基于界面的集成更容易重用和维护,因为界面被严格定义,对于 开发者界面是可见的。界面可以“自描述”自己的行为。而信息的表达方式不如 界面清楚,被隐藏在应用程序中。另一方面,界面一旦构建好,很难改变和扩 展。而消息方法传递的系统,控制信息可以较容易扩展和更改,而不必改变整个 应用程序的代码,而界面则需重新编译一系列的应用代码。最后要说明的是,界 6 用程序的代码,而界面则需重新编译一系列的应用代码。最后要说明的是,界面 需要一些规则来定义,才可以“即插即用”。 适配器( a d a p t e r l 很少的应用程序已预构了对外有消息处理能力的界面。在这样情形下,应用 将需要一个访问点,允许消息或者界面调用被传入。一个适配器就是一个访问 点。适配器是一种逻辑,它被嵌入到一个应用程序中,适配器的唯一目的就是以 一种结构化的方式提供表示层、数据或功能层的访问。连接器将隐藏有关消息翻 译、通讯复杂性或界面调用复杂性。 适配器不仅仅是一个界面,它提供了重要的额外的功能: ( 1 ) 错误处理和有效性检查; ( 2 ) 编码( m a r s h a l l i n g ) 和解码( u n m a r s h a l l i n g ) 来自于消息或对象的数据。 ( 3 ) 转换和变形数据格式; ( 4 ) 管理状态信息以提供可靠的传递和错误恢复。 因为很少应用会考虑提供连接口和考虑被外部应用所使用,许多应用都不会 提供一个简洁的入口点。在这种情况下,我们需要使用数据文件、数据库、用户 界面或内存作为入口点来发送、接收请求。因此,正确的集成模式应仔细选择表 示层、数据层或功能层,来构建合适的适配器。另外,确认请求的有效性,将正 确的格式输送入应用,都是很重要的。适配器对于企业中己存在的应用程序是很 重要的。 2 1 3 中间件( _ i d d i o w b r e ) 中间件是一个我们经常听到的术语。这里我们认为中间件是一种让基于不同 技术的系统能够互联的技术,它也可以看成一种软件,它通过使用已定义好的界 面或消息,让软件部件间能够互相通讯。而且在实时环境中,能够管理软件部件 间的交互。 共有五种基本类型的中间件: ( 1 ) 远程过程调用( r e m o t ep r o c e d u r ec a l l s ,r p c ) : ( 2 ) 数据库访问中间件( d a m b 鹤ea c c e s sm i d d l e w a r e ,d a m ) : 0 ) 面向消息的中间件( m e s s a g e o r i e n t e dm i d d l e w a r c ,m o m l ; ( 4 ) 分布式对象技术( d i s t r i b u t e do b j e c tt e c h n o l o g y , d o t ) : ( 5 ) 事务处理监视器( t r a n s a c t i o np r o c e s s i n gm o n i t o r s t p m ) 。 7 以上基本类型的中间件被用来解决不同的e a i 问题。通讯模型和集成方法紧 紧与中间件联系。某一中间件产品往往将嵌入一个或更多的通讯方式和集成方 法,选择正确的e a i 工具以解决不同的问题。 其实e a i 技术本身来讲也可以看成一种中间件,但是这是指在更高层次上的 中间件。e a i 扩展了中间件概念以减少集成的工作。而以上五种中间件构成了基 本的基础设施。 远程过程调用是一种基于开发分布式应用的过程级别( p r o c e d u r el e v e l ) 集成。它能够进行基于网络的过程调用。r p c 出现在2 0 世纪七十年代。八十年 代末达到顶峰,由于对象技术的出现,r p c 逐渐消退。但r p c 对于中间件的领域 有着重要意义。如它所采用的界面定义已被大多数分布式对象技术,如c o r b a 和c o m d c o m 所采用。 数据库访问中间件提供了远程访问数据文件和数据库的能力。它产生于八 十年代末和九十年代初的客户服务器模式时代。当时,每个数据库厂商开发自己 的中间件策略来解决分布式数据访问。这些专有的策略只提供了让新应用对厂商 的专用数据库的访问,而并没有提供异构系统的策略。这时s q l ( s t r u c t u r e d q u e r yl a n g u a g e ) 作为一种访问数据库标准语言产生了。它提供了严格的语法和 结构化的语句来访问关系型数据库。丽b c ( o p e n 强l t a b a s ec o n n e c t i n g ) 、j d b c ( 0 0 8 c 在j a v a 上的扩展) 都是基于数据库的中间件标准”。通过o d b c 访问数据 库的方式是绝大多数应用程序使用数据库的方式,它通过使用驱动程序( d r i v e r ) 来提供数据库的独立性,驱动程序与具体的数据库有关,它是一个用以支持0 d g c 函数调用的模块( 通常是一个d l l ) ,应用程序通过调用驱动程序所支持的函数 来操作数据库,若想使应用程序操作不同类型的数据库,就要动态地链接到不同 的驱动程序上。0 9 b c 具有良好的数据库独立性,它可以避免应用程序对不同类型 数据库使用不同的a p i ,通过0 d b c 可以使得数据库的更改变得非常容易,因为对 应用程序来说这只需改换一下驱动程序。j d b c 实际上就是一系列用于特定数据库 的j a v a 类库,它源于0 d b c 体系结构。o d b c 和j d b c 提供了标准的界面访问机 制,使前端应用程序可以更加独立于不同的d b m s 。数据库访问中间件可以让开 发人员跳过应用的表示层和功能层直接访问应用的数据文件和数据库,但只能在 数据层上进行集成i ”。 面向消息的中间件( m o m ) 使用消息作为一种集成方法。它提供了建 立、操纵、存贮、传播消息的能力,像i b m 的m q s e r i e s 提供了基于队列模式的 m o m ,使m o m 与e a i 紧密相联系口1 。但m o m 并不适合于基于部件的集成, 因为消息没有明确的界面提供给开发者。基于消息的中间件m o m 提供了一个完整 为消息没有明确的界面提供给开发者。基于消息的中间件m o m 提供了一个完整的 处理环境, 允许开发者及用户连接不同系统之间的数据和代码,或采用一致的界面进 行应用处理的互连。m o m 提供了一个高层应用接口,为不同系统提供操作核心。 m o m 产品的工作主要是通过将信息以消息的方式在程序间传递来完成。 m o m 一般可以分为两种形式:消息传递( m e s s a g ep a s s i n g ) 和消息队列 ( m e s s a g eq u e u i n g ) 。 消息传递在建立大型的分布式应用中比较常见。其主要的模式是广播预 订( p u b l i s h s u b s c r i b e ) 方式。采用该方式,应用程序既可以预订,也可以广 播。该通信模型提供了位置透明性。程序只需要简单地将消息以主题方式发送出 去,由中间件来负责将消息传递给所有预订该主题的程序。m o m 主要通过a g e n t s 技术来实现p u b l i s h s u b s c r i b e 方式应用。当程序广播消息时,首先与一个代理 进行连接,将消息传递给代理。代理负责路由消息给相应的程序。由于代理可以 实现消息的动态路由功能,因此,该方式能够提供较好的容错性能,但它缺乏 m o m 的异步特性,不太适合长时间网络断开的情况。 消息队列方式允许程序无需直接建立起连接即可发送和接收消息。程序只 须简单地将消息发送给消息队列,由消息队列负责消息的传递,对应用程序完全 透明。消息队列采用异步方式,为信息提供了一个安全的存储方式,特别适用于 不是直接连接的应用,如移动用户、发送方或接收方进程可能处于不活动状态的 应用。它的缺点是需要一些配置工作,性能不是很高,而且如果队列丢失,整个 系统将受到影响。 m o m 可以克服基于r p c 的中间件的限制,提供基于消息的异步通信机制, 因此m o ma p i 调用不会阻塞应用程序,同时m o m 不会占用大量的网络带宽,可以 跟踪事务,通过将事务存储在磁盘上,可以恢复系统及网络故障嘲】。 常见的m o m 产品有:d e c 的m e s s a g e q 、i b m 的m q s e r i e s 、m i c r o s o f t 的 m s m q 。 分布式对象技术( d o t ) 扩展了面向对象技术的概念到分布式处理上。 d o t 提供了建立面向对象的界面给新的和已存在的应用,使它们能被其他应用所 访问。界面的开发也使一个应用软件看上去象一个对象一样,能在一个企业级的 系统的体系中被使用和被操纵。通过实施d o t ,一个应用可以任意调用个对象 上的方法而不必在意对象的位置。这样使软件部件可以被移动、替代或复制而不 会影响其他功能。象r p c 一样,界面的定义语言和同步通讯是d o t 方案的关键 9 元素。最近,d o t 已被扩展而能支持异步通讯。使d o t 有更大的灵活性以支持 不同的集成方案。 d o t 最适合于建立基于部件的系统,界面被明确地定义,开发者也能清 晰地懂得如何使用。但d o t 比m o m 更加复杂,因为它将产生应用之间更高的 耦合口2 1 1 2 3j ( 2 4 l 。 事务处理监视器对于任何大型的、面向耦合的企业来讲是一个关键技术。 t p m 保证让一个事务维护a c i d 的属性( 原子性、一致性、隔离和持续性) 。它 应支持如下的特性,包括事务回滚、错误恢复、自动启动和出错日志和复制,以 减少和消灭单点的错误。 t p m 常与m o m 和d o t 技术结合使用。 2 1 4 服务( s e r v ;c e ) 通讯模型、集成方法和中间件是任何e a i 方案的核心。而服务是对基本通讯 或中间件能力的扩展。服务不是e 舭核心的一部分,但它能极大地辅助设计者和 开发者实现一个系统。服务力图减少实现核心技术的障碍。它也增强核心技术在 诸如安全性、可靠性上的特征。 下面是一些对于成功e a i 的重要的服务: ( 1 ) 目录:跟踪所有关于系统的部件和关键信息,用于自动定位系统的元 素。而且,能被用于分类列表和管理界面或消息或原数据。 ( 2 ) 生命周期:通过自动化建立任何对象或消息,而且保证对象或消息被适 当地管理和释放,来辅助开发者。 ( 3 ) 安全性:保证用户身份认证、授权和安全通讯。 ( 4 ) 数据转换:保证数据能被正确转换到适当格式,以完成集成。 ( 5 ) 标识性:提供了保存状态信息和重要数据的机制。 ( 6 ) 事件:当某一问题出现时能够认明和跟踪事件。 ( 7 ) 通知:一旦事件被探测到,相关的部件将得到通知。 ( 8 ) 工作流:跨越众多部件中,以预定的顺序管理一系列的请求或消息。这 种功能也称为过程管理l 。 目录服务和生命周期服务一般来讲总是需要的,它能够协助定位和实施请 求,这是分布式系统的自然属性1 2 s 1 。任何好的e a i 方案应尽可能多地支持以上服 务。 l o 2 2 集成模型( 1n t e g r a t i o l lm o d e l ) 以前的集成概念在过去的3 0 年里发生了很大的变化:原先主要指把硬件集 成在一起,然后基于此硬件从头开发一个应用软件;硬件的进步,允许更复杂的 软件被构建,这时集成往往指联系硬件和软件形成一个系统:现在这个概念主要 由软件集成为主导。 公司组织正把注意力投向集成之前已存在的应用来形成新的应用。网络的出 现让软件可以在不同硬件平台运行,也使软件的集成更为复杂。e a i 同时代表了 系统设计的进化和集成技术朝向减少复杂性的进化。 随着集成因素在范围和复杂度上的改变,集成包括在保证数据一致性前提 下,在应用程序之间共享数据,提供完整的前端工具访问应用程序;通过工作流 方式连接应用程序和构建新的应用,它能够以创建的方式,将已存在的众多应用 程序的信息有效的集成,并提供新的功能和应用。 e a i 的最终目的是让一个公司快速而容易地集成不同的应用。一个好的e a i 策略和体系结构将使一个组织或公司有效地集成并满足公司的商业需求。 集成模型描述了用于集成软件的方法和配置。它提供了关于方法、配置以及 需求和限制等许多不同的观点。它强调了以下一个或几个属性: ( 1 ) 实施简单性; ( 2 ) 不同配置的重用性; ( 3 1 可行的方法的广度: ( 4 ) 相关的专家。 原先集成是通过按规格改制软件来满足用户要求。这种方式可以解决任何 集成上的问题,但是需要很高的成本来手工处理一种集成案例。许多精力是放在 集成的分布式处理过程上。而且定制方式的集成很难重用,每次集成都有许多重 复工作。 几种集成模型已经出现而且有相关工具,这些工具是用于减少时间和成本以 及增加集成的重用性和灵活性。这些模式主要集中在一个应用的不同部分,三个 可能集成点包括: 表示层集成模型( p r e s e n t a t i o ni n t e g r a t i o nm o d e l ) ; 数据层集成模型( d a t a i n t e g r a t i o nm o d e l ) ; 功能层集成模型( f u n c t i o ni n t e g r a t i o nm o d e l ) 。 2 2 1 表示层集成模型 它是形式最简单的一种集成。在这种模型中,多个软件部件的集成是通过一 个应用用户界面来实现的。通常来讲,这个集成将产生一个新的、一致的表示层 界面给用户。这个新的表示层是一个应用程序,而它可以访问几个不同的应用。 它的集成逻辑是使用已有的应用软件的表示层作为入口点,在与用户的交互过程 中,把用户的需求提交给不同的已有的应用系统中。这里“集成逻辑”是指指令 在何处发出的,用来指导用户的交互过程。如屏幕抓取工具能够抓取一套基于大 型机的应用,把它们集成到新的w i n d o w s 的应用程序中。这个单一的表示层可以 替代一套基于终端的界面,然后加上一些额外的功能、特征和工作流等,提供给 用户。这样在遗留系统与用户之间创建了一个改进的工作方式。 2 2 2 数据层集成模型 数据层主要通过访问软件部件的数据来集成,数据在软件运用时被创建、管 理和存贮,所以可以被直接访问。数据层模型允许集成的软件访问已被创建、处 理和存贮的数据,典型地讲是为了在不同应用问重用和同步数据。 2 2 3 功能层集成模型 主要在软件编码层次上集成。它可以是在过程或一个对象层次上,如果a p i 存在的话,它可以通过应用程序界面( a p i ) 访问。在一个新应用中重用一个商 业逻辑往往比重新写一个来得效率更高和出错更少。另一个方法是使用应用程序 的连接器( c o n n e c t o r ) 。这个连接器将隐藏应用程序内部信息。它的目的在于提 供访问点来访问应用程序及其内部功能,而可隐藏建立实际联系到软件内部的复 杂性。这样使软件看起来好象原来已经提供了集成的功能。 1 2 3 1 引言 第三章e a i 在e d a 领域中的应用 3 1 1 印a 简介 在二十世纪七十年代的末期,集成电路的设计开始实现商业化。于是开始出 现了为这些电路设计提供服务的专用软件,这被称为电子设计自动化( e l e c t r o n i c d e s i g na u t o m a t i o n ,e d a ) 的计算机辅助设计( c o m p u t e ra i dd e s i g n ,c a d ) 。 e d a 技术,就是采用c a d 技术进行电子系统和专用集成电路设计的技术。e d a 技术可面向三个不同的层次,即系统级、电路级和物理实现级口“。从另一角度 讲,如果粗略地划分,我们可以将e d a 的c a d 市场分为三部份:前端技术 ( f r o me n d ,包括v e r i l o g 等的模拟与器件组合) ,后端技术( b a c ke n d ,包括 p l a c e & r o u t i n g 芯片布局与绕线) ,验证技术( d r c l v s 等) 2 7 l 。 粗略来讲,一个完整的大规模集成电路设计将包括有如下环节:系统规划 ( s y s t e ms p e c i f i c a t i o n ) ,功能设计( f u n c t i o no e s i g n ) ,逻辑设计( l o g i c d t 醯印) ,电路设计( c i r c u i td e s i g n ) ,物理设计( p h y s i c a ld e s i g n ) ,制造 ( f a b r i c a t i o n ) 和封装( p a c k a g i n g ) ,测试与排错( t e s u n g a n dd e b u g g i n g ) 1 2 1o 物理实现级是本项目的重点,它主要包括如下环节p i :( 参见图3 一1 ) ( 1 ) p a r t i t i o n i n g :将一个完整的电路逻辑上分成不同块( m o d u l eb l o c k ) ,后 继工作将分别处理这些块,以减少复杂度。 ( 2 ) f l o o rp l a n n i n g :将这些块重新布局以达到最小面积或最小时间性能的目 的。 ( 3 ) p l a c e m e n t :将模块进一步作相邻排列以减少面积和电路时间。 ( 4 ) r o u t i n g :一个布线器将布置好的模块用电路连线( w i r e ) 进行连接。 ( 5 ) v e r i f i c a t i o n :验证是否达到电路规则的要求和设计功能。 p a r t i t i o n i n g f l o o rp l a n n i n g p l a c e m e n t m u t i n g v e r i f i c a t i o n 图3 一i 物理级设计基本流程 3 1 2 e d 系统项目的背景及目标 本文课题背景中所涉及的公司主要业务是以e d a 的后端设计( 物理设计) 为主。该公司是e d a 的后端设计的供应商。公司已有一些以美国专利为基础的 后端优化工具。本课题的任务和目标就是在新的形势要求下,首先要求集成公司 内的一系列工具,以及一些必要的第三方工具,以提供一个整合的后端设计平 台。并且公司还提出新的基于i n t e r n e t 平台的战略,要求新的系统能运行在i n t r a - n e t i n t e m e t 中,为设计者提供更灵活的工作地点和工作时间,即设计者可以通过 i n t e m e t 访问服务器而开展工作。这些也为远程客户观看芯片制造厂商的芯片后端 设计提供了便利,同时系统应进一步可以支持协同工作。关于用户的g u i ,公司 原来也有一个基于t c l t k 的不够完善的工具。 3 1 3 相关系统 加州伯克立的w e l d 项目是研究如何在i n t e r a c t 上进行i c 设计的课题。它 们的目标是提供给e d a 团体一系列基于w e b 的工具、协议和界面,以期建立一 个通用开放式的框架。这个框架能让i c 设计者和e d a 软件供应商容易集成它们 的工具到这个框架。w e l d 小组己开发了一个j a v a 对象的数据库服务器以支持类 管理【3 0 l 。 一个名为p p p 的项目提供了一个基于w e b 的门级电力模拟软件,主要功能 是提供s y n t h e s i s 和模拟弱电c m o s 电路。还有其他利用x w i n d o w 提供协作功能 的项目 3 1 1 。 1 4 这些项目成果并没有推广成工业产品,但它们的思想值得借鉴。从w e l d 来讲,w e b - b a s e d 界面已形成,但用户真正通过w e b b a s e d 界面去有效地使用后 端的服务,并呈现在客户端上,仍很大程度上取决于原有系统功能,及其与新开 发的w e b b a s e d 的服务器的有效集成,以及与客户端相配合的一整套系统设计。 特别是关于协作问题,如何正确调度应用系统,管理应用系统处理的结果是 协作的一个重要的方向。同时协作的模型也直接影响了系统的可行性。 现有e d a 系统的后端工具评述: 如业界有名的c 公司的工具如s ,它集数据管理、应用逻辑和用户g u i 熔于 一体。从数据管理功能来讲,它能够与本地文件系统或以n f s 的网络文件系统进 输i o 操作,而且也提供良好用户界面,如目录树等与用户交互。其应用逻辑包 括一系列的后端设计引擎,如关于p l a c e 和r o u t e r 的算法,各种e r c 、d r c 的规 则检查引擎。它是整个系统核心组成部分。用户g u i 提供了后端设计的图形编辑 功能,工程师可以根据系统要求直观地增加、删除、修改各种电路元素,对设计 图进行分析,也可以通过g u i 来驱动后端自动化算法来辅助人们的设计工作。这 个工具是个典型的单层体系结构( 关于单层、多层体系结构详见下节) 。就其执 行效率来讲占有很大优势。但最大的弱点在于其扩充性与灵活性。如提供一个基 于w e b 的协同设 计平台,必定要采用多层体系结构,上述单层体系结构显然难以扩充以满足新的 应用要求。 3 1 4e a i 方法学及企业系统模型化 系统设计面向的是系统本身,方法学面向的是开发过程。方法学诠释了系统 各部分如何互相配合以完成整体目标。方法学也必须针对需求,特别来讲,e a i 的方法学注重以下些工作: ( 1 ) 保证企业i t 的系统结构和薪开发的应用要满足商业需求; ( 2 ) 描述如何管理e a i 过程; ( 3 ) 描述如何包装现有系统,集成现有系统,以达到有效使用目的; ( 4 ) 提供技术选择和标准化的指标; ( 5 ) 保证方法学促进了重用。 e a i 方法学必须描述如何利用包装策略,集成与使用遗留系统。这就是e a i 方法学与传统方法开发的方法学的明显区别。传统方法学开发的起点是一切从无 到有,可按自己的方法构造完全符合自己理想的系统结构。但e a i 方法学必须描 1 5 述如何设计界面,如何以及何时包装己存在的应用,而且如何采用合适的集成技 术以配合集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论