web server课程设计分析Word文件下载.docx

上传人:b****3 文档编号:14723111 上传时间:2022-10-24 格式:DOCX 页数:9 大小:1.10MB
下载 相关 举报
web server课程设计分析Word文件下载.docx_第1页
第1页 / 共9页
web server课程设计分析Word文件下载.docx_第2页
第2页 / 共9页
web server课程设计分析Word文件下载.docx_第3页
第3页 / 共9页
web server课程设计分析Word文件下载.docx_第4页
第4页 / 共9页
web server课程设计分析Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

web server课程设计分析Word文件下载.docx

《web server课程设计分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《web server课程设计分析Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

web server课程设计分析Word文件下载.docx

2.2分工

我主要负责连接件和配置的设计,组员负责构件设计,我根据他们设计的程序进行思考后对整个webserver系统进行了描述与总结。

3程序环境简介

本程序运行在Windows7系统下,采用Eclipse作为开发工具,使用Java作为开发语言,采用Apache的Tomcat搭建web服务器,实现web服务。

3.1WebServer简介

通过网页搭建服务器,Web服务器可以解析HTTP协议。

当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。

为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。

无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。

3.2Apache简介

Apache是世界使用排名第一的Web服务器软件。

它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

3.3Tomcat简介

Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。

因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

目前最新版本是8.0。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器。

4程序架构设计

本程序采用webserver架构,通过发布web端的服务器,再通过将客户端与该服务器的http网址相绑定,通过接口来访问服务器对应的方法,达到web服务的作用。

其中web端和客户端都是该系统的构件,web端由Apache和Tomcat所搭建的web服务器。

webserver是一种基于SOAP通信协议的服务框架,所以该系统的连接件是SOAP协议。

程序使用wsdl语言描述了该系统的函数关系。

5构件设计

构件包含客户端和服务器。

5.1服务器端设计

5.1.1Apache搭建

通过系统图形化界面方式进行搭建,其中自动生成

等xml文件

其中server.xml对整个系统进行描述,用于生成系统代码。

5.1.2服务器java代码

首先编写了一个加法程序,利用java的功能自动生成服务端的加法服务:

intadd(inta,intb);

根据该函数通过系统生成对应的服务端代码。

原程序结构

其中服务器共生成了如下代码

其中Cal这个类将是原函数之中的add方法在生成的服务端之中被重写为接口方法。

以便客户端进行调用。

剩下的都是为客户提供访问服务的方法。

其中CalServiceLocator.java这个类里面也描述了http服务网址和远程服务的方法。

服务端自动包含了系统引用的包,Apache服务器的包和网络应用的包。

5.1.3服务端wsdl文件

可以看到服务端还生成了一个cal.wsdl文件,这个文件是接口描述。

可以看到该文件描述了服务的http网址和其对应的方法。

在客户端进行调用的时候会根据这个描述文件进行相应的调用。

5.2客户端设计

客户端由服务端的wsdl文件自动生成,其中包含了如下文件

其中Cal.java是我们的加法方法

CalServer.java是调用服务的方法

可以看到这个接口继承于rpc的类包,所以我认为是这是服务调用的方法。

CalServiceLocator.java类和CalSoapBindingStub.java类里面封装了服务启动以及运行的具体方法。

若想调用服务器端的加法,我们需要新建一个client包,其中包含了调用服务器的主代码。

可以看到其中声明了CalServerLocator类对象service,声明了一个URL对象url,并且用服务器端的wsdl的地址进行初始化,之后通过CalSoapBindingStub这个类生成sutb对象,并且用service和url对其进行初始化操作,客户端与服务器进行绑定。

绑定成功之后可以调用stub的add方法进行计算。

通过这个绑定的文件名称,我们可以发现是通过Soap协议进行绑定,传输,这也说明了webserver是基于Soap协议的一种架构。

6连接件设计

由于webserver基于Soap协议进行数据传输,故这个系统中的连接件就是Soap协议(当然包括http协议)。

具体在程序之中实例化表现为CalSoapBindingStub.java这个类,该类的构造函数中用wsdl地址和CalServiceLocator类对象进行初始化,将服务端与客户端进行绑定,达到了连接两端的作用,使客户端可以调用服务器的方法进行计算。

7配置设计

本系统由于比较简单,只有一个客户端与一个服务器进行连接通讯,所以只配置了点对点的连接方式。

Webserver的拓扑结构应该为三角结构,分别为客户端,服务端和注册端。

由于是比较简单的web服务,目前市场的服务器计算吞吐量很大,点对点的服务让服务端不能满载,比较浪费资源,可以采用总线型或者星形的拓扑结构来增强服务器的带宽,以增强计算能力。

8实验结果

未开启服务运行客户端,客户端的add方法无法加载,但是system.out.println();

未经过服务器,故函数可以进行调用,打印输出。

可以看到命令行里面有很多的红色代码,说明没有开服务器是不能运行客户端的。

开启服务端的正确结果

可以看到客户端调用服务端的add方法,计算1+555等于556。

说明程序运行成功。

9心得体会

通过这次试验,我明白了webserver的开发过程,通过Apache服务器进行搭建web端的服务,再通过服务端的wsdl描述语言生成客户端与服务器之间的连接件,再通过调用连接件的对象方法对远程的服务器进行调用,达到web服务的目的。

在写报告的时候我们将连接件误认为中间件,将Apache的服务器当做了连接件。

最开始我们还做了linux的RPC调用,在本次实验的服务端的CalServer.java里面写了继承于rpc包,所以一直认为webserver和RPC一样,我都是客户端和服务器进行通讯达到服务的目的。

经过网上的学习,我发现还是有区别的。

下面是RPC和webserver的对比。

可以看到,RPC模型中多了一个stub的组件,这个是约定的接口,也就是server提供的服务。

对客户端来说,有了这个stub,RPC调用过程对clientcode来说就变成透明的了,客户端代码不需要关心沟通的协议是什么,网络连接是怎么建立的。

对客户端来说,它甚至不知道自己调用的是一个远程过程,还是一个本地过程。

然后,前面说的理解协议,处理连接的工作,总是要有人做的,这个工作就是在下面的RPCInterface里完成的。

而webservice接口就是RPC中的stub组件,规定了server能够提供的服务,这在server和client上是一致的,但是也是跨语言跨平台的。

同时,由于webservice规范中的WSDL文件的存在,现在各平台的webservice框架,都可以基于WSDL文件,自动生成webservice接口。

webservice框架,根据所选的平台有所不同,比如本次试验使用的就是Apache的服务架构。

它做的事情也和RPCInterface是一样的,SOAP协议负责解析协议,HTTP协议负责处理连接。

就编程角度来说,RPC和Webserver区别不大,RPC需要编写一个远程过程调用描述语言的*.x文件,通过rpcgen命令生成对应的服务端和客户端的结构,再更改其中的函数,通过gcc编译再运行。

而Webserver也是根据wsdl文件生成相应的webserver结构,再去编写详细的函数进行调用。

两者都是通过一个配置文件自动生成框架再去编写代码实现服务。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1