Web Service智能应用解决方案

2018-06-29 07:55韩昊蔡渊
卷宗 2018年13期

韩昊 蔡渊

摘 要 :微软公司即将推出.NET技术,用于下一代的互联网的应用,这标志着新的软件开发的基础和结构将发生革命性的变化。随着.NET的平台的全面推出,在互联网上必然会出现许多Web Service,提供不同的信息和服务给全球的企业,软件开发者使用。这在一方面会让信息共享的程度更高,人们获取信息的速度更快;另一方面,由于大量Web Service的产生,对这些Web Service 的合理使用将会产生一系列的问题。我们希望能有一个解决的方案,对Internet 上所有的Web Service都能简单的使用。

关键词: Web Service,, 智能应用

随着.NET的平台的全面推出,在互联网上必然会出现许多Web Service,提供不同的信息和服务给全球的企业,软件开发者使用。我们相信,在Web Service大量使用以后,能提供大量Web Service的工具必然是极其受用户欢迎的。而且在我们的标准下,客户端的软件可以自扩展地使用大量的Web Service,这必然将软件的开发水平提高到一个新的层次,无论是软件开发人员,还是最终用户,都会乐意使用,因此,我们的解决方案必然会有广阔的应用前景。

1.解决方案的背景

本解决方案是基于微软.NET 架构在互联网上广泛使用的基础上提出的。我们认为,由于.NET架构是基于科技为人服务的理念而提出的,能够实现信息更大程度上的共享,为人提供更多的方便,加上微软技术在操作系统的以及软件平台上的领先地位,.NET平台必然将成为下一代互联网上应用最广泛的技术平台,必然会有大量的企业,软件开发商在.NET的基础上开发软件,提供不同的服务,以适应人的要求。

在这个基础上,我们有理由相信:下一代互联网上提供的Web Service将会越来越多,最终几乎所有的网站都将以Web Service的形式提供服务。

2.面临的问题

Web Service 在未来的广泛应用必然将带来一些问题:

2.1不面向最终用户,需要另外软件支持。

Web Service 是面向开发人员的,对于最终用户而言,不能直接使用Web Service来为自己提供服务,必须通过第三方软件或者ASP.NET的页面提供接口才能使用。这样,Web Service的使用便受到了大量的限制,只有为这个Web Service开发客户端软件或者专门的ASP.NET页面才可以为最终用户使用,而且只能使用几个固化在软件中的Web Service。这样的开发方式并不利于客户端软件的规模化和集成化。不可能在一个软件中实现大量的Web Service的访问。此外也使得软件更新麻烦,不同版本之间协调困难,而且大量Web service需要推广。

2.2 Web Service接口类型多样,开发者无法全部掌握。

不同的Web Service将提供不同的接口以实现他们的服务,由于不同的服务提供的接口完全不同,包括传递的参数和返回的类型有很大区别,开发人员如果需要使用互联网上的Web Service,就必须了解这些Web Service的接口类型,然后根据他们的实际需求在有限范围内定制他们的功能。这样导致所有的.NET软件开发者在开发的时候必须去了解Web Service自己的接口,而且对于一个软件而言,只能使用有限个Web Service,这并不符合信息共享的原则。

3.解决方案的构思

我们认为,客户端调用Web Service以提供给最终用户使用的时候,主要可以通过以下的方法寻求帮助。

首先,我们考虑能不能通过客户端软件的代码直接实现。在使用Internet Explore时,我们发现,如果在地址栏里直接输入Web Service的地址,比如某一个asmx文件,在Internet Explore中,我们可以找到它的所有方法,也可以使用参数比较简单的方法,这让我们想到,如果在客户端软件中写上这段代码,通过对WSDL进行分析,就可以让用户使用一些Web Service中的方法了,這也可以实现客户端直接使用Web Service。

其次,客户端可以根据UDDI的内容,访问类似的web service,然后自主地使用新出现的Web Service而不需要更改任何代码。但是,就现在的UDDI的支持程度而言,客户端只能得到有关这个Web Service的描述文件和一些API,无法直接地、智能地、人性化地使用这些Web Service,仍然需要程序员对客户端的源代码进行修改才可以使用。但是可以在大量的Web Service的基础上再提供一个收集这些Web Service信息的服务器,这个服务器也同样以Web Service的形式提供一个接口给客户端软件,以后只要客户端软件访问这个接口,就可以直接使用在服务器上的Web Service了,这样可以初步解决客户端软件简单直接地使用Web Service的问题,但是它需要服务器端的帮助。

最后,由于在上面说的像IE一样对Web Service进行使用,那么用户将不能知道每一个Web Service中的方法的含义和功能是什么,所以,我们希望能对所有的Web Service的所有方法进行语义上的分析,通过语义的匹配来实现对于Web Service的使用,并可以通过用户输入语义来匹配Web Service并对它们进行调用。

以上三点,在三个层次上对于Web Service的使用做了一些构思的说明,我们希望我们提出的解决方案能对以上的问题进行一些探讨和研究,并在一定程度上做一些工作解决一部分的问题。

4.结语

在本文中, 我们提出解决方案希望能实现下面的目的:客户端可以帮助最终用户使用指定的Web Service,通过简单的和用户之间的接口,将Web Service的一些方法直接提供给用户使用。并让用户了解Web Service的功能。客户端软件可以直接使用在它被开发以后出现的Web Service。客户端软件可以不更改一行代码,就能使用新出现Web Service,让客户端开发人员可以一劳永逸地开发永远是最新版本的客户端软件。对大量相同类型的Web Service提供统一的接口。我们提供给开发人员一个统一的访问Web Service的接口,其中包含和最终用户交互的接口,这样开发人员不必了解不同Web Service的接口,只需要了解我们提供的接口,在这个接口上进行编程,就可以对互联网上大量的Web Service进行访问,避免了繁重的劳动,大大减少了开发人员的工作量。由于我们将我们的解决方案分成了3个不同的层次,每一个层次的设计和实现也有所不同,所以我们将分别描述3个层次的设计,3个层次共同组成了我们的解决方案。

参考文献

[1]潘益婷,潘修强等,Service的智能农业系统,《计算机系统应用》.2017 , 26 (11) :114-117。

[2]申鸿烨,Android学习平台中Web Service架构的实现与研究,《智能计算机与应用》 , 2017 , 7 (3) :159-161。