基于.
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技术框架,能够方便地解决数据和命令的远程传递问题,使系统中对数据的各种操作变得高效、可靠,同时易于解决数据的完整性和一致性问题.
imidc怎么样?imidc彩虹网路,rainbow cloud知名服务器提供商。自营多地区数据中心,是 Apnic RIPE Afrinic Arin 认证服务商。拥有丰富的网路资源。 在2021年 6.18 开启了输血大促销,促销区域包括 香港 台湾 日本 莫斯科 等地促销机型为 E3係,参与促销地区有 香港 日本 台湾 莫斯科 等地, 限量50台,售罄为止,先到先得。所有服务器配置 CPU ...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...
ucloud云服务器怎么样?ucloud为了扩大云服务器市场份额,给出了超低价云服务器的促销活动,活动仍然是此前的Ucloud全球大促活动页面。目前,ucloud国内云服务器2元/月起;香港云服务器4元/首月;台湾云服务器3元/首月。相当于2-4元就可以试用国内、中国香港、中国台湾这三个地域的云服务器1个月了。ucloud全球大促仅限新用户,国内云服务器个人用户低至56元/年起,香港云服务器也仅8...