《web应用程序开发》(网络技术专业)教学大纲

时间:2019-05-15 02:22:02下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《web应用程序开发》(网络技术专业)教学大纲》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《web应用程序开发》(网络技术专业)教学大纲》。

第一篇:《web应用程序开发》(网络技术专业)教学大纲

《web应用程序开发》课程教学大纲

课程编号:

课程类别:

专业选修课

计划学时:64

其中理论讲授:32

实验或实践:

适用专业:计算机网络技术 教材与主要参考资料:

1、《ASP.NET程序设计》,尚俊杰,清华大学出版社。

2、《WEB程序设计技术---ASP.NET》, 秦学礼,清华大学出版社

3、《ASP.NET简明教程》,金雪云,清华大学出版社

4、《ASP.NET基础教程》,冯方方,清华大学出版社。

课程的教学目的与任务

对于微软环境下的开发人员来说,.NET的重要性无论如何强调都不为过。因此全面透彻理解这种新技术,对于每一位希望与时俱进的架构师、程序员和技术管理人员来书,都至关重要。本课程将介绍开发 ASP.NET 程序所涉及的开发工具和运行环境、VB.NET 程序设计基础和 ASP.NET 的程序设计基础等有关内容。通过本课程的学习,掌握开发 ASP.NET 程序的基础知识和基本方法,对.net平台下的程序设计有一个全面的认识和了解,并能够独立自主开发留言板、BBS、聊天室等web应用程序。

课程的基本要求 1.掌握.NET框架结构及如何搭建运行环境; 2.掌握VB.NET程序设计语言基础;

3.掌握HTML服务器控件和Web服务器控件的使用;

4.掌握Request、Response等重要的内部对象的基本知识和基本方法; 5.掌握数据库的基础知识和SQL语言,能利用ASP.NET进行数据库程序设计;

6.掌握对文件和文件夹操作的基本方法;

7.掌握利用隐藏代码和业务对象实现程序代码和HTML代码分离; 8.了解.NET的最新特性Web服务;

9.掌握配置Global.asax、web.Config文件和网络安全、使用缓存、调试程序等高级应用。

课程内容、教学方法及学时分配建议

第一章: ASP.NET 入门 建议学时:2 其中讲授: 1 实验或实践:1 教学重点:掌握 ASP.NET 的开发工具和运行环境;

教学难点:掌握新建一个 ASP.NET 的基本流程和建立应用程序的意义和方法;

教学方法:讲授、演示

教学内容:第一节 网络程序设计概述

第二节 ASP.NET简介 第三节 ASP.NET的运行环境 第四节 ASP.NET的开发工具 第五节 新建一个简单的ASP.NET文件

第二章: VB.NET 程序设计基础 建议学时: 8 其中讲课: 4 实验或实践:4 教学重点:掌握数据类型、常量、变量、函数、过程、循环语句、选择语句等;

教学难点:是类的定义、属性、方法、继承、重写、共享属性、共享方法等;

教学方法:讲授、演示

教学内容:第一节 ASP.NET的数据类型

第二节 ASP.NET常量 第三节 ASP.NET变量 第四节 ASP.NET数组 第五节 ASP.NET运算符 第六节 流程控制语句

第三章: 服务器控件

建议学时: 12 其中讲课: 6 实验或实践:6 教学重点:Web 服务器控件的使用;

教学难点:用户控件的使用和控件的绑定、样式等高级操作; 教学方法:讲授、演示 教学内容:第一节 控件简介 第二节 HTML服务器控件 第三节 WEB服务器控件 第四节 验证控件 第五节 用户控件 第六节 对控件的高级操作

第四章: 内部对象

建议学时: 12 其中讲课: 6 实验或实践:教学重点:Request、Response、Cookie、Application、Server 等对象的基本知识;

教学难点:Request、Response、Cookie、Application、Server 等对象的基本方法 教学方法:讲授、演示

教学内容:第一节 ASP.NET内部对象概述

第二节 Page对象 第三节 Request对象 第四节 Response对象 第五节 HttpCookie对象 第六节 Session对象 第七节 Application对象 第八节 Server对象 第九节 Mail对象

Session Session、、第五章: 数据库基础知识 建议学时: 4 其中讲课: 2 实验或实践:2 教学重点:数据库的基本概念;

教学难点:SQL语言中的Select、Insert、Update和Delete语句。; 教学方法:讲授、演示

教学内容:第一节 数据库基本概念

第二节 建立数据库 第三节 SQL语言简介

第六章: ASP.NET 存取数据库 建议学时: 8 其中讲课: 4 实验或实践:4 教学重点:掌握利用 ASP.NET 连接数据库,查询、添加、删除和更新删除的基本方法;

教学难点:利用 DataGrid 控件删除和更新记录的方法; 教学方法:讲授、演示

教学内容:第一节 ADO.NETT简介

第二节 简单存取数据库

第三节 使用DataGrid 控件存取数据库

