(计算机应用技术专业论文)基于UML、构件技术的DPIDS的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于UML、构件技术的DPIDS的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于UML、构件技术的DPIDS的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于UML、构件技术的DPIDS的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于UML、构件技术的DPIDS的研究与实现.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

摘要本文为解决智能农业诊断系统重复开发的问题,研究丌发了智能农业诊断平台。为能够高效率地开发该诊断平台,并保证该平台具有良好的扩展性能,本文从u m l 建模方法、面向对象设计模式、基于框架元模型的构件接口技术等三个方面对该平台的设计与实现进行了研究,取得了以下成果:1 、基于u m l 的平台建模u m l 是目前最常用的一一种面向对象统一的建模语言。在智能农业诊断平台的开发中统一采用u m l 进行建模,使得分析人员、设计人员、开发人员在一个。致的平台上进行交互,有利于团队的沟通和信息共享,大大提高了智能农业平台的开发效率。在设计中广泛采用了u m l 用例图、时序图、类图、构件图、状态图等强有力的表示手法,逐步明晰了平台的体系结构,辅助设计出了扩展性能良好、耦合度小、内聚性强的模块和结构。2 、基于框架元模型的构件接口描述框架元模型是一种用于描述应用框架构造和组成的元模型。框架的内部元素包括扩展点、设计模式、构件、控制流。框架中支持灵活扩展和定制的机制称为框架的扩展点,支持符合应用系统特定需求的实现。在平台构件的设计中采用框架元模型对扩展点进行的分类,从数据扩展点、功能扩展点、界面扩展点、业务扩展点四个方面对构件的接口进行管理,确保了构件具有满足需求的扩展- 肚能。3 、模块数据与界面的定制策略为了实现平台的功能,能够开发出适应于不同农业领域的诊断系统,设计了模块数据定制模块和界面定制模块。通过这两个模块的实现,使用户可以通过定制向导加载适应于不同领域的模块数据,并能在运行时对界面风格进行设置,使系统适用于不同的应用环境。4 、智能农业诊断平台体系结构智能农业诊断平台设计了基于三个构件层的框架。最底层是农业诊断专家系统的各个数据处理构件,封装了专家系统中知识库处理、解释处理、推理处理等基本的数据处理过程。第二层构件是面向用户的构件,通过胶合底层构件的方式束实现专家系统的基本功能,包括智能决策、智能查询等构件。第三层是平台定制级的构件,包括两个方顽的定制,一个是数据定制,一个是界面定制,采用元知识库对所有可视构件的界面元素进行管理。关键词:u m l ,框架元模型,扩展点,构件,平台,体系结构i la b s t r a c tt h i sp a p e ra d d r e s s e ss o m ec o r et e c h n o l o g i e si nd e v e l o p i n gaf l e x i b l ep l a t f o r mo fi n t e l l i g e n ta g r i c u l t u r ed i a g n o s i ss y s t e m ,w h i c hi n c l u d e su m lm o d e l i n gm e t h o d ,o b j e c t - o r i e n t e dd e s i g np a t t e r n s ,c o m p o n e n tt e c h n o l o g i e sb a s e do nf r a m em e t a m o d et ol o v et h ep r o b l e mo fr e p e a td e v e l o p m e n ti ni n t e l l i g e n ta g r i c u l t u r ed i a g n o s i sf i e l d t h ew o r kc a nb es u m m a r i z e da st h ef o l l o w i n g :1 , p l a t f o r mm o d e l i n gb a s e do nu m lu m li st h em o s tp o p u l a rs t a n d a r dm o d e l i n gl a n g u a g ea tp r e s e n t m o d e l i n gw i t hu m lp r o v i d e sac o h e r e n ti n t e r f a c ea n dm a k e st h ec o m m u n i c a t i o no fa n a l y s e r s ,d e s i g n e r s ,d e v e l o p e r sm o r ec o n v e n i e n t ,w h i c hi si nf a v o ro fc o m m u n i c a t i o na n di n f o r m a t i o ns h a r ea m o n gt h eg r o u pa n di m p r o v e st h ee f f i c i e n c yo fd e v e l o p i n gi n t e l l i g e n ta g r i c u l t u r ep l a t f o r mg r e a t l y t h i sp a p e ra d o p t su s ec a s ef l a m e ,s e q u e n c ef l a m e ,c l a s sf l a m e ,c o m p o n e n tf l a m e ,s t a t ef l a m et oa n a l y z et h ea c h i t e c t u r eo ft h ep l a t f o r m ,i m p r o v et h ee x p a n s i b i l i t ya n dr e d u c ec o u p l i n go ft h em o d u l e s 2 c o m p o n e n ti n t e r f a c ed e s c r i p t i o nb a s e do nf r a m em e t a - m o d e lf r a m em e t a m o d e li su s e dt od e s c r i b et h es t r u c t u r ea n dc o m b i n a t i o no fa p p l yf l a m e f r a m ei n c l u d e si n n e re l e m e n t so fh o t s p o t ,d e s i g np a t t e r n ,c o m p o n e n t ,c o n t r o lf l o we t c h o t - s p o ti nt h ef l a m ei sam e t h o df o rs u p p o r t i n gf l e x i b l ee x p a n s ea n dc u s t o m i z a t i o n t h i sp a p e ra d o p t sf l a m em e t a m o d e lt om a n a g et h eh o t s p o t s ,c l a s s i f yt h eh o t s p o t si n t of o u rc l a s s e s - - d a t ah o t - s p o t s ,f u n c t i o nh o t s p o t s ,i n t e r f a c eh o t + s p o t sa n db u s i n e s sh o t s p o t s ,w h i c hi n s u r e st h ee x p a n s i b i l i t yo ft h ec o m p o n e n t s 3 ,c u s t o m i z a t i o no fm o d u l ed a t aa n dr i s e ri n t e r f a c ew ed e s i g nm o d u l ed a t ec u s t o m i z i n gm o d u l ea n du s e ri n t e r f a c ec u s t o m i z i n gm o d u l et or e a l i z et h em a i nf u n c t i o no ft h i sp l a t f o r mt od e v e l o pd i a g n o s i ss y s t e m so fd i f f e r e n ta l g r i c u l t u r ef i e l d s u s e r so ft h i sp l a t f o r mc a nu s et h e s et w om o d u l e st ou p l o a dm o d u l ed a t ao fd i f f e r e n tf i e l d sa n ds e ti n t e r f a c es t y l et om a k et h es y s t e ma d a p tt od i f f e r e n ta p p l i c a i t o ne n t i r o n m e n t 4 ,t h ea r c h i t e c t u r eo fi n t e m g e n ta g r i c u l t u r ed i a g n o s i sp l a t f o r mi n t e l l i g e n ta g r i c u l t u r ed i a g n o s i sp l a t f o r mi n c l u d e saf l a m eb a s e do nt h r e en lc o m p o n e n tl a y e r s t h el o w e s ti sd a t ap r o c e s s i n gc o m p o n e n tl a y e r ,w h i c he n c a p s u l a t et h em o d u l e so fk n o w l e d g eb a s ep r o c e s s ,e x p l a i n i n gp r o c e s s ,r e a s o n i n gp r o c e s s t h es e c o n dl a y e ri n c l u d e st h ec o m p o n e n t sw h i c hc o m m u n i c a t ew i t hu s e r sd i r e c t l y ,f o re x a m p l e ,i n t e l l i g e n td e c i s i o n - m a k i n gm o d u l e ,i n t e l l i g e n ts e a r c hm o d u l e ,e t c t h et h i r dl a y e ri n c l u d e sp l a t f o r mc u s t o m i z i n gc o m p o n e n t s ,w h i c ha r eu s e dt oc u s t o m i z ed a t aa n du s e ri n t e r f a c ea n da d o p tm e t ad a t a b a s et om a n a g et h e s ei n t e r f a c ee l e m e n t s k e y w o r d s :u m l ,f r a m em e t a m o d e l ,h o t - s p o t ,c o m p o n e n t ,p l a t f o r m ,a r c h i t e c t u r e 第l 章绪论智能化农业信息系统能够对大规模的农业信息进行有效的管理,并能充当专家的角色,进行农业辅助智能决策,大大提高农业牛产管理的效率和可靠性。适应性、可定制性高的智能化农业信息系统平台将为牛产智能化农业信息系统提供一劳永逸的支持。随着构件技术的成熟与发展,面向对象软件建模技术的推出,使得搭建适应性、可定制性高的智能化农业信息系统平台成为可能。随着农业信息化技术在我国的发展和推广,利用日益成熟的软件技术开发智能农业信息系统平台成为当今研究与开发的热点。1 1 概述1 1 。1 研究智能农业诊断系统开发平台d p i d s 的意义( 1 ) 智能农业诊断系统的意义:智能农业诊断系统是个具有智能诊断功能的农业信息管理系统。需要完成农业信息管理的功能,包括对农业信息的存储、添加、删除、检索等数据管理功能,农业信息包括播种管理、水分管理,肥料管理、收割管理等模块。除此以外,智能农业诊断系统的核心在于能够对、一些农业问题进行智能决策,比如农业病虫害的诊断、需要灌溉水量的计算等决策问题。( 2 ) 智能农业诊断平台的意义:在农业领域又包括很多予领域,如革业、农作物等不同的领域。对于不同的子领域其诊断系统的界面、装载的数据和需要用到的智能决策模块都是不同的。按照传统的农业诊断系统开发方法,需要对不同的子领域分别开发不同的诊断系统。为了解决这一问题,设计利开发了智能农业诊断平台。这个平台包括系统的界面定制与数据定制等功能,可以通过为不同的子领域设置不同的系统参数,动态地产生不同领域的完整的智能农业诊断系统,从而大大减少开发智能农业诊断系统的重复劳动。( 3 ) 理论意义:构件技术是现阶段广泛采用的大规模软件复用技术。它具有封、装性能好,支持大粒度软件重用的优点。不足之处在于由于构件的封装使得构件内部结构不可见,局限了对构件的扩展和修改。通过应用框架元模型对构件接口进行管理,从一定程度上解决了这一问题。1 。1 2 智能农业诊断系统开发平台d p i d s 介绍智能农业诊断系统属于专家系统范畴,采用知识库与推理机的基本模式实现智能诊断功能。智能农业诊断系统首先是一个农业信息管理系统。需要完成农业信息管理的功能,包括对农业信息的存储、添加、删除、检索等管理功能,农业信息包括播种管理、水分管理、肥料管理、收割管理等模块。除此以外,智能农业诊断系统的核心在于能够对一些农业问题进行智能决策,比如农业病虫害的诊断、需要灌溉水量的计算等决策问题。在农业领域又包括很多子领域,如草业、农作物等不同的领域。对于不同的子领域其诊断系统的界面、装载的数据和需要用到的智能决策模块都是不同的。按照传统的农业诊断系统开发方法,需要对不同的子领域分别开发不同的诊断系统。为了解决这一问题,设计和开发了智能农业诊断平台。这个平台包括系统的界面定制与数据定制等功能,可以通过为刁i 同的了领域设置不同的系统参数,动态地产生不同领域的完整的智能农业诊断系统,从而大大减少开发智能农业诊断系统的重复劳动。创新的研究思想和方法。主要内容包括:1 、基于框架元模型的构件接口描述框架元模型是一种用于描述应用框架构造和组成的元模型。框架的内部元素包括扩展点、设计模式、构件、控制流。框架中支持灵活扩展和定制的机制称为框架的扩展点,支持符合应用系统特定需求的实现。在平台构件的设计中采用框架元模型对扩展点进行的分类,从数据扩展点、功能扩展点、界面扩展点、j 眦务扩展点四个方面对构件的接口进行管理,确保了构件具有满足需求的扩展性能。2 、基于u m l 的平台建模u m l 是目前最常用的一种面向对象统一的建模语言。在智能农业诊断平台的开发中统一采用u m l 进行建模,使得分析人员、设计人员、开发人员在一个一致的平台上进行交瓦,有利于团队的沟通和信息共享,大大提高了智能农业平台的开发效率。在设计中广泛采用t u m l 用例图、时序图、类图、构件图、状态图等强有力的表示手法,逐步明晰了平台的体系结构,辅助设计出了扩展性能良好、耦合度小、内聚性强的模块和结构。3 、系统数据与界面的定制策略为了实现平台的功能,能够开发出适应于不同农业领域的诊断系统。设计了模块数据定制模块和界面定制模块。通过这两个模块的实现,使用户可以通过定制向导加载适应于不同领域的模块数据,并能在运行时对界面风格进行设置,使系统适用于不同的应用环境。4 、智能农业诊断平台体系结构智能农业诊断平台设计了基于三个构件层的框架。最底层是农业诊断专家系统的各个数据处理构件,封装了专家系统中知识库处理、解释处理、推理处理等基本的数据处理过程。第二层构件是面向用户的构件,通过胶合底层构件的方式来实现专家系统的基本功能,包括智能决簧、智能查淘等构件。第三层是平台定制级的构件,包括两个方面的定制,一个是数据定制,一个是界面定制,采用元知识库对所有可视构件的界面元素进行管理。1 3 论文的组织结构本文的组织结构如下:第二章主要介绍国内外相关领域已有的典型系统,和一些相关的技术,女i u m l ,构件技术等。第三章主要阐述了使用u m l 对平台进行建模的过程。第四章讨论了基于框架元模型的平台构件接口描述。第五章主要介绍了平台中的核心模块数据定制模块和界面定制模块的设计与实现。第六章介绍了整个平台的体系结构,三层架构的模型。第七章对论文工作进行了总结,并指出进一步的工作任务。第2 章当前国内外研究现状与相关技术介绍目前,基于内容的视频处理是多媒体研究领域的热点,涌现出了一批实验或商业化系统。2 1 节主要介绍国内外相关领域的研究现状,它们综合且直接地反映了专家系统:【具、专家系统开发平台当前的研究成果,代表了相关领域的研究进展利实践情况,也为d p i p s 的实施提供了参考。2 2 节介绍了设计与开发d p i p s所需的u m l 、构件、框架元模型等相关技术。2 。1 国内外典型系统概况国内现状在8 6 3 3 0 6 课题的支持下,国内五家单位分别开发出了五个农业专家系统开发平台。如:北京农业信息中心和国防科大台作开发的平台,吉林大学的平台以及中科院合肥所( 熊范伦) 的开发平台。以p a i d 平台为例。“网络化、构件化农业专家系统开发平台p a i d ”是由北京农业信息技术研究中心、国防科技大学计算机系共同开发完成的,专门用于农业专家系统开发的通用类工具软件。平台具有网络化、构件化、层次化、智能化、可视化等特点。采用b r o w s e r s e r v e r d b m s三层网络模型,只要遵循本平台技术规范开发的农业智能系统,无需任何修改均能在i n t e r n e t i n t r a n e t 网络环境下运行,支持分布式计算和远程多用户、多目标任务的并行处理。该平台体系结构大致分为三层最底层是小粒度功能构件,中阔是基本功能构件,最上层是平台的组织构件,整个系统由不同粒度的构件层层搭建起来。如图二所示回国国圃圄圄k 翟识蛳杓磬亲算法椅旋蛳件慧霉游衅构韶识貅掏(图二下面举例说明大粒度的功能构件k d d ( 知识发现构件) 是如何通过小粒度构件搭建起来的。k d d 构件需要完成从原始数据源中提取数据,然后对数据进行预处理,挖掘规则,获取规则与解释规则的功能。按照功能的实现流程可以将功能划分为闳题定义、数据抽取、数据预处理、数据挖掘与结果表现与解释构件共五个构件。前一个构件的输出做为后一个构件的输入,如图三所示:知图三k d d 构件的小粒度构件模型2 、各基本功能构件的主要实现方法:1 ) 、知识获取构件:主要采用k d d 的挖掘关联规则技术2 ) 、知识表示构件:使用了知识求精策略3 ) 、推理构件:用到了模糊逻辑推理技术4 ) 、艉释构件:对推理过程保存解释5 ) 、构件接口:采用x m l 语言对构件进行描述,可以为构件添加函数,进行功能扩展优点:1 、具有完整、鲜明的体系结构。2 、用数据挖掘技术挖掘关联规则实现了知识获取的半自动化3 、考虑到实际情况的不确定性,采用模糊逻辑进行推理4 、采用x m l ,语言对接口进行描述,便于人们对构件的使用和扩展缺点:l 、构件共分三层,缺少业务层。不方便用户增加新业务,也不方便控制已有的业务流程2 、尽管采用了x m l 语言对接口进行描述,允许开发者在构件中插入函数,但扩展点没有明确的分类,为开发者扩展构件增加了难度3 、缺少能够保证数据完整性的模块定制功能,缺少具有适应性的界面定制功能。平台完成了系统定制的功能,但由于平台的扩展性能较弱,使得数据与算法的扩展非鬻不便。p 国外研究现状目前国外已经开发了许多用于各种领域问题的号家系统工具,例如从m y c i n系统发展而来的e m y c i n ,从c n c s t 发展而来的e x p e r t 以及a d v i s e ,a g e ,a r t ,e s h e l l ,e s p ,a d v i s o r ,e x p e r t - b a s e ,h e a r s a y - i l l ,i n s i g h t ,k a s ,k e e ,k e s ,l o o p s ,m 1 ,p c ,r e v e a l ,r o i s e ,r u l e m a s t e r ,s 1等。随着面向对象技术、构件技术的发展,为生成大规模的平台软件提供了技术背景。例如基于构件的专家系统外壳s 1 n t a ,e 2 9 l i t e ,g 2 系统,以及j a v a 的专家系统壳j e s s 等等。这些专家系统开发平台大多分为三个部分:问题域的知识库、推理引孽和用户接口。如图二所示。图三优点:在很大程度上减轻了专家系统开发的工作量,现在几乎所有的专家系统都是基于专家系统壳进行开发的。不足:l 、只侧重于使用的通用性,而没有按照特定的领域问题考虑系统的使用效率和完善的使用环境2 、没有提供良好的知识获取环境,仅仅提供。些规则编辑器,而没有提供功能更强、面向问题的交互式知识获取机制,专家系统开发者需要有关人工智能和知识工程方面的知识。2 2 相关技术介绍f 面对实现d p i p s 所涉及的主要技术给出简单介绍。2 2 1u m l2 2 1 。1u m l 简介u m l 的定义:u m l 是目前最常用的一种面向对象统一的建模语言。在软件的开发过程中统一采用u m l 进行建模,使得分析人员、设计人员、开发人员在一个一致的平台上进行交百| ,有利于团队的沟通和信息共享,可以大大提高软件的开发效率。2 2 1 2u m l 七种模型利用u m l 以开发几种不同的可视框图,表示系统的不同方面。丰要包括以下七种框图:u s ec a s e 框图、s e q u e n c e 框图、c o l l a b o r a t i o n 框图、c l a s s 框图、s t a t et r a n s i t i o n 框图、c o m p o n e n t 框图、d e p l o y m e n t 框图。这些模型框图表示系统的不同方面,每个框图都有一定的用途和使用对象。1u s ec s s e 框图u s ec a s e 框图显示使用案例与角色问的交互。使用案例表示从用户角度对系统的要求,因此表示系统功能。角色是系统的圭体。这些框图显示哪个角色启动使用案例,并慰示角色何时从使用案例收到信息。2s e q u e n c e 框图s e q u e n c e 框图显示使用案例中的功能流程。柜图顶部显示所涉及的角色,每个箭头表示角色与对象或对象与对象之间为完成所需功能而传递的消息。s e q u e n c e 框图只显示对象而不显示类,类表示对象的类型。3c o l l a b o r a t i o n 框图c o t i a b o r a t i o n 框图显示的信息与s e q u e n c e 框图相同,但c o l l a b o r a t i o n用不同方式显示这个信息,具有不同作用。c o l l a b o r a t i o n 框图中对象表示为矩形,角色用简图显示。s e q u e n c e 演示的是对象与角色随时间变化的交百,而c o ll a b o r a t i o n 框图则不参照时间而显示对象与角色的交互。4c l a s s 框图c l a s s 框图显示系统中类与类之间的交互。类是对象的设计图,类包含信息和处理信息的功能。c l a s s 框图中的类是对s e q u e n c e 框图或c o l l a b o r a t i o n 框图中的对象生成的。5s t a t et r a n s i t i o n 框图s t a t et r a n s i t i o n 框图提供了建模对象各种状态的方式。s t a t et r a n s it i o n框图显示对象的功能。6c o m p o n e n t 框图c o m p o n e n t 框图显示模型的物理视图,c o m p o n e n t 框图显示系统中的软件组件及其相互父系。框图中有两种组件,执行组件和代码库。7d e p l o y m e n t 框图d e p l o y m e n t 框图显示网络的物理布局和各个组件的位置。2 2 2 构件技术2 2 2 1 构件技术概况软件系统的复杂性不断增长、软件人员的频繁流动和软件行业的激烈竞争迫使软件企业提高软件质量、积累和固化知识财富,并尽可能地缩短软件产品的开发周期。于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的”基于构件的软件开发”( c b s d ,c o m p o n e n tb a s e ds o r t w a r ed e v e o p m e n t ) 应运而生,这种技术以软件架构为组装蓝图,以可复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。为此国内外对于这一技术的研究正在不断深入,同时大型的软件公司( 例如s u n ,m i c r o s o f t ) 及软件组织机构( o m g )都推出了支持构件技术的软件平台。2 2 2 2 构件技术的概念及发展在m e r r i a m w e b s t e rc o l l e g i a t e 字典里,构件一词于1 6 4 5 在英语中开始使用。构件一词的语源问题:拉丁文的构件一词是c o m p o n e n s ,表示用于组合在一起的部分。软件构件是指应用系统同中可以明确辨识的构成成分,包括源代码、需求、系统和软件的需求规约、系统和软件的构架、文档、测试计划、测试案例和数据以及其他开发活动有用的信息。基于构件的开发来自于利用构件生产应用软件的概念。开发者在设计和详细描述阶段,使用内部开发的构件和公开市场的构件来为他们的应用软件提供尽可能多的功能。然后,开发者编写其它的构件柬粘联代码,把构件连接。他们可以把新写豹构件放进公司的知识库,以至于其它人就可以使用这些构件的功能。这种做法有效提高了软件重用的效率并降低了开发成本。打个比方,如果有一个开发人员创建了一个构件能够让一个客户进入公司的数据库。那么,其他程序员就不必重新编写这个功能,而是从公司的知识库提取这个用户构件,然后直接放入程序使用其功能。2 2 2 3 当前的三种构件标准规范当前主流构件标准规范包括o m 6 的c o r b a 、s u n 的j 2 e e 和m i c r o s o f td n a2 0 0 0 。1o m g 的c o r b ac o r b a 分布计算技术是o m g 组织基于众多开放系统平台商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。c o r b a 分布计算技术,是由绝大多数分布计算平台商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。c o b r a 标准丰要分为3 个层次:对象请求代理、公共对象服务和公共设施。虽底层是对象请求代理o r b ,规定了分布对象的定义( 接口) 和语言映射,实现对象间的通讯和互搡作,是分布对象系统中的”软总线”;在o r b 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。目前,c o r b a 兼容的分布计算产品层出不穷,其中有中间件厂商的o r b 产品,如b e a m 3 ,i b mc o m p o n e n tb r o k e r ,有分布对象厂商推出的产品,如i o n a o b i x 和o o c o b a c u s 等c o r b ac c m ( c o r b ac o m p o n e n tm o d e l ) 技术是在支持p o a 的c o r b a 规范( 版本2 3以后) 基础上结合e j b 当前规范的基础上发展起来的。c o r b a 构件模型是o m g 组织制定的个用于开发和配置分布式应用的服务器端构件模型规范,它主要包括妇f 三项内容( 1 ) 抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构( 2 ) 构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成( 3 ) 构件的配置和打包规范,c c m 使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于x m l 的文档内容标准。总之,c o r b a 的特点是大而全,互操作性和开放性非常好。c o r b a 的缺点是庞大而复杂,并且技术和标准的更新相对较慢,c o b r a 规范从i 0 升级到2 0 所花的时间非常短,而再往上的版本的发布裁相对十分缓慢了。在具体的应用中使用不是很多。2s u n 的j 2 e e为了推动基于j a v a 的服务器端应用开发,s u n 于是在1 9 9 9 年底推出了j a v a 2技术及相关的j 2 e e 规范,j 2 e e 的鹾标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于j a v a 的开发服务器端构件的标准。在j 2 e e 中,s u n 给出了完整的幕于j a v a 语言开发面向企业分布应用规范,其中,在分布式互操作协议上,j 2 e e 同时支持r m i 和l l o p ,而在服务器端分布式应用的构造形式,则包括了j a v as e r v l e t 、j s p ( j a v as e l 、v e tp a g e ) 、e j b 等多种形式,以支持不同的业务需求,而且j a v a 应用程序具有”w r i t eo n c e ,r u na n y w h e r e ”的特性,使得j 2 e e 技术在发布计算领域得到了快速发展。j 2 e e 简化了构件可伸缩的、其于构件服务器端应用的复杂度,虽然d n a2 0 0 0 也。样,但最大的区别是d n a2 0 0 0是一一个产品,j 2 e e 是个规范,不同的,一家可以实现自己的符合j 2 e e 规范的产品,j 2 e e 规范,是众多厂家参与制定的,它不为s u n 所独有,而且其支持跨平台的开发,目前许多大的分布计算平台,商都公开支持与j 2 e e 兼容技术。e j b 是s u n 推出的基于j a v a 的服务器端构件规范j 2 e e 的一部分,自从j 2 e e 推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。s u ne j b 技术是在j a v ab e a n 本地构件基础上,发展的面向服务器端分布应用构件技术。它基于j a v a 语言,提供了基于j a v a 二进制字节代码的重用方式。即b 给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。e j b 技术的推出,使得用j a v a 基于构件方法开发服务器端分布式应用成为可能。从企业应用多层结构的角度,e j b 是业务逻辑层的中间件技术,与j a v a b e a n s 不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,e j b 像c o r b a 一样,提供了分布式技术的基础。提供了对象之间的通讯手段。从i n t e r n e t 技术应用的角度,e j b 和s e r v l e t ,j s p 一起成为新一代应用服务器的技术标准,e j b 中的b e a n 可以分为会话b e a n 和实体b e a n ,前者维护会话,后者处理事务,现在s e r v l e t 负责与客户端通信,访问e j b ,并把结果通过j s p 产生页面传回客户端。j 2 e e 的优点是,服务器市场的主流还是大型机和u n i x 平台,这意味着以j a v a 开发构件,能够做到”w r i t eo n c e ,r u na n y w h e r e ”,开发的应用可以配置到包括w i n d o w s 平台在内的任何服务器端环境中去。3m i c r o s o f td n a2 0 0 0m i e r o s o f td n a2 0 0 0 ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n s ) 是m i c r o s o f t1 7在推出w i n d o w s 2 0 0 0 系列操作系统平台基础上,在扩展了分布计算模型,以及改造b a c ko f f i c e 系列服务器端分布计算产品后发布的新的分布计算体系结构利规范。在服务器端,d n a2 0 0 0 提供了a s p 、c o m 、c l u s t e r 等的应用支持。目前,d n a 2 0 0 0在技术结构l _ :有着巨大的优越性。方面,由于m i c r o s o f t 是操作系统平台厂商,因此d n a2 0 0 0 技术得到了底层操作系统平台的强大支持:另一方面,由于m i c r o s o f t 的操作系统平台应用广泛,支持该系统f 台的应用开发,。商数目众多,因此在实际应用中,d n a2 0 0 0 得到了众多应用开发商的采用和支持。d n a2 0 0 0融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。d n a 使得开发可以基于m i c r o s o f t 平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。以m i c r o s o f t 为首的d c o m c o m c o m + 阵营,从d d e ,o l e 到a c t i v e x 等,提供了中间件开发的基础,如v c ,v b ,d e l p h i 等都支持d c o m ,包括o l ed b 在内新的数据库存取技术,随着w i n d o w s 2 0 0 0 的发布,m i c r o s o f t 的d c o m c o m c o m + 技术,在d n a 2 0 0 0 分布计算结构基础上,展现了个全新的分布构件应用模型。首先,d c o m c o m c o m + 的构件仍然采用普通的c o m ( c o m p o n e n to b j e c tm o d e l ) 模型。c o m 最初作为m i c r o s o f t 桌面系统的构件技术,主要为本地的o l e 应用服务,但是随着m i c r o s o f t 服务器操作系统n t 和d c o m 的发布,c o m 通过底层的远程支持使得构件技术延伸到了分布应用领域。d c o m c o m c o m + 更将其扩充为面向服务器端分布应用的业务逻辑中间件。通过c o m + 的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,d c o m c o m c o m + 将c o m 、d c 渊、m t s 的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且,d n a 2 0 0 0 是单一_ 家提供的分布对象构件模型开发者使用的是同_ r 家提供的系列开发工具,这比组台多家开发工具更有吸引力。但是它的不足是依赖于m i c r o s o f t 的操作系统平台,因而在其它开发系统平台( 如u n i x 、l i n u x ) 上不能发挥作用。1 82 2 3 框架元模型2 2 3 1 框架元模型本文通过对i b ms a nf r a n c i s c o 商业应用框架和t a l i g e n t 公司c o m m o n p o i n t 的分橱研究,以及青鸟商业领域应用框架和电信综合营业系统框架的实践,提出了基于构件技术的应用框架元模型,如图1 所示位于图1 上半部分的虚线矩形标识了框架的边界元素,并以虚线表示它们与框架之间的关系,但是这些边界元素并不是框架的组成部分位于图1 下半部分的实线矩形标识了框架的组成元素,以实线表示框架与组成元素以及组成元素之问的关系2 2 3 1 1 框架的边界元素2 2 3 1 1 1 软件产品线、核心资产库一一个软件产品线为一组具有相似系统需求的软件系统提供了适当的开发环境,这些需求是针对一类相似的商业行为或市场部门的核心资产库是软件产品线的基础,包括软件产品线开发过程中产生和相关的一切软件制品,例如领域模型、领图1 应用框架元模型域知识、产品线体系结构、工作流程和应用生成器等应用框架作为一类重要资产是软件产品线核心资产库的组成部分,框架的设计和生产属于资产库建设的范畴2 2 3 112d s s a ( d o m a i n - s p e c i f i cs o f t w a r ea r c h i t e c t u r e ,特定领域软件体系结构)同一领域中系统的需求必然具有显著的共性,领域模型描述了需求上的共性,而d s s a 针对领域模型提出了解决方案对于需要开发许多相似应用系统或升级较为频繁的领域,建立针对共同需求的软件体系结构将促进软件复用而得到显著的回报,这样的体系结构就是d s s a d s s a 不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计它包含构件以及构件瓦联的规则当开发本领域的一个新系统时,可以使用这些构件,并且按照这些规则构成满足当前系统需求的特定的系统结构d s s a 侧重于描述应用系统中包含哪些构件、构件之间的接口是怎样的,说明了如何将系统功能分配到构件和构件之间而框架是d s s a 的部分实现,支持綦于d s s a 的应用系统的开发2 2 3 1 。1 3 应用软件体系结构、应用框架实现了应用领域中主要的公共设计决策,一个框架可以扩展成为多个应用系统每个应用系统都是在框架的基础上进行适应性扩展,根据应用系统的特性形成完整的可执行系统,而且每一个应用系统都与惟一的软件体系结构相对应2 231 2 框架的内部元素2 2 3 1 2 1 扩展点语义框架中支持灵活扩展和定制的机制称为框架的扩展点,支持符合应用系统特定需求的实现扩展点为实现领域变化性提供了必要的支持,这里的变化性主要体现在以下两个方i 面:( 1 ) 被领域模型封装且没有给出设计细节;( 2 ) 框架设计阶段给出了解决方案,但在实现阶段没有提供代码语法扩展点作为一类扩展机制,是框架能否支持大粒度复用车| i 为用户提供足够灵活性的关键所在根据以上给出的两个方面的变化性和特定领域应用系统的固有特性,可以把扩展点分为主要的4 类:数据、功能、界面和业务过程扩展点针对不同扩展点的具体特点,可以采用不同机制实现不同类型的扩展点,下面给出不同扩展点的描述方法,并举例说明扩展点的实现机制( 1 1 数据扩展点数据扩展点主要针对以下一娄变化性:领域模型虽然定义了操作的名称和含义但是操作应用的对象和操作实施的方法并没有确定因此,为了完成相同的操作需要不同的属性支持,例如,同样是计算图形的面积,计算圆的面积需要圆的半径,而计算矩形的面积需要知道矩形的长和宽的傻这种情况下需要设置抽象类,抽象类中定义了通用的属性和操作,应用系统开发者需要继承抽象类,在予类中定义新的属性,并实现抽象类中的抽象函数操作是构件提供的接口功能,其实现细节被构件封装,对操作内部实现细节的改变并不影响操作与其他构件的交互,因此,对数据扩展点的描述只需要包括构件名、定义操作的抽象类名、操作名、已实现的予类名等假设文中提到的构件符合c o m 构件标准,一个构件提供若干个接口,每一个接口包含若干个操作h o ts p o th o ts p o tn a m et y p e :d a t a 数据扩展点c o m p o n e n ta b s t r a c tc l a s so p e r a t i o n :定义操作的抽象类c o m p o n e n tn a m e ,c l a s sn a m e ,o p e r a t i o nn a m e p a r a m e t e r1 ,p a r a m e t e r2 ,p a r a m e t e rn 操作的参数列表s u b c l a s s e s实现操作的子类列表_list:s u b c l a s sn a m e1 :d e s c r i p t i o na b o u ts u b c l a s s1 描述该子类的适应环境s u b c l a s sn a m e2 :d e s c r i p t i o na b o u ts u b c l a s s2 d e s c r i p t i o n :d e s c r i p t i o nn a m e 必要的文字描述o p t i o n a l :可选项d i a g r a l v lp r e s e n t a t i o n :扩展点的图形描述d i a g r a mn a m e ,f i l en a m e ,d i r e c t o r yn a m e ( 2 ) 功能扩展点功能扩展点侧重于支持同一个系统中的同一个功能在不同环境下不同的实现方法的动态替换功能扩展点可以通过对框架中功能构件接口的操作来实现,下面是一个简单的功能扩展点实现示例,并使用u m l 符号体系来描述扩展点的形式和使用方式构件l n v o i c e m a n a g e r 通过接口p r i n t e r 对外提供打印发票p d n t l n v o i c e 0 的功能,构件c a l c u l a t o r

温馨提示

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

评论

0/150

提交评论