已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,分布式系统的软件体系结构,软件的体系结构有一个范围、视角问题即:在什么样的范围内以什么样的视角看待 软件的体系结构传统的方法主要在单机环境中从系统功能角度 看待 软件的体系结构随着软件系统规模的增长及底层机制的完善需要新的软件体系结构描述方法,2,分布式系统对软件的需求自治性 Autonomy可靠性 Reliability可接受性 Availability可扩展性 Scalability互操作性 Interoperability,3,自治性 应用程序的自治性是指应用程序有能力控制其自身的关键资源关键资源是应用程序作为独立的实体完成其功能时所需要的珍贵资源例如:RDBMS 连接大型机连接事务等,4,可靠性 可靠性是指应用程序提供准确结果的能力在一个多用户的环境中确保准确的结果是困难的例子:从一个帐户(A1)向另一个帐户(A2)转一笔帐(M)需要将A1减去M并同时将A2增加M,5,可接受性 可接受性指应用程序的响应时间能够被用户接受这依赖于许多因素:硬件可接受性软件可接受性网络可接受性 等资源冗余可以提高响应时间,6,可扩展性 可扩展性是对处理能力能够与资源的增加呈线性增长的一种期望这使得应用程序在从支持10个用户发展为支持10000个用户时只要增加必要的资源扩大应用程序的规模即可,7,互操作性 互操作性是指应用程序访问其它平台上的应用程序、数据等资源的能力许多企业环境支持多种不同的硬件与软件它们必须协同工作以共同为企业的运作服务,8,目前存在三种描述分布式环境中软件体系结构的模型:DNA:Distributed interNet Application ArchitectureOMA: Object Management ArchitectureEJB;Enterprise JavaBean,9,DNA、OMA、EJB皆是在分布式环境中从系统底层角度看待 软件的体系结构它们解决的问题是类似的分布式系统的软件体系结构解决问题的方式也是类似的基于互操作模型(构件间交互)分离出公共功能(构件)由于EJB与OMA很类似,不予详述,10,核心业务功能,横向,人机交互,数据服务,DNA倡导:3-Tier Application,11,纵向,OS,ORB,Services,Facilities,Domain Objects,OMA倡导: Layered Application,12,DNA与OMA互相渗透:DNA在3层结构中不断地增加公共服务例如:MTSMSMQ负载平衡等OMA在公共服务之上也定义了水平服务例如:User InterfaceInformation ManagementSystem ManagementTask Management等,13,内 容1、DNA2、MTS3、MSMQ,四、DNA,DNA,14,DNA是Windows 平台上的应用程序开发模型用以指导如何:利用Windows平台开发强壮、可扩展、分布式的应用程序;扩展现有的数据与外部应用程序以支持Internet;支持不同类型的客户设备以增加应用程序的范围由于DNA依赖于由Windows平台提供的综合、集成的服务开发者可以省缺分布式应用程序所需要的基础设施的开发而将精力集中在业务问题上,1、DNA,DNA,15,DNA设计原则:Internet ready. 开发方案能完全利用平台的灵活性Internet的优势通讯能力Faster time to market. 快速开发、部署应用程序,不需要对开发者进行重新培训降低开发者必须写的代码True interoperability. 各模块皆具有互操作能力,以方便地向现有系统增加功能符合开放的协议与标准,以集成其它厂商的产品,DNA,16,Reduced complexity. 将关键服务直接集成到操作系统中并通过构件以一般的方式提供服务降低对IT专家的依赖以集中精力解决业务问题Language, tool and hardware independence. 提供语言中立的构件模型使开发者可以使用任务专用的工具以个人计算为基本模型客户可以在大量可用的硬件上部署程序Lower total cost of ownership.开发的程序易于部署且易于维护,DNA,17,DNA,18,DNA,19,DNA,20,DNA 提供多种表示服务开发者可以根据具体情况选择最佳方案基于Windows的构件各种Internet技术等HTMLScriptingDHTMLComponentsWin32 API以支持丰富的界面与客户环境从手持无线设备到高端工作站,DNA,21,DNA,22,Web ServicesInternet Information Server (IIS) 可用于开发基于Web的商务应用系统这样的系统便于扩展、便于部署作为IIS技术之一的Active Server Pages(ASP) 具有语言中立编译省缺 的特点是服务器端脚本环境用于创建、运行动态且交互的Web服务器应用程序利用ASP脚本及其它协调构件构造的应用程序可以与现有的系统、应用程序及数据协同工作,DNA,23,Component Services基于互操作模型Component Object Model(COM) 增强分布处理功能Microsoft Transaction Server (MTS) 目前已发展为COM+通过降低为利用底层系统服务而编写的代码量使开发分布式应用系统更为快速容易廉价,DNA,24,COM+ 服务包括新的或增强的服务包括:Bring your own transaction. COM 构件可以参与由非COM+ 事务处理环境管理的事务 只要它支持Transaction Internet Protocol (TIP)Load balancing. 基于构件的应用程序可以以客户透明的方式在应用程序群中分布工作负载In-memory database. 内存数据库是一个事务性数据库系统用以支持对数据的快速访问,DNA,25,Queued components. 异步执行在网络环境下是不可避免的队列可以对异步执行提供良好支持Event notification. COM+ 事件是同时支持单播/多播、发布/订阅的事件机制允许多个客户“订阅”由各种服务器“发布”的事件Expanded security. 支持基于角色的安全与处理访问许可安全COM+ 增加了方法级安全Centralized administration. Component Services Explorer提供了一致的管理模型减少了部署、管理及监控 n层的应用程序,DNA,26,Messaging ServicesMicrosoft Message Queue Server 提供松耦合、可靠的通讯服务通过实现 push 风格的商务事件方便了应用系统的集成在不可靠、代价低的网络上建立起可靠的应用系统Microsoft Message Queue Server 还提供了与其它消息队列产品的无缝连接例如:IBMs MQSeries等,DNA,27,向大型机事务处理扩展通过使用COM构件及COM Transaction Integrator (TI)开发者可以扩展 大型机上的事务程序例如:Customer Information Control System (CICS) Information Management System (IMS) 等COM TI包括一系列的开发工具与服务可以自动“封装”IBM的事务功能所有的 COM TI 处理皆在Windows NT Server上进行,DNA,28,关键的Application Server Technologies包括:Microsoft Transaction ServerActive Server PagesMicrosoft Internet Information ServerMicrosoft Message Queue ServerMicrosoft Component Object Model,DNA,29,DNA,30,企业需要从分布的数据与信息中获取最大的商业利益Universal Data Access 提供对各种信息资源的高性能访问包括关系、非关系数据提供独立于工具与语言的编程接口Universal Data Access 基于开放的工业规范得到了工业界及数据库厂商的广泛支持,DNA,31,DNA中基于Universal Data Access的框架包含两层:在系统层:OLE DB 定义了一个基于构件的体系结构封装了各种数据库管理系统服务OLE DB 不对数据源进行约束在应用层:ActiveX Data Objects (ADO) 提供了高层接口使开发者可以从任何编程语言访问数据在每一层:Extensible Markup Language (XML)使开发者可以在应用程序客户之间进行描述、交付、交换结构化数据XML 也可以在服务器之间进行结构化数据的传送,DNA,32,DNA优点总结:为分布式应用程序的开发提供集成、综合的平台将开发者从底层工作中解放出来方便地与现有系统、数据等协作 保护对现有系统的投资提供构件模型、共性服务以及支持工具 减少开发分布式系统的时间,DNA,33,3、MTS,什么是事务事务是一个不可分割的工作单元在一个不可靠的环境中事务是保证系统获得准确结果的有效措施一个事务可以正常完成也可以被终止,并“卷回”到初始状态如果一个过程的执行满足上述“事务”特性则我们称该过程是“事务性”的,DNA,34,事务的四个特性 (ACID) :原子性 (Atomicity) :包含在事务中的活动或者全部有效,或者全部无效一致性(Consistency) :事务涉及的各种数据必须保持一致性分离性 (Isolation) :不同事务之间互不干扰永久性 (Durability) :只要事务成功完成,则其结果一定有效其中: 一致性是开发者需关注的原子性、分离性、持续性由底层的事务处理系统提供,DNA,35,MTS (Microsoft Transaction Server )MTS 是一个基于构件的运行时基础设施是开发、部署、管理分布式服务应用程序的事务处理系统MTS是台式机的灵活性、代价低与高端大型机系统的业务关键处理 的结合MTS还是 构件管理器负责将应用系统的客户程序与应用构件对象以及各种资源 有机地结合起来,DNA,36,MTS对象 与 MTS客户MTS对象是指运行在MTS环境下的COM构件实例MTS为每个对象维护了一个环境对象MTS对象与其环境对象具有同样的生存周期环境对象实现了 IObjectContext接口环境对象通过该接口提供事务、安全控制等能力MTS客户是指MTS对象的客户程序可以是一个运行于MTS环境之外的应用程序也可以是另一个MTS对象,DNA,37,IObjectContext : public IUnknown public: virtual HRESULT CreateInstance( REFCLSID rclsid, REFIID riid, LPVOID _RPC_FAR *ppv) = 0; virtual HRESULT SetComplete( void) = 0; virtual HRESULT SetAbort( void) = 0; virtual HRESULT EnableCommit( void) = 0; virtual HRESULT DisableCommit( void) = 0; virtual BOOL IsInTransaction( void) = 0; virtual BOOL IsSecurityEnabled( void) = 0; virtual HRESULT IsCallerInRole( BSTR _MIDL_0000, BOOL _RPC_FAR *_MIDL_0001) = 0; ;,DNA,38,其中: CreateInstance 函数用来创建另一个MTS对象SetComplete 函数结束一次操作并指示一次事务被提交SetAbort 函数结束一次操作并指示一次事务被取消EnableCommit 函数允许事务提交操作DisableCommit函数禁止事务提交操作IsInTransaction函数判断当前对象是否在事务状态下运行IsSecurityEnabled 函数判断对象的安全许可IsCallerInRole 函数指定对象的调用者是否在当前服务进程的安全角色中,DNA,39,MTS特性事务管理器简化数据库应用对数据的操作对分布式数据库的支持尤为明显对象管理器为基于COM的构件应用应用系统提供配置和管理的基础及时激活(Just-In-Time Activation)为提高服务器资源的利用率在客户一致持有对象引用的前提下激活、去活对象安全管理器MTS提供基于NT安全的分布式安全服务防止对业务应用的未授权访问,DNA,40,4、MSMQ (Microsoft Message Queue ),MSMQ 提供了一种异步通信服务解决在不可靠或者慢速网络连接远地用户异构应用程序等环境中的问题,DNA,41,两个应用程序之间进行通信时存在三种可能的情形:当一个应用程序向另一个应用程序发出消息后它可能:等待一个直接的应答在一定的时间内等待应答但在这段时间内执行其它工作不等待应答 第一种情况即为同步通信而第二种、第三种情况为异步通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026押题老师面试题及答案大全
- 2026应届生最终面试题及答案
- 2026在岗民警面试题及答案
- 少年立志:展望人生蓝图的小学主题班会课件
- 2026大冶社区面试题及答案
- 国家地理探险:发现世界的奇妙小学主题班会课件
- 2026江西吉安市吉水县城控人力资源服务有限公司招聘劳务外包人员2人(五)考试备考试题及答案详解
- 2026四川绵阳市三台县妇幼保健院 招聘编外聘用人员2人笔试备考题库及答案详解
- 职业卫生技术服务专业技术人员考试(职业卫生检测)模拟题库及答案(2026年新乡)
- 2026重庆聚狮新材料科技有限公司招聘1人笔试备考题库及答案详解
- 2026年官方兽医网牧运通考试题库含答案详解
- 2026年浙江省宁波市重点学校高一入学数学分班考试试题及答案
- 2025-2026学年上海宝山区八年级下学期期末数学试卷及答案
- 2026杭州市市级机关事业单位招聘编外人员综合基础知识和综合应用试题附答案
- 广西百色能源投资发展集团有限公司招聘考试真题2025
- 2026贵州省专业技术人员继续教育公需科目考试题库
- 2026年小学一年级数学第二学期期末考试卷及答案(共四套)
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 2026年法院书记员考试模拟题及答案
- 2026光纤传感在油气管道监测中的应用推广可行性研究报告
- 每月(质量)安全调度会议纪要
评论
0/150
提交评论