具体实施方式
通过对大量Web服务的分析,根据对Web服务属性的研究,在众多Web服务的属性中,可提取出的、在本发明Web服务属性图形化展示方法中可以通过图形展示的服务属性有如表一所示的种类:
表一服务属性说明
名称 |
说明 |
服务的分类聚类信息(Category) |
表示服务的类别和同类别中各服务的关系。 |
服务名称(Service Name) |
服务在服务社区中注册时使用的名称。 |
服务的可用性(Availability) |
可用性是质量的一个方面,指Web服务是否已就绪可供立即使用。用是/否表示,取值范围0或1。 |
服务的可访问性(Accessibility) |
可访问性是服务质量的一个方面,表示能够为Web服务请求提供服务的程度。它可以表示为一种可能性尺度,用来表示在某个时间点上成功地实例化服务的成功率或机会。取值范围0~1。 |
服务的延时(Response_time) |
延时是Web服务性能指标的一个方面,表示发送请求和接收响应之间的往返时间,虽然一定程度上与用户使用的网络带宽有关,但是在带宽充足的情况下,也可以反映Web服务的质量。取值范围正整数,单位:毫秒。 |
服务的吞吐量(Thruput) |
吞吐量是Web服务性能指标的一个方面,表示在给定时间段内被服务的Web服务请求数,较大的吞吐量表示该Web服务较好。取值范围正整数,单位:次。 |
服务的可靠性(Reliability) |
可靠性是Web服务质量的一个方面,表示能够维护服务和服务质量的程度。每月或每年的失效次数是衡量Web服务可靠性的尺度。取值范围0~1。 |
服务的安全性(Encryption) |
安全性是Web服务质量的一个方面,通过验证涉及到的各方、对消息加密以及提供访问控制来提供机密性和不可抵赖性。根据服务请求者的不同,服务提供者可以用不同的方法来提供安全性,所提供的安全性也可以有不同的级别。取值范围0~5,标识1~5级。 |
服务的价格(Price) |
服务的价格由于调用服务收费方案的多样性,在进行可视化表现时,经过计算统一折合成单位:次/元。取值范围:0~∞。 |
本实施例采用平面图形的形状、颜色和大小这三种属性来表示服务属性,图形属性的表示方式如表二所示。
表二图形属性说明
本发明对于表一所示的服务属性,用图形界面中节点与节点的层次父子关系来表示服务的分类聚类信息,用节点的标签来显示服务名称,用节点的形状、尺寸和颜色这三种属性来表示其余七类服务属性中的三类服务属性。这就意味着其余七类服务属性中最多有三类可以通过图形来表示。用图形属性的变化来体现服务属性的差别,这就需要在量上把服务属性的数据值与图形属性对应起来,才能把具有不同数据值的服务属性用不同图形来表示。服务属性与图形属性的对应关系如表三所示。
表三服务属性与图形属性的对应关系
图1为实现本发明Web服务属性图形化展示方法的体系结构框图,图中描述了该方法所涉及的模块,以及该方法进行的大致流程。参见图1,位于虚线上半部分的为客户端,位于虚线下半部分的为服务器端。下面结合图1来详细描述本发明Web服务属性图形化展示方法,该方法包括如下步骤。
一、查询
客户端通过浏览器向服务器端的服务查询模块发出查询请求,服务查询模块根据查询请求查询服务器端的服务信息数据库,把获得的服务信息数据发送到服务器端的XML数据源文件生成模块。
二、选择服务属性
XML数据源文件生成模块根据查询所获得的服务信息数据在表三所示的七类服务属性中选择其中的三类服务属性,按预先设定的、如表三所示的服务属性与图形属性之间的对应关系把选择的三类服务属性分别与图形的形状、颜色和大小属性对应起来。
进一步地,在该步骤中选择服务属性时,采用根据用户的使用习惯,自适应地选择用户关心的服务属性。用户的使用习惯数据,可以在服务器端的数据库进行持久化,持久化的数据库表结构如表四所示。在用户第一次使用该系统的情况,默认展示的三类服务属性为:服务的可用性,服务的可访问性,服务价格。这三类服务属性也可由用户自行选择。
表四持久化的数据库表结构
UserID |
用户的ID |
Availability |
该用户选择Availability的次数 |
Accessibility |
该用户选择Accessibility的次数 |
Response_time |
该用户选择Response_time的次数 |
Thruput |
该用户选择Thruput的次数 |
Reliability |
该用户选择Rellabiltiy属性的次数 |
Eenctyption |
该用户选择Enectyption属性的次数 |
Price |
该用户选择Price属性的次数 |
在进行自适应选择的时候,系统根据该用户选择次数最多的三类服务属性。用户每手动选择一次需要展示的服务属性,则对应的该服务属性的次数增加一次。自适应选择的结果不累计到次数中。例如:如果系统自适应选择服务的可用性、服务的可访问性和服务的延时这三类属性进行图形化展示,则这三类属性对应的被选择次数值不变。若用户手动选择服务的可用性、服务的可访问性和服务的延时这三类属性进行图形化展示,则这三类属性对应的被选择此数值增加1。在初始状态下,七类服务属性被选择的次数的值都为零。自适应选择的三类服务属性与图形的形状、大小和颜色这三种图形属性的对应关系,在初始化时随机生成,用户也可以自己手动调整。
三、构建数据源文件
XML数据源文件生成模块采用基于XML格式的数据描述文件来描述查询所获得的服务信息数据中的服务与服务、服务与分类之间的关系以及所选择的服务属性的数据值以生成XML数据源文件,并把生成的XML数据源文件发送到Web服务器进行缓存。
为了保持数据的一致性,特别是在条件查询的情况下,图形化数据源中的服务信息数据必须和服务社区中的服务查询结果保持一致。特别是在分类查询的情况下,需要递归找出所选分类下的所有服务和子分类及其下的服务。本发明在构建数据源文件步骤中采取的方法是,先构造一棵服务类别树,再根据条件将符合要求的服务挂载到这棵类别树上以完成整个树数据结构的构造工作,最后将此树数据结构转化为XML文件进行描述,在服务器端对XML数据源文件进行缓存,生成可访问此缓存文件的URL。XML数据源文件的示例如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<tree>
<declarations>
<attributeDecl name=″node.serviceID″type=″Long″/>
<attributeDecl name=″node.name″type=″String″/>
<attributeDecl name=″node.type″type=″Int″/>
<attributeDecl name=″node.availability″type=″Int″/>
<attributeDecl name=″node.price″type=″Float″/>
</declarations>
<branch>
<attribute name=″node.serviceID″value=″0L″/>
<attribute name=″node.name″value=″Root″/>
<attribute name=″node.type″value=″0″/>
<attribute name=″node.availability″value=″-1″/>
<attribute name=″node.price″value=″0.0f″/>
<branch>
<attribute name=″node.serviceID″value=″0L″/>
<attribute name=″node.name″value=″finance ″/>
<attribute name=″node.type″value=″0″/>
<attribute name=″node.availability″value=″-1″/>
<attribute name=″node.price″value=″0.0f″/>
<leaf>
<attribute name=″node.serviceID″value=″3L″/>
<attribute name=″node.name″value=″Query″/>
<attribute name=″node.type″value=″1″/>
<attribute name=″node.availability″value=″1″/>
<attribute name=″node.price″value=″50.0f″/>
</leaf>
</branch>
</branch>
</tree>
四、传输数据源文件
在XML数据源文件生成模块生成XML数据源文件后,Web服务器将XML数据源文件访问的URL返回给客户端,客户端根据URL获取XML数据源文件。服务器端和客户端通过HTTP协议进行交互。
五、图形化展示
客户端在获得XML数据源文件后,客户端的解析模块对XML数据源文件进行解析,并通过绘图技术来把解析结果生成图形模型,客户端的浏览器将图形模型以图形方式展示给用户。通过图形之间的差别来标识相同功能服务之间的属性区别,使用户能够通过视觉刺激的方式来进行选择,提升了用户选择Web服务过程的用户体验。
客户端的解析模块采用了Java Applet和Java 2D绘图技术,Java Applet代码可以在用户端进行缓存,用户在首次使用时从服务器端下载解析xml数据源文件和生成图形界面的解析模块后,在以后的使用过程中就不需要每次都进行这部分代码的下载,服务器端和客户端的数据交换只需要传递数据源文件大小的数据量就可以满足客户端图形化展示的需要,使得客户端与服务器端的数据量大小水平维持在相当小的水平,与传统的表格呈现方式几乎持平,大大降低了网络流量的负担。
上述实施例仅用于对本发明构思的理解,并非对本发明的限制,根据本发明构思还可以作出一些简单的变换,例如可以采用更为复杂的图形,设定图形多于三种属性,例如四类、五类甚至七种属性,相应地可以在选择服务属性步骤中选择相应数量类别的服务属性,按预先设定的服务属性与图形属性之间的对应关系把选择的服务属性与图形属性对应起来,从而可以在客户端图形化展示相应数量类别的服务属性。