欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    [优秀毕业设计精品] 分布式软件X系统体系结构设计.doc

    • 资源ID:107884       资源大小:1009KB        全文页数:114页
    • 资源格式: DOC        下载积分:6积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [优秀毕业设计精品] 分布式软件X系统体系结构设计.doc

    -1-分布式软件体系结构编写目标:面向计算机专业高年级本科生与研究生的教程。可供从事基于Internet/Intranet的分布式软件开发人员参考使用。要求读者:已掌握面向对象程序设计方法与一门面向对象程序设计语言(Java最佳)。具备软件工程的基本知识。总体构思:强调理论与实践相结合:理论上以CORBA2.4为模型,实践中以VisiBrokerforJava4.0为工具。强调深度与广度相结合:重点介绍CORBA的同时,兼顾DCOM与EJB两种模型,最后总结对比这三种典型体系结构的特点。主要内容:分布式计算的基本概念:从C/S过渡到分布式体系结构、OMA体系结构、CORBA基本概念。分布式应用程序的开发:分布式应用程序框架、用IDL编写对象接口、编写服务程序与客户程序、部署应用程序。分布式计算更深入的课题:探讨分布式应用程序的可靠性、伸缩性、安全性、性能等课题可能提出的问题以及解决途径。不同体系结构的比较:总结CORBA、DCOM、EJB、XML等特点。配合教学需要的内容:在前言部分提供教学进度供参考,每一章后均配有课后练习思考题和上机实习题。-2-引言分布式计算是当前软件开发技术的一个重要发展方向。C.A.R.Hoare指出:“分布式计算是一个具有重大理论与实践意义的迷人课题,其迷人之处在于理论与实践的同步发展,一方面实践推动了理论,另一方面理论又指导着实践。”本书为读者介绍分布式计算领域的基本概念、开发过程、规范标准等内容。分布式计算有两种典型的应用途径。第一种应用途径是将分布式软件系统看作直接反映了现实世界中的分布性,例如当今许多业务处理流程通常呈现一种分布式运作方式,负责加工或制造的工厂可能位于珠江三角洲一带,而负责销售与市场营销的部门则可能分别位于北京、上海和广州,这时负责业务流程的软件系统也可作相应的分布式处理。第二种应用途径主要用于改进某些应用程序的运行性能,使它们比单进程的集中式实现更具有效率,此时软件系统的分布性并不是现实世界中分布性的映射,而是为充分利用额外的计算资源而人为引入的。在计算机硬件技术与网络通信技术的支持下,应用需求驱使计算机软件的规模与复杂度不断增长。面对这种情况,对整个软件系统的体系结构进行分析与设计就远远重要于对算法与数据结构的选择。软件体系结构关心的正是整个软件系统的结构,它决定了一个软件系统由什么样的组件组成,以及这些组件之间的交互关系如何。典型的软件体系结构风格有设计图形用户界面常用的事件驱动风格、操作系统常用的层次化设计、设计编译程序常用的管道与过滤器风格、许多应用程序都会使用的面向对象风格等。分布式软件系统通常基于客户机服务器风格,其中客户程序提出信息或服务的请示,而服务程序提供这些信息或服务。客户机服务器计算模型的发展大约经历了三个里程碑:局域网文件服务器、数据库服务器以及分布式对象。由于当前面向对象技术几乎已渗透到软件开发的每一个角落,先进的分布式软件开发方法当然离不开与面向对象技术的结合,因而分布式软件体系结构通常是客户机服务器风格与面向对象风格的有效组合,典型的例子有OMG的公共对象请求代理体系结构(CORBA)、Microsoft的分布式组件对象模型(DCOM)、SunMicrosystems的企业JavaBeans(EJB)等。在这些模型中,CORBA以其规范的严格性、供应商的无关性和其他许多先进的分布式计算特性成为我们教学的首选。在理论教学方面,我们可参考OMG发布的一系列规范和关于CORBA的丰富读物;在课程实验方面,我们既可下载使用IONAOrbix、InpriseVisiBroker等商品化CORBA产品的30或60天试用版,也可使用OmniORB、TAO等免费CORBA产品。相对于其他分布式计算模型而言,CORBA在理论更为严格与完善,即使读者采用的开发平台未必是CORBA兼容的,CORBA中提出的许多问题也应加以考虑,并可借鉴CORBA提出的问题解决方案。本书从软件体系结构的角度介绍分布式软件系统分析与设计的基本概念,描述了分布式软件的开发与布署过程,并探讨分布式软件的可靠性、性能、可伸缩性等高级概念。本书的主要内容分为四个部分。第一部分“基本概念”介绍分布式计算中的基本概念与基本原理,从客户机服务器计算模型过渡到真正的分布式计算模型,并掌握OMA与CORBA的基本概念。为避免为传统集中式软件的开发人员一次性引入太多分布式对象计算的新概念,我们需要一个过渡性介绍以实现循序渐进的教学目标,JavaRMI以其简单性与实用性自然进入我们的视野。-3-第二部分“开发过程”首先利用一个完整而简单的分布式应用例子程序介绍一个典型CORBA应用程序的开发过程,然后详细讨论如何利用接口定义语言(OMGIDL)编写对象接口,如何编写服务端程序与客户端程序,以及如何部署最终的应用程序。第三部分“高级课题”探讨分布式应用程序中的高级课题,提出可能产生的问题以及这些问题的可能解决途径,包括分布式环境下对象查找、如何提高分布式应用程序的可靠性、如何提高服务端程序的可伸缩性等。第四部分“其他与展望”通过简介与对比其他分布式体系结构(如DCOM、EJB、XML等)拓宽读者在分布式计算领域的知识面,探讨分布式计算进一步的发展方向。本书可供从事基于InternetIntranet的分布式软件开发人员参考使用,也可作为计算机专业高年级本科生与研究生学习分布式计算课程的教材。本书假设读者已掌握面向对象程序设计方法与Java语言,并具备面向对象软件工程的基本知识。如果选用本书作为授课教材,对具有面向对象程序设计基础并熟练掌握C+和Java语言的学生宜讲授60课内学时,安排课外实验36学时,教学进度安排可参考如下(括号中分别标明了课内学时数与课外实验学时数):第1章(66)、第2章(40)、第3章(46)、第4章(40)、第5章(86)、第6章(66)、第7章(20)、第8章(20)、第9章(40)、第10章(60)、第11章(66)、第12章(46),第四部分的第13至15章(40)。对于不熟悉Java语言和Web应用的学生宜讲授80课内学时,安排课外实验40学时。本书课后练习中规模较大或复杂性较高的题目以星号“*”标出,这些题目适合作为课程设计的选题。在即将由ACMIEEE-CS修订发布的计算教学大纲2001(CC2001)中,“以网络为中心的计算(NC)”已成为14个知识领域之一,其中包含客户机服务器计算、开发Web应用、通信与网络、分布式对象系统、协作技术与群件等专题。本书内容覆盖了该知识领域的许多专题。本书中所有例子程序均使用Inprise公司的VisiBrokerforJava4.0和WebGain公司的VisualCaféEnterpriseEdition4.0平台开发,这些例子很容易移植到其他开发平台。读者可从我们的教学网站http:/www.selab.zsu.edu.cn下载这些例子程序的全部源代码。分布式软件系统是软件开发的一个新兴领域,并且各种分布式计算模型还在不断地迅速发展。由于作者水平有限,书中谬误之处在所难免,恳请广大读者不吝批评指正。-4-第一部分基本概念第1章客户机服务器体系结构本章利用Java语言的远程方法调用RMI与数据库接口JDBC开发一个简单的电话计费查询分布式应用程序,通过这个完整的例子帮助读者复习客户机服务器体系结构的基本概念,并分析与探讨该应用程序需要进一步考虑与改进的不足之处,从而引出分布式软件体系结构要解决的问题。§1.1软件设计的基本概念1.1.1隐式地vs显式地隐式地(implicitly)与显式地(explicitily)是软件开发技术中经常出现的两个修饰术语,用于表示程序设计语言、编程工具或软件开发环境等对软件开发人员的两种不同支持方式。例如一个采用面向对象方法完成的设计同样也可以利用C语言实现,然而C语言对面向对象设计的支持是一种隐式的方式,面向对象设计的许多概念在C语言中无法直接地表达出来,显然这种隐式支持远远比不上C+、Java、Ada、Eiffel、Smalltalk等面向对象程序设计语言提供的显式支持。软件开发人员获得显式支持的本质可看作是将许多原来必须由程序员动手实现的任务交由更底层的编译程序、开发工具或运行环境完成。例如在数据库管理系统的帮助下,应用程序员开发数据处理应用程序时减轻了许多数据定义、查询、完整性、安全性等方面的负担。程序设计技术或软件开发技术的发展方向之一是不断为软件开发人员提供更完善、更有效的显式支持。例如在C语言或Pascal语言中无法显式地描述一个求平方根函数square_root()中可能引发的异常(譬如计算对象是一个负数),而C+语言或Java语言允许在函数原型中显式地将函数体可能引发的异常表达出来,这种显式表达使得编译程序可帮助程序员检查该函数体中是否真的可能引发这些异常,以及约束使用这些函数的程序必须处理哪些异常。此外,将异常作为函数原型的一部分也有助于使用函数的程序员更全面地理解这些函数的语法与语义。又如在面向对象程序设计中一个实体除了属性与行为外,还应包含该实体的属性与行为应满足的约束。譬如一个银行帐户ACCOUNT除了拥有帐户标识、存款余额等属性以及存款、取款、查询余额等行为之外,还至少必须满足一个约束,即在帐户生存期的任一时刻存款余额不得小于0(如果是允许透支的信用卡帐户,则应将约束修改为透支不得超过某一上限,而透支上限必须是帐户的一个属性)。在C+语言或Java语言中,程序员无法将这一约束显式地表达出来,只能在对象初始化、存款、取款等行为的实现中隐式地表达,使用这些组件的其他程序员也只能通过理解这些行为的实现才能了解到ACCOUNT的这种约束。当然通过注释将约束表达出来是一种良好的程序设计风格,但编译程序不能为此提供任何帮助。相比之下,Eiffel程序员可显式地描述ACCOUNT必须满足的约束,以及每一操作之前或之后必须满足的条件,程序员不必再考虑正常条件之外的异常,而交由运行环境负责引发相应的异常。在分布式软件开发中比传统的集中式软件开发有更多的问题需要解决,程序员可以自己

    注意事项

    本文([优秀毕业设计精品] 分布式软件X系统体系结构设计.doc)为本站会员(上***)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!