基于C_的连锁酒店管理系统的设计与实现_胡建华
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先 , 创建 一个 用 Visual C #描述 的 ASP .NET Web 服务 。 在 Visual Studio .NET 中 , Web 服务由两个 部分组成 :入口点和实现代码 。这两部分分开存放于 两个文件中 , 其入口点对应于 .asmx 文件 , 而实现 Web 服务功能的代码位于后台代码文件 .asmx .cs 中 。 把 这两个部分分开存放的好处是后台代码文件将被预 先编译成程序集 , 在请求时可以直接装入执行 , 这可 以提高应用程序的性能 。 远程预定的代码如下 :
②集团公司高层管理人员在外地也能及时地了 解各个酒店的各项业务情况 。 比如入住情况 、空房情 况 、预订情况等 。
③收购的两家酒店原来都有完整的酒店管理系 统 , 集团公司不想再投入新的硬件及软件系统 , 而希 望新系统能够兼容原来的系统 , 并且能协调工作 。
④各个酒店内部的歌舞厅 、餐厅、桑拿等部门都是独 立的 ,但凭酒店的住宿卡能刷卡消费 ,实现一卡通。
1 问题的提出
某家集团公司收购了南昌两家酒店 , 并且还要新
开一家酒店 。它的主要要求有 : ①各酒店能互相查询空房情况 , 进行即时调剂 ,
最大限度地提高入住率 。 比如一家酒店已经住满 , 若 还有客人来 , 可即时查询到另两家酒店是否有满足客 人要求的空房 , 若有则立刻就能够预订 , 并有专车送 客人前往住宿 。
2006 年第 8 期
胡建华等 :基于 C #的连锁酒店管理系统的设计与实现
1 15
sdi.Import(cns , ccu);
④对生成的源代码进行相应的修改 , 以使之符合
要求
CSharpCodeProvider cscp=new CSharpCodeProvider(); CompilerParameters cp=new CompilerParameters(); cp .OutputAssembly =assfileName ; // 导入程序集 cp .ReferencedAssemblies.Add(″System.dll″); cp .ReferencedAssemblies.Add(″System.Xml .dll″); cp .ReferencedAssemblies.Add(″System.Web.Services .dll″); cp .ReferencedAssemblies.Add(″System.Data .dll″);
2 解决方案与实现方法
在前面提到的这四种需求当中 , 都处在一个异构 环境中 , 也就是说 , 客户在各个单独的系统模块中 , 已 经建立了完善的软件架构 。 现在需要做的就是有效 地去沟通这些系统 , 而不是去重新设计 。 在保留现有 资源的基础上 , 我们实际上是去整合多个异构系统 , 而不是去重构它们 , 而这恰恰就是 Web Service 的特
3 .2 客户端
我们要想建立客户 端去访问 Web Service 的话 , 必须通过两个步 骤 。 首先 , 定 位 Web 服务并生成相 应的 Web 服务代理类 ;然后 , 在客户程序中把代理类 实例化 ;最后 , 调用实例化的对象 , 去访问 Web Service 提供的方法 。其过程和部分代码实现如下 :
HU Jian-hua , YANG Jun
(Computer Department, Jiangxi Tourism and Commerce College , Nanchang 330039 , China)
Abstract :This paper introduces development of the chain cabaret management system based on C # technology , which is put into practice with Web service technology .Also , a new model of the chain cabaret management system is provided. Key words:C #;chain cabaret mangement system;Web Service
2006 年第 8 期
长 , 所以我们决定通过 Web Service 来解决这个案例 。 Web Service 本质上就是一个异构平台下的远程
过程调用(RPC - Remote Procedure Call)。Web Service 服务首先是一种提供服务的应用程序逻辑 ;其次它建 立在被普遍接受的标准协议之上 , 因此它可以被任意 的系统和开发语言所支持 ;最后 , 它主要由程序代码 使用 , 而不是最终用户 。
0 引 言
随着旅游业 、酒店服务业的迅速发展 , 出现了连 锁酒店这种经营模式 。 即一个老板在同一个城市建 设或收购了几家酒店 , 使他的服务容量得到了成倍的 提高 。 如何构建一个功能较为全面的 、低成本 、高效 益 、可扩展的连锁酒店管理系统成为目前需要研究的 问题 。
国内现有的酒店管理系统都是针对单个酒店开 发的 , 各酒店之间信息彼此孤立 。 这样就会产生一家 酒店因客满而跑客 , 而另一家连锁店却空房的现象 , 无法发挥连锁经营的作用 。
①输入 WSDL 文档地址 。 ②根据输入的 WSDL 文档的地址获 取 WSDL 文 档的内容 。
WebRequest req=WebRequest.Create(uri); WebResponse result =req .GetResponse();
③使用相应的类从 WSDL 文档生成 C #源代码 。
本文将 Web Services 技术引入到连锁酒店管理中 来 。因为相对于传统的分布式技术 , Web Services 具 有松耦合 、跨平台的特点 。利用它不需要更改酒店原 来的软 、硬件平台及管理系统就能轻松实现酒店间的 信息共享 , 快速构建一个高效 、开放 、互动型强的连锁 酒店管理系统 。 既节约了成本 , 又实现功能 , 可起到 事半功倍的效果 。
CodeNamespace cns=new CodeNamespace(″HotelReserve″); // 创建对象用来生成代理类源程序 CodeCompileUnit ccu = new CodeCompileUnit(); ccu .Nam esp aces .Add(cns); ServiceDescriptionImporter sdi =new ServiceDescriptionImporter (); sdi.AddServiceDescription(sd, null, null); sdi.ProtocolName =protocalName ; // 从指定命名空间导入
[ WebMethod] public int HotelReserve(string strRoomID , string strRoomType , string strRoomPrice) {SqlConnection Con=new SqlConnection(cwk.baidu.comnnStr); / / 访问指定的存储过程“pHotelReserve” , 完成预定
收稿日期 :2006-03-22 作者简介 :胡建华(1971-), 男 , 江西 南昌人 , 江西旅游商贸职业学院计算机系副教授 , 硕士 , 研究方 向 :软件工程 , 数据库技术 ; 杨军(1982-), 男 , 江西萍乡人 , 助讲 , 本科 , 研 究方向 :数据库开发 。
1 14
计 算 机 与 现 代 化
SqlCommand Com=new SqlCommand(″pHotelReserve″, Con); Com.CommandType =CommandType .StoredProcedure ; // 设置输入参数 Com.Parameters.Add(newSqlParameter(″@RoomID″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″@ RoomType″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″@ RoomPrice″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″ @ ReserveID″, SqlDbType .VarChar , 20)); Com.Parameters[″@RoomID″] .Value =strRoomID ; Com.Parameters[″@RoomType″] .Value =strRoomType; Com.Parameters[″@RoomPrice″] .Value =strRoomPrice ; / / 预订编号由函数 GetNewID()获得 Com.Parameters[″@ReserveID″] .Value =GetNewID(); Com.Parameters[″@RoomID″] .Direction =ParameterDirection. Input ; Com.Parameters[ ″@ RoomType″] .Direction =ParameterDirection .Input; Com.Parameters[ ″@RoomRoomPrice″] .Direction =ParameterDi rection .Inpu t ; Com.Parameters[ ″@ReserveID″] .Direction =ParameterDirection .Input; // 设置输出参数 Com.Parameters.Add(new SqlParameter(″@ Result″, SqlDbType .SmallInt)); Com.Parameters[ ″@Result″] .Direction =ParameterDirection. Output ; Com .ExecuteNonQu ery(); // 返回结果 , 1 表示成功执 行 , 0 表示预订不成功 return Com.Parameters[ ″@Result″] .Value .ToString();}
2006 年第 8 期 文章编号 :1006-2475(2006)08-0113-03
计 算机 与 现 代 化 JISUANJI YU XIANDAIHUA
总第 132 期
基于 C #的连锁酒店管理系统的设计与实现
胡建华 , 杨 军
(江西旅游商贸职业学院计算机系 , 江西 南昌 330039)
在异构的环境中 , 存在着各种各样的硬件设备和 操作系统 , 运行着使用不同语言 、不同技术开发的应 用程序 。 但是这些异构系统之间却存在着一个共同 之处 , 即它 们使 用标准 的 HTTP 协议连 接到 Internet 上 , 并传送着标准的 HTML 页面 。 正是这些标准的使 用 , Internet 才会如此迅速地发展 , 而 Web Service 服务 正是建立在标准的协议和规范之上 。任何系统 , 只要 支持这些标准的协议和规范 , 就可以使用 Web Service 服务 , 因此 Web Service 服务天生就具有跨平台的特 性 。Web Service 的体系结构如图 1 。
鉴于 Web Service 的这种特点 , 我们把 SOAP 消息 附加在 HTTP 消息中传递 , 并通过被各种平台广泛支 持的 XML 来描述数据 。
3 实现方法
我们以远程预定模块为例 , 阐述 Web Service 的 实现方法 。
该模块包括服务端和客户端 ,服务端提供远程查询 和远程预定方法 , 而客户端访问由服务端提供的方法 。 3 .1 服务器端
摘要 :介绍了基于 C#开发连锁酒店管理系统 , 采用 Web Service 技术实现 , 提供了一种全新的连锁酒 店管理系统模型 。 关键词 :C #;连锁酒店管 理系统 ;Web Service 中图分类号 :TP311.52 文献标识码 :A
Design and Realization of Chain Cabaret Management System Based on C # Technology
②集团公司高层管理人员在外地也能及时地了 解各个酒店的各项业务情况 。 比如入住情况 、空房情 况 、预订情况等 。
③收购的两家酒店原来都有完整的酒店管理系 统 , 集团公司不想再投入新的硬件及软件系统 , 而希 望新系统能够兼容原来的系统 , 并且能协调工作 。
④各个酒店内部的歌舞厅 、餐厅、桑拿等部门都是独 立的 ,但凭酒店的住宿卡能刷卡消费 ,实现一卡通。
1 问题的提出
某家集团公司收购了南昌两家酒店 , 并且还要新
开一家酒店 。它的主要要求有 : ①各酒店能互相查询空房情况 , 进行即时调剂 ,
最大限度地提高入住率 。 比如一家酒店已经住满 , 若 还有客人来 , 可即时查询到另两家酒店是否有满足客 人要求的空房 , 若有则立刻就能够预订 , 并有专车送 客人前往住宿 。
2006 年第 8 期
胡建华等 :基于 C #的连锁酒店管理系统的设计与实现
1 15
sdi.Import(cns , ccu);
④对生成的源代码进行相应的修改 , 以使之符合
要求
CSharpCodeProvider cscp=new CSharpCodeProvider(); CompilerParameters cp=new CompilerParameters(); cp .OutputAssembly =assfileName ; // 导入程序集 cp .ReferencedAssemblies.Add(″System.dll″); cp .ReferencedAssemblies.Add(″System.Xml .dll″); cp .ReferencedAssemblies.Add(″System.Web.Services .dll″); cp .ReferencedAssemblies.Add(″System.Data .dll″);
2 解决方案与实现方法
在前面提到的这四种需求当中 , 都处在一个异构 环境中 , 也就是说 , 客户在各个单独的系统模块中 , 已 经建立了完善的软件架构 。 现在需要做的就是有效 地去沟通这些系统 , 而不是去重新设计 。 在保留现有 资源的基础上 , 我们实际上是去整合多个异构系统 , 而不是去重构它们 , 而这恰恰就是 Web Service 的特
3 .2 客户端
我们要想建立客户 端去访问 Web Service 的话 , 必须通过两个步 骤 。 首先 , 定 位 Web 服务并生成相 应的 Web 服务代理类 ;然后 , 在客户程序中把代理类 实例化 ;最后 , 调用实例化的对象 , 去访问 Web Service 提供的方法 。其过程和部分代码实现如下 :
HU Jian-hua , YANG Jun
(Computer Department, Jiangxi Tourism and Commerce College , Nanchang 330039 , China)
Abstract :This paper introduces development of the chain cabaret management system based on C # technology , which is put into practice with Web service technology .Also , a new model of the chain cabaret management system is provided. Key words:C #;chain cabaret mangement system;Web Service
2006 年第 8 期
长 , 所以我们决定通过 Web Service 来解决这个案例 。 Web Service 本质上就是一个异构平台下的远程
过程调用(RPC - Remote Procedure Call)。Web Service 服务首先是一种提供服务的应用程序逻辑 ;其次它建 立在被普遍接受的标准协议之上 , 因此它可以被任意 的系统和开发语言所支持 ;最后 , 它主要由程序代码 使用 , 而不是最终用户 。
0 引 言
随着旅游业 、酒店服务业的迅速发展 , 出现了连 锁酒店这种经营模式 。 即一个老板在同一个城市建 设或收购了几家酒店 , 使他的服务容量得到了成倍的 提高 。 如何构建一个功能较为全面的 、低成本 、高效 益 、可扩展的连锁酒店管理系统成为目前需要研究的 问题 。
国内现有的酒店管理系统都是针对单个酒店开 发的 , 各酒店之间信息彼此孤立 。 这样就会产生一家 酒店因客满而跑客 , 而另一家连锁店却空房的现象 , 无法发挥连锁经营的作用 。
①输入 WSDL 文档地址 。 ②根据输入的 WSDL 文档的地址获 取 WSDL 文 档的内容 。
WebRequest req=WebRequest.Create(uri); WebResponse result =req .GetResponse();
③使用相应的类从 WSDL 文档生成 C #源代码 。
本文将 Web Services 技术引入到连锁酒店管理中 来 。因为相对于传统的分布式技术 , Web Services 具 有松耦合 、跨平台的特点 。利用它不需要更改酒店原 来的软 、硬件平台及管理系统就能轻松实现酒店间的 信息共享 , 快速构建一个高效 、开放 、互动型强的连锁 酒店管理系统 。 既节约了成本 , 又实现功能 , 可起到 事半功倍的效果 。
CodeNamespace cns=new CodeNamespace(″HotelReserve″); // 创建对象用来生成代理类源程序 CodeCompileUnit ccu = new CodeCompileUnit(); ccu .Nam esp aces .Add(cns); ServiceDescriptionImporter sdi =new ServiceDescriptionImporter (); sdi.AddServiceDescription(sd, null, null); sdi.ProtocolName =protocalName ; // 从指定命名空间导入
[ WebMethod] public int HotelReserve(string strRoomID , string strRoomType , string strRoomPrice) {SqlConnection Con=new SqlConnection(cwk.baidu.comnnStr); / / 访问指定的存储过程“pHotelReserve” , 完成预定
收稿日期 :2006-03-22 作者简介 :胡建华(1971-), 男 , 江西 南昌人 , 江西旅游商贸职业学院计算机系副教授 , 硕士 , 研究方 向 :软件工程 , 数据库技术 ; 杨军(1982-), 男 , 江西萍乡人 , 助讲 , 本科 , 研 究方向 :数据库开发 。
1 14
计 算 机 与 现 代 化
SqlCommand Com=new SqlCommand(″pHotelReserve″, Con); Com.CommandType =CommandType .StoredProcedure ; // 设置输入参数 Com.Parameters.Add(newSqlParameter(″@RoomID″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″@ RoomType″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″@ RoomPrice″, SqlDbType .VarChar , 20)); Com.Parameters.Add (new SqlParameter (″ @ ReserveID″, SqlDbType .VarChar , 20)); Com.Parameters[″@RoomID″] .Value =strRoomID ; Com.Parameters[″@RoomType″] .Value =strRoomType; Com.Parameters[″@RoomPrice″] .Value =strRoomPrice ; / / 预订编号由函数 GetNewID()获得 Com.Parameters[″@ReserveID″] .Value =GetNewID(); Com.Parameters[″@RoomID″] .Direction =ParameterDirection. Input ; Com.Parameters[ ″@ RoomType″] .Direction =ParameterDirection .Input; Com.Parameters[ ″@RoomRoomPrice″] .Direction =ParameterDi rection .Inpu t ; Com.Parameters[ ″@ReserveID″] .Direction =ParameterDirection .Input; // 设置输出参数 Com.Parameters.Add(new SqlParameter(″@ Result″, SqlDbType .SmallInt)); Com.Parameters[ ″@Result″] .Direction =ParameterDirection. Output ; Com .ExecuteNonQu ery(); // 返回结果 , 1 表示成功执 行 , 0 表示预订不成功 return Com.Parameters[ ″@Result″] .Value .ToString();}
2006 年第 8 期 文章编号 :1006-2475(2006)08-0113-03
计 算机 与 现 代 化 JISUANJI YU XIANDAIHUA
总第 132 期
基于 C #的连锁酒店管理系统的设计与实现
胡建华 , 杨 军
(江西旅游商贸职业学院计算机系 , 江西 南昌 330039)
在异构的环境中 , 存在着各种各样的硬件设备和 操作系统 , 运行着使用不同语言 、不同技术开发的应 用程序 。 但是这些异构系统之间却存在着一个共同 之处 , 即它 们使 用标准 的 HTTP 协议连 接到 Internet 上 , 并传送着标准的 HTML 页面 。 正是这些标准的使 用 , Internet 才会如此迅速地发展 , 而 Web Service 服务 正是建立在标准的协议和规范之上 。任何系统 , 只要 支持这些标准的协议和规范 , 就可以使用 Web Service 服务 , 因此 Web Service 服务天生就具有跨平台的特 性 。Web Service 的体系结构如图 1 。
鉴于 Web Service 的这种特点 , 我们把 SOAP 消息 附加在 HTTP 消息中传递 , 并通过被各种平台广泛支 持的 XML 来描述数据 。
3 实现方法
我们以远程预定模块为例 , 阐述 Web Service 的 实现方法 。
该模块包括服务端和客户端 ,服务端提供远程查询 和远程预定方法 , 而客户端访问由服务端提供的方法 。 3 .1 服务器端
摘要 :介绍了基于 C#开发连锁酒店管理系统 , 采用 Web Service 技术实现 , 提供了一种全新的连锁酒 店管理系统模型 。 关键词 :C #;连锁酒店管 理系统 ;Web Service 中图分类号 :TP311.52 文献标识码 :A
Design and Realization of Chain Cabaret Management System Based on C # Technology