服务端远程应用

远程应用  时间: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技术框架,能够方便地解决数据和命令的远程传递问题,使系统中对数据的各种操作变得高效、可靠,同时易于解决数据的完整性和一致性问题.

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

云基Yunbase无视CC攻击(最高500G DDoS防御),美国洛杉矶CN2-GIA高防独立服务器,

云基yunbase怎么样?云基成立于2020年,目前主要提供高防海内外独立服务器,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)。目前,美国洛杉矶CN2-GIA高防独立服务器,8核16G,最高500G ...

georgedatacenter39美元/月$20/年/洛杉矶独立服务器美国VPS/可选洛杉矶/芝加哥/纽约/达拉斯机房/

georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,georgedatacenter是一家成立于2019年的美国VPS商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacenter的VPS采用KVM和VMware虚拟化,可以选择windows...

远程应用为你推荐
操作httpphpwindPHPWind 都有什么功能重庆电信断网为什么电信宽带突然断网了cisco2960配置Cisco2960是二层交换机,怎么可以进入配置界面进行配置。不是说二层交换机不需要配置吗?重庆电信dns重庆电信 路由器连接另一个电脑,本地连接的IP是多少,?DNS首选,备用 服务器是多少?sns网站有哪些中国都有哪些sns网站?还有它们都是哪个类型的?yixingjia通配符的使用方法大飞资讯单仁资讯集团怎么样三五互联股票三五互联是什么股票dedecms自动采集织梦CMS系统的采集功能不知道怎么采集软件。
如何注销域名备案 awardspace 谷歌香港 permitrootlogin info域名 京东云擎 湖南服务器托管 129邮箱 免费全能主机 linux服务器维护 中国网通测速 华为云盘 lamp的音标 美国迈阿密 创速 沈阳idc 蓝队云 美国主机 webmin 美国西雅图独立 更多