服务端远程应用

远程应用  时间:2021-05-06  阅读:()

基于.
NETRemoting技术的分布式旅游管理平台设计与实现基于.
NETReting技术的分布式旅游管理平台设计与实现单位:天津大学,作者:丁俊,张亚平[摘要]本文首先阐述了.
NETReting技术的基本原理和框架.
针对目前旅游行业的电子商务平台架构的缺陷,本文研究与设计了一套基于.
NETReting技术的分布式旅游管理平台解决方案.
该平台基于多用户、高并发的特性,结合XL技术,使应用服务与eb服务器分离,为分布式的业务应用提供了高效可靠的架构.
最后,介绍了该平台的代码实现.

[关键词]旅游管理平台;分布式;.
NETReting技术;XL技术di:10.
3969/j.
issn.
1673-0194.
2011.
18.
045[中图分类号]F270.
7[文献标识码]A[文章编号]1673-0194(2011)18-0067-030引言随着当今电子商务的快速发展和旅游行业业务的不断拓展,人们越来越依赖网络在线完成旅游相关事宜,这就给旅游行业的从业者提出了新问题.
当用户规模到达一定数量级时,原先的简单架构已经不能满足日益增长的用户群在线操作的需求,搭建一个稳健的、易扩展的旅游管理平台迫在眉睫.

本文针对目前普通的旅游行业电子商务平台架构的缺陷,研究与设计了一套性能较高、易于扩展的旅游管理平台解决方案,该管理平台通过基础数据和核心业务的发布与管理集成,再结合系统权限管理,实现旅游业务数据的及时性和共享性.

1.
NETRemoting技术介绍1.
1.
NETRemoting概述.
NETRemoting是微软公司推出的远程服务框架,是构建分布式应用程序的一种编程模式,它提供了在不同应用程序域之间通过调用远程对象而进行交互的技术框架,能使信息在不同计算机、进程间远程传输[1].

1.
2.
NETRemoting技术框架.
NETRemoting中的远程基础结构由代理(Proxy)、通道(Channel)和消息(Formatter)组成.
代理是指模仿远程对象的本地对象,通道对象代表了本程序到远程应用程序的连接,每个通道对象都包含了一个将方法调用转换为已知格式的消息格式化程序对象,然后将消息发送到远程服务器上,客户端通道对象镜像在这个服务器上可以侦听请求.
其技术框架如图1所示.

2旅游管理平台的解决方案2.
1旅游管理平台概述旅游管理平台分为两大部分:旅游业务管理系统和门户网站系统(如图2所示).
其中,旅游业务管理系统包括:核心业务管理(旅游线路管理、订单管理、在线支付、业务统计、客户管理和财务管理等)和基础管理(用户管理、酒店管理、信息管理)模块;门户网站系统包括:业务信息发布和系统管理等模块.

2.
2旅游管理平台框架设计该旅游管理平台采用以.
NETRemoting技术框架为核心的多层架构,包括服务端、客户端两大部分,如图3所示.
服务端和客户端通过代理(Proxy)与通道(Channel)实现通信,具体业务由服务端对应代理和接口完成.
服务端负责接收客户端的请求,解析指令,访问数据库,并将结果返回到客户端;而客户端负责接收客户指令发送到服务端,并接受服务端返回的结果等.

2.
2.
1服务端(1)数据层:实现对所有业务数据、基础数据进行统一管理,采用数据库管理系统SQLServer2005实现.
(2)应用服务层:实现对前端请求服务的管理和所有应用系统的业务逻辑的处理,包括:旅游线路查询、酒店预订、票务服务等应用功能.
2.
2.
2客户端(1)表示层:表示层完成前端浏览器的控制流程,利用标准的C#、HTL、XML技术实现前后台的连接管理,利用ASP.
NET机制实现页面流程的控制以及页面请求的分发.
#p#分页标题#e#(2)客户层:客户层从表示层下载应用界面并在浏览器中显示,只需安装浏览器即可.
2.
3旅游平台的代码实现下面从.
NETRemoting技术角度阐述旅游管理平台的主要实现环节,整个平台由Remoting服务端和客户端构成.
本系统采用服务器端注册通道、客户端激活通道的方式,而具体的业务由专门的业务类来实现.

2.
3.
1服务器端的实现服务端具体业务方法通过(lyzx.
Services.
Interface.
dll)接口来实现其在客户端的代理调用,因该平台有多个服务组成,所以该平台引入了服务池概念(由HashTable构成的多个服务组合),通过服务端配置文件(XML)配置各个服务的通道类型、IP、Port、服务名称等.