第七章: 深入进行数据库编程 建议学时: 8 其中讲课: 4 实验或实践:4 教学重点:DataGrid、DataList 和 Repeater 控件的使用方法; 教学难点:在 SQL 语句中使用参数和对 DataSet 对象的操作; 教学方法:讲授、演示

教学内容:第一节 ADO的内部对象

第二节 Connection对象 第三节 Command对象

第四节 存取SQL Server数据库 第五节 对多个表进行组合查询 第六节 开发实例---在线通讯录

第八章:文件及文件夹操作 建议学时: 2 其中讲课: 1 实验或实践:1 教学重点:掌握对文件和文件夹操作的基本方法;

教学难点:文件和文件夹的新建、复制、移动和删除等,以及对文本文件的操作;

教学方法:讲授、演示

教学内容:第一节 文件存取组件

第二节 广告轮显组件 第三节 浏览器兼容组件 第四节 文件超级链接组件 第五节 计数器组件

第九章:隐藏代码与业务对象 建议学时: 2 其中讲课: 1 实验或实践:1 教学重点:在普通 ASP.NET 文件中使用隐藏代码和使用不包含界面的业务对象;

教学难点:使用包含界面的业务对象(自定义控件); 教学方法:讲授、演示

教学内容:普通 ASP.NET 文件中使用隐藏代码

第十章:Web 服务

建议学时: 4 其中讲课: 2 实验或实践:2 教学重点:理解 Web 服务的基本概念,并能够建立、通过代理类调用一个简单的 Web 服务;

教学难点:理解 Web 服务的基本概念,并能够建立、通过代理类调用一个简单的 Web 服务; 教学方法:讲授、演示 教学内容:Web 服务的基本概念

第十一章:配置应用程序及其它应用 建议学时: 2 其中讲课: 1 实验或实践:1 教学重点:配置 Global.asax 和 Web.Config 文件; 教学难点:网站的安全考虑; 教学方法:讲授、演示

教学内容:第一节 配置 Global.asax文件

第二节 配置Web.Config 文件

第二篇:《web应用程序开发》(网络技术专业)实验教学大纲

《web应用程序开发》实验教学大纲

课程代码: 课程性质: 课程分类:专业选修课 实验学时:32学时

适用专业:计算机网络技术 开课单位:数学与信息技术分院 教材与主要参考资料:

材:《ASP.NET程序设计》,尚俊杰,清华大学出版社 参 考 书:

《WEB程序设计技术---ASP.NET》, 秦学礼,清华大学出版社

《ASP.NET简明教程》,金雪云,清华大学出版社

《ASP.NET程序设计及应用》,苏英如,中国水利水电出版社,2006.4

实验教学目标

《web应用程序开发》实训是教学的一个必要组成部分,不属于单独的实验课程。通过理论教学和实验等环节的教学,使学生加深对教学内容的理解与认识,培养学生的网络程序设计、调试和动态页面制作的能力。

主要仪器设备名称(软件名称及安装环境): Windows XP +IIS(Internet服务管理器)

实验基本要求

《web应用程序开发》的实验教学主要以上机编程方式进行,使学生掌握.NET框架结构及如何搭建运行环境;掌握VB.NET程序设计语言基础;掌握HTML服务器控件和Web服务器控件的使用;掌握Request、Response等重要的内部对象的基本知识和基本方法; 掌握数据库的基础知识和SQL语言,能利用ASP.NET进行数据库程序设计;掌握对文件和文件夹操作的基本方法;掌握利用隐藏代码和业务对象实现程序代码和HTML代码分离;了解.NET的最新特性Web服务; 掌握配置Global.asax、web.Config文件和网络安全、使用缓存、调试程序等高级应用。

实验项目设置、内容学及学时分配建议

实验项目:ASP.NET的运行环境的安装和配置 建议学时:2 实验目的:掌握ASP.NET运行环境的安装;熟悉ASP.NET应用程序的配置;掌握Web页的发布。实验内容:

1、搭建 ASP.NET 的运行环境;

2、利用 EditPlus 或记事本等工具开发第一个简单的 ASP.NET;

3、建立第一个应用程序。

实验项目:VB.NET编程 建议学时:4 实验目的:掌握VB.NET的数据类型,以及变量、常量的定义;掌握VB.NET的条件语句、循环语句的使用;掌握VB.NET的过程和函数;掌握VB.NET类的属性和方法的使用。实验内容:

1、字符串、数字、日期等数据的使用;

2、有关函数、运算符的使用方法。

实验项目:使服务器控件的应用 建议学时:6 实验目的:熟悉ASP.NET服务器控件的属性和方法;掌握服务器控件中验证控件的使用。

实验内容:使用验证控件实现用户注册

实验项目:内部对象的应用 建议学时:6 实验目的:熟悉和了解ASP.NET的内置对象request、response、application、session、server、cookies。实验内容:

1、ASP.NET的内部对象Page, Request, Reponse;

2、ASP.NET的内部对Cookie,Application,Server,Session;

3、编写邮件发送程序。实验项目:数据库编程 建议学时:10 实验目的:掌握数据库的建立基本操作; 掌握ASP.NET中数据库的连接方法;熟悉SQL语句;掌握ASP.NET中数据库编程。实验内容:

