湖南大学中间件考试(本科、研究生),必过!!!.docVIP

湖南大学中间件考试(本科、研究生),必过!!!.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件包括两部分:代码和数据; 软件技术发展从百花齐放,逐步过渡到邦联式的共识和统一; 发展的源动力:最小化成本,最大化收益、最强的竞争实力; Internet的迅猛发展,使得系统集成/整合成为当务之急; 解决软件危机问题的途径:编程的自动化,源代码的通用,软件互操作; 中间件技术就是二进制级的软件互操作/系统集成/系统整合/软件组装技术;解决了软件改版需要重新编译和链接的问题; 中间件技术使得软件开发的重心从功能实现变成了功能组件的组合;解决了成本问题、开发周期问题、质量问题,提高了软件的利用率。 中间件技术就是软件互操作技术; 中间件技术包含运行环境、开发工具、应用程序三方面的内容; 中间件技术涉及到三方:客户,服务,经纪人; Web Services 和XML是最终中间件技术; 中间件特性 1)二进制级的互操作; 2)服务程序有多个客户; 3)客户和服务都会升级进化,无约束,可组合性; 4)对应用程序员,保持编程模式的不变性; 5)客户和服务之间的契约既要具有永恒性,又具有可延伸性; 互操作 有三种形式:它们都要考虑服务程序的标识, 动态适配 1同一进程内不同模块之间的互操作; 可以直接完成; 两个二进制模块在一个进程中来进行互操作: 互操作形式:函数调用;互操作契约(共识): 函数调用规范; 契约载体:.h 文件; 互操作中的2个问题:1)参数传递;2)代码和数据定位; 2同一机器中不同进程之间的互操作; 要求进程之间通信,不用考虑Data encoding; 要有存根(Stub 和 proxy); 线程间的同步机制; 要有侦听线程; 函数调用不仅要传递参数,而且还要加上函数标识信息(DLL名,函数名); 要有进程间数据传递管线(pipeline) (IPC),及传递数据的序列化(Serialization); 有关上述2)、4)、5)项的契约(Contract); 3不同机器之间模块之间的互操作; 要求机器间通信,要考虑不同Data encoding之间的转换,因此须要中间翻译;还要事先约定传输协议; 和进程之间的互操作一样;只不过Pipeline的实现不是通过共享内存,而是通过网络socket;其中的核心问题: 1) Identifier:IP +Port + DLL+ Procedure; 2) Data encoding (Data Representation); NDR 3)Network Transportation Protocol; 互操作的要点 客户和服务方之间的统一共识通过.h(头)文件来达成; 在同一进程中的互操作,通过编译器,链接器,加载器来完成; 在不同进程之间的互操作,通过开发工具产生存根和支持环境来完成; 互操作并没有给应用程序员带来额外负担,额外的工作由开发工具自动完成; 中间件优点 1使用中间件技术之后,软件的开发的重心从功能实现变成了功能组件的组合;解决了成本问题、开发周期问题、质量问题,提高了软件的利用率。 2软件的功能的扩充不再需要重新编译和链接,可以在二进制级完成软件功能的扩充;因此谁都可以对一个软件进行扩充,进行剪裁; 3总之中间件技术使得软件从封闭变得开放,变成可为别人服务,自己也可以扩充,取得了互利互赢的功效。 Benefits from JVM and .NET 实时自适应性,使用元数据,使得不同函数调用规程的代码可相互调用; 优化有两点: 1)减少代码;2)利用高速存储器; 变间接为直接:减少了代码:提高了效率;例如函数inline,省去了参数传递的代码,动态函数内联必须要实时编译;例如间接的函数调用变成了直接的函数调用; 存储器的访问速度不相同,register,memory;数据被访问的频率不相同;高访问频率的数据应该放到高速度的存储器中。提高了效率; 机器不相同,例如寄存器的数量不相同,原有的编译器只能保守地使用寄存器;VM能够发现机器的特征,尽量地利用机器特征; 代码被执行的频率不相同,对于高频率执行的代码应该多做一些上述优化; Interface 特性 二进制特性; 接口不变性; 继承性(纵向),和扩展性(横向); 全球范围内的标识性; 多态性——运行过程中的多态性; 对等性; 完全联通性; 接口中的交互性 运行环境要提供如下接口,供proxy来调用: class IPipeLine: public IUnknown { virtual int SendMessage(void *pmsg, int MsgLen) = 0; virtual int ReceiveMessage(void *pmsg) = 0; } Stub要提供如下接口,供服务器来调用: class IStub: public IUnkn

文档评论(0)

xx88606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档