高级软件工程dnamtsmsmq

上传人:痛*** 文档编号:227529938 上传时间:2023-08-14 格式:PPT 页数:45 大小:1.99MB
收藏 版权申诉 举报 下载
高级软件工程dnamtsmsmq_第1页
第1页 / 共45页
高级软件工程dnamtsmsmq_第2页
第2页 / 共45页
高级软件工程dnamtsmsmq_第3页
第3页 / 共45页
资源描述:

《高级软件工程dnamtsmsmq》由会员分享,可在线阅读,更多相关《高级软件工程dnamtsmsmq(45页珍藏版)》请在装配图网上搜索。

1、高级软件工程(高级软件工程(DNA、MTS、MSMQ)分布式系统对软件的需求分布式系统对软件的需求 自治性自治性 Autonomy可靠性可靠性 Reliability可接受性可接受性 Availability可扩展性可扩展性 Scalability互操作性互操作性 Interoperability 2自治性自治性 应用程序的自治性是指应用程序的自治性是指应用程序有能力控制其自身的关键资源应用程序有能力控制其自身的关键资源关键资源是应用程序作为独立的实体完成其功能时关键资源是应用程序作为独立的实体完成其功能时所需要的珍贵资源所需要的珍贵资源例如:例如:RDBMS 连接连接大型机连接大型机连接事务

2、等事务等3可靠性可靠性 可靠性是指应用程序提供准确结果的能力可靠性是指应用程序提供准确结果的能力在一个多用户的环境中确保准确的结果是困难的在一个多用户的环境中确保准确的结果是困难的例子:例子:从一个帐户(从一个帐户(A1)向另一个帐户(向另一个帐户(A2)转一笔帐()转一笔帐(M)需要将需要将A1减去减去M并同时将并同时将A2增加增加M4可接受性可接受性 可接受性指应用程序的响应时间能够被用户接受可接受性指应用程序的响应时间能够被用户接受这依赖于许多因素:这依赖于许多因素:硬件可接受性硬件可接受性软件可接受性软件可接受性网络可接受性网络可接受性 等等资源冗余可以提高响应时间资源冗余可以提高响应

3、时间5可扩展性可扩展性 可扩展性是对处理能力能够与资源的增加可扩展性是对处理能力能够与资源的增加呈线性增长的一种期望呈线性增长的一种期望这使得应用程序在从支持这使得应用程序在从支持10个用户个用户发展为支持发展为支持10000个用户时个用户时只要只要 增加必要的资源增加必要的资源扩大应用程序的规模即可扩大应用程序的规模即可6互操作性互操作性 互操作性是指应用程序访问其它平台上的互操作性是指应用程序访问其它平台上的应用程序、数据等资源的能力应用程序、数据等资源的能力许多企业环境支持多种不同的硬件与软件许多企业环境支持多种不同的硬件与软件它们必须协同工作它们必须协同工作以共同为企业的运作服务以共同

4、为企业的运作服务7 目前存在三种描述分布式环境中软件体系结构的模型目前存在三种描述分布式环境中软件体系结构的模型:DNA:Distributed interNet Application ArchitectureOMA:Object Management ArchitectureEJB;Enterprise JavaBean8DNA、OMA、EJB皆是皆是在分布式环境中在分布式环境中从系统底层角度从系统底层角度 看待看待 软件的体系结构软件的体系结构它们它们解决的问题是类似的解决的问题是类似的分布式系统的软件体系结构分布式系统的软件体系结构解决问题的方式也是类似的解决问题的方式也是类似的基于互

5、操作模型(构件间交互)基于互操作模型(构件间交互)分离出公共功能(构件)分离出公共功能(构件)由于由于EJB与与OMA很类似,不予详述很类似,不予详述9核心业务功能核心业务功能横向横向人机交互人机交互数据服务数据服务DNA倡导:倡导:3-Tier Application10纵向纵向OS ORBServicesFacilitiesDomain ObjectsObjectsObjectsObjectsObjectsOMA倡导倡导:Layered Application11DNA与与OMA互相渗透互相渗透:DNA在在3层结构中不断地增加公共服务层结构中不断地增加公共服务例如:例如:MTSMSMQ负载

6、平衡负载平衡等等OMA在公共服务之上也定义了水平服务在公共服务之上也定义了水平服务例如:例如:User InterfaceInformation ManagementSystem ManagementTask Management等等12内内 容容1、DNA2、MTS3、MSMQ四、四、DNADNA13DNA是是Windows 平台上的应用程序开发模型平台上的应用程序开发模型用以指导如何:用以指导如何:利用利用Windows平台开发平台开发强壮、可扩展、分布式的应用程序;强壮、可扩展、分布式的应用程序;扩展现有的数据与外部应用程序扩展现有的数据与外部应用程序以支持以支持Internet;支持不

7、同类型的客户设备支持不同类型的客户设备以增加应用程序的范围以增加应用程序的范围由于由于DNA依赖于由依赖于由Windows平台提供的综合、集成的服务平台提供的综合、集成的服务开发者可以开发者可以省缺分布式应用程序所需要的省缺分布式应用程序所需要的基础设施的开发基础设施的开发而将精力集中在业务问题上而将精力集中在业务问题上1、DNADNA14 DNA设计原则:设计原则:Internet ready.开发方案能完全利用开发方案能完全利用 平台的灵活性平台的灵活性Internet的优势的优势通讯能力通讯能力Faster time to market.快速开发、部署应用程序,不需要对开发者进行重新培训

8、快速开发、部署应用程序,不需要对开发者进行重新培训降低开发者必须写的代码降低开发者必须写的代码True interoperability.各模块皆具有互操作能力,以方便地向现有系统增加功能各模块皆具有互操作能力,以方便地向现有系统增加功能符合开放的协议与标准,以集成其它厂商的产品符合开放的协议与标准,以集成其它厂商的产品DNA15Reduced complexity.将关键服务直接集成到操作系统中将关键服务直接集成到操作系统中并通过构件以一般的方式提供服务并通过构件以一般的方式提供服务降低对降低对IT专家的依赖专家的依赖以集中精力解决业务问题以集中精力解决业务问题Language,tool a

9、nd hardware independence.提供语言中立的构件模型提供语言中立的构件模型使开发者可以使用任务专用的工具使开发者可以使用任务专用的工具以个人计算为基本模型以个人计算为基本模型客户可以在大量可用的硬件上部署程序客户可以在大量可用的硬件上部署程序Lower total cost of ownership.开发的程序易于部署且易于维护开发的程序易于部署且易于维护DNA16DNA17DNA18DNA19DNA 提供多种表示服务提供多种表示服务开发者可以根据具体情况选择最佳方案开发者可以根据具体情况选择最佳方案基于基于Windows的构件的构件各种各种Internet技术技术等等HT

10、MLScriptingDHTMLComponentsWin32 API以支持丰富的界面与客户环境以支持丰富的界面与客户环境从手持无线设备到高端工作站从手持无线设备到高端工作站DNA20DNA21Web ServicesInternet Information Server(IIS)可用于可用于开发基于开发基于Web的商务应用系统的商务应用系统这样的系统便于扩展、便于部署这样的系统便于扩展、便于部署作为作为IIS技术之一的技术之一的Active Server Pages(ASP)具有具有语言中立语言中立编译省缺编译省缺 的特点的特点是服务器端脚本环境是服务器端脚本环境用于创建、运行动态且交互的用

11、于创建、运行动态且交互的Web服务器应用程序服务器应用程序利用利用ASP脚本及其它协调构件构造的应用程序脚本及其它协调构件构造的应用程序可以与现有的系统、应用程序及数据协同工作可以与现有的系统、应用程序及数据协同工作DNA22Component Services基于互操作模型基于互操作模型Component Object Model(COM)增强分布处理功能增强分布处理功能Microsoft Transaction Server(MTS)目前已发展为目前已发展为COM+通过降低为利用底层系统服务而编写的代码量通过降低为利用底层系统服务而编写的代码量使开发分布式应用系统更为使开发分布式应用系统更

12、为快速快速容易容易廉价廉价DNA23COM+服务包括新的或增强的服务包括:服务包括新的或增强的服务包括:Bring your own transaction.COM 构件可以参与由非构件可以参与由非COM+事务处理环境管理的事务事务处理环境管理的事务 只要它支持只要它支持Transaction Internet Protocol(TIP)Load balancing.基于构件的应用程序可以以客户透明的方式基于构件的应用程序可以以客户透明的方式在应用程序群中分布工作负载在应用程序群中分布工作负载In-memory database.内存数据库是一个事务性数据库系统内存数据库是一个事务性数据库系统

13、用以支持对数据的快速访问用以支持对数据的快速访问DNA24Queued components.异步执行在网络环境下是不可避免的异步执行在网络环境下是不可避免的队列可以对异步执行提供良好支持队列可以对异步执行提供良好支持Event notification.COM+事件是同时支持单播事件是同时支持单播/多播、发布多播、发布/订阅的事件机制订阅的事件机制允许多个客户允许多个客户“订阅订阅”由各种服务器由各种服务器“发布发布”的事件的事件Expanded security.支持基于角色的安全与处理访问许可安全支持基于角色的安全与处理访问许可安全COM+增加了方法级安全增加了方法级安全Centrali

14、zed administration.Component Services Explorer提供了一致的管理模型提供了一致的管理模型减少了部署、管理及监控减少了部署、管理及监控 n层的应用程序层的应用程序DNA25Messaging ServicesMicrosoft Message Queue Server 提供提供松耦合、可靠的通讯服务松耦合、可靠的通讯服务通过实现通过实现 push 风格的商务事件方便了应用系统的集成风格的商务事件方便了应用系统的集成在不可靠、代价低的网络上建立起可靠的应用系统在不可靠、代价低的网络上建立起可靠的应用系统Microsoft Message Queue Se

15、rver 还提供了还提供了与其它消息队列产品的无缝连接与其它消息队列产品的无缝连接例如:例如:IBMs MQSeries等等DNA26向大型机事务处理扩展向大型机事务处理扩展通过使用通过使用COM构件及构件及COM Transaction Integrator(TI)开发者可以扩展开发者可以扩展 大型机上的事务程序大型机上的事务程序例如:例如:Customer Information Control System(CICS)Information Management System(IMS)等等COM TI包括一系列的开发工具与服务包括一系列的开发工具与服务可以自动可以自动“封装封装”IBM的

16、事务功能的事务功能所有的所有的 COM TI 处理皆在处理皆在Windows NT Server上进行上进行DNA27关键的关键的Application Server Technologies包括:包括:Microsoft Transaction ServerActive Server PagesMicrosoft Internet Information ServerMicrosoft Message Queue ServerMicrosoft Component Object ModelDNA28DNA29企业需要从分布的数据与信息中获取最大的商业利益企业需要从分布的数据与信息中获取最大的

17、商业利益Universal Data Access 提供对各种信息资源的高性能访问提供对各种信息资源的高性能访问包括关系、非关系数据包括关系、非关系数据提供独立于工具与语言的编程接口提供独立于工具与语言的编程接口Universal Data Access 基于开放的工业规范基于开放的工业规范得到了工业界及数据库厂商的广泛支持得到了工业界及数据库厂商的广泛支持DNA30DNA中基于中基于Universal Data Access的框架包含两层:的框架包含两层:在系统层:在系统层:OLE DB 定义了一个基于构件的体系结构定义了一个基于构件的体系结构封装了各种数据库管理系统服务封装了各种数据库管理

18、系统服务OLE DB 不对数据源进行约束不对数据源进行约束在应用层:在应用层:ActiveX Data Objects(ADO)提供了高层接口提供了高层接口使开发者可以从任何编程语言访问数据使开发者可以从任何编程语言访问数据在每一层:在每一层:Extensible Markup Language(XML)使开发者使开发者可以在应用程序客户之间进行可以在应用程序客户之间进行描述、交付、交换结构化数据描述、交付、交换结构化数据XML 也可以在服务器之间进行结构化数据的传送也可以在服务器之间进行结构化数据的传送DNA31DNA优点总结:优点总结:为分布式应用程序的开发提供集成、综合的平台为分布式应用

19、程序的开发提供集成、综合的平台将开发者从底层工作中解放出来将开发者从底层工作中解放出来方便地与现有系统、数据等协作方便地与现有系统、数据等协作 保护对现有系统的投资保护对现有系统的投资提供构件模型、共性服务以及支持工具提供构件模型、共性服务以及支持工具 减少开发分布式系统的时间减少开发分布式系统的时间DNA323、MTS什么是事务什么是事务事务是一个不可分割的工作单元事务是一个不可分割的工作单元在一个不可靠的环境中在一个不可靠的环境中事务是保证系统获得准确结果的有效措施事务是保证系统获得准确结果的有效措施一个事务一个事务可以正常完成可以正常完成也可以被终止,并也可以被终止,并“卷回卷回”到初始

20、状态到初始状态如果一个过程的执行满足上述如果一个过程的执行满足上述“事务事务”特性特性则我们称该过程是则我们称该过程是“事务性事务性”的的DNA33事务的四个特性事务的四个特性(ACID):原子性原子性(Atomicity):包含在事务中的活动或者全部有效,或者全部无效包含在事务中的活动或者全部有效,或者全部无效一致性一致性(Consistency):事务涉及的各种数据必须保持一致性事务涉及的各种数据必须保持一致性分离性分离性(Isolation):不同事务之间互不干扰不同事务之间互不干扰永久性永久性(Durability):只要事务成功完成,则其结果一定有效只要事务成功完成,则其结果一定有效

21、其中:其中:一致性是开发者需关注的一致性是开发者需关注的原子性、分离性、持续性原子性、分离性、持续性由底层的事务处理系统提供由底层的事务处理系统提供DNA34MTS(Microsoft Transaction Server)MTS 是是一个基于构件的运行时基础设施一个基于构件的运行时基础设施是是开发、部署、管理分布式服务应用程序的开发、部署、管理分布式服务应用程序的事务处理系统事务处理系统MTS是是台式机的灵活性、代价低台式机的灵活性、代价低与高端大型机系统的业务关键处理与高端大型机系统的业务关键处理 的结合的结合MTS还是还是 构件管理器构件管理器负责将应用系统的客户程序负责将应用系统的客户

22、程序与应用构件对象与应用构件对象以及各种资源以及各种资源 有机地结合起来有机地结合起来DNA35MTS对象对象 与与 MTS客户客户MTS对象是指运行在对象是指运行在MTS环境下的环境下的COM构件实例构件实例MTS为每个对象维护了一个环境对象为每个对象维护了一个环境对象MTS对象与其环境对象具有同样的生存周期对象与其环境对象具有同样的生存周期环境对象实现了环境对象实现了 IObjectContext接口接口环境对象通过该接口提供事务、安全控制等能力环境对象通过该接口提供事务、安全控制等能力MTS客户是指客户是指MTS对象的客户程序对象的客户程序可以是一个运行于可以是一个运行于MTS环境之外的

23、应用程序环境之外的应用程序也可以是另一个也可以是另一个MTS对象对象DNA36IObjectContext: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)

24、=0;virtual BOOL IsInTransaction(void)=0;virtual BOOL IsSecurityEnabled(void)=0;virtual HRESULT IsCallerInRole(BSTR _MIDL_0000,BOOL _RPC_FAR*_MIDL_0001)=0;DNA37其中:其中:CreateInstance 函数用来创建另一个函数用来创建另一个MTS对象对象SetComplete 函数结束一次操作并指示一次事务被提交函数结束一次操作并指示一次事务被提交SetAbort 函数结束一次操作并指示一次事务被取消函数结束一次操作并指示一次事务被取消En

25、ableCommit 函数允许事务提交操作函数允许事务提交操作DisableCommit函数禁止事务提交操作函数禁止事务提交操作IsInTransaction函数判断当前对象是否在事务状态下运行函数判断当前对象是否在事务状态下运行IsSecurityEnabled 函数判断对象的安全许可函数判断对象的安全许可IsCallerInRole 函数指定对象的调用者函数指定对象的调用者是否在当前服务进程的安全角色中是否在当前服务进程的安全角色中DNA38MTS特性特性事务管理器事务管理器简化数据库应用对数据的操作简化数据库应用对数据的操作对分布式数据库的支持尤为明显对分布式数据库的支持尤为明显对象管理

26、器对象管理器为基于为基于COM的构件应用应用系统提供的构件应用应用系统提供配置和管理的基础配置和管理的基础及时激活(及时激活(Just-In-Time Activation)为提高服务器资源的利用率为提高服务器资源的利用率在客户一致持有对象引用的前提下在客户一致持有对象引用的前提下激活、去活对象激活、去活对象安全管理器安全管理器MTS提供基于提供基于NT安全的分布式安全服务安全的分布式安全服务防止对业务应用的未授权访问防止对业务应用的未授权访问DNA394、MSMQ(Microsoft Message Queue)MSMQ 提供了一种异步通信服务提供了一种异步通信服务解决在解决在不可靠或者慢速

27、网络连接不可靠或者慢速网络连接远地用户远地用户异构应用程序异构应用程序 等环境中的问题等环境中的问题DNA40两个应用程序之间进行通信时存在三种可能的情形:两个应用程序之间进行通信时存在三种可能的情形:当一个应用程序向另一个应用程序发出消息后当一个应用程序向另一个应用程序发出消息后它可能:它可能:等待一个直接的应答等待一个直接的应答 在一定的时间内等待应答在一定的时间内等待应答但在这段时间内执行其它工作但在这段时间内执行其它工作 不等待应答不等待应答 第一种情况即为同步通信第一种情况即为同步通信而第二种、第三种情况为异步通信而第二种、第三种情况为异步通信DNA41Message Queuing

28、的优点的优点 交付可靠交付可靠消息可以存放在基于磁盘的队列中消息可以存放在基于磁盘的队列中以在失败时进行恢复以在失败时进行恢复 路由路由当发送者与接受者之间的直接连接不通时当发送者与接受者之间的直接连接不通时消息队列系统可以存储并转发消息消息队列系统可以存储并转发消息 连接无关性连接无关性发送者与接受者不必一致处于连接状态发送者与接受者不必一致处于连接状态应用程序的性能基本不受网络流量的影响应用程序的性能基本不受网络流量的影响 基于事务基于事务消息可以与事务进行集成消息可以与事务进行集成以保证只有在事务成功时才被发送以保证只有在事务成功时才被发送 优先级处理优先级处理消息可以被赋予优先级消息可

29、以被赋予优先级优先级高的消息将首先被处理优先级高的消息将首先被处理DNA42应用程序通过应用程序通过MSMQ API 访问消息队列访问消息队列任何可以调用任何可以调用COM对象并利用对象并利用MSMQ API的语言的语言皆可以获得一个皆可以获得一个MSMQ对象模型对象模型MQCreateQueueMQDeleteQueueMQLocateBeginMQLocateNextMQLocateEndMQOpenQueueMQSendMessageMQReceiveMessageMQCreateCursorMQCloseCursorMQCloseQueueMQSetQueueProperties.DN

30、A43MSMQ Queue TypesDNA44 消息与应答队列消息与应答队列这是应用程序使用的两个主要队列这是应用程序使用的两个主要队列分别用于存放应用程序发送与接收的消息分别用于存放应用程序发送与接收的消息管理队列管理队列管理队列包含由管理队列包含由MSMQMSMQ产生的回应消息产生的回应消息包括发送成功、发送失败两类消息包括发送成功、发送失败两类消息期刊队列期刊队列用于保存应用程序消息的备份用于保存应用程序消息的备份以进行日志、审计及恢复以进行日志、审计及恢复无效消息队列无效消息队列保持哪些因超时或者目的地错误而未发出的消息保持哪些因超时或者目的地错误而未发出的消息报告队列报告队列 用于跟踪消息被发送的过程用于跟踪消息被发送的过程 报告队列接收报告队列接收MSMQ产生的报告消息产生的报告消息DNA45

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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