1、ADO.NET中连接SqlConnection,适配器SqlAdapator,命令SqlCommand,数据集DataSet等类的作用;

2、ADO.NET检索数据、新增、删除数据的方法;

3、DataGrid等显示控件的使用方法;

4、实现用户注册、登录和用户信息管理

实验项目:文件操作 建议学时:2 实验目的:掌握文件系统编程。实验内容:编写网页计数器程序

实验项目:配置Global.asax 文件和Web.config文件 建议学时:2 实验目的:掌握对Global.asax 文件和Web.config文件的配置。实验内容:

1、配置 Global.asax 和 Web.Config 文件的基本方法;

2、网络安全综合示例。

实验考核:

要求学生完成全部教学环节(包括上课、实验、作业等)之后才能参加考试。

①考试形式:无纸化考试,实验课考试。

②评卷标准:平时成绩(。

20%)+实验(40%)+大作业(40%)

第三篇:《WEB应用开发》教学大纲

《WEB应用开发》课程教学大纲 Development of WEB Application

课程编码: ZYX08065 课程类别: 专业选修课

先修课程:数据结构与算法、面向对象程序设计、数据库原理及应用 后修课程: 总学分:4 总学时:64 周学时:4 适用专业:软件工程

开课单位:信息科学与技术学院 授课教师:

一、教学目标及教学要求

Web应用开发是软件工程专业的专业选修课程,是锻炼学生编程思维和能力的一门实用课程。该课程主要学习Web应用环境构建技术、Web客户端程序设计方法、Web服务端程序设计方法、Web数据库应用开发技术。通过实验使学生掌握Web应用系统开发方法解决实际问题。通过本课程的学习,使学生掌握开发ASP.NET程序的基础知识和基本方法,对网络程序设计有一个全面的认识和了解,并能够独立自主开发小型网络应用程序。

二、本课程的重点和难点

本课程的重点:WEB应用开发的基础模式、方法,采用ASP.NET技术结合C#.NET语言进行开发,涉及ASP.NET程序所用的开发工具和运行环境、C#.NET程序设计基础和ASP.NET的程序设计基础。本课程的难点:ADO.NET数据库访问、三层架构开发、LINQ数据库访问技术、AJAX应用开发等。

三、主要实践性教学环节及要求

本课程的主要实践环节包括课程实验及课程设计。

1、课程实验的主要项目及基本要求

(1).NET 2010平台和HTML语言。掌握ASP.NET运行环境的安装;熟悉ASP.NET应用程序的配置;掌握Web页的发布。

(2)C#.NET编程。掌握C#.NET的数据类型,以及变量、常量的定义;掌握C#.NET的条件语句、循环语句的使用;掌握C#.NET的过程和函数;掌握C#.NET类的属性和方法的使用。

(3)服务器控件的应用。熟悉ASP.NET服务器控件的属性和方法;掌握服务器控件中验证控件的使用。

(4)内部对象的应用。熟悉和了解ASP.NET的内置对象request、response、application、session、server、cookies。

(5)数据库编程。掌握数据库的建立基本操作; 掌握ASP.NET中数据库的连接方法;熟悉SQL语句;掌握ASP.NET中数据库编程。

(6)用户控件和WebService。掌握用户控件和WebServcie的使用。(7)配置Global.asax 文件和Web.config文件。掌握对Global.asax 文件和Web.config文件的配置。

(8)Asp.NET应用程序的设置与安全。掌握Asp.NET中关于配置应用程序的步骤和配置文件。

2、课程设计的主要内容及基本要求

在学习完《WEB应用开发》课程后,为了让学生更好地掌握WEB应用开发的原理及实现方法,加深对WEB应用开发基础理论和重要算法的理解,加强学生的动手能力,有必要以课程设计的方式对学生进行进一步的综合训练。

(1)确定一个网站的主题,在以下的的范围内进行选取:

 个人网站。对个人的信息的发布,以个人为主题,比如包个人信息,个人爱好,个人推荐,个人的情感等等。可以参考QQ空间,微博,facebook等。 自己的家乡宣传网站

 交友网站,如同乡会,同学会,旅游爱好者,摄影爱好者之类等。 小商品交易网站。

(2)选取一个主题后,进行前期网站的需求分析,数据的收集,网站模块的划分。关于选取主题后,你根据主题自由发挥去构思自己的网站结构,内容不限制,但必须结合并突出你的主题。)

(3)进行网页设计编程来实现网站的建立(4)进行网站的测试与运行(5)进行报告总结演示

四、采用的教学手段和方法

建议采用“任务驱动”方式为主,辅以“案例教学”、“研究性学习”、“合作学习”等方式进行教学,注重培养学生的“自学方式”与“自学能力”。教学中,教师要注重营造科学的、实用的、活泼的教学环境和氛围,“少讲精讲教学内容,勤于引导学生思考”。

五、教材与主要参考文献

教材:

于华编,ASP.NET Web应用系统开发,西安电子科技大学出版社, 2013年02月

主要参考文献:

郑阿奇,ASP.NET 程序设计教程,机械工业出版社,2011年06月 顾韵华,Web技术与应用,科学出版社,2013 年03月

六、考核形式与成绩计算

考核方式:采用平时、期末、课程设计相结合的考核方式,注重实践环节的考核。其中平时成绩包括考勤成绩、作业成绩、实训成绩,期末采用上机考试和笔试两部分。各部分所占比重如下:(1)平时占总成绩的 30%(2)期末考试占总成绩的 50%(3)课程设计占总成绩的 20%

七、教学内容和学时分配

第一章 ASP.NET开发环境(讲授2学时,实验2学时)

1、教学内容

ASP.NET开发技术简介、ASP.NET开发环境、一个ASP.NET应用程序、ASP.NET工程项目管理、实战演练——配置、测试并发布Web应用范例系统。

2、教学基本要求

① 了解ASP.NET开发技术简介、一个ASP.NET应用程序。② 理解ASP.NET开发环境、。

③ 掌握ASP.NET工程项目管理、实战演练——配置、测试并发布Web应用范例系统。

第二章 系统框架及页面设计(讲授2学时,实验2学时)

1、教学内容

网站规划、控件及事件、HTML控件、母版、导航系统、样式表及主题、实战演练——搭建Web应用系统框架。

2、教学基本要求

① 了解网站规划、母版、导航系统。

② 理解控件及事件、HTML控件、样式表及主题。③ 掌握实战演练——搭建Web应用系统框架。

第三章 常用Web服务器控件(讲授3学时,实验3学时)

1、教学内容

HTML服务器控件、ASP.NET服务器控件、实战演练。

2、教学基本要求

① 理解HTML服务器控件、ASP.NET服务器控件。② 掌握实战演练。第四章 ASP.NET的内置对象(讲授4学时,实验4学时)

1、教学内容

概述、Application对象、Session对象、ViewState对象、Request和Response对象、Server对象、Cookie对象、实战演练——统计在线人数。

2、教学基本要求

① 了解概述、Application对象、Session对象、Cookie对象。② 理解ViewState对象、Request和Response对象、Server对象。③ 掌握实战演练——统计在线人数。

第五章 AD0.NET技术(讲授4学时,实验4学时)

1、教学内容

ADO.NET对象模型、Connection对象、Command对象、DataReader对象、DataAdapter对象、DataSet对象、实战演练。

2、教学基本要求

① 理解ADO.NET对象模型、Connection对象、Command对象、DataReader对象、DataAdapter对象、DataSet对象。

② 掌握实战演练。

第六章 数据绑定及数据控件技术(讲授4学时,实验4学时)

1、教学内容

数据绑定技术、数据源控件、GridView控件、DataList控件、Repeater控件。

2、教学基本要求

① 理解数据绑定技术、数据源控件。

② 掌握GridView控件、DataList控件、Repeater控件。第七章 用户控件和Web服务(讲授2学时,实验2学时)

1、教学内容

用户控件、Web服务、实战演练。

2、教学基本要求 ① 理解用户控件。② 掌握实战演练。

第八章 LINQ数据库访问技术(讲授3学时,实验3学时)

1、教学内容

LINQ基础、基本LINQ查询语句、实战演练。

2、教学基本要求 ① 理解LINQ基础。

② 掌握基本LINQ查询语句、实战演练。

第九章 AJAX应用开发(讲授4学时,实验4学时)

1、教学内容

概述、ASP.NET AJAX的框架、ASP.NET AJAX服务器端控件、实战演练。

2、教学基本要求 ① 了解概述。

② 理解ASP.NET AJAX的框架。

③ 掌握ASP.NET AJAX服务器端控件、实战演练。

第十章 基于ASP.NET的儿童网站的开发(讲授4学时,实验4学时)

1、教学内容

系统设汁、数据库的设计与实现、主要功能模块的设汁。

2、教学基本要求 ① 理解系统没汁。

② 掌握数据库的设计与实现、主要功能模块的设汁。

制定人:赖益强

系(教研室)审核人:胡毅

学院(部)审核人:

制订时间:2017年1月7日 审核时间:2017年2月20日 审核时间:2017年月 日

第四篇:网络技术专业毕业设计(论文)教学大纲

网络技术专业毕业设计(论文)教学大纲

英文名称: 课程编号: 学时:16周 学分:16

适用专业:网络技术专业 先修课程:开设的所有相关课程

一、设计的目的和任务

毕业设计是学生三年大学所学知识的综合训练,因此,它是一门非常重要的专业实践课。本课程的目的是培养学生的综合运用所学的专业理论知识、技能和应用计算机知识分析解决实际问题的能力,是在学生完成了三年教学规定的理论课基础上,对学生三年所学的理论进行的实践性的总结和检验,以提高学生的综合能力。毕业设计的任务是完成一项指导教师安排的具有一定难度和水平的毕业设计任务。包括:

1.使学生进一步加深巩固对所学的基础理论、基本技能和专业知识的掌握,使之系统化、综合化。

2.是学生获得从事科研工作的初步训练,培养学生的独立工作、独立思考和综合运用已学的知识解决实际问题的能力,尤其注重培养学生的独立获取新知识的能力。

3.培养学生在软件开发、文件编辑、文字表达、文献查阅、外语、工具书使用等基本工作实践的能力,使学生初步掌握科学研究的基本方法。

4.使学生树立具有符合国情和生产实际的正确设计思想和观点;树立严谨、负责、实事求是、刻苦钻研、勇于探索、具有创新意识、善于与他人合作的工作作风。

二、选题原则

1.选题必须符合网络技术专业的综合培养要求,要体现先进性,要有利于深化所学知识和拓展知识面。

2.尽可能选择与实习企业相关选择综合性、实践性较强的课题。

3.选题尽可能结合本专业教学、可以、工程实际的需要,有一定的现实意义,但训练内容不宜过于狭窄。

4.设计工作量要适中,以保证明确、适当、标准的工作成果。

5.选题的难易程度要适当,以学生在规定的时间内经过努力可以完成为宜。

6.毕业设计课题,鼓励一人一题。若几个人同时做一个大的课题,总可设计每个人都要参与,其余部分应分工明确。

三、设计内容

1.网络硬件设计

涉及到数字逻辑、计算机组成原理、汇编语言、微机原理余接口技术、技术机网络、单片机技术、计算机体系结构、计算机控制等方面的知识。

2.软件系统设计

涉及到网络编程、网站设计、高级语言、数据结构、离散数学、组合数学、程序设计方法学、数据库原理、软件工程等方面的知识。

3.网络解决方案设计

涉及网络集成方案、无线移动网络方案、网络安全方案等。

四、设计的一般步骤

网络技术专业毕业设计大体分为以下几个阶段: 1.系统分析:熟悉课题、收集资料和可行性分析; 2.系统设计:总体设计和详细设计; 3.系统实施; 4.撰写课程设计论文。

五、纪律或注意事项

1.认真遵守所在企业和实验室的各项规章制度。2.认真进行调研与分析

3.爱护各种使用设备,严格按照操作规则进行操作。

4.注意设计进度,主动与企业指导教师及校内指导教师沟通、及时完成规定任务。

六、学生成绩评定

学生成绩由三部分组成:企业指导教师及校内指导教师评分、毕业论文评阅成绩和答辩成绩,分别按照百分制度打分,在按比例求和,最好按五级分制折合成总评成绩。

第五篇:使用 PHP 和 SOAP 开发基于 Web 服务的应用程序

使用 PHP 和 SOAP 开发基于 Web 服务的应用程序

作者: Claymore 时间: 2011-11-22 16:59:51

简介: SOAP 是 Web 服务中最常用的协议,通常的 Web 服务使用 Java 语言编写,但众多的 PHP 程序员可能更喜欢使用 PHP 来完成整个 Web 应用程序的开发。本文介绍了使用 PHP5 中新增的 SOAP 扩展(ext/soap)进行 Web 服务开发的步骤,包括 WSDL 文件的编写,Web 服务端和客户端脚本的开发。这可以帮助 PHP 程序员快速开发基于 Web 服务的应用程序,而不需要脱离 PHP 环境,借助其他语言或者编程模型开发 Web 服务。

PHP SOAP 扩展

SOAP 的全称为简单对象访问协议(Simple Object Access Protocol)。它是一种基于 XML 的,可扩展的通信协议。SOAP 提供了一种标准,使得运行在不同平台上并使用不同的编程语言编写的应用程序可以互相进行通信。SOAP 的可扩展性和平台无关性使得它被广泛用作 Web 服务的通信协议。

由于 Java 语言提供了对 SOAP 的良好支持,通常基于 Web 服务的应用程序使用 Java 语言编写。对于广大的 PHP 程序员来说,可能会有一点小小的不满 – PHP 的较早版本根本没有对 SOAP 的直接支持,只能通过 PEAR(the PHP Extension and Application Repository)中的 SOAP 库或者第三方产品 NuSOAP 来开发 Web 服务。不过最近的版本已经改变了这一状况。自 PHP 5 开始新增了内置的 SOAP 扩展(ext/soap),从此我们不需要下载额外的扩展库或是代码包来开发基于 SOAP 的应用程序了。接下来让我们来看看 SOAP 扩展中都有哪些内容。

PHP 5 中的 SOAP 扩展(ext/soap)PHP 5 最早发布的版本 5.0.0 中就已经提供了 SOAP 扩展,不过当时的 PHP 手册中声明这个扩展是试验性(experimental)的。实际上当时的版本已经实现了比较完善的功能,也没有必要为此而担心。目前这个扩展还在不断地完善,早期版本中的大部分 bug 都已经得到了修正,目前最新的版本(5.3.0)中已经提供了比较完整的对 SOAP 的支持,而且我们有理由相信,以后的版本还会更好。

SOAP 扩展库结构

