CN110471650B - 一种Web Service发布方法、装置及服务器 - Google Patents
一种Web Service发布方法、装置及服务器 Download PDFInfo
- Publication number
- CN110471650B CN110471650B CN201910627108.6A CN201910627108A CN110471650B CN 110471650 B CN110471650 B CN 110471650B CN 201910627108 A CN201910627108 A CN 201910627108A CN 110471650 B CN110471650 B CN 110471650B
- Authority
- CN
- China
- Prior art keywords
- web service
- information
- database
- file
- service object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明实施例提出一种Web Service发布方法、装置及服务器,涉及Web服务技术领域。该方法及装置用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将待发布文件转化为java对象,并根据java对象构造Web Service对象,以便发布Web Service对象。由于待发布文件包含根据用户需求确定的数据库信息,也即本发明可根据用户的实际需求动态发布Web Service对象,缩短了发布服务的周期,提高了Web服务的发布效率。
Description
技术领域
本发明涉及Web服务技术领域,具体而言,涉及一种Web Service发布方法、装置及服务器。
背景技术
Web Service是一个平台独立的,低耦合的、自包含的、基于可编程的web的应用程序。具体地,Web Service可以通过简单对象存取协议(Simple Object Access Protocol,SOAP)在Web上提供软件服务,并使用WSDL(Web Services Description Language)文件进行说明,通过UDDI(Universal Description Discovery and Integration)进行注册。从而,运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。
发明内容
有鉴于此,本发明的目的在于提供一种Web Service发布方法、装置及服务器,以实现根据用户需求动态发布Web Service。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种Web Service发布方法,所述Web Service发布方法包括:
当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将所述待发布文件转化为java对象,其中,所述待发布文件包含根据用户需求确定的数据库信息;
根据所述java对象构造Web Service对象,以便发布所述Web Service对象。
第二方面,本发明实施例还提供了一种Web Service发布装置,所述Web Service发布装置包括:
转化模块,用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将所述待发布文件转化为java对象,其中,所述待发布文件包含根据用户需求确定的数据库信息;
构造模块,用于根据所述java对象构造Web Service对象,以便发布所述WebService对象。
第三方面,本发明实施例还提供了一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现第一方面所述的Web Service发布方法。
本发明实施例提供的Web Service发布方法、装置及服务器,用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将待发布文件转化为java对象,并根据java对象构造Web Service对象,以便发布Web Service对象。由于待发布文件包含根据用户需求确定的数据库信息,也即本发明可根据用户的实际需求动态发布Web Service对象,缩短了发布服务的周期,提高了Web服务的发布效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的应用场景示意图。
图2为服务器的方框示意图。
图3为本发明提供的Web Service发布方法的流程图。
图4为本发明提供的Web Service发布方法进一步的流程图。
图5为图4中S407的具体流程图。
图6为本发明提供的Web Service发布方法中访问Web Service的流程图。
图7为图6中S603的具体流程图。
图8为图6中S604的具体流程图。
图9为本发明提供的Web Service发布装置的功能模块图。
图标:100-服务器;110-存储器;120-处理器;130-通信模块;200-客户端;300-WebService发布装置;310-选择模块;320-转化模块;330-文件发送模块;340-检测模块;350-构造模块;360-处理模块;370-收发模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Web Service技术作为一种跨编程语言和跨操作系统平台的远程调用技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。而开发WebService应用程序离不开服务发布框架的支持,有了服务发布框架能够更加快速、方便地发布Web Service。
常用的服务发布框架有Apache Axis2、Apache CXF以及Codehaus Xfire等等。以Apache Axis2为例,Apache Axis2可以基于Class文件、Java文件、Jar文件、AAR包等完成Web Service的发布。而在项目开发过程中,需要把服务编写成Java文件集成于项目中,当项目启动后会加载对应的Java类信息,经过加载验证等步骤后,可发布成为Web Service并保存于内存中。
但不论是Apache Axis2、Apache CXF还是Codehaus Xfire,均不能完成服务的动态发布。事实上,开发人员并不能预先得知用户会创建什么服务,而是要在用户的使用过程中发现用户的业务需求;而一旦要将在使用过程中发现的业务需要发布成为Web Service,则需要开发人员重新开发代码并生成Java文件,再重新发布,过程较为缓慢,效率较低。同时,上述服务发布框架,均只支持Java文件方法的反射调用,不支持和其他系统的联合使用;而在一些特定情况下,用户可能会需要发布基于sql语句的Web Service,并通过sql的执行获得相应的字段值信息并返回,也即需要和数据源进行联合使用,但无论ApacheAxis2、Apache CXF还是Codehaus Xfire均不能满足用户的需求。
因此,本发明提供了一种Web Service发布方法、装置及服务器100,以拓展现有的服务发布框架,实现根据用户需求动态发布Web Service。
请参照图1,为本发明的应用场景示意图。其中,服务器100与客户端200通信连接。服务器100用于生成、发布Web Service,客户端200用于向服务器100发送服务访问请求。
请参阅图2,为服务器100的方框示意图。所述服务器100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地机器可执行指令,以实现本发明提供的Web Service发布方法。
通信模块130用于通过所述网络建立所述服务器100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图2所示的结构仅为服务器100的结构示意图,所述服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
本发明还提供了一种Web Service发布方法,应用于上述服务器100。请参阅图3,为本发明提供的Web Service发布方法的流程图。该Web Service发布方法包括:
S301,当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将待发布文件转化为java对象。
S302,根据java对象构造Web Service对象,以便发布Web Service对象。
具体地,在S301中,待发布文件包含根据用户需求确定的数据库信息。另外,服务器100可构建一个线程池,以监控预先建立的文件夹中是否出现新的文件。只有在该预建立的文件夹中出现新的文件,且新的文件与预设定的文件类型一致时,才会将该待发布文件转化为java对象。
需要说明的是,出现新的待发布文件可以包括两种情况:一是预先建立的文件夹中本来不包含待发布文件,但检测到预先建立的文件夹中新出现了一个文件,则确定预先建立的文件夹中包含新的待发布文件。或者,预先建立的文件夹中本来就包含待发布文件,但线程池通过检测该待发布文件的更新时间发现该待发布文件进行了更新,也会确定预先建立的文件夹中包含新的待发布文件。
另外,预设定的文件类型包括但不仅限于xml类型、json类型等等。一旦待发布文件的文件类型与预设定的文件类型一致,例如均为xml类型或均为json类型,便确定该待发布文件是需要被发布成为Web Service的。
同时,将待发布文件转化为java对象的过程即为将包含数据库信息的待发布文件转换为现有的服务发布框架能够识别、处理的java对象。
具体地,可利用java IO操作,以流的方式将待发布文件读取到存储器110中,并把流序列化为java对象。
在一种可选的实施方式中,该java对象可以为java Bean对象。
在S302中,可新建一个空的Web Service对象,并在该空Web Service对象中,以预先设定的数据类型的格式调用java对象,从而构造Web Service对象。
由于待发布文件包含根据用户需求确定的数据库信息,从而由待发布文件转化得到的java对象也包含用户需求的数据库信息,使得最终发布的Web Service对象的也包含该数据库信息。也即本发明实现了根据用户的实际需求动态发布Web Service对象,从而缩短了发布服务的周期,提高了Web服务的发布效率。
为详细描述发布Web Service的过程,请参阅图4,本发明还提供了Web Service发布方法的进一步地流程图。该Web Service发布方法包括:
S401,根据获取的选择指令从数据库中选择数据库表信息以及字段信息。
其中,选择指令可以为服务器100响应用户的选择操作而生成的,也可以为其他智能终端响应用户的选择操作生成后发送的。根据选择指令可以从数据库中选择用户需要发布的数据库表以及字段值。例如,数据库中包含A、B、C、D等多个个人信息表,且每个表包含的具体信息(如年龄、名字、性别)即为字段值,则用户可以选择需要信息,例如表C及表C包含的字段值发布成Web Service的信息。
S402,将数据库表信息、字段信息、与数据库表信息及字段信息对应的数据源信息以及sql信息转换为待发布文件。
其中,与数据库表信息及字段信息对应的数据源信息即为该数据库表信息、字段信息所在的数据库的详细信息,如数据库的名称、类型等等。需要说明的是,常见的数据源包括但不仅限于sqlserver、mysql、oracle、postgresql等。同时,sql信息即为该数据库可执行的sql语句的格式信息。
在一种可选的实施方式中,将数据库表信息、字段信息、数据源信息以及sql信息转换为xml文件,从而得到待发布文件。当然,在另一种实施方式中,待发布文件也可以为json格式。
S403,将待发布文件发送至预先建立的文件夹中。
在一种可选的实施方式中,可将待发布文件发送至ServicCore目录下。
另外,需要说明的是,本发明提供的Web Service发布方法也可以不包含S401~S403。也即,用户可以在其他设备上选择需要发布的数据库表信息及字段信息,并生成待发布文件,然后以远程过程调用(Remote Procedure Call,RPC)的方法将待发布文件发送至预先建立的文件夹中。
S404,实时检测预先建立的文件夹中是否包含新的待发布文件,如果是,则执行S405;否则,重新执行S404。
具体地,服务器100可构建一个线程池,以监控预先建立的文件夹中是否出现新的文件。需要说明的是,出现新的待发布文件可以包括两种情况:一是预先建立的文件夹中本来不包含待发布文件,但检测到预先建立的文件夹中新出现了一个文件,则确定预先建立的文件夹中包含新的待发布文件。或者,预先建立的文件夹中本来就包含待发布文件,但线程池通过检测该待发布文件的更新时间发现该待发布文件进行了更新,也会确定预先建立的文件夹中包含新的待发布文件。
S405,检测待发布文件的文件类型是否与预设定的文件类型一致,如果是,则执行S406;否则,重新执行S404。
需要说明的是,预设定的文件类型包括但不仅限于xml类型、json类型等等。一旦待发布文件的文件类型与预设定的文件类型一致,例如均为xml类型或均为json类型,便确定该待发布文件是需要被发布成为Web Service的。
S406,将待发布文件转化为java对象。
也即,将包含数据库信息的待发布文件转换为现有的服务发布框架能够识别、处理的java对象。需要说明的是,由于待发布文件是由数据库表信息、字段信息、数据源信息以及sql信息转换格式得来的,从而java对象同样包含数据库表信息、字段信息、数据源信息以及sql信息等信息。
具体地,可利用java IO操作,以流的方式将待发布文件读取到存储器110中,并把流序列化为java对象。
在一种可选的实施方式中,该java对象可以为java Bean对象。
S407,根据java对象构造Web Service对象,以便发布Web Service对象。
请参阅图5,为S407的具体流程图。该S407包括:
S4071,新建一个空Web Service对象。
其中,空Web Service对象包含预先定义的数据类型。
S4072,在空Web Service对象中,以所述数据类型的格式调用java对象,以构造Web Service对象。
由于待发布文件包含根据用户需求确定的数据库信息,且最终发布的WebService对象的也包含该数据库信息。也即本发明实现了根据用户的实际需求动态发布WebService对象,从而缩短了发布服务的周期,提高了Web服务的发布效率。
可以理解地,S401~S407实际上为根据用户的需求发布一个Web Service的过程。但实际上,发布了一个Web Service后,还需要处理客户端200对该Web Service发起的服务访问请求。因此,本发明提供的Web Service发布方法还包括如何访问该Web Service的流程。请参阅图6,本发明提供的Web Service发布方法还包括:
S601,根据客户端200发送的服务访问请求获取统一资源定位符地址。
服务访问请求包含统一资源定位符地址(Uniform Resource Locator,URL)以及用户请求的字段值。其中,URL与Web Service对象一一对应。也即,每个Web Service对象具有其唯一的URL地址,通过URL地址即可找到对应的Web Service对象。
在一种可选的实施方式中,该服务访问请求可以为http请求。
S602,根据统一资源定位符地址确定对应的Web Service对象。
S603,从Web Service对象中获取数据库信息。
可以理解地,从Web Service对象中获取数据库信息的过程即为S406~S407的逆过程。具体地,请参阅图7,该S603包括:
S6031,从Web Service对象中获取java对象。
由S407、S4071以及S4072可知,Web Service对象以特定的数据格式调用java对象,从而在Web Service对象中直接读取特定的数据格式的值,即可以获取java对象。
S6032,根据java对象获取数据库信息。
另外,由于java对象是由待发布文件转换得到的,且待发布文件是由数据库表信息、字段信息、数据源信息以及sql信息转换格式得来的,从而java对象同样包含数据库表信息、字段信息、数据源信息以及sql信息等数据库信息。
S604,基于数据源信息以及sql信息获得返回值。
请参阅图8,该S604包括:
S6041,根据数据源信息查询得到数据库连接信息,并依据数据库连接信息连接至数据源信息对应的数据库。
由于只有数据源信息对应的数据库才包含用户请求的字段值,因此需要先连接至对应的数据库,才能够进一步查询对应的字段值。
例如,数据源信息表征数据库为sqlserver,则根据该数据源信息可以查询得到连接到sqlserver数据库的连接信息,并依据该连接信息与sqlserver数据库连接。
S6042,根据数据源信息对应的数据库的类型,格式化sql信息得到sql语句。
另外,不同类型的数据库具有不同的标准,且数据库只能执行符合自己标准的sql语句,因此还需要根据数据库的类型格式化sql信息得到sql语句。
需要说明的是,若服务访问请求中还包括请求参数,那么在得到sql语句的过程中,应该还需要利用请求参数给sql语句赋值,以获得用户真正需求的字段值。
例如,用户需要获取表A中10~12岁之间的儿童,则其中10~12岁即为请求参数,需要利用10~12给sql语句赋值,才能得到用户需求的数据。
S6043,将sql语句发送至数据源信息对应的数据库以使数据库执行sql语句,以获取数据库执行sql语句后得到的返回值。
至此,本发明提供的Web Service发布方法还实现了对数据库的调用,扩大了WebService的应用场景,满足了用户的使用需求。
S605,将返回值传输至客户端200。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种WebService发布装置300的实现方式,可选地,该Web Service发布装置300可以采用上述图2所示的服务器100的器件结构。进一步地,请参阅图9,图9为本发明提供的Web Service发布装置300的功能模块图。需要说明的是,本实施例所提供的Web Service发布装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该Web Service发布装置300包括:选择模块310、转化模块320、文件发送模块330、检测模块340、构造模块350、处理模块360以及收发模块370。
其中,选择模块310用于根据获取的选择指令从数据库中选择数据库表信息以及字段信息。
可以理解地,在一种可选的实施方式中,该选择模块310可用于执行S401。
转化模块320用于将数据库表信息、字段信息、与数据库表信息及字段信息对应的数据源信息以及sql信息转换为待发布文件。
可以理解地,在一种可选的实施方式中,该转化模块320可用于执行S402。
文件发送模块330用于将待发布文件发送至预先建立的文件夹中。
可以理解地,在一种可选的实施方式中,该文件发送模块330可用于执行S403。
检测模块340用于实时检测预先建立的文件夹中是否包含新的待发布文件,并在预先建立的文件夹中包含新的待发布文件时,检测待发布文件的文件类型是否与预设定的文件类型一致。
可以理解地,在一种可选的实施方式中,该检测模块340可用于执行S404、S405。
转化模块320还用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将待发布文件转化为java对象。
可以理解地,在一种可选的实施方式中,该转化模块320可用于执行S406。
构造模块350用于根据java对象构造Web Service对象,以便发布Web Service对象。
具体地,构造模块350用于新建一个空Web Service对象,并在空Web Service对象中,以所述数据类型的格式调用java对象,以构造Web Service对象。
可以理解地,在一种可选的实施方式中,该构造模块350可用于执行S407、S4071以及S4072。
处理模块360用于根据客户端200发送的服务访问请求获取统一资源定位符地址。
可以理解地,在一种可选的实施方式中,该处理模块360可用于执行S601。
处理模块360还用于根据统一资源定位符地址确定对应的WebService对象。
可以理解地,在一种可选的实施方式中,该处理模块360可用于执行S602。
处理模块360还用于从Web Service对象中获取数据库信息。
具体地,处理模块360用于从Web Service对象中获取java对象,并根据java对象获取数据库信息。
可以理解地,在一种可选的实施方式中,该处理模块360可用于执行S603、S6031以及S6032。
处理模块360还用于基于数据源信息以及sql信息获得返回值。
具体地,处理模块360用于根据数据源信息查询得到数据库连接信息,并依据数据库连接信息连接至数据源信息对应的数据库,然后根据数据源信息对应的数据库的类型,格式化sql信息得到sql语句,从而将sql语句发送至数据源信息对应的数据库以使数据库执行sql语句,以获取数据库执行sql语句后得到的返回值。
可以理解地,在一种可选的实施方式中,该处理模块360可用于执行S604、S6041、S6042以及S6043。
收发模块370用于将返回值传输至客户端200。
可以理解地,在一种可选的实施方式中,收发模块370可用于执行S605。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图2所示的存储器110中或固化于该服务器100的操作系统(Operating System,OS)中,并可由图2中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
综上所述,本发明实施例提供的Web Service发布方法、装置及服务器,用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将待发布文件转化为java对象,并根据java对象构造Web Service对象,以便发布Web Service对象。由于待发布文件包含根据用户需求确定的数据库信息,也即本发明可根据用户的实际需求动态发布Web Service对象,缩短了发布服务的周期,提高了Web服务的发布效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Web Service发布方法,其特征在于,所述Web Service发布方法包括:
根据获取的选择指令从数据库中选择数据库表信息以及字段信息;
将所述数据库表信息、所述字段信息、与所述数据库表信息及所述字段信息对应的数据源信息以及sql信息转换为待发布文件;
将所述待发布文件发送至预先建立的文件夹中;
当检测到所述预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将所述待发布文件转化为java对象,其中,所述待发布文件包含根据用户需求确定的数据库信息;
根据所述java对象构造Web Service对象,以便发布所述Web Service对象;
其中,所述根据所述java对象构造Web Service对象的步骤,包括:
新建一个空Web Service对象,其中,所述空Web Service对象包含预先定义的数据类型;
在所述空Web Service对象中,以所述数据类型的格式调用所述java对象,以构造所述Web Service对象。
2.根据权利要求1所述的Web Service发布方法,其特征在于,所述方法还包括:
根据客户端发送的服务访问请求获取统一资源定位符地址,其中,所述统一资源定位符地址与所述Web Service对象一一对应;
根据所述统一资源定位符地址确定对应的所述Web Service对象;
从所述Web Service对象中获取所述数据库信息,其中,所述数据库信息包括数据源信息以及sql信息;
基于所述数据源信息以及所述sql信息获得返回值;
将所述返回值传输至所述客户端。
3.根据权利要求2所述的Web Service发布方法,其特征在于,所述从所述Web Service对象中获取所述数据库信息的步骤包括:
从所述Web Service对象中获取所述java对象;
根据所述java对象获取所述数据库信息。
4.根据权利要求2所述的Web Service发布方法,其特征在于,所述基于所述数据源信息以及所述sql信息获得返回值的步骤包括:
根据所述数据源信息查询得到数据库连接信息,并依据所述数据库连接信息连接至所述数据源信息对应的数据库;
根据所述数据源信息对应的数据库的类型,格式化所述sql信息得到sql语句;
将所述sql语句发送至所述数据源信息对应的数据库以使所述数据库执行所述sql语句,以获取所述数据库执行所述sql语句后得到的所述返回值。
5.一种Web Service发布装置,其特征在于,所述Web Service发布装置包括:
选择模块,用于根据获取的选择指令从数据库中选择数据库表信息以及字段信息;
转化模块,用于将所述数据库表信息、所述字段信息、与所述数据库表信息及所述字段信息对应的数据源信息以及sql信息转换为待发布文件;
文件发送模块,用于将所述待发布文件发送至预先建立的文件夹中;
所述转化模块,还用于当检测到预先建立的文件夹中包含新的与预设定的文件类型一致的待发布文件时,将所述待发布文件转化为java对象,其中,所述待发布文件包含根据用户需求确定的数据库信息;
构造模块,用于根据所述java对象构造Web Service对象,以便发布所述Web Service对象;
所述构造模块,具体可以用于:
新建一个空Web Service对象,其中,所述空Web Service对象包含预先定义的数据类型;
在所述空Web Service对象中,以所述数据类型的格式调用所述java对象,以构造所述Web Service对象。
6.根据权利要求5所述的Web Service发布装置,其特征在于,所述Web Service发布装置还包括:
处理模块,用于根据客户端发送的服务访问请求获取统一资源定位符地址,其中,所述统一资源定位符地址与所述Web Service对象一一对应;
所述处理模块还用于根据所述统一资源定位符地址确定对应的所述Web Service对象;
所述处理模块还用于从所述Web Service对象中获取所述数据库信息,其中,所述数据库信息包括数据源信息以及sql信息;
所述处理模块还用于基于所述数据源信息以及所述sql信息获得返回值;
收发模块,用于将所述返回值传输至所述客户端。
7.根据权利要求6所述的Web Service发布装置,其特征在于,所述处理模块用于从所述Web Service对象中获取所述java对象;
所述处理模块还用于根据所述java对象获取所述数据库信息。
8.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-4任一所述的Web Service发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910627108.6A CN110471650B (zh) | 2019-07-11 | 2019-07-11 | 一种Web Service发布方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910627108.6A CN110471650B (zh) | 2019-07-11 | 2019-07-11 | 一种Web Service发布方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471650A CN110471650A (zh) | 2019-11-19 |
CN110471650B true CN110471650B (zh) | 2022-08-09 |
Family
ID=68508021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910627108.6A Active CN110471650B (zh) | 2019-07-11 | 2019-07-11 | 一种Web Service发布方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471650B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585945A (zh) * | 2001-09-28 | 2005-02-23 | 甲骨文国际公司 | 用于将xml模式映射到对象关系数据库系统的机制 |
CN101504669A (zh) * | 2009-03-06 | 2009-08-12 | 阿里巴巴集团控股有限公司 | 一种Web应用的模板发布方法、装置及系统 |
CA2740763A1 (en) * | 2010-06-25 | 2011-12-25 | Mitel Networks Corporation | Code generation through metadata programming for mobile devices and web platforms to ease access to web services |
EP2634722A1 (en) * | 2012-02-28 | 2013-09-04 | Software AG | Systems and/or methods for automatically deriving web service permissions based on XML structure permissions |
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
CN104298490A (zh) * | 2013-07-15 | 2015-01-21 | 深圳中兴网信科技有限公司 | 一种基于面向服务的架构的服务发布方法及装置 |
US9026652B1 (en) * | 2014-07-09 | 2015-05-05 | Fmr Llc | Web service asset management and web service information storage |
CN107092489A (zh) * | 2017-04-13 | 2017-08-25 | 中国联合网络通信集团有限公司 | 基于应用版本发布的处理方法和系统 |
CN108427550A (zh) * | 2018-02-13 | 2018-08-21 | 深圳太极云软技术股份有限公司 | 一种Web服务生成方法、装置及设备 |
CN108959537A (zh) * | 2018-06-29 | 2018-12-07 | 新华三大数据技术有限公司 | Web服务接口获取方法及装置 |
CN109086148A (zh) * | 2018-08-01 | 2018-12-25 | 山东浪潮通软信息科技有限公司 | 一种跨平台调用Web Service服务的方法 |
CN109542418A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | Service代码生成方法及计算机终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015578A1 (en) * | 2002-02-22 | 2004-01-22 | Todd Karakashian | Web services runtime architecture |
US8005854B2 (en) * | 2003-03-14 | 2011-08-23 | Sybase, Inc. | System with methodology for executing relational operations over relational data and data retrieved from SOAP operations |
US7296022B2 (en) * | 2003-07-14 | 2007-11-13 | Microsoft Corporation | Method and system for accessing a network database as a web service |
US7698684B2 (en) * | 2005-09-28 | 2010-04-13 | Sap Ag | Method and system for generating schema to Java mapping descriptors and direct mapping of XML schema and Java interfaces |
US8701159B2 (en) * | 2010-05-12 | 2014-04-15 | Winshuttle, Llc | Dynamic web services system and method |
-
2019
- 2019-07-11 CN CN201910627108.6A patent/CN110471650B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585945A (zh) * | 2001-09-28 | 2005-02-23 | 甲骨文国际公司 | 用于将xml模式映射到对象关系数据库系统的机制 |
CN101504669A (zh) * | 2009-03-06 | 2009-08-12 | 阿里巴巴集团控股有限公司 | 一种Web应用的模板发布方法、装置及系统 |
CA2740763A1 (en) * | 2010-06-25 | 2011-12-25 | Mitel Networks Corporation | Code generation through metadata programming for mobile devices and web platforms to ease access to web services |
EP2400390A1 (en) * | 2010-06-25 | 2011-12-28 | Mitel Networks Corporation | Provision of services and libraries to remote clients |
EP2634722A1 (en) * | 2012-02-28 | 2013-09-04 | Software AG | Systems and/or methods for automatically deriving web service permissions based on XML structure permissions |
CN104298490A (zh) * | 2013-07-15 | 2015-01-21 | 深圳中兴网信科技有限公司 | 一种基于面向服务的架构的服务发布方法及装置 |
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
US9026652B1 (en) * | 2014-07-09 | 2015-05-05 | Fmr Llc | Web service asset management and web service information storage |
CN107092489A (zh) * | 2017-04-13 | 2017-08-25 | 中国联合网络通信集团有限公司 | 基于应用版本发布的处理方法和系统 |
CN108427550A (zh) * | 2018-02-13 | 2018-08-21 | 深圳太极云软技术股份有限公司 | 一种Web服务生成方法、装置及设备 |
CN108959537A (zh) * | 2018-06-29 | 2018-12-07 | 新华三大数据技术有限公司 | Web服务接口获取方法及装置 |
CN109086148A (zh) * | 2018-08-01 | 2018-12-25 | 山东浪潮通软信息科技有限公司 | 一种跨平台调用Web Service服务的方法 |
CN109542418A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | Service代码生成方法及计算机终端 |
Non-Patent Citations (3)
Title |
---|
Detecting Refactorings among Multiple Web Service Releases: A Heuristic-Based Approach;Marouane Kessentini 等;《 2017 IEEE International Conference on Web Services (ICWS)》;20170911;第365-371页 * |
基于ArcGIS_Server的GIS Web服务自动发布关键技术研究;吴迪 等;《测绘工程》;20171231;第45-49页 * |
基于Web Services的关系型数据服务动态发布方法;朱康康等;《计算机与现代化》;20141231(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110471650A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6114834B2 (ja) | 情報提示方法、装置、プログラム、及び記録媒体 | |
US8667031B2 (en) | Reuse of shared metadata across applications via URL protocol | |
US11237886B2 (en) | Normalizing cloud resource interaction for a suite of multi-tenant products across disparate objects and actions coming from different cloud services | |
US8782065B2 (en) | Interfacing an application to data sources via a web service interface | |
US20140372970A1 (en) | Method to auto generate jax-rs rest service implementation classes from existing interfaces | |
CN107438101B (zh) | 一种单体式应用的服务扩展方法及装置 | |
US8032588B2 (en) | System and method for hosting one or more versions of a service using a service proxy | |
JP6016808B2 (ja) | Webアクセスを実装するための方法およびサーバシステム | |
EP2779583B1 (en) | Telecommunication method and system | |
US20210092073A1 (en) | Resource trees by management controller | |
KR20140119240A (ko) | 다중 오픈 api 처리장치 및 방법 | |
CN111082976B (zh) | 一种支持etl任务调度可视化的方法 | |
CN111708611B (zh) | 轻量级Kubernetes监控系统及方法 | |
CN108089972B (zh) | 接口测试方法及装置 | |
US8645459B2 (en) | System and method for a service provisioning platform for activating services in a communication network | |
US20080154861A1 (en) | System and method for retrieving data from different types of data sources | |
CN109614271B (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
US8813026B1 (en) | Methods and apparatus for storing information for components of a system in model component files to provide a world view of the system | |
CN110471650B (zh) | 一种Web Service发布方法、装置及服务器 | |
CN113992693A (zh) | 一种数据的传输方法及系统 | |
US7792921B2 (en) | Metadata endpoint for a generic service | |
US20110320527A1 (en) | Method and system for managing a web-domain request | |
KR20140008221A (ko) | 통신 시스템에서 개인 정보를 관리하는 방법 및 장치 | |
KR101868173B1 (ko) | 어플리케이션 데이터베이스 공유 방법 및 장치 | |
CN112769975B (zh) | 一种数据集成方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |