《基于中间件的图书管理系统unix课程设计》由会员分享,可在线阅读,更多相关《基于中间件的图书管理系统unix课程设计(60页珍藏版)》请在金锄头文库上搜索。
1、UNIX 系统与软件开发系统与软件开发课程设计课程设计 说明书说明书设计题目:设计题目: 图书管理系统图书管理系统 专专 业:业: 计算机科学与技术计算机科学与技术 指导教师:指导教师: 班班 级:级: 学学 号:号: 姓姓 名:名: 同同 组组 人:人: 计算机科学与工程学院计算机科学与工程学院2014 年年 6 月月 18 日日前言前言在信息技术发展迅猛的二十一世纪的今天,我们需要掌握的不仅仅是科学文化知识,还需要把所学到的知识合理的运用到现实生活中来。科学技术是第一生产力,它给我们带来的不仅仅是生活中的各种便利和生活水平的不断提高,同时也给带给了我们各种各样的不同类型和不同层次的科技的领
2、先发展的成果。在中间件诞生之前,多采用传统 C/S 二层结构。这种二层结构是计算机及软件技术发展的一大进步。一般而言,服务器是一个进程,它等待客户机与其联系,提出某种类型的服务要求。C/S 模式在操作过程中采取的是主动请求方式。服务对客户机服务可将结果或信息返回给客户机(双向),也可不返回(单向)。虽然它带来了相当的灵活性,但也逐渐暴露出其客户端和服务器端负担过重的现象,并且拓展性也较差,无法跨越不同的业务部门和业务系统。这不仅表现在技术上有难度,更重要的是在制度和安全方面。于是,三层结构出现了所谓三层结构,就是在原有的两层结构之间,增加一个中间层。该中间层既包括服务也包括请求中间件是一种独立
3、的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。它的工作机制是:当客户端上的应用程序需要从网络中某个节点处获取一定的数据或服务时,这些数据和服务可能处于一个运行着和客户端不同的硬、软件、网络或操作系统的平台上。C/S 应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,
4、进而实现传输客户请求、重组答复信息,最后将结果送回应用程序的任务。 本次设计的中间件是交易型中间件。交易型中间件是指用在不同行业、不同部门间的通讯转发和协议转换的软件,在不同的行业、不同的系统间提供通讯转发和协议转换的桥梁作用。本次设计不是基于 WEB 的,不需要很多与 WEB开发相关的知识,主要是利用 UNIX 系统提供的 Socket 库在网络底层,开发交易型中间件。本次设计的目的是掌握利用软件工程的思想方法和 TCP/IP 设计出用于不同行业和部门间的通讯转发或协议转换软件中间件,尤其掌握这种设计的思想和方法。目录目录一、系统环境一、系统环境.11、硬件环境 .12、软件环境 .1二、设
5、计目的及要求二、设计目的及要求.22.1 设计目的.22.2 设计要求.2三、总体设计三、总体设计.43.1 程序设计组成框图.43.2 程序设计类图.53.3 程序设计流程图.6四、详细设计四、详细设计.74.1 基本套接字系统调用.74.2 MySQL 数据库在 Unix 的使用.84.2.1 软件包需要.84.2.2 MySQL 服务配置 .94.2.3 MySQL 客户端命令行工具 .94.2.4 客户端命令行.94.2.5 MySQL 开发接口 .9五、调试与测试五、调试与测试.115.1 调试方法.115.2 测试结果分析及讨论.11六、设计中遇到的问题及解决方法六、设计中遇到的问
6、题及解决方法.22七、源程序清单七、源程序清单.237.1 数据库代码.237.2 服务器代码.247.3 中间件程序.337.4 客户端程序.36八、心得体会八、心得体会.57九、参考文献九、参考文献.581一、系统环境一、系统环境1 1、硬件环境、硬件环境Pentium(R) , 4 cpu 3.06GHz,512MB 内存。2 2、软件环境、软件环境该图书管理系统是在 windows XP 操作系统下使用 Linux 虚拟机环境,使用GNU C,在 UNIX/Linux make 开发工具的管理和控制下,利用 UNIX/Linux Socket 库和 MySQL 数据库在网络的底层进行开
7、发设计的。2二、设计目的及要求二、设计目的及要求2.12.1 设计目的设计目的基于 UNIX Socket 和 MySQL 数据库,设计一个交易型中间件系统。这里的中间件是指交易型中间件。交易型中间件是指用在不同行业、不同部门间的通讯转发和协议转换的软件,在不同的行业、不同的系统间提供通讯转发和协议转换的桥梁作用。例如电子商务、银行代理业务软件等都是这种类型的软件。本设计不是基于 WEB 的,不需要很多与 WEB 开发相关的知识,主要是利用 UNIX 系统提供的 Socket 库在网络底层,开发交易型中间件。本设计的目的是使参与设计者掌握利用软件工程的思想方法和 TCP/IP 设计出用于不同行
8、业和部门间的通讯转发或协议转换软件中间件,尤其掌握这种设计的思想和方法。在很多场合中间件部分是必须的,因为在不同的行业的网络是不允许直通的。这里有政策的因素,有制度的要求,也有技术的成份。2.22.2 设计要求设计要求(1)客户端客户端程序可命名为 client,要求带有两个命令行参数一个是服务(自己定义,并保存在/etc/services 中,比如 mysvr1 5678) ,另一个是目的主机(自己定义,并保存在/etc/hosts 内,也可使用 DNS 来解析) ,缺省时为本机。客户端至少要实现如下功能:用户管理;查询;交易(交费,购物等) ;撤销;留迹;本地业务统计。客户端的环境可以是
9、Windows 系统,也可以的 Linux 系统。(2)中间件中间件程序命名为 middle,要带有三个参数,一个是用于服务器的服务(名字,与客户端同) ,第二个作为请求的服务(自己定义,并保存在/etc/services 中,要区别于客户端,比如 mysvr2 5679) ,第三个为目的主机(定义在/etc/hosts 内) ,缺省时为本机。中间件要完成与客户要求相符的功能:是本地的本地处理,否则发往服务器方。具体地是:接收客户方数据;组织服务器方所需数据;重组服务方返回数据,并返回给客户方;留迹;本地业务统计。中间件的环境可以是 Windows 系统,也可以的 Linux 系统。(3)服务
10、器服务器程序命名为 server,要求带有一个服务参数,与中间件的 mysvr2 同服务器方程序要完成客户端或中间件提出的业务请求,并做好留迹工作。服务端环境必须是 Linux 系统。 (4)留迹或 log3留迹或 log 工作在客户端、中间件和服务器三方都要做,以供统计或核对使用。客户端或中间件方可以使用文本文件或数据库,但在服务器方必须使MySql 数据库。三、总体设计三、总体设计3.13.1 程序设计组成框图程序设计组成框图设计过程中借助了中间件来实现主机和客户机之间的链接,它的工作机制是:当客户端上的应用程序需要从网络中某个节点处获取一定的数据或服务时,这些数据和服务可能处于一个运行着
11、和客户端不同的硬、软件、网络或操作系统的平台上。C/S 应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而实现传输客户请求、重组答复信息,最后将结果送回应用程序的任务。图 3.1.1 中间件服务框图图 3.1.2 c/s 客户/服务器模式框图server_1Server_mMiddleClient_1Client_2serverClient_1Client_n43.23.2 程序设计类图程序设计类图socket()建立服务方套接字描述符为sbind(s)绑定套接字与本地地址和端口Listen(s)通知 TCP,准备接受accept(s)等待客户方链接成功后返回与 s 具有相同特