ext/soap 中包括六个预定义的类,通过这些类,我们可以创建 Web 服务端(SoapServer 类),客户端(SoapClient 类),处理 SOAP 请求和应答(SoapHeader, SoapParam, SoapVar 类),诊断错误(SoapFault 类)。这些类之间的联系如图 1 所示:

图 1.SOAP 扩展的结构

SOAP 服务类 SoapServer SoapServer 类用来开发 Web 服务端应用程序。这个类中包含创建,设置和操纵 Web 服务的函数。有两种方式可以向 Web 服务中添加操作(Operation)。一种方式是直接添加已定义的函数,另一种方式是添加已定义好的类,从而将该类的公有成员函数添加到 Web 服务中。

另一个需要说明的特性是,PHP 支持两种 Web 服务的模式:WSDL 模式和 non-WSDL 模式,为了便于理解,我们首先从 Web 服务的两种实现模式开始说起。

PHP 中 Web 服务的两种模式:WSDL 模式和 non-WSDL 模式

对于 Web 服务来说,主要有两种实现模式 – 契约先行(Contract First)模式和代码先行(Code Fist)模式。契约先行模式的实现中,首要工作是定义针对这个 Web 服务的接口的 WSDL(Web Services Description Language,Web 服务描述语言)文件。WSDL 文件中描述了 Web 服务的位置,可提供的操作集,以及其他一些属性。WSDL 文件也就是 Web 服务的“契约”。“契约”订立之后,再据此进行服务器端和客户端的应用程序开发。这种模式对应上节所说的 WSDL 模式。我们后文中介绍的例子就是使用这一模式实现的。

与契约先行模式不同,代码先行模式中,第一步工作是实现 Web 服务端,然后根据服务端的实现,用某种方法(自动生成或手工编写)生成 WSDL 文件。但是由于 PHP 本身并没有提供从 Web 服务实现代码中生成 WSDL 文件的方法,因此就要以 non-WSDL 模式连接服务端,即不通过 WSDL 文件创建 SoapServer 和 SoapClient 示例,而是直接向构造函数传递必要的参数。当然,代码先行模式也有其他的解决方法,一些集成的 PHP 开发工具(如 Zend Studio)就提供了根据 Web 服务实现代码生成 WSDL 文件的功能。

SOAP 客户端类 SoapClient SOAP 客户端类 SoapClient 用于开发 Web 服务的客户端程序。可用的成员函数主要有创建客户端实例,调用可用操作,查询可用操作和数据类型等。除此之外还包括了可用于程序调试的函数 – 获取上次请求和应答的 SOAP 数据。

SOAP 参数类 SoapHeader, SoapParam, SoapVar SoapParam 和 SoapVar 主要用来封装用于放入 SOAP 请求中的数据,他们主要在 non-WSDL 模式下使用。事实上,在 WSDL 模式下,SOAP 请求的参数可以通过数组方式包装,SOAP 扩展会根据 WSDL 文件将这个数组转化成为 SOAP 请求中的数据部分,所以并不需要这两个类。而在 non-WSDL 模式下,由于没有提供 WSDL 文件,所以必须通过这两个类进行包装。SoapHeader 类用来构造 SOAP 头,SOAP 头可以对 SOAP 的能力进行必要的扩展。SOAP 头的一个主要作用就是用于简单的身份认证,后面会有例子说明这一点。

SOAP 异常类 SoapFault 这个类从 PHP 的 Exception 类继承而来,可以用来实现 SOAP 中的异常处理机制,由 SOAP 服务端抛出。SOAP 客户端可以接收该类的实例,用于获取有用的调试信息。

安装 SOAP 扩展

为了使用 SOAP 扩展,我们需要在 Web 服务器上安装它。这里有几个因素需要考虑。

 安装的前置条件:在官方的使用手册中可以找到,ext/soap 扩展使用了 GNOME XML 库,因此在安装 SOAP 扩展之前需要安装这个库(需要 2.5.4 以上版本)。 PHP 是否已安装:

o 如果你想在安装 PHP 的同时加入 SOAP 扩展,那再简单不过了。如果是下载 PHP 源代码自己编译安装的情况,则只需要在编译时的 configure 命令中添加选项--enable-soap 即可。如果是直接使用二进制文件安装(通常只用于 Windows平台),安装包中则已经包括了这一扩展,不需要额外安装。

o 而如果需要在已经安装好的 PHP 上添加 SOAP 扩展,需要做的工作就要多一些。在编译 SOAP 扩展的源代码之前需要使用 phpize 命令设置编译环境,然后再使用 configure 命令,之后编译并安装 SOAP 扩展。o

编译安装 SOAP 扩展之后,我们还需要修改 PHP 的配置文件,以便 SOAP 扩展可以正确的被 PHP 加载。对于 Linux平台来说,需要在 php.ini 中加入如下代码:extension = php_soap.so

而对于 Windows平台,需要加入的代码为:extension = php_soap.dll

除此之外,可能还需要设置扩展库的位置,这一信息在 php.ini 的 extension_dir 域中保存,例如:

extension_dir = “/usr/local/php/lib/”

