发明内容
本发明的目的是提供一种基于Web服务的构件在线组装系统(CLMS)。通过使用Mule将构件作为Web服务发布后,对于这些构件的描述信息储存在CLMS,客户使用CLMS管理在线构件,使用在线构件,组装在线构件,避免了重复开发已有构件的工作。这样整个程序开发行业,将会达到资源共享,重复利用,省时省力的目的。
本发明的特征在于,所述方法是在一个由客户端主机、用户注册中心、构件在线组装系统CLMS以及MySQL数据库共同组成的一种基于Web服务的构件在线组装其中依次按以下步骤实现的:
步骤(1)初始化
用户注册中心设有用户个人注册信息管理模块,所述用户个人注册信息至少含有:用户名、密码、真实姓名、联系电话和工作单位;
构件在线组装系统CLMS,设有:构件管理模块、构件类型管理模块以及系统维护模块,其中:
构件管理模块,执行以下操作:
在用户已经开发好的构件中添加描述信息,所述构件是由一种具有某种代码的程序代码块封装而成的,
通过所述描述信息搜索已经添加且在线的所述构件,
在搜索到所述在线构件后,修改其描述信息,
当一个所述在线构件不复存在,或者已经不再在互联网上发布时从所述在线组装系统CLMS中删除所述构件的描述信息;
构件类型管理模块,执行以下操作,便于用户对所述在线构件输入输出类型的管理:
添加所述在线构件的类型,所述类型的内容由发布者姓名和所诉输入输出的描述信息构成,
根据所述在线构件的类型内容来搜索该在线构件,
在搜索到所述在线构件的内容后,修改所述的类型内容,
当所述的一个在线构件的类型已经不再使用时删除所述的类型内容;
系统维护模块,监视所述构件在线组装系统CLMS的使用情况,其中,包括监视以下参数:所述在线构件被使用次数,按次数降序排列;用户添加所述在线构件的个数,按个数降序排列;当前在线用户数;在线用户登录时间;
MySQL库,存储所述在线构件的描述信息以及所述在线构件的类型信息,其中:
所述描述信息含有:名称,分类,描述,作者,版权,版本,大小,编程语言,硬件环境,软件环境,资源定位符URL,备注,输入参数及其类型、约束及其测试数据,输出参数及其类型、约束和测试数据,其中:所述输入或输出的参数以一个XML字符串表示,以列表1ist为根节点,参数param为所述根节点的子节点,每个所述子节点分别用name和type表述输入或输出的参数param的参数名和类型,
所述类型信息,以另一个XML字符串表示除了包括String、Integer在内的这类基本类型以外而由用户自定义的非基本类型的构件类型,以另一个列表1ist为根节点,属性attribute为该根节点的子节点,每个所述子节点分别用名称name、类型type和值value表示:
步骤(2),用户依次按以下步骤实现构件的在线组装:
步骤(2.1),用户把所述个人注册输入所述用户注册中心进行注册,经认可后,执行下一步骤,
步骤(2.2),用户把开发好的构件通过框架Mule在所述用户注册中的注册,注册成功后在互联网上发布成为一个Web服务,成为一个在线构件,
步骤(2.3),发布该在线构件的用户,或者知晓该在线构件的用户,使用所述在线组装系统CLMS添加该在线构件的描述信息,以及用户自定义的所述非基本类型构件的类型信息,并输入到所述MySQL库,
步骤(2.4),用户使用所述框架Mule通过所述构件在线组装系统CLMS,从所述MySQL库中调出已入库在线构件描述信息中的资源定位符URL后,再从所述用户注册中心定位到该在线构件的实际载体,进行在线测试运行,
步骤(2.5),用户或添加、或搜索、或修改、或删除所述在线构件的描述信息,
步骤(2.6),用户按照前一个在线构件输出参数的类型type与下一个在线构件输入参数的类型type相匹配的原则,使用在线构件与其他已入库的在线构件组装成为一个组合构件,
步骤(2.7),用户或添加、或搜索、或修改、或删除所述在线构件的类型信息。
由上述本发明提供的技术方案可以看出,本发明提供了一种基于Web服务的构件在线组装系统。通过使用CLMS,统一管理互联网上通过Mule发布的Web服务构件,并加以利用,或者组装再利用,减少构件资源浪费。
具体实施方式
本发明实施例的目的是通过以下技术方案实现:
本发明实施例提供了一种基于Web服务的在线构件管理方法,所述方法包括:
开发完成的构件,通过Mule发布成功后,作为Web服务可以随时在互联网上被个性化所需利用。
当互联网上通过Mule已经发布了Web服务,用户使用CLMS添加构件,加以描述信息,其他需要调用此构件服务的用户就可以通过使用CLMS搜索到所需Web服务,并实现在线组装功能。
实现Web服务的构件在线组装功能,首先需要满足相邻的两个构件之间,前一个构件的输出结果符合下一个构件的输入结果的条件,不然组装失败。
构件的输入输出在本实施例中使用MySQL数据库保存,以XML字符串描述,属于CLMS中构件的描述信息的一个组成部分。这个字符串包含两个子标签,分别为名称(name)和类型(type)。当相邻的两个构件中,前一个构件的输出方法的type与下一个输入方法的type类型匹配,则能成功实现在线组装。组装成功后,多个构件组成一个组合构件,通过调用这多个构件的Web服务,测试这个新的组合构件,赋予它一些数值,在线得到测试结果。
本发明实施例提供了一种基于Web服务的构件在线组装系统,包括:
个人信息管理模块:管理用户的个人注册信息。
构件管理模块:增、删、改、查、组装已经经过Mule发布的Web服务构件。
构件类型管理模块:增、删、改、查描述Web服务构件的类型。
系统维护模块:用于管理员了解分析CLMS里构件上载和被下载的次数以及在线用户的人数。
下面结合附图1到附图4对本发明实施例及所述的方法进行详细说明。
首先对本发明实施例模块功能进行阐述。
本发明实施例模块功能共分为四个,如图1所示,具体包括:
个人管理模块:用户使用CLMS之前,先注册,等待管理员通过认证后,方可使用CLMS。本模块实现用户管理自己的个人信息,所述个人信息包括用户名、密码、真实姓名、联系电话、工作单位等。
构件管理模块:用户在通过Mule发布Web服务之后,使用CLMS管理该在线构件,所述在线构件是以描述信息形式存在CLMS该系统中,使用MySQL数据库存储,真正的载体不需要存储在数据库中,大大节约了资源的利用。所述管理包括添加在线构件,搜索在线构件,修改在线构件,删除在线构件。
1)添加在线构件:在添加过程中,需要添加此构件的描述信息。所述描述信息包括名称,分类,描述,作者,版权,版本,大小,编程语言,硬件环境,软件环境,资源定位符(URL),备注,输入参数、类型、约束和测试数据,输出参数、类型、约束和测试数据。
2)搜索在线构件:对于已经添加的在线构件,用户可以通过描述信息搜索到。
3)修改在线构件:用户搜索到在线构件后,对所述构件进行修改其描述信息的操作,用以满足当互联网上通过Mule发布的Web服务由原作者修改后,CLMS中的信息相应得到及时的更新。
4)删除在线构件:当某一个在线构件不复存在,或者已经不再发布在互联网上,用户可以从CLMS中将该构件删除,但这里的删除并非对构件载体的删除,而是对所述构件载体描述信息的删除。
构件类型管理模块:用户对在线构件输入输出类型的管理,由于所述构件的类型不仅仅局限于基本类型(如:String,Integer...),所以需要用户自己定义一些非基本类型。所述管理包括添加构件类型,搜索构件类型,修改构件类型,删除构件类型。
1)添加构件类型:当用户添加在线构件之前,需要先把所述构件需要的输入输出类型添加到CLMS中。所述构件类型由两个内容组成保存到数据库中,所述的两个内容分别为发布者,输入输出描述信息,所述信息以一个XML字符串表示存储在MySQL数据库中。
2)搜索构件类型:用户通过所述构件的两个组成内容搜索到构件类型。
3)修改构件类型:用户搜索到构件类型后,可以修改所述类型的两个组成部分,尤其是描述信息。当互联网上通过Mule发布的Web服务的输入输出参数类型发生变化时,用户应该在CLMS及时对该Web服务在线构件的类型做相应修改,以确保其他用户的正确使用。
4)删除构件类型:当一个构件类型已经不再使用,用户可以对它进行删除。
系统维护模块:管理员用于监视CLMS的使用情况,所述情况包括构件下载排行、用户上载排行、当前在线用户数、在线用户登录时间。所述构件下载排行,指的是在线构件被使用的次数,按次数降序排列。所述用户上载排行,指的是用户添加在线构件的个数,按个数降序排列。
本发明第一实施例为用户使用CLMS使用互联网已通过Mule发布的Web服务过程,如图2所示。
用户通过客户终端,将开发好的构件在互联网通过Mule在注册中心注册成功后,发布在互联网上。所述用户或者其他知晓所述构件的用户使用CLMS管理所述构件,这里所述的管理指的是管理所述构件的描述信息,并非所述构件的实际载体。其他用户使用所述CLMS搜索到所述构件,在线使用所述构件,实现所述构件的功能;或者将所述构件与别的在线构件组装成为一组合构件,实现一个新功能。所述别的在线构件必须满足存在于CLMS数据库中的构件。所述功能指的是通过调用所述构件URL,从注册中心定位到所述构件的实际载体,然后在线运行实现所述构件的功能。
本发明实施例的方法所述输入输出结果表示形式如图3所示。
CLMS对于在线构件的描述信息中的输入参数和输出参数,用一个XML字符串表示,所述字符串符合XML文档协议,以列表1ist为根节点,参数param为根节点的子节点,一个param节点表示一个参数,所述构件具有几个输入参数或者输出参数,所述字符串就有几个param节点。每个param节点里面含有两个子节点,分别为名称name和类型type,表示所述输入参数或者输出参数的名称和类型,所述类型指的是基本类型或者CLMS中的构件类型(非基本类型)。如图所示,String为基本类型,CDOI为非基本类型。
本发明实施例的方法所述构件类型表示形式如图4所示。
CLMS中的构件类型保存在数据库中包含两个部分:发布者和描述信息。其中描述信息以一个XML字符串表示,所属字符串符合XML文档协议以列表list为根节点,属性attribute为根节点的子节点,一个attribute节点表示所述构件类型的一个属性,一般非基本类型都是由一个或者一个以上的基本类型的attribute组成。所述构件类型具有几个属性,所述字符串就有几个attribute节点。每个attribute节点里面含有三个子节点,分别为名称name、类型type和值value,表示所述构件类型属性的名称、类型和默认值,所述类型一般指的是基本类型。如图所示,String、Integer为基本类型。
由上述本发明实施例提供的技术方案可以看出,本发明实施例提供了一种基于Web服务的构件在线组装系统,该系统由一种基于Web服务的在线构件管理方法支持。只有符合由Mule发布的Web服务在线构件,在CLMS添加入数据库后,所有使用CLMS的用户都能对CLMS库里的互联网Web服务进行调用,避免再次自己开发,并且用户可以使用已有的Web服务组装成个性化所需的新构件,以达到减少软件资源的重复浪费的目的。
以上所述,仅为本发明实施例较佳的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应该以权利要求的保护范围为准。