高级软件工程(DNA、MTS、MSMQ).ppt

上传人:牧羊曲112 文档编号:6069846 上传时间:2023-09-19 格式:PPT 页数:45 大小:654.50KB
返回 下载 相关 举报
高级软件工程(DNA、MTS、MSMQ).ppt_第1页
第1页 / 共45页
高级软件工程(DNA、MTS、MSMQ).ppt_第2页
第2页 / 共45页
高级软件工程(DNA、MTS、MSMQ).ppt_第3页
第3页 / 共45页
高级软件工程(DNA、MTS、MSMQ).ppt_第4页
第4页 / 共45页
高级软件工程(DNA、MTS、MSMQ).ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《高级软件工程(DNA、MTS、MSMQ).ppt》由会员分享,可在线阅读,更多相关《高级软件工程(DNA、MTS、MSMQ).ppt(45页珍藏版)》请在三一办公上搜索。

1、1,分布式系统的软件体系结构,软件的体系结构有一个范围、视角问题即:在什么样的范围内以什么样的视角看待 软件的体系结构传统的方法主要在单机环境中从系统功能角度 看待 软件的体系结构随着软件系统规模的增长及底层机制的完善需要新的软件体系结构描述方法,2,分布式系统对软件的需求自治性 Autonomy可靠性 Reliability可接受性 Availability可扩展性 Scalability互操作性 Interoperability,3,自治性 应用程序的自治性是指应用程序有能力控制其自身的关键资源关键资源是应用程序作为独立的实体完成其功能时所需要的珍贵资源例如:RDBMS 连接大型机连接事务

2、等,4,可靠性 可靠性是指应用程序提供准确结果的能力在一个多用户的环境中确保准确的结果是困难的例子:从一个帐户(A1)向另一个帐户(A2)转一笔帐(M)需要将A1减去M并同时将A2增加M,5,可接受性 可接受性指应用程序的响应时间能够被用户接受这依赖于许多因素:硬件可接受性软件可接受性网络可接受性 等资源冗余可以提高响应时间,6,可扩展性 可扩展性是对处理能力能够与资源的增加呈线性增长的一种期望这使得应用程序在从支持10个用户发展为支持10000个用户时只要增加必要的资源扩大应用程序的规模即可,7,互操作性 互操作性是指应用程序访问其它平台上的应用程序、数据等资源的能力许多企业环境支持多种不同

3、的硬件与软件它们必须协同工作以共同为企业的运作服务,8,目前存在三种描述分布式环境中软件体系结构的模型:DNA:Distributed interNet Application ArchitectureOMA:Object Management ArchitectureEJB;Enterprise JavaBean,9,DNA、OMA、EJB皆是在分布式环境中从系统底层角度看待 软件的体系结构它们解决的问题是类似的分布式系统的软件体系结构解决问题的方式也是类似的基于互操作模型(构件间交互)分离出公共功能(构件)由于EJB与OMA很类似,不予详述,10,核心业务功能,横向,人机交互,数据服务,D

4、NA倡导: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 平台上的应用程序开发模型用以指

5、导如何:利用Windows平台开发强壮、可扩展、分布式的应用程序;扩展现有的数据与外部应用程序以支持Internet;支持不同类型的客户设备以增加应用程序的范围由于DNA依赖于由Windows平台提供的综合、集成的服务开发者可以省缺分布式应用程序所需要的基础设施的开发而将精力集中在业务问题上,1、DNA,DNA,15,DNA设计原则:Internet ready.开发方案能完全利用平台的灵活性Internet的优势通讯能力Faster time to market.快速开发、部署应用程序,不需要对开发者进行重新培训降低开发者必须写的代码True interoperability.各模块皆具有互

6、操作能力,以方便地向现有系统增加功能符合开放的协议与标准,以集成其它厂商的产品,DNA,16,Reduced complexity.将关键服务直接集成到操作系统中并通过构件以一般的方式提供服务降低对IT专家的依赖以集中精力解决业务问题Language,tool and hardware independence.提供语言中立的构件模型使开发者可以使用任务专用的工具以个人计算为基本模型客户可以在大量可用的硬件上部署程序Lower total cost of ownership.开发的程序易于部署且易于维护,DNA,17,DNA,18,DNA,19,DNA,20,DNA 提供多种表示服务开发者可以

7、根据具体情况选择最佳方案基于Windows的构件各种Internet技术等HTMLScriptingDHTMLComponentsWin32 API以支持丰富的界面与客户环境从手持无线设备到高端工作站,DNA,21,DNA,22,Web ServicesInternet Information Server(IIS)可用于开发基于Web的商务应用系统这样的系统便于扩展、便于部署作为IIS技术之一的Active Server Pages(ASP)具有语言中立编译省缺 的特点是服务器端脚本环境用于创建、运行动态且交互的Web服务器应用程序利用ASP脚本及其它协调构件构造的应用程序可以与现有的系统、

8、应用程序及数据协同工作,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.基于构件

9、的应用程序可以以客户透明的方式在应用程序群中分布工作负载In-memory database.内存数据库是一个事务性数据库系统用以支持对数据的快速访问,DNA,25,Queued components.异步执行在网络环境下是不可避免的队列可以对异步执行提供良好支持Event notification.COM+事件是同时支持单播/多播、发布/订阅的事件机制允许多个客户“订阅”由各种服务器“发布”的事件Expanded security.支持基于角色的安全与处理访问许可安全COM+增加了方法级安全Centralized administration.Component Services Explo

