无为清净楼资源网 Design By www.qnjia.com
摘 要 本文提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成新的系统。而且本文通过学生身份验证模块实例分析了这种新方法的有效性。
引言
传统的软件共享是将软件从网络的服务器拷贝到客户端,以实现软件的共享,这种方法的缺点是每一个需要使用该软件的客户端都必须先拷贝该软件,导致网络上的空间冗余,因而导致产生了大量孤立的数据和重复的业务逻辑。
Web services 通过使用 XML 消息处理启用数据交换和应用程序逻辑远程调用,使数据能够通过防火墙,并在异类系统之间移动数据,它为实现数据和系统的互操作性提供了一种可行的解决方案。
本文针对传统软件共享问题提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成新的系统。而且本文通过学生身份验证模块实例分析了这种新方法的有效性。
软件共享的意义
随着计算机应用的普及与发展,大到各个行业,小至一个公司、部门都开发并应用了实用的计算机软件。这些软件大大地提高了公司企业的工作效率和现代化管理水平,它已经成为公司企业商业运行和管理的核心。但由于大多数公司几乎在每个部门广泛采用的是自定义软件,因而导致产生了大量实用但孤立且重复的业务逻辑块。如果在设计开发时能够避免重复设计,而是采用软件功能共享的方式来实现各个模块相同功能的话,那将大大节约软件开发成本,也为将来的系统升级和集成提供很好的构架基础。另外,对于已经存在的业务逻辑,可以通过少量的改进以便被其它应用程序所共享,从而降低开发成本。
由于开发每个应用程序所处的环境是多种多样的,而技术在永不停歇地发展,因此,共享已经存在的应用程序来创建一个功能集合在过去是一件非常困难的事情。值得庆幸的是,Web Services技术的出现为软件共享的实现提供了可能,软件功能的Web服务化,提供了在Internet范围内可共享的业务逻辑,最终形成以各种Web服务为基础的开放性的功能构件体系。下面,将对如何利用Web Services技术实现软件共享进行探讨。
基于Web Services技术实现软件共享
1、Web Services技术简介
Web Services可以看成是部署在Internet上的API,它可以方便被应用程序甚至其它Web Services集成和调用,形成新的应用服务。它具有完好的封装性,松散耦合,高度可集成能力。毫无疑问,Web Services技术将成为下一代Web的主流技术,它是实现"软件作为一种服务"的体现。
Web Services体系结构如下,由服务请求者、服务代理者和服务提供者组成:
Web服务提供者就是Web服务的拥有者,它在服务代理处注册以配置和发布服务,并耐心等待为其他服务和用户提供自己的功能;Web服务请求者就是Web功能的使用者,它使用查找操作来从服务代理者检索服务描述,然后与服务提供者绑定并调用Web服务或同它交互。
Web服务提供者相当于中介,它把一个Web服务请求者与合适的Web服务提供者联系在一起,一般是UDDI,UDDI为服务请求者提供了动态查找Web服务的机制。
2、基于Web Services的软件共享的实现方式
在软件开发过程中,人们常常按照功能把软件划分为不同的模块,以方便模块功能的重组复用和修改升级。通过Web Services技术实现软件共享,也需要首先对集成系统按功能划分模块;然后,创建Web服务来实现这些功能模块;为了使Web服务可访问,还需要发布服务描述(部署Web服务)以便其它模块可以查找并调用它。这样,以Web服务方式实现的软件功能就可以被应用程序甚至其它Web服务共享。
应用程序或其它Web服务等服务请求者当需要调用Web服务时,首先检索服务描述或在服务注册中心查询所要求的服务类型。当找到所需服务时,就可以使用服务描述与服务提供者进行绑定,并调用相应的服务。
微软新推出的旗舰产品Visual Studio.NET是被称为开发Web服务的首选工具,使用Visual Studio.NET可以非常方便地实现Web服务创建与调用。下面,将给出一个具体的基于Web Services技术实现软件共享的实例。
3、软件共享的应用举例:学生身份验证模块的共享实现。
目前,在高校中有很多的软件系统,例如:选课系统、成绩查询系统、网络课程系统、图书馆系统、学生财务系统等。由于各个系统相互独立,每一个系统都有一个学生身份验证模块,存在功能上的重复设计;另外,各个系统的相互独立,存在着学生需要记忆不同系统的密码。
鉴于以上情况及目前校园网络的高度发达,我们完全可以用Web服务的方式来实现学生身份验证模块的共享。下面将介绍使用Visual Studio.NET环境用C#语言实现创建并调用学生身份验证Web服务的过程。
1) Web服务的创建
学生身份验证模块有1个Web服务构成:
public Boolean ValidUser(string userID,string Pwd)
Web服务ValidUser用于验证学生身份。已经在Sql Server数据库StudentsInfo中建立了一个学生基本信息表Student,其中字段UserID、Pwd分别保存学生的用户代码及密码。
下面将具体介绍Web服务的创建过程:
a 运行Visual Studio.NET开发环境,新建"ASP.NET Web服务"类型的项目WSStudentLogin。
b Web服务的具体代码实现。
using System.Data.SqlClient;
//省略代码……
public class Service1 : System.Web.Services.WebService
";
ConnStr="DATABASE=StudentsInfo;SERVER=10.1.111.19;UID=sa;PWD=;";
//省略代码……
[WebMethod]
public Boolean ValidUser(string userID,string Pwd)
";
//建立一个数据库连接对象
SqlConnection tempConn=new SqlConnection(ConnStr);
sqlStr="select * from student where ID='"+userID+"' and pwd='"+Pwd+"';";
//建立一个命令对象
SqlCommand tempComm=new SqlCommand(sqlStr,tempConn);
tempConn.Open();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) flag=true;
tempReader.Close();
tempComm.Dispose();
return flag;
"ASP.NET WEB应用程序"类型的项目WebApplication2。
b、服务引用。
首先,在"项目"菜单上单击"添加 Web 引用"。接下来,因为本例中的Web服务位于本地计算机上,我们单击浏览器窗格中的"本地计算机上的 Web 服务"链接。然后,从所提供的列表中单击Service1链接以检索有关该 Web服务的信息。然后,单击"添加引用"为目标Web服务添加Web引用。Visual Studio.NET将下载服务说明并生成一个作为应用程序和Web服务之间的接口的代理类。
c、在客户程序中调用Web服务的具体代码举例。
private void Button1_Click(object sender, System.EventArgs e)
"OK" ;
else
Label1.Text="ERROR" ;
"软件作为一种服务"的体现,什么人被禁止使用此服务,什么人被允许使用此服务,使用此服务如何收费等,都是实际使用需要解决的问题。另外,Web服务的承载能力、Web服务的部署与发现、客户调用Web服务失效处理等问题也是需要解决好的问题。
小结
本文提出了从软件功能共享的角度来实现软件共享,讨论了利用Web Services技术来实现远程软件功能共享,并且通过学生身体验证模块来实例分析软件功能共享的有效性及其优点。软件功能共享的研究对实现分布式计算等都具有重大的意义,它还需要进一步的研究。
引言
传统的软件共享是将软件从网络的服务器拷贝到客户端,以实现软件的共享,这种方法的缺点是每一个需要使用该软件的客户端都必须先拷贝该软件,导致网络上的空间冗余,因而导致产生了大量孤立的数据和重复的业务逻辑。
Web services 通过使用 XML 消息处理启用数据交换和应用程序逻辑远程调用,使数据能够通过防火墙,并在异类系统之间移动数据,它为实现数据和系统的互操作性提供了一种可行的解决方案。
本文针对传统软件共享问题提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成新的系统。而且本文通过学生身份验证模块实例分析了这种新方法的有效性。
软件共享的意义
随着计算机应用的普及与发展,大到各个行业,小至一个公司、部门都开发并应用了实用的计算机软件。这些软件大大地提高了公司企业的工作效率和现代化管理水平,它已经成为公司企业商业运行和管理的核心。但由于大多数公司几乎在每个部门广泛采用的是自定义软件,因而导致产生了大量实用但孤立且重复的业务逻辑块。如果在设计开发时能够避免重复设计,而是采用软件功能共享的方式来实现各个模块相同功能的话,那将大大节约软件开发成本,也为将来的系统升级和集成提供很好的构架基础。另外,对于已经存在的业务逻辑,可以通过少量的改进以便被其它应用程序所共享,从而降低开发成本。
由于开发每个应用程序所处的环境是多种多样的,而技术在永不停歇地发展,因此,共享已经存在的应用程序来创建一个功能集合在过去是一件非常困难的事情。值得庆幸的是,Web Services技术的出现为软件共享的实现提供了可能,软件功能的Web服务化,提供了在Internet范围内可共享的业务逻辑,最终形成以各种Web服务为基础的开放性的功能构件体系。下面,将对如何利用Web Services技术实现软件共享进行探讨。
基于Web Services技术实现软件共享
1、Web Services技术简介
Web Services可以看成是部署在Internet上的API,它可以方便被应用程序甚至其它Web Services集成和调用,形成新的应用服务。它具有完好的封装性,松散耦合,高度可集成能力。毫无疑问,Web Services技术将成为下一代Web的主流技术,它是实现"软件作为一种服务"的体现。
Web Services体系结构如下,由服务请求者、服务代理者和服务提供者组成:
Web服务提供者就是Web服务的拥有者,它在服务代理处注册以配置和发布服务,并耐心等待为其他服务和用户提供自己的功能;Web服务请求者就是Web功能的使用者,它使用查找操作来从服务代理者检索服务描述,然后与服务提供者绑定并调用Web服务或同它交互。
Web服务提供者相当于中介,它把一个Web服务请求者与合适的Web服务提供者联系在一起,一般是UDDI,UDDI为服务请求者提供了动态查找Web服务的机制。
2、基于Web Services的软件共享的实现方式
在软件开发过程中,人们常常按照功能把软件划分为不同的模块,以方便模块功能的重组复用和修改升级。通过Web Services技术实现软件共享,也需要首先对集成系统按功能划分模块;然后,创建Web服务来实现这些功能模块;为了使Web服务可访问,还需要发布服务描述(部署Web服务)以便其它模块可以查找并调用它。这样,以Web服务方式实现的软件功能就可以被应用程序甚至其它Web服务共享。
应用程序或其它Web服务等服务请求者当需要调用Web服务时,首先检索服务描述或在服务注册中心查询所要求的服务类型。当找到所需服务时,就可以使用服务描述与服务提供者进行绑定,并调用相应的服务。
微软新推出的旗舰产品Visual Studio.NET是被称为开发Web服务的首选工具,使用Visual Studio.NET可以非常方便地实现Web服务创建与调用。下面,将给出一个具体的基于Web Services技术实现软件共享的实例。
3、软件共享的应用举例:学生身份验证模块的共享实现。
目前,在高校中有很多的软件系统,例如:选课系统、成绩查询系统、网络课程系统、图书馆系统、学生财务系统等。由于各个系统相互独立,每一个系统都有一个学生身份验证模块,存在功能上的重复设计;另外,各个系统的相互独立,存在着学生需要记忆不同系统的密码。
鉴于以上情况及目前校园网络的高度发达,我们完全可以用Web服务的方式来实现学生身份验证模块的共享。下面将介绍使用Visual Studio.NET环境用C#语言实现创建并调用学生身份验证Web服务的过程。
1) Web服务的创建
学生身份验证模块有1个Web服务构成:
public Boolean ValidUser(string userID,string Pwd)
Web服务ValidUser用于验证学生身份。已经在Sql Server数据库StudentsInfo中建立了一个学生基本信息表Student,其中字段UserID、Pwd分别保存学生的用户代码及密码。
下面将具体介绍Web服务的创建过程:
a 运行Visual Studio.NET开发环境,新建"ASP.NET Web服务"类型的项目WSStudentLogin。
b Web服务的具体代码实现。
using System.Data.SqlClient;
//省略代码……
public class Service1 : System.Web.Services.WebService
";
ConnStr="DATABASE=StudentsInfo;SERVER=10.1.111.19;UID=sa;PWD=;";
//省略代码……
[WebMethod]
public Boolean ValidUser(string userID,string Pwd)
";
//建立一个数据库连接对象
SqlConnection tempConn=new SqlConnection(ConnStr);
sqlStr="select * from student where ID='"+userID+"' and pwd='"+Pwd+"';";
//建立一个命令对象
SqlCommand tempComm=new SqlCommand(sqlStr,tempConn);
tempConn.Open();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) flag=true;
tempReader.Close();
tempComm.Dispose();
return flag;
"ASP.NET WEB应用程序"类型的项目WebApplication2。
b、服务引用。
首先,在"项目"菜单上单击"添加 Web 引用"。接下来,因为本例中的Web服务位于本地计算机上,我们单击浏览器窗格中的"本地计算机上的 Web 服务"链接。然后,从所提供的列表中单击Service1链接以检索有关该 Web服务的信息。然后,单击"添加引用"为目标Web服务添加Web引用。Visual Studio.NET将下载服务说明并生成一个作为应用程序和Web服务之间的接口的代理类。
c、在客户程序中调用Web服务的具体代码举例。
private void Button1_Click(object sender, System.EventArgs e)
"OK" ;
else
Label1.Text="ERROR" ;
"软件作为一种服务"的体现,什么人被禁止使用此服务,什么人被允许使用此服务,使用此服务如何收费等,都是实际使用需要解决的问题。另外,Web服务的承载能力、Web服务的部署与发现、客户调用Web服务失效处理等问题也是需要解决好的问题。
小结
本文提出了从软件功能共享的角度来实现软件共享,讨论了利用Web Services技术来实现远程软件功能共享,并且通过学生身体验证模块来实例分析软件功能共享的有效性及其优点。软件功能共享的研究对实现分布式计算等都具有重大的意义,它还需要进一步的研究。
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】