《建立分布式企业内部网络应用.ppt》由会员分享,可在线阅读,更多相关《建立分布式企业内部网络应用.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、建立分布式企业内部建立分布式企业内部网络应用网络应用议程议程n n结构概述结构概述n n托管服务托管服务n n激活服务激活服务n n与与COM+集成集成n n可扩展结构可扩展结构应用应用Remoting技术的情况技术的情况n n从从.NET到到.NEToo在本地应用程序、进程和层之间使用在本地应用程序、进程和层之间使用在本地应用程序、进程和层之间使用在本地应用程序、进程和层之间使用RemotingRemotingn n从从.NET到到COM+oo使用使用使用使用RemotingRemoting访问远程访问远程访问远程访问远程COM+COM+组件组件组件组件n n从从COM+到到.NETooCO
2、MCOM客户端可以使用客户端可以使用客户端可以使用客户端可以使用RemotingRemoting访问访问访问访问.NET.NET服服服服务务务务Remoting技术框图技术框图客户端客户端代理代理代理代理格式处理器格式处理器格式处理器格式处理器信道信道信道信道服务端服务端调度程序调度程序调度程序调度程序格式处理器格式处理器格式处理器格式处理器信道信道信道信道方法方法方法方法调用调用调用调用调度顺序调度顺序n n根据对象值(根据对象值(Value)oo建立对象拷贝并发送建立对象拷贝并发送建立对象拷贝并发送建立对象拷贝并发送oo接收端操作对象的拷贝接收端操作对象的拷贝接收端操作对象的拷贝接收端操作
3、对象的拷贝oo要求要求要求要求 串行串行串行串行 oo应用串行来定制应用串行来定制应用串行来定制应用串行来定制n n根据参数(根据参数(Reference)oo扩展扩展扩展扩展System.MarshalByRefObjectSystem.MarshalByRefObject对象对象对象对象oo接收端生成对象的参数并发送给发送端接收端生成对象的参数并发送给发送端接收端生成对象的参数并发送给发送端接收端生成对象的参数并发送给发送端oo方法访问发送端的参数,并返回给接收端方法访问发送端的参数,并返回给接收端方法访问发送端的参数,并返回给接收端方法访问发送端的参数,并返回给接收端oo对象生命周期有限
4、但可以设置对象生命周期有限但可以设置对象生命周期有限但可以设置对象生命周期有限但可以设置oo根据生命周期配置文件在开始分配时间根据生命周期配置文件在开始分配时间根据生命周期配置文件在开始分配时间根据生命周期配置文件在开始分配时间oo忽略在开始时分配生命周期的服务来定制忽略在开始时分配生命周期的服务来定制忽略在开始时分配生命周期的服务来定制忽略在开始时分配生命周期的服务来定制代理代理n n确保本地透明确保本地透明n n透明代理透明代理oo应用时像远端的对象应用时像远端的对象应用时像远端的对象应用时像远端的对象n n真实代理真实代理oo进行真正的工作进行真正的工作进行真正的工作进行真正的工作oo对
5、客户端隐藏对客户端隐藏对客户端隐藏对客户端隐藏n nRemoting允许定制代理允许定制代理oo后面有更多内容后面有更多内容后面有更多内容后面有更多内容格式处理器格式处理器n n二进制二进制二进制二进制oo提供快速二进制编码提供快速二进制编码提供快速二进制编码提供快速二进制编码oo紧凑格式紧凑格式紧凑格式紧凑格式oo最适于从内存拷贝到网络最适于从内存拷贝到网络最适于从内存拷贝到网络最适于从内存拷贝到网络oo字节序列字节序列字节序列字节序列oo结构简单结构简单结构简单结构简单oo完全通用完全通用完全通用完全通用n nSoapSoapoo提供了最好的协作能力提供了最好的协作能力提供了最好的协作能力
6、提供了最好的协作能力oo经过防火墙,范围广经过防火墙,范围广经过防火墙,范围广经过防火墙,范围广oo基于标准基于标准基于标准基于标准n n自定义自定义自定义自定义oo困难,但可行困难,但可行困难,但可行困难,但可行信道信道n nTcp信道信道oo默认二进制协议默认二进制协议默认二进制协议默认二进制协议oo连接池的连接池的连接池的连接池的TcpTcp接口接口接口接口oo非常适合于服务器到服务器,企业内部网络等非常适合于服务器到服务器,企业内部网络等非常适合于服务器到服务器,企业内部网络等非常适合于服务器到服务器,企业内部网络等等等等等n nHttp信道信道oo默认默认默认默认SOAPSOAP协议
7、协议协议协议oo连接池的连接池的连接池的连接池的HttpHttp接口接口接口接口oo启动和测试简单启动和测试简单启动和测试简单启动和测试简单n n定制定制oo困难,但可行困难,但可行困难,但可行困难,但可行Remoting技术框图技术框图#2客户端客户端代理代理代理代理格式处理器格式处理器格式处理器格式处理器信道信道信道信道服务端服务端调度程序调度程序调度程序调度程序格式处理器格式处理器格式处理器格式处理器信道信道信道信道方法方法方法方法调用调用调用调用从从.NET到到.NETn n保持原来的所有类型保持原来的所有类型oo任何满足任何满足任何满足任何满足CLSCLS语言语言语言语言oo通用语言
8、说明通用语言说明通用语言说明通用语言说明ooC#,Visual BasicC#,Visual Basic .NET,Cobol.NET,Cobol,等等,等等,等等,等等oo完全完全完全完全CTSCTSoo通用类型系统(通用类型系统(通用类型系统(通用类型系统(CTSCTS)oo类、接口、域、属性、方法、事件、授权类、接口、域、属性、方法、事件、授权类、接口、域、属性、方法、事件、授权类、接口、域、属性、方法、事件、授权oo用户定义类型用户定义类型用户定义类型用户定义类型oo数据集、哈希表、列表,等等数据集、哈希表、列表,等等数据集、哈希表、列表,等等数据集、哈希表、列表,等等oo用户自己的类
9、型用户自己的类型用户自己的类型用户自己的类型远端对象托管远端对象托管n n远端对象需要托管程序远端对象需要托管程序n n托管程序行为托管程序行为oo听从到来的需求听从到来的需求听从到来的需求听从到来的需求oo分派对对象的调用分派对对象的调用分派对对象的调用分派对对象的调用n n托管选项托管选项ooIISIISoo用户应用程序用户应用程序用户应用程序用户应用程序使用使用IIS托管托管n n创建创建IIS虚拟路径应用程序虚拟路径应用程序n n将组件拷贝到将组件拷贝到bin子目录子目录n n在在vdir中创建中创建web.config文件文件IIS托管配置文件托管配置文件n n文件名文件名文件名文件
10、名web.configweb.confign n 服务标签服务标签服务标签服务标签oo模式模式模式模式oo单一调用单一调用单一调用单一调用oo最常用,无界限最常用,无界限最常用,无界限最常用,无界限oo单元素单元素单元素单元素oo用于非共享资源用于非共享资源用于非共享资源用于非共享资源oo用户必须自己管理线程及并发用户必须自己管理线程及并发用户必须自己管理线程及并发用户必须自己管理线程及并发oo类型类型类型类型oo必须是类型名,集合必须是类型名,集合必须是类型名,集合必须是类型名,集合ooobjectUriobjectUrioo必须以必须以必须以必须以.soap.soap或或或或.rem.re
11、m结尾结尾结尾结尾web.config示例示例 wellknown objectUri=“Uri“/用户主程序托管用户主程序托管n n创建可执行文件创建可执行文件oo应用程序或服务应用程序或服务应用程序或服务应用程序或服务oo调用调用调用调用RemotingConfiguration.ConfigureRemotingConfiguration.Configureoo使用配置文件使用配置文件使用配置文件使用配置文件n n创建配置文件创建配置文件n n开始主程序开始主程序用户主程序配置文件用户主程序配置文件n n对用户主程序:对用户主程序:对用户主程序:对用户主程序:oo主程序配置文件:主程序配
12、置文件:主程序配置文件:主程序配置文件:appname.exe.config.exe.confign n 服务标签服务标签服务标签服务标签oo模式模式模式模式oo单一调用单一调用单一调用单一调用oo单元素单元素单元素单元素oo类型类型类型类型oo必须是类型名,集合必须是类型名,集合必须是类型名,集合必须是类型名,集合ooobjectUriobjectUrioo可以是任意合法的可以是任意合法的可以是任意合法的可以是任意合法的URIURIn n注意:不要使用注意:不要使用注意:不要使用注意:不要使用8080端口!端口!端口!端口!用户配置示例用户配置示例 wellknown objectUri=“
13、Uri“/远端对象托管远端对象托管激活激活n n使用如下使用如下3种简单技术中的任一种种简单技术中的任一种1.1.创建客户端配置文件创建客户端配置文件创建客户端配置文件创建客户端配置文件2.2.注册通用类型注册通用类型注册通用类型注册通用类型3.3.调用调用调用调用Activator.Activator.GetObjectGetObject对象对象对象对象创建客户端配置文件创建客户端配置文件n n简单和灵活的配置简单和灵活的配置简单和灵活的配置简单和灵活的配置n n改变后不需重新编译改变后不需重新编译改变后不需重新编译改变后不需重新编译n n可选择信道和格式处理器可选择信道和格式处理器可选择信
14、道和格式处理器可选择信道和格式处理器n n在载入配置文件后,只需使用在载入配置文件后,只需使用在载入配置文件后,只需使用在载入配置文件后,只需使用 newnew RemotingConfiguration.Configure(configFile);RemotingConfiguration.Configure(configFile);NS.Type object=new NS.Type();NS.Type object=new NS.Type();注册通用类型注册通用类型n n配置文件不是必需的配置文件不是必需的n n需要重新编译来改变需要重新编译来改变URIn n在注册类型后,只需使用在注
15、册类型后,只需使用newType type=typeof(NS.Type);Type type=typeof(NS.Type);string url=“http:/Uri;string url=“http:/Uri;RemotingConfiguration.RegisterWellKnownClientType(type,url);RemotingConfiguration.RegisterWellKnownClientType(type,url);NS.Type object=new NS.Type();NS.Type object=new NS.Type();Activator.GetO
16、bject对象对象n n返回新的实例返回新的实例n n不使用不使用new 操作符操作符n n适用于多个适用于多个URL地址地址Type type=typeof(NS.Type);Type type=typeof(NS.Type);string url=“http:/Uri;string url=“http:/Uri;NS.Type obj=(NS.Type)Activator.GetObject(type,url);NS.Type obj=(NS.Type)Activator.GetObject(type,url);激活远端对象激活远端对象获得类型信息获得类型信息n n问题问题oo如果没有原始
17、类型集合怎么办如果没有原始类型集合怎么办如果没有原始类型集合怎么办如果没有原始类型集合怎么办?oo如果未使用接口怎么办如果未使用接口怎么办如果未使用接口怎么办如果未使用接口怎么办?n n解决解决ooSoapSudsSoapSuds工具工具工具工具SoapSudsn n客户端在编译前得到元数据客户端在编译前得到元数据n nSoapsuds工具装载工具装载with.NET SDKn n创建创建oo集合、表单,或集合、表单,或集合、表单,或集合、表单,或C#C#代码代码代码代码oo基于基于基于基于WSDLWSDLsoapsuds soapsuds-url:http:/Url?WSDL-url:htt
18、p:/Url?WSDL-oa:Assembly.dll-oa:Assembly.dll从从.NET到到COM+从从COM+到到.NETn n问题问题oo有原有的有原有的有原有的有原有的COM+COM+组件么组件么组件么组件么?oo由原有的由原有的由原有的由原有的COM+COM+客户端么客户端么客户端么客户端么?oo希望在希望在希望在希望在.NET.NET世界中使用它们么世界中使用它们么世界中使用它们么世界中使用它们么?n n解决解决oo使用使用使用使用COM+WebCOM+Web服务服务服务服务COM+组件组件n n显示为远端节点显示为远端节点n n不需编写新代码不需编写新代码n n在管理工具
19、中只有单一选择在管理工具中只有单一选择oo应用程序激活标签应用程序激活标签应用程序激活标签应用程序激活标签oo为为为为.NET.NET设置设置设置设置COMCOM组件组件组件组件oo自动生成自动生成自动生成自动生成VDIRVDIR、网页、设置,和原数据网页、设置,和原数据网页、设置,和原数据网页、设置,和原数据n n可以从可以从Windows XP&.NET Server获得获得COM+客户端客户端n n从从COM+访问远程节点访问远程节点n n使用使用SOAP标记标记ooGetObject(“soap:wsdl=http:/url_to_wsdl”)GetObject(“soap:wsdl=
20、http:/url_to_wsdl”)n n动态动态WSDL下载下载n n在磁盘上另存为在磁盘上另存为TLBn n使用使用.NET Remoting技术技术oo调用通过调用通过调用通过调用通过HTTP/SOAPHTTP/SOAP发送发送发送发送COM+Web服务服务可扩展结构可扩展结构n n截取截取截取截取oo代理代理代理代理 将桢调用栈转换成消息将桢调用栈转换成消息将桢调用栈转换成消息将桢调用栈转换成消息oo发送器发送器发送器发送器 将消息转换成桢调用栈并调用方法处理对象将消息转换成桢调用栈并调用方法处理对象将消息转换成桢调用栈并调用方法处理对象将消息转换成桢调用栈并调用方法处理对象n n格
21、式处理器格式处理器格式处理器格式处理器 oo将消息转换成字节流将消息转换成字节流将消息转换成字节流将消息转换成字节流ooSOAP SOAP 完全服从于完全服从于完全服从于完全服从于SOAP 1.1SOAP 1.1oo二进制二进制二进制二进制 高速并且从高速并且从高速并且从高速并且从.NET.NET到到到到.NET.NET的传送保持一致的传送保持一致的传送保持一致的传送保持一致oo自动循环自动循环自动循环自动循环可扩展结构可扩展结构n n信道信道oo传送字节流传送字节流传送字节流传送字节流ooHTTP HTTP 适于防火墙和适于防火墙和适于防火墙和适于防火墙和httphttp代理服务器代理服务器
22、代理服务器代理服务器ooTCP TCP 高速接口通讯高速接口通讯高速接口通讯高速接口通讯oo自动循环自动循环自动循环自动循环oo例如:管道、例如:管道、例如:管道、例如:管道、SMTHSMTH、MSMQMSMQ、MQMQ序列序列序列序列n n信道接收信道接收oo接通信道管道来处理字节流接通信道管道来处理字节流接通信道管道来处理字节流接通信道管道来处理字节流oo格式处理器和传送接受器接通格式处理器和传送接受器接通格式处理器和传送接受器接通格式处理器和传送接受器接通oo自动循环自动循环自动循环自动循环oo例如例如例如例如:日志、日志、日志、日志、IPIP过滤器、过滤器、过滤器、过滤器、WebServerWebServer、加密、加密、加密、加密