1、2.6 网络应用软件开发 网络应用开发概述 网络应用软件的开发平台很多,各有特点。在选择开发平台前,必须先了解网络应用软件的实现架构及不同分类。网络应用软件的实现架构有两种,分别是客户端/服务器架构和 浏览器/服务器架构。客户端/服务器架构 C/S架构 浏览器/服务器架构 B/S架构 两个平台的区别 客户端/服务器(C/S):优点:可以将任务合理分配到客户端和服务器端,降低了系统的通信开销和开发难度。缺点:客户端软件必须安装才能使用,给应用程序升级和维护带来一定难度 浏览器/服务器(B/S):优点:升级和维护都比较方便,降低了成本和工作量。缺点:工作时服务器的负荷较重,对服务器的要求较高 网络
2、应用的规划设计 1.应用的目的 所要解决的问题:输入的数据:输出的数据:人机对话 人向机器人说出的话语 机器人对话语的回应 2.应用的总体架构 因为该应用为网络应用,只用于实现简单的人机对话,所以对服务器的要求不高。同时考虑到便于应用和发布,本应用采用 ,开发工具及框架选取Python、Flask Web框架及SQLite数据库。B/S架构 SQLite是一个轻量级、跨平台的关系型数据库、具有独立性、零配置、开放性、占用资源低等特点。Python中常用的Web应用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精简,属于小型框架。使用Flask Web开发的网
3、络应用的流程如图。3.应用的功能组成 4.界面设计及代码实现 登录界面 聊天界面 编写网络应用程序 Python中常用的Web应用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精简,属于小型框架。使用Flask Web开发的网络应用的流程如图。上面的web应用只实现了单一文本的输出,这与“网络聊天机器人”应用相去甚远。如果要开发“网络聊天机器人”,须在原有的Web应用 程序的基础上解决两个问题:一是机器人对话能力的实现;二是网页上的 输入与输出。第一个问题可以通过导入AIML模块来解决。AIML即人工智能标记语言,里面有Java、Python、C、C#及Pa
4、scal等语言的版本。第二个问题可以通过在网页中使用提交表单来解决。要在Flask Web应用 程序中使用表单则必须导入flask_wtf扩展的FlaskForm模块。同时为了使 代码更加精简,可以使用网页模板,则必须导入Flask的render_template 模块。调试发布 一般情况下,程序在编写过程中难免会出现错误,需要进行调试、修正错误。1.调试模式 Flask Web框架提供了一个称为调试模式的功能,只要在开发配置 或程序代码中设置debug=True就能打开调试功能。例如,web.py 程序要打开调试模式,只要在应用实例APP的创建代码之后插入代 码app.debug=True即可。2.应用发布 当应用程序通过调试并修改完善后,最后就是投入实际应用了,在开发环境 中我们只需要通过如下命令就可以启动Web应用,以供他人访问使用。Python 应用程序.py runserver 编写网络应用程序 但这是Flask Web框架自带的开发Web服务器,它仅供开发者调试使用,本身不够强健、安全和高效。在实际生产环境中常见的可靠的Web服务器 有很多,如IIS、Apache、Nginx、Tomcat及WebLogic等,只需将自己 编写的Web应用程序以WSGI应用或CGI形式发布至相应的Web服务器即可。2.应用发布 谢 谢