上面的工作完成之后,还需要注意的是 SOAP 扩展在配置文件中有独立的代码段:

清单 1.php.ini 中 SOAP 扩展的设置

soap];Enables or disables WSDL caching feature.soap.wsdl_cache_enabled=1;Sets the directory name where SOAP extension will put cache files.soap.wsdl_cache_dir=“C:xampptmp”;(time to live)Sets the number of second while cached file will be used;instead of original one.soap.wsdl_cache_ttl=86400

PHP 处理 WSDL 文件时使用缓存的行为。这三项设置分别说明是否启用缓存、缓存文件的路径、缓存的生存时间。启用缓存会加快 PHP 处理 WSDL 文件的速度,但最好在调试代码时关闭缓存,以避免一些因缓存行为而出现的问题。

一个简单的例子:产品资料查询

设想这样一个场景:A 公司是笔记本电脑的生产商,B 公司是 A 公司的经销商。B 公司需要向他们的客户提供一个产品信息查询的网站,用户输入产品编号就可以查询到该产品的详细信息,包括 CPU,内存,屏幕尺寸,硬盘等。由于经常有

新产品面世,所以 A 公司的产品信息数据库会频繁地更新,对此比较好的解决方案是 A 公司提供一个产品信息查询的 Web 服务,而 B 公司开发客户端来调用这个 Web 服务提供的操作。整个系统的架构如下图所示:

图 2.产品资料查询系统架构

主要的组成部分有:

 产品信息数据库,其中存储了产品代码,CPU 信息,内存容量,屏幕尺寸,硬盘容量等产品信息。

 Web 服务端,它发布一个 Web 服务,响应客户端的查询请求,并将查询结果放入 SOAP 应答中返回给客户端。 客户机,它接收浏览器发来的查询条件,以此生成 SOAP 请求发送给 Web 服务端,并接收 SOAP 应答,将其发送到浏览器并显示出来。浏览器的输出如图 3 所示。

本质上 Web 服务端和客户机都是一个相对独立的 Web 应用程序,它们之间只是通过 SOAP 消息进行通信。在不改变通信“契约”的情况下,Web 服务端和客户端内部实现的改变均不影响这个系统的功能。所以对于“契约”-即 WSDL 文件的定义就是非常重要的一步。

图 3.产品信息查询系统页面

WSDL 文件的编写

前面提到过,PHP 本身并没有提供可以自动生成 WSDL 文件的方法,因此就需要我们自己编写 WSDL 文件。WSDL 的结构虽然比较清楚,但完全依靠文本编辑器创建一个 WSDL 文件依然是个艰难的任务。这是因为 WSDL 中的元素比较多,每个元素还有若干属性,要完全掌握这些比较困难。另一方面,如果没有开发环境的辅助,我们在编写 WSDL 文件中的错误就很难被发现,存在任何一个微小的错误(例如标签名 message 误写成了 massage),我们的应用程序也无法正常工作。因此在编写 WSDL 文件时使用适当的开发工具是很必要的。下面我们介绍两种借助开发工具生成 WSDL 文件的方法,一种适用于契约先行模式,另一种适用于代码先行模式。

使用 PDT(PHP Development Tool)编写 WSDL 文件

PDT(PHP Development Tool)是一个基于 Eclipse 的集成开发环境,它提供了对于 PHP 开发中各种需求的良好支持。我们可以在菜单中选择 New->Other...,然后在弹出的窗口中选择 Web Service 下的 WSDL File,然后输入文件名,创建 WSDL 文件,PDT 会生成一个默认的 WSDL“框架”,并以图形化的方法显示出来,对应本文的例子,WSDL 文件的图形化表示如下图:

图 4.PDT 中 WSDL 文件的图形化表示

我们可以看到,这个图形化的表示方法包含了 WSDL 的全部要素:端口,消息,绑定(Bindings),数据类型和服务。对于除了数据类型之外的部分,我们只需要点击相应部分作出修改即可。对于数据类型部分的修改,则需要点击最右侧的 灰色箭头,打开数据类型的视图,对应本文需求的数据类型视图如下:

图 5.PDT 中输入的数据类型的图形化表示

图 6.PDT 中输出的数据类型的图形化表示

之后我们可以修改数据类型的名称,添加元素,编辑复杂数据类型,修改元素的类型和名称等。所有上述的修改都会被 PDT 自动转换成对应的 WSDL 语句。

以上三个视图构成了 WSDL 的完整描述,点击界面下方的 Source 标签,就可以看到 WSDL 文件的源代码:

清单 2.WSDL 源代码

xmlns:tns=“http://soapexample.cn/ProductQuery/” xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/”xmlns:xsd=“http://specialchars($client->__getLastRequest()).”
“;echo ”Response :
“.htmlspecialchars($client->__getLastResponse()).”
“;

另外为了开启跟踪功能,我们需要在 SoapClient 的构造函数中输入额外的一个参数:

清单 20.开启 SOAP 跟踪功能

$client = new SoapClient('./ProductQuery.wsdl' , array('trace' => 1));

这样,我们就可以在浏览器中观察到 SOAP 请求和应答的内容:

清单 21.错误的 SOAP 请求和应答

Request: Response:

可以发现,SOAP 请求的结构跟我们期望的不同,我们就可以知道,是输入的参数不正确造成的,改正了这个错误之后,我们可以看到正确的 SOAP 请求和应答:

清单 22.正确的 SOAP 请求和应答

Request:

1175-PXA Centrino T9400 3GB DDR3 14.1 inch. 300GB 5400rpm 结束语

使用 PHP 开发基于 Web 服务的应用程序总的来说是比较简单的。从前文的例子中可以看到,我们不需要很多的代码就可以创建一个简单的 Web 服务端和客户端,唯一的小麻烦可能是创建 WSDL 文件,但我们借助一些 PHP 集成开发环境的帮助一样可以轻松解决。这可以让习惯使用 PHP 开发 Web 应用程序的程序员不需要学习其他语言就能够开发自己的基于 Web 服务的应用程序。

本文中的例子相对来说比较简单,但我们必须了解,PHP 的 SOAP 扩展目前也存在着一些不足之处。例如:

 PHP 对于某些 SOAP 协议中的元素不能正确解析,例如目前 SoapServer 类并不能处理客户端发来的 SOAP 请求中的 Header 部分,这使得一些基于 Header 的特性无法在 PHP 中得到实现,例如权限验证等。

 由于 PHP 是弱类型语言,而 SOAP 协议中对类型的定义是比较严格的,所以 PHP 无法仅仅根据代码生成可供使用的 WSDL 文件,只能通过 PHP Doc 之类的机制在注释中声明,从而使辅助工具获得参数的类型。

 PHP 的弱类型性质还造成 SOAP 扩展对类型的检查并不严格,如果服务端的实现中如果返回了类型错误的数据(例如应该返回类型为 integer 的数据,实际上却返回了字符串),则并不会产生异常,而只是将返回的数据解释成 WSDL 中定义的类型,但是这种转换通常是不能得到正确结果的。

 PHP 的文档中对于 SOAP 调用的参数构造介绍很少,关联数组构造方法与 WSDL 中的数据定义的映射关系也不是十分清晰易懂。对于数据类型较为复杂的情况,单纯使用数组构造一个具有很多层次的参数结构也是困难且容易出错的。

幸运的是,PHP 的开发和维护者们始终把 SOAP 扩展看做 PHP 中重要的组成部分,自从 PHP 5.0.0 中开始提供 SOAP 扩展以来,它就没有停止过更新,每一次新的版本都会有新特性发布,同时也会修正很多原有的缺陷。最新的版本(5.3.0)最近刚刚发布,其中对于上述的问题 1 和 4 都有很好的解决。所以我们有理由相信,PHP 会提供对 SOAP 越来越完善的支持。

下载《web应用程序开发》(网络技术专业)教学大纲word格式文档
下载《web应用程序开发》(网络技术专业)教学大纲.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Web开发流程

    Web开发的分散性和交互性,决定了Web开发必须遵从一定的开发规范和技术约定,只有每个开发人员都按照一个共同的规范去设计、沟通、开发、测试、部署,才能保证整个开发团队协调一......

    Web应用开发(08)j2ee教学大纲(五篇范文)

    《WEB应用开发技术》教学大纲 课程中文名称: WEB应用开发技术 课程类别: 专业选修课 程英文名称: 课程编号: 课程归属单位: 职业技术、职业师范学院 制定时间: 2010年3月1日 一、......

    新一代网络技术教学大纲

    西北师范大学课程教学大纲 西北师范大学计算机类专业课程教学大纲 《新一代网络技术》课程教学大纲 一、说明 (一)课程性质 《新一代网络技术》是计算机科学与技术专业的一门......

    《Linux网络技术》教学大纲

    《Linux网络技术》教学大纲 说 明 一、课程的性质和任务 《Linux网络技术》是计算机网络与通信专业所必修的课程,是该专业的一门必修专业课,其任务是学习该课程后,能用Linux操......

    Windows窗体应用程序基础教学大纲

    第1章 Windows窗体应用程序基础 1. 课程目标 Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。 2. 回顾 无 3. 本章内容  了解窗体基础知识和常用......

    《PHP应用程序技术》课程教学大纲

    四川水利职业技术学院信息工程系课程教学大纲 《PHP应用程序技术》教学大纲 一、课程目的 通过本课程的学习,课堂上先结合案例讲解PHP的基本语法等知识,再通过上机实践和课后......

    五子棋网络应用程序开发 课程设计

    网络应用程序开发报告 1 概述 游戏说明 五子棋在我国的历史可谓是源远流长,喜爱它的玩家也是大有人在,是很多人的娱乐首选,也是一种竞技项目。但很多的五子棋软件一般都是单机......

    WEB前端开发经验总结

    ASP.NET前端开发经验总结 通过此次大作业的设计到完成,我负责的是web前端的开发,经过此次作业和结合W3C上的自学,我渐渐有了一些对前端开发的小小经验(仅为个人意见)。 WEB标准是......