10、rer提供了一致的管理模型减少了部署、管理及监控 n层的应用程序,DNA,26,Messaging ServicesMicrosoft Message Queue Server 提供松耦合、可靠的通讯服务通过实现 push 风格的商务事件方便了应用系统的集成在不可靠、代价低的网络上建立起可靠的应用系统Microsoft Message Queue Server 还提供了与其它消息队列产品的无缝连接例如:IBMs MQSeries等,DNA,27,向大型机事务处理扩展通过使用COM构件及COM Transaction Integrator(TI)开发者可以扩展 大型机上的事务程序例如:Custo

11、mer 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 Server

12、Microsoft 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 Obj

13、ects(ADO)提供了高层接口使开发者可以从任何编程语言访问数据在每一层:Extensible Markup Language(XML)使开发者可以在应用程序客户之间进行描述、交付、交换结构化数据XML 也可以在服务器之间进行结构化数据的传送,DNA,32,DNA优点总结:为分布式应用程序的开发提供集成、综合的平台将开发者从底层工作中解放出来方便地与现有系统、数据等协作 保护对现有系统的投资提供构件模型、共性服务以及支持工具 减少开发分布式系统的时间,DNA,33,3、MTS,什么是事务事务是一个不可分割的工作单元在一个不可靠的环境中事务是保证系统获得准确结果的有效措施一个事务可以正常完成也

14、可以被终止,并“卷回”到初始状态如果一个过程的执行满足上述“事务”特性则我们称该过程是“事务性”的,DNA,34,事务的四个特性(ACID):原子性(Atomicity):包含在事务中的活动或者全部有效,或者全部无效一致性(Consistency):事务涉及的各种数据必须保持一致性分离性(Isolation):不同事务之间互不干扰永久性(Durability):只要事务成功完成,则其结果一定有效其中:一致性是开发者需关注的原子性、分离性、持续性由底层的事务处理系统提供,DNA,35,MTS(Microsoft Transaction Server)MTS 是一个基于构件的运行时基础设施是开发、

15、部署、管理分布式服务应用程序的事务处理系统MTS是台式机的灵活性、代价低与高端大型机系统的业务关键处理 的结合MTS还是 构件管理器负责将应用系统的客户程序与应用构件对象以及各种资源 有机地结合起来,DNA,36,MTS对象 与 MTS客户MTS对象是指运行在MTS环境下的COM构件实例MTS为每个对象维护了一个环境对象MTS对象与其环境对象具有同样的生存周期环境对象实现了 IObjectContext接口环境对象通过该接口提供事务、安全控制等能力MTS客户是指MTS对象的客户程序可以是一个运行于MTS环境之外的应用程序也可以是另一个MTS对象,DNA,37,IObjectContext:pu

16、blic 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 IsS

17、ecurityEnabled(void)=0;virtual HRESULT IsCallerInRole(BSTR _MIDL_0000,BOOL _RPC_FAR*_MIDL_0001)=0;,DNA,38,其中:CreateInstance 函数用来创建另一个MTS对象SetComplete 函数结束一次操作并指示一次事务被提交SetAbort 函数结束一次操作并指示一次事务被取消EnableCommit 函数允许事务提交操作DisableCommit函数禁止事务提交操作IsInTransaction函数判断当前对象是否在事务状态下运行IsSecurityEnabled 函数判断对象的安

18、全许可IsCallerInRole 函数指定对象的调用者是否在当前服务进程的安全角色中,DNA,39,MTS特性事务管理器简化数据库应用对数据的操作对分布式数据库的支持尤为明显对象管理器为基于COM的构件应用应用系统提供配置和管理的基础及时激活(Just-In-Time Activation)为提高服务器资源的利用率在客户一致持有对象引用的前提下激活、去活对象安全管理器MTS提供基于NT安全的分布式安全服务防止对业务应用的未授权访问,DNA,40,4、MSMQ(Microsoft Message Queue),MSMQ 提供了一种异步通信服务解决在不可靠或者慢速网络连接远地用户异构应用程序等环

19、境中的问题,DNA,41,两个应用程序之间进行通信时存在三种可能的情形:当一个应用程序向另一个应用程序发出消息后它可能:等待一个直接的应答在一定的时间内等待应答但在这段时间内执行其它工作不等待应答 第一种情况即为同步通信而第二种、第三种情况为异步通信,DNA,42,Message Queuing的优点交付可靠消息可以存放在基于磁盘的队列中以在失败时进行恢复路由当发送者与接受者之间的直接连接不通时消息队列系统可以存储并转发消息连接无关性发送者与接受者不必一致处于连接状态应用程序的性能基本不受网络流量的影响基于事务消息可以与事务进行集成以保证只有在事务成功时才被发送优先级处理消息可以被赋予优先级优

20、先级高的消息将首先被处理,DNA,43,应用程序通过MSMQ API 访问消息队列任何可以调用COM对象并利用MSMQ API的语言皆可以获得一个MSMQ对象模型MQCreateQueueMQDeleteQueueMQLocateBeginMQLocateNextMQLocateEndMQOpenQueueMQSendMessageMQReceiveMessageMQCreateCursorMQCloseCursorMQCloseQueueMQSetQueueProperties.,DNA,44,MSMQ Queue Types,DNA,45,消息与应答队列这是应用程序使用的两个主要队列分别用于存放应用程序发送与接收的消息管理队列管理队列包含由MSMQ产生的回应消息包括发送成功、发送失败两类消息期刊队列用于保存应用程序消息的备份以进行日志、审计及恢复无效消息队列保持哪些因超时或者目的地错误而未发出的消息报告队列 用于跟踪消息被发送的过程 报告队列接收MSMQ产生的报告消息,DNA,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号