首页 » SEO优化 » nusoapphp技巧_webService期末大年夜功课晚餐预定系统大年夜功课申报源代码

nusoapphp技巧_webService期末大年夜功课晚餐预定系统大年夜功课申报源代码

访客 2024-10-30 0

扫一扫用手机浏览

文章目录 [+]

NANCHANG UNIVERSITY

题 目: 晚餐预定系统

nusoapphp技巧_webService期末大年夜功课晚餐预定系统大年夜功课申报源代码

学 院: 软 件 学 院

nusoapphp技巧_webService期末大年夜功课晚餐预定系统大年夜功课申报源代码
(图片来自网络侵删)

专 业: 软 件 工 程

班 级:

完成人数: 1 人

成 员:

起讫日期:

任课西席: 职称: 副教授

完成韶光:

填表日期: 年 月 日

一、开拓环境的搭建及碰着的紧张问题

1.开拓环境

根据个人技能背景,选择开拓环境如下:

将Demo支配为B/S架构的运用;利用集成软件包搭建开拓环境:PHP+Apache+MySQL;借助NuSOAP库实现WSDL做事的支配;2.紧张问题自己对付amp组合建站流程已经比较熟习,借助集成软件包xampp或者wamp即可轻松搭建出开拓环境。
韶光和精力紧张耗费在NuSOAP库上,大概花了半天韶光用于上手。
二、数据库与做事端设计数据库设计

数据库共设计两个表:餐桌类凑集表(tableset):tid, 餐桌容量,餐桌数目,餐桌可扩充人数,描述预约表(reservation):rid,称谓,手机号,餐桌类型,人数,就餐日期,订餐韶光

解释:tableset表是各种餐桌类别的凑集,存放各种餐桌的属性,非常方便餐桌的集中管理;reservation表是用户预约的凑集,所有的预约在该表中被动态地管理,对付预约的集中管理供应很大的便利;用户在订餐时,首先根据就餐人数确定餐桌类型,结合就餐日期筛选“预约”表,得到空余的餐桌数目,从而安排新的预约。
而“取消订餐”,则可以直接在“预约”表中操作。
以上设计对付餐桌和预约的掩护都具有很强的可扩展性。

初始数据

初始共往tableset表中插入3条数据记录:

10张座位为4的餐桌;

8张座位为8的餐桌(可扩充2个座位);

2张座位为12的餐桌(可扩充3个座位)

2. 紧张做事:

availableDinnerDate——获取有效订餐日期参数:(无)返回值:有效订餐日期与本日的间隔天数(xsd:int)checkContact——检讨联系办法格式参数:联系办法(str:xsd:string)返回值:格式是否精确,取1或0(xsd:int)解释:只支持海内的手机号码格式availableTable——根据用户给出的信息查询可用餐桌参数:日期(date xsd:int),就餐人数(total xsd:int)返回值:包含新预定id以及查询状态的组合字串(xsd:string)addContact——补充联系办法信息参数:预定id(rid xsd:int),称谓(title xsd:string),联系办法(contact xsd:string)返回值:状态字串(xsd:string)cancelReservation——取消一条预定参数:预定id(rid xsd:int)返回值:状态字串(xsd:string)inquiryReservation——查询某用户的预定参数:联系办法contact(xsd:string)返回值:一组预订记录(tns:Reservation)解释:返回值为自定义的繁芜类型deleteReservation——删除预定参数:要删除的预定id组合rids(xsd:string)返回值:操作状态(xsd:int)解释:可一次删除多条预定三. 做事支配与客户端调用Demo的做事端最初由PHP脚本形式呈现,通过调用NuSOAP库将其封装并发布成WSDL。
Demo的客户端采取网页的办法呈现,借用html/css/js技能进行设计,供应“订餐”和“取消订餐”等功能的前台操作界面。
用户的要求通过ajax通报给后台上的一个中转做事脚本hub,该做事根据要求类型调用相应的web service,并将做事调用结果通报给前台。
为了更加真实的仿照web service事情过程,本Demo将“DinnerB运用”和“Web Service做事中央”开拓成两个独立的运用,并分别支配到不同的机器上,紧张示意图如下:

图1 运用架构简单示意图四、运行结果截图和笔墨解释

客户端上岸在浏览器中输入DinnerB运用的网址http://127.0.0.1/dinnerb,来到订餐前台,在主体区域的左侧可以找到紧张的功能菜单:订餐点击“我要订餐”开始订餐的第一步(共两步),根据提示输入必要信息(带的项目):就餐日期、就餐人数以及验证码;验证无误后提交,中转做事会网络参数(就餐日期和人数),调用availableTable做事,如果有空余的餐桌,该做事会为用户创建一条“临时预约记录”,并返回该记录id。
中转做事首先注册session,存放id,然后返回处理成功信息,并关照前台跳转至下一步页面“填写联系办法”,如图3。
若因各种缘故原由导致无法成功订餐(参数不合法或者没有空余餐桌),前台都将提示相应的“订餐失落败”信息,如图4中由于就餐人数不符合系统哀求导致订餐失落败;

图2 DinnerB首页

须要解释的是,“就餐日期”中的日期选项是页面加载期间调用availableDinnerDate打算出的精确可订餐日期,这样掌握了用户的可出错范围。

图3 有空余座位 图4 订餐失落败

第二步,用户要在规定韶光内填写其联系信息(称谓和联系办法,个中称谓选填),点提交,中转做事调用addContact为之前建立的临时记录补充客户联系信息,成功后返回用户编号(图5),用户在就餐时供应该编号,即可查询到预定的餐桌号(这是设想,本Demo暂时没添加就餐运用)。
如因各种缘故原由导致订餐失落败(超时或者联系办法禁绝确),全体订餐过程都将停滞,临时记录也会被删除,如图6和图7。

图5 订餐成功

图6 联系信息禁绝确

图7 填写信息超时

解释:由于订餐过程分两步进行,为了防止用户在两步之间人为地延误过永劫光,占用餐桌资源,因此设计出“临时记录”+“有效韶光”机制,超时后,系统会自动终止订餐过程,并删除临时记录。

3. 取消订餐

A.点击“取消订餐”,填写订餐时供应的联系办法,提交(如图8)。
中转做事调用inquiryReservation查询该用户所有的预约,成功的话,前台会列出该用户所有成功的预约,如图9;

B. 用户选择要取消的订餐选项(可多选),提交后,中转做事会调用deleteReservation删除对应的预约记录,取消订餐成功。
为了安全考虑,该页面具有一次性属性,切换菜单或者删除不堪利都无法重新回到该页面。

图8 取消订餐——填写联系办法

图8 订餐记录 图9 选择要取消的订餐记录

五、总结

WSDL为web做事供应了详细的接口解释,实现了做事的可阅读性,方便了做事的传播。
在此之前,自己一贯是一个web站点开拓者,自己写做事自己调用,无法体会做事传播中的问题。

大作业给了一个加深WSDL理解的机会,由于自己在web方面的技能积累,做起来可谓是轻松加愉快。
于是重点都放在了对WSDL详细实现的学习上。
非常要感谢古人做的事情,NuSOAP库使得自己不用再担心去操作WSDL措辞,而可以坐等自己的做事被翻译成WSDL接口文件。

标签:

相关文章