服务端通道注册代码如下(其中chnl为服务端监听端口):ChannelServices.
RegisterChannel(chnl,false);LineServiceobjSOService=(ILineService)LineServiceFactory.
Create(objRemotingService.
URL,typeof(ILineService));服务端发布通道的服务代码如下(其中采用加锁的机制保持线程的同步):publicstaticobjectCreate(stringurl,TypeserviceObjType){returnRuntimeHelpers.
GetObjectValue(Activator.
GetObject(serviceObjType,url));}publicstaticstringGetRemoteServiceURL(stringchannel,stringip,stringport){returnstring.
Format("{0}://{1}:{2}/{3}",channel,ip,port,GetServiceUri(null));}publicstaticstringGetServiceUri(TypeserviceObjType){return"lineservice.
rem";}2.
3.
2客户端的实现客户端激活通道,并根据配置文件(XML文件,主要针对.
NETRemoting服务器的信息、各个服务进行配置)中所配置的通道类型(INTEGRATEDSEARCH_CHANNEL)、服务器IP(INTEGRATEDSEARCH_IP)、Port(INTEGRATEDSEARCH_PORT)以及通道类型(Line_URI)获取对应服务.

客户端激活通道对象代码实现如下:publicstaticobjectCreate(stringurl,TypeserviceObjType){returnActivator.
GetObject(serviceObjType,url);}publicstaticstringGetRemoteServiceURL(stringchannel,stringip,stringport,stringuri){returnstring.
Format("{0}://{1}:{2}/{3}",channel,ip,port,uri);}publicstaticstringGetServiceUri(){return"lineservice.
rem";}#p#分页标题#e#对应具体业务服务如下:publicstaticILineServiceCreateClient(){ILineServiceobjService=ServiceFactory.
Create(ServiceFactory.
GetRemoteServiceURL(PortalConfig.
INTEGRATEDSEARCH_CHANNEL,PortalConfig.
INTEGRATEDSEARCH_IP,PortalConfig.
INTEGRATEDSEARCH_PORT,PortalConstants.
Line_URI),typeof(ILineService))asILineService;returnobjService;}2.
2.
3远程对象的实现系统中采用了接口概念,接口的实现类完成参数的验证,访问数据库,并且返回查询结果.
由于Remoting传递的对象是以引用的方式,因此所传递的远程对象类必须继承MarshalByRefObject.
远程对象,也就是本系统的各个服务,它们是该平台的主要功能部分,主要包含线路服务(LineService)、订单服务(TicketService)、酒店服务(HotelService)和其他一些基本服务等.

下面以线路查询为例,简单介绍远程对象在.
NETRemoting中的实现过程.
由于数据较多,所以采用数据库分页技术,第一个参数是输入输出参数,是多个简单条件组合的xml字符串.
model_xml为输入输出型,显示输入为条件,输出为结果.
输入时为多个简单条件组合的xml字符串;输出时也是多个记录组成的xml串的结果集.

服务端代码如下:publicinterfaceILineService{intLineInfoList(refstringmodel_xml,intpageindex,intpagesize,refintrecoadcount);}前已述及,客户端通过服务端提供的并且已经实现的远程对象封装类接口[lyzx.
Services.
Interface.
dll]获得服务端方法,以线路中的[LineInfoList]方法举例,其中第一个参数同上.

publicstaticintLineInfoList(refstringmodel_xml,intpageindex,intpagesize,refintrecoadcount){returnCreateClient().
LineInfoList(refmodel_xml,pageindex,pagesize,refrecoadcount);}3结束语本文首先阐述了.
NETRemoting技术的基本原理和框架,并详细介绍了基于.
NETRemoting技术的分布式旅游管理平台设计与实现的解决方案.
该平台基于多用户、高并发的特性,使应用服务与Web服务器分离,为分布式的业务应用提供了高效可靠的架构.
通过使用.
NETRemoting技术框架,能够方便地解决数据和命令的远程传递问题,使系统中对数据的各种操作变得高效、可靠,同时易于解决数据的完整性和一致性问题.

古德云香港cn2/美国cn235元/月起, gia云服务器,2核2G,40G系统盘+50G数据盘

古德云(goodkvm)怎么样?古德云是一家成立于2020年的商家,原名(锤子云),古德云主要出售VPS服务器、独立服务器。古德云主打产品是香港cn2弹性云及美西cn2云服务器,采用的是kvm虚拟化构架,硬盘Raid10。目前,古德云香港沙田cn2机房及美国五星级机房云服务器,2核2G,40G系统盘+50G数据盘,仅35元/月起,性价比较高,可以入手!点击进入:古德云goodkvm官方网站地址古德...

3元/首月香港便宜vps究竟是什么货。

便宜的香港vps多少钱?现在国外VPS主机的价格已经很便宜了,美国VPS主机最低一个月只要十几元,但同样免备案的香港VPS价格贵不贵呢?或者说便宜的香港VPS多少钱?香港vps主机价格要比美国机房的贵一些,但比国内的又便宜不少,所以目前情况是同等配置下,美国VPS比香港的便宜,香港VPS比国内(指大陆地区)的便宜。目前,最便宜香港vps低至3元/首月、18元/月起,今天云服务器网(www.yunt...

PQ.hosting:香港HE/乌克兰/俄罗斯/荷兰/摩尔多瓦/德国/斯洛伐克/捷克vps,2核/2GB内存/30GB NVMe空间,€3/月

PQ.hosting怎么样?PQ.hosting是一家俄罗斯商家,正规公司,主要提供KVM VPS和独立服务器,VPS数据中心有香港HE、俄罗斯莫斯科DataPro、乌克兰VOLIA、拉脱维亚、荷兰Serverius、摩尔多瓦Alexhost、德国等。部分配置有变化,同时开通Paypal付款。香港、乌克兰、德国、斯洛伐克、捷克等为NVMe硬盘。香港为HE线路,三网绕美(不太建议香港)。免费支持wi...

远程应用为你推荐
primarily网易yeahlinux防火墙设置LINUX系统怎么关闭防火墙重庆网络公司一九互联重庆畅融科技有限公司怎么样?重庆电信断网这几天为什么重庆电信的网络总是这么不稳定outlookexpress家里电脑老是弹出“outlook express”这个东西,怎么除去啊?支付宝调整还款日支付宝还款日期可以更改吗?flashfxp下载我想下载一个FlashFXP 4.0.0 Build 1510 简体中文版的软件,可是不知道下载地址,希望大家帮帮我?银花珠树晓来看下雪喝酒的诗句工具条有什么工具条比较好账号通如何绑定天下贰手机账号通?
深圳域名注册 vps服务器 拜登买域名批特朗普 新通用顶级域名 liquidweb linkcloud kddi 12u机柜尺寸 圣诞节促销 铁通流量查询 三拼域名 网站在线扫描 彩虹云 1美元 攻击服务器 网络速度 国外代理服务器 睿云 中国电信宽带测速 privatetracker 更多