发明内容
有鉴于此,本申请实施例提供了一种web应用开发方法、装置、服务器及开发终端,以解决现有技术中web应用开发效率低的技术问题。
第一方面,本申请实施例提供了一种web应用开发方法,包括:
接收开发终端发送的业务对象数据集、页面数据集和服务数据集并保存;其中,业务对象数据集为开发终端根据用户选择的字段类型生成的,页面数据集为开发终端根据用户选择的页面组件和页面类型生成的,服务数据集为开发终端根据用户添加的服务节点生成的;
接收到开发终端发送的发布请求,发布请求包括目标web应用的运行环境要求;
根据运行环境要求,对业务对象数据集进行转换,生成多个匹配运行环境要求的数据库表;同时根据预设规则对页面数据集和服务数据集进行拆分处理,生成多个微服务以及多个页面资源;
根据多个数据库表、多个微服务以及多个页面资源,生成目标web应用的程序包。
第二方面,本申请实施例提供了一种web应用开发方法,包括:
接收用户在数据定义界面上选择的字段类型,并根据用户选择的字段类型生成目标web应用的多个业务对象数据;
接收用户在页面开发界面上选择的页面类型以及页面组件,并根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据;
接收用户在服务定义界面上添加的服务节点,并根据用户添加的服务节点,生成目标web应用的多个服务流程的服务数据;
分别将多个业务对象数据、多个页面的页面数据以及多个页面的页面数据组合生成业务对象数据集,页面数据集以及服务数据集;
将业务对象数据集,页面数据集以及服务数据集发送至服务器;
响应于用户输入的发布操作,向服务器发送发布请求,以使得服务器在接收到发布请求时,根据业务对象数据集,页面数据集以及服务数据集生成目标web应用的程序包。
第三方面,本申请实施例提供了一种web应用开发装置,包括:
获取模块,用于接收开发终端发送的业务对象数据集、页面数据集和服务数据集并保存;其中,业务对象数据集为开发终端根据用户选择的字段类型生成的,页面数据集为开发终端根据用户选择的页面组件和页面类型生成的,服务数据集为开发终端根据用户添加的服务节点生成的;
发布模块,用于接收到开发终端发送的发布请求,发布请求包括目标web应用的运行环境要求;
处理模块,用于根据运行环境要求,对业务对象数据集进行转换,生成多个匹配运行环境要求的数据库表;同时根据预设规则对页面数据集和服务数据集进行拆分处理,生成多个微服务以及多个页面资源;
生成模块,用于根据多个数据库表、多个微服务以及多个页面资源,生成目标web应用的程序包。
第四方面,本申请实施例提供了一种web应用开发装置,包括:
第一接收模块,用于接收用户在数据定义界面上选择的字段类型,并根据用户选择的字段类型生成目标web应用的多个业务对象数据;
第二接收模块,用于接收用户在页面开发界面上选择的页面类型以及页面组件,并根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据;
第三接收模块,用于接收用户在服务定义界面上添加的服务节点,并根据用户添加的服务节点,生成目标web应用的多个服务流程的服务数据;
组合模块,用于分别将多个业务对象数据、多个页面的页面数据以及多个页面的页面数据组合生成业务对象数据集,页面数据集以及服务数据集;
第一发送模块,用于将业务对象数据集,页面数据集以及服务数据集发送至服务器;
第二发送模块,用于响应于用户输入的发布操作,向服务器发送发布请求,以使得服务器在接收到发布请求时,根据业务对象数据集,页面数据集以及服务数据集生成目标web应用的程序包。
第五方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面任一项方法的步骤。
第六方面,本申请实施例提供了一种开发终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第二方面任一项方法的步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第二方面任一项方法的步骤。
第八方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面中任一项的方法。
本申请实施例提供的web应用开发方法,将web应用开发中的数据分为业务对象数据集、页面数据集、以及服务数据集,各数据集之间具有低耦合度,可以快速响应开发用户的需求变更;且业务对象数据集、页面数据集以及服务数据集分别为预先定义好的相关组件在开发终端的可视化开发界面上被执行拖动配置生成,可以通过可视化配置实现完整web应用程序的开发,不需要用户进行代码开发,极大的降低了web应用开发难度,提高了web应用的开发效率。
再一方面,本实施例中业务对象数据集的数据格式预先定义,仅在程序发布的时候对业务对象数据集进行转换,以生成满足不同运行环境数据库平台要求的数据库表;即通过一次数据建模,即可以在多种运行环境进行部署和使用,进一步提高了web应用的开发效率。
可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1为本申请一实施例提供的web应用开发方法的系统架构示意图。如图1所示,该方法涉及服务器10、开发终端20和应用终端30。开发终端20和应用终端30均可以有多个。
其中,开发终端20为开发人员进行web应用开发的终端,开发终端20上安装有预先集成好的开发平台,其中开发平台包括数据定义界面、页面开发界面以及服务定义界面,可以支持开发人员进行可视化配置开发,并生成搭建web应用的业务对象数据、页面数据以及服务数据。
应用终端30为最终使用用户访问web应用的终端,可以为智能手机、平板电脑等。
服务器10为web应用开发的服务器,接收开发平台20发送的业务对象数据集、页面数据集以及服务数据集,并在接收到开发终端20发送的发布请求时,根据上述多个数据集生成web应用程序包。
服务器10还可以接收应用终端30的访问请求,并在接收到应用终端30发送的访问请求时,将web应用的相关页面加载至应用终端30。
为便于理解,图1中参数服务器10与各开发终端20之间的网络连接示例为有线直连方式,但本申请实施例不限于此,网络还可以为无线连接或者间接连接,在此不做限定。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行示例性说明。值得说明的是,下文中列举的具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的web应用开发方法的流程示意图,本实施例的执行主体为图1中的服务器。如图2所示,该web应用开发方法包括:
S201、接收开发终端发送的业务对象数据集、页面数据集和服务数据集并保存;其中,业务对象数据集为开发终端根据用户选择的字段类型生成的,页面数据集为开发终端根据用户选择的页面组件和页面类型生成的,服务数据集为开发终端根据用户添加的服务节点生成的。
本实施例中,业务对象数据集包括多个业务对象数据,其中,每个业务对象数据包括多种预设字段以及每种预设字段的配置参数。
其中,预设字段为开发终端的数据定义界面上预先定义的多个字段,每个预设字段为目标web应用执行过程可能产生的数据类型,包括但不限于数字、文本、文本域、日期、时间、时间日期、图像、附件以及多媒体。
通过对多个预设字段进行组合,可以生成一个业务对象数据,该业务对象数据用于在目标web应用执行时保存与预设字段类型相同的数据。
每种预设字段的配置参数预先设置,以文本为例,配置参数可以为显示名称、字段名称、关联对象、类型等。其中关联对象可以为该文本关联的页面组件的名称;类型为该文本域关联的页面组件的关系类型,类型可以为查找关系、主-详关系或者层次关系。
本实施例中,页面数据集中包括有多个页面数据,页面数据与开发者在用户端定义的页面一一对应。每个页面数据,为开发终端根据用户选择的页面组件和页面类型生成的。其中,每个页面数据包括构成该页面的所有页面组件以及与每个页面组件关联的业务对象数据的预设字段或服务数据。预设字段包括各页面组件的静态或动态属性。
示例性的,页面组件在开发终端的页面开发界面被执行拖动配置操作生成目标web应用的各页面;其中,每个页面组件在配置时,开发终端接收用户输入的该页面组件关联的业务对象数据的预设字段或者关联的服务数据。
本实施例中,服务数据集包括多个服务数据,服务数据与用户定义的服务流程一一对应,每个服务数据包括构成服务流程的多个节点、每个节点的配置以及与每个节点关联的业务对象数据。
其中,每个节点的配置可以包括用户自定义的逻辑表达式。逻辑表达式包括但不限于数学计算、时间转换、逻辑运算。
S202、接收到开发终端发送的发布请求,发布请求包括目标web应用的运行环境要求。
本实施例中的运行环境可以为阿里云、腾讯云、IOS系统、windows系统等。运行环境要求包括该运行环境中数据库平台的格式要求和语法要求。其中,数据平台的格式要求可以为目标的数据类型。
示例性的,开发终端接收用户输入的发布指令生成发布请求,开发终端生成发布请求时读取相关的环境参数并保存,然后将该发布请求发送至服务器,服务器在接收到开发终端发送的发布请求时,读取发布请求中的环境参数,获得运行环境以及运行环境中数据库平台的格式要求;其中,环境参数为开发终端预先设置的用于输入运行环境要求的参数。
S203、根据运行环境要求,对业务对象数据集进行转换,生成多个匹配所述运行环境要求的数据库表;同时根据预设规则的对页面数据集和所述服务数据集进行拆分处理,生成多个微服务以及多个页面资源;
本实施例中,服务器在接收到开发终端发送的发布请求后,获得运行环境中数据库平台的格式要求,根据该格式要求分别对业务对象数据集中各业务对象数据进行转换,生成多个数据库表。
进一步地,在生成多个数据库表后,还可以根据运行环境要求中的数据库平台的语法要求,生成多个数据库表的标准数据操作的API接口,标准数据操作可以包括查询、新增、修改、删除以及筛选。
本实施例中,服务器在接收到开发终端发送的发布请求时,同时根据预设规则对页面数据集和服务数据集进行拆分处理,生成多个微服务以及多个页面资源。
本实施例中,微服务为将复杂的应用程序按照不同的功能划分得到的不同服务。每个微服务可以分别部署在不同的独立进程中,以适用于需求变更频繁、交付周期短的互联网应用。
本实施例中,页面资源可以包括动态页面资源和静态页面资源。
S204、根据多个数据库表、多个微服务以及多个页面资源,生成目标web应用的程序包。
将多个数据库表、多个微服务以及多个页面资源进行封装,生成目标web应用的程序包。
实际应用中,服务器在接收到开发终端发送的发布指令后,生成web应用的程序包,该web应用的程序包包括服务运行引擎,动态页面渲染引擎,数据库表,微服务,动态页面资源和静态页面资源。在服务器接收到使用终端发送的访问请求时,动态页面渲染引擎对业务对象数据集中的动态页面资源进行渲染,并将渲染后的动态页面资源加载到预先部署到内容分发网络的静态页面资源上,生成面向使用者的最终展示页面。同时,服务运行引擎对多个微服务进行解析处理,生成web应用的多个服务流程。
本申请实施例提供的web应用开发方法,将web应用开发中的数据分为业务对象数据集、页面数据集、以及服务数据集,其中业务对象数据集、页面数据集以及服务数据集分别为预先定义好的相关组件在开发终端的可视化开发界面上被执行拖动配置生成,即本开发方法中可以通过可视化配置实现完整web应用程序的开发,不需要用户进行代码开发,极大的降低了web应用开发难度,提高了web应用的开发效率。
另一方面,本实施例中业务对象数据集的数据格式预先定义,仅在程序发布的时候对业务对象数据集进行转换,以生成满足不同运行环境数据库平台要求的数据库表;即通过一次数据建模,即可以在多种运行环境进行部署和使用,进一步提高了web应用的开发效率。
图3为本申请一实施例提供的生成微服务以及页面资源的流程示意图,本实施例为在图2所示实施例的基础上,对步骤203中生成多个微服务以及多个页面资源的方案进行示例性的说明。本实施例的执行主体为图1中的服务器,如图3所示,根据预设规则的对页面数据集和服务数据集进行拆分处理,生成多个微服务以及多个页面资源,包括:
S301、基于微服务架构对服务数据集进行拆分处理,生成多个微服务以及各微服务的API接口。
微服务架构中,一个大型复杂软件应用由一个或多个微服务组成。各个微服务可被独立部署,各个微服务之间是松耦合的。
本实施例中,服务器可以基于各服务数据之间的依赖关系,将复杂的服务数据集按照不同的功能划分为不同的微服务,并支持将不同的微服务实例部署到独立进程中运行。
本实施例中,在对服务数据集进行拆分获得多个微服务后,将每个微服务以及该微服务的运行环境行封装为一个容器包。
S302、将页面数据集中每个页面数据拆分为静态页面资源和动态页面资源,并将拆分得到的各静态页面资源预先部署至内容分发网络。
页面组件在开发终端的页面开发界面被执行拖动配置操作后,保存页面数据,其中每个页面组件被预先进行静态或动态的划分。
针对每个页面数据,根据各页面组件的静态或动态属性将页面数据拆分为静态页面资源和动态页面资源。
本实施例中,服务器将拆分得到的静态页面资源部署至内容分发网络,以使得使用者在访问web应用时可从内容分发网络就近取得所需页面内容,而不必须从服务器加载,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
另一方面,本实施例中基于微服务架构对服务数据集进行拆分得到多个微服务,各个微服务之间可以独立进行修改,并且某一个微服务部署不会引起该服务的消费方的变动,适用于需求频繁变更、快速迭代的互联网应用。
为了解决复杂的业务场景,开发终端的开发者基于业务流程建模与标注来构建服务流程时,通常需要对服务节点进行定制开发,例如在节点上添加逻辑表达式等。因此,服务运行引擎对多个微服务进行解析处理,生成web应用的多个服务流程中时,需要对节点上的逻辑表达式进行处理,获得每个逻辑表达式的运算结果,下面通过图4所示的实施例进行示例性说明。
图4为本申请另一实施例提供的web应用开发方法的流程示意图,在图2所示的实施例的基础上,对接收到访问请求时服务器端的处理进行了示例性的说明。本实施例的执行主体为图1的服务器,本实施例中web应用的程序包还包括服务运行引擎;
如图4所示,web应用开发方法还包括:
S401、在接收到应用终端发送的访问请求时,服务运行引擎对多个微服务进行解析处理,生成web应用的多个服务流程;其中,每个服务流程包括多个服务节点。
应用终端为使用者的客户终端。应用终端发送的访问请求可以为由使用者登录web应用触发,也可以由使用者输入跳转至web应用的网址触发。
S402、针对每个服务流程,判断该服务流程中各服务节点是否包含逻辑表达式。
逻辑表达式为用户在开发阶段通过开发终端在服务节点上自定义的运算表达式。逻辑表达式可以为数学计算、时间转换以及逻辑运算等。
S403、若是,则获取各逻辑表达式的运算结果,并将各运算结果添加到对应的服务节点。
本实施例中,获取各逻辑表达式的运算结果可以包括:
4031、根据编译原理对逻辑表达式进行拆分,获得组成逻辑表达式的所有变量。
4032、识别每个变量中包含的函数并对该函数进行赋值计算得到每个变量的值。
根据关键字进行对比,识别每个变量中包含的函数。该函数为服务器中预先设置的函数,可以为数学、时间、文本等数据的处理函数。
调取该函数对应的业务对象数据中的对应字段的取值,并将该值赋值给识别得到的函数,然后计算获得变量的值。
本实施例中,变量也可以不包含函数,例如为页面上页面组件的输入值。此时,可以直接将该页面组件对应的业务对象数据中的字段的取值作为变量的值。
4032、执行运算操作,根据各变量的值得到逻辑表达式的运算结果。
在获得逻辑表达式中所有变量的取值后,执行运算操作,得到该逻辑表达式的运算结果。
示例性的,假设逻辑表示式为判断变量A是否大于变量B,其中变量A通过函数A=X2生成,其中X对应的业务对象数据中的字段预先设置完成(由函数本身确定),读取该字段当前的取值,并根据A=X2计算获得变量A的值。同行,识别变量B中包含的函数,计算获得变量B的取值。在获取变量A和变量B的取值后,进行判断,并将判断结果添加至该逻辑表示式对应的服务节点。
本实施例提供的web应用开发方法,通过对标准服务流程节点中上添加的逻辑表达式进行解析处理,支持开发者进行服务流程的定制开发,适用于复杂的业务场景。
图5为本申请下一实施例提供的web应用开发方法的流程示意图。本实施例的执行主体为图1中的开发终端。本实施例中的用户为目标web应用的开发人员。如图5所示,web应用开发方法包括:
S501、接收用户在数据定义界面上选择的字段类型,并根据用户选择的字段类型生成目标web应用的多个业务对象数据。
数据定义界面为服务器预先定义的界面。数据定义界面包括服务器预先定义的多个预设字段,每个预设字段为目标web应用执行过程可能产生的数据类型,包括但不限于数字、文本、文本域、日期、时间、时间日期、图像、附件以及多媒体。
通过对多个预设字段进行组合,可以生成一个业务对象数据,该业务对象数据用于在目标web应用执行时保存与预设字段类型相同的数据。
其中,每个业务对象数据包括多种预设字段以及每种预设字段的配置参数。已文本为例,配置参数可以为显示名称、字段名称、关联对象、类型等。其中关联对象可以为该文本关联的页面组件的名称;类型为该文本域关联的页面组件的关系类型,类型可以为查找关系、主-详关系或者层次关系。
示例性的,用户选择预设字段,并输入预设字段的配置参数,开发终端接收用户选择预设字段以及各预设字段的配置参数,在用户点击保存时生成一个业务对象数据。目标web应用的业务对象数据的数量由该web应用的业务场景确定,可以由用户预先确定。
S502、接收用户在页面开发界面上选择的页面类型以及页面组件,并根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据。
页面开发界面为服务器预先定义的可视化界面。页面开发界面包括多种页面类型的选项,以及匹配每个页面类型的页面组件,页面组件被执行拖动操作,以开发web应用中页面中的控件等。
本实施中,页面类型有多种,包括主页、详细页面、记录明细页面、查找页面、相关页面。
其中,主页为呈现单条数据对象的详细信息的页面,支持多种页面组件,用于丰富该条数据对象的展示效果。详细页面,用于支持数据对象的新增、编辑,主要是面向表单控件元素;记录明细页面,用于展示数据对象(表)的所有记录的列表。查找页面,用于依据数据对象(表)的关系链,可以快速访问和查找关联对象的页面,主要是列表的展示形式;相关页面,用于展示当前对象的关联对象的记录明细。其中数据对象(表)可以为页面组件。
本实施例中,页面组件由服务器预先设置,可以包括树、列表、表、表单控件元素。每个页面组件都对应设有显示配置项和逻辑配置项。
其中,显示配置项包括但不限字体、大小、颜色、是否显示、是否隐藏。逻辑配置项包括但不限于只读、必填、控件联动。应理解的是,不同页面组件的显示配置项和逻辑配置项可以不同。
本实施例中,页面数据与用户定义的页面一一对应,每个页面数据包括构成该页面的所有页面组件的配置参数以及与每个页面组件关联的业务对象数据的预设字段或服务数据。其中,配置参数包括显示配置和逻辑配置。
示例性的,假设页面组件为文本框,则通过该文本框的配置参数定义页面组件的显示效果和配置逻辑(例如为必填项);如果该文本框与业务对象数据A的预设字段B的关联,则在web应用执行时,使用终端的用户在该文本框中输入的内容将保存至业务对象数据A中对应预设字段B的位置。
假设页面组件为按钮,通过配置该按钮关联的服务数据,可以在单击该按钮的时候,跳转服务数据对应的服务流程。
S503、接收用户在服务定义界面上添加的服务节点,并根据用户添加的服务节点,生成目标web应用的多个服务流程的服务数据。
服务定义界面为服务器预先定义的界面。服务定义界面可以基于业务流程模型和标记法生成服务流程。
服务数据与用户定义的服务流程一一对应,每个服务数据包括构成服务流程的多个节点、每个节点的配置以及与每个节点关联的业务对象数据。
其中,服务流程节点可以为起点、终点、网关、操作节点,各服务节点之间通过流程线进行连接。一个完整的服务流程是从起点开始顺着流程线直到终点结束。
S504、分别将多个业务对象数据、多个页面的页面数据以及多个服务流程的服务数据组合生成业务对象数据集,页面数据集以及服务数据集。
S505、将业务对象数据集,页面数据集以及服务数据集发送至服务器。
服务器在接收到服务终端发送的业务对象数据集、页面数据集以及服务数据集后,将上述三类数据集保存。本步骤方法的具体实现原理和过程可以参见上述图1所述的实施例,此处不再赘述。
S506、响应于用户输入的发布操作,向服务器发送发布请求,以使得服务器在接收到发布请求时,根据业务对象数据集,页面数据集以及服务数据集生成目标web应用的程序包。
本步骤方法的具体实现原理和过程可以参见上述任一所述的实施例,此处不再赘述。
本申请实施例提供的web应用开发方法,将web应用开发中的数据分为业务对象数据集、页面数据集、以及服务数据集,其中业务对象数据集、页面数据集以及服务数据集分别为预先定义好的相关组件在开发终端的可视化开发界面上被执行拖动配置生成,即本开发方法中可以通过可视化配置实现完整web应用程序的开发,不需要用户进行代码开发,极大的降低了web应用开发难度,提高了web开发的效率。
图6为本申请一实施例提供的生成页面数据集的流程示意图。本实施例的执行主体为图1中的开发终端。本实施例是对图5中步骤502,根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据的示例性说明,如图6所示,根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据,包括:
S601、接收用户在页面开发界面行选择的页面类型,根据页面类型生成开发框架;其中,开发框架对应设有多种页面组件。
页面类型的说明请参见图5所示的实施例,在此不再赘述。
每种页面类型对应设有一个开发框架,该开发框架设有本页面类型使用的页面组件。
S602、获取用户选择的开发框架的对应的多种页面组件,根据页面组件生成对应该页面类型的页面数据。
本实施例中,每种页面类型对应设有一个标准页面,若用户未选择页面组件(即未执行修订),则开发终端根据预存的标准页面上的页面组件元素生成一个页面数据。
S603、将多个页面的页面数据组合生成页面数据集。
本申请实施例提供的生成页面数据集的方法,既支持用户进行页面的可视化定制开发,同时也预先设置了各种页面类型的标准页面以及标准页面的页面数据,进一步地提高了web应用开发的效率。
图7为本申请一实施例提供的生成服务流程集的流程示意图。本实施例的执行主体是图1中的开发终端。本实施例中,本实施例中是对图5中步骤503接收用户在服务定义界面上添加的服务节点,并根据用户添加的服务节点,生成目标web应用的多个服务流程的服务数据进行的示例性说明。如图7所示,生成目标web应用的服务数据集,包括:
S701、接收用户在服务定义界面上添加的服务节点,根据各服务节点之间的连接关系确定各服务节点的执行顺序。
服务节点的类型请参阅图5所示的实施例,在此不再赘述。
用户在服务定义界面上选择目标类型的服务节点并进行添加,通过连接线将各服务节点进行连接。各服务节点的可以通过业务流程模型和标注方法对业务流程预先抽象获得。
S702、根据各服务节点的执行顺序生成多个服务流程以及每个服务流程的服务数据;其中,每个服务流程从类型为起点的服务节点开始,从类型为终点的服务节点结束。
S703、将多个服务流程的服务数据组合生成服务数据集。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的web应用开发,本发明实施例进一步给出实现上述方法实施例的装置实施例。
图8为本申请一实施例提供的web应用开发装置的结构示意图。如图8所示,web应用开发装置80包括:获取模型801、发布模发布模块,用于接收到开发终端发送的发布请求,所述发布请求包括目标web应用的运行环境要求块802、处理模块803以及生成模块804。
获取模型801,用于接收开发终端发送的业务对象数据集、页面数据集和服务数据集并保存;其中,业务对象数据集为开发终端根据用户选择的字段类型生成的,页面数据集为开发终端根据用户选择的页面组件和页面类型生成的,服务数据集为开发终端根据用户添加的服务节点生成的;
发布模块802,用于接收到开发终端发送的发布请求,发布请求包括目标web应用的运行环境要求;
处理模块803,用于根据运行环境要求,对业务对象数据集进行转换,生成多个匹运行环境要求的数据库表;同时根据预设规则对页面数据集和服务数据集进行拆分处理,生成多个微服务以及多个页面资源;
生成模块804,用于根据多个数据库表、多个微服务以及多个页面资源,生成目标web应用的程序包。
在一种可行实施方式中,运行环境要求包括数据平台的格式要求和语法要求;处理模块803,具体用于:
根据运行环境要求中的数据平台的格式要求,分别对业务对象数据集中各业务对象数据进行转换,生成多个数据库表;
根据运行环境要求中的数据平台的语法要求,生成多个数据库表的标准数据操作的API接口,标准数据操作包括查询、新增、修改、删除以及筛选。
在一种可行实施方式中,处理模块803,还具体用于:
基于微服务架构对服务数据集进行拆分处理,生成多个微服务以及各微服务的API接口;
将页面数据集中每个页面数据拆分为静态页面资源和动态页面资源,并将拆分得到的各静态页面资源预先部署至内容分发网络。
在一种可行实施方式中,web应用开发装置80还包括解析模块,解析模块,用于:
在接收到开发终端发送的访问请求时,对所述多个微服务进行解析处理,生成所述web应用的多个服务流程;其中,每个服务流程包括多个服务节点;
针对每个服务流程,判断该服务流程中各服务节点是否包含逻辑表达式;
若是,则获取各逻辑表达式的运算结果,并将各运算结果添加到对应的服务节点。
在一种可行实施方式中,解析模块还具体用于:
根据编译原理对逻辑表达式进行拆分,获得组成所述逻辑表达式的所有变量;
识别每个变量中包含的函数并对该函数进行赋值计算得到每个变量的值;
执行运算操作,根据各变量的值得到逻辑表达式的运算结果。
图8所示实施例提供的web应用开发装置,可用于执行上述方法实施例中以服务器为执行主体的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图9为本申请另一实施例提供的web应用开发装置的结构示意图,如图9所示,web应用开发装置90包括:第一接收模块901、第二接收模块902、第三接收模块903、组合模块904、第一发送模块905以及第二发送模块906。
第一接收模块901,用于接收用户在数据定义界面上选择的字段类型,并根据用户选择的字段类型生成目标web应用的多个业务对象数据;
第二接收模块902,用于接收用户在页面开发界面上选择的页面类型以及页面组件,并根据用户选择的页面类型以及页面组件,生成目标web应用的多个页面的页面数据;
第三接收模块903,用于接收用户在服务定义界面上添加的服务节点,并根据用户添加的服务节点,生成目标web应用的多个服务流程的服务数据;
组合模块904,用于分别将多个业务对象数据、多个页面的页面数据以及多个页面的页面数据组合生成业务对象数据集,页面数据集以及服务数据集;
第一发送模块905,用于将业务对象数据集,页面数据集以及服务数据集发送至服务器;
第二发送模块906,用于响应于用户输入的发布操作,向服务器发送发布请求,以使得服务器在接收到发布请求时,根据业务对象数据集,页面数据集以及服务数据集生成目标web应用的程序包。
在一种可行实施方式中,第二接收模块902,具体用于:
接收用户在页面开发界面行选择的页面类型,根据页面类型生成开发框架;其中,开发框架对应设有多种页面组件;
获取用户选择的开发框架的对应的多种页面组件,根据页面组件生成对应该页面类型的页面数据。
在一种可行实施方式中,服务节点的类型为下述任意一种:起点、终点、网关、操作节点,各服务节点之间通过流程线进行连接;第三接收模块903,具体用于:接收用户在服务定义界面上添加的服务节点,根据各服务节点之间的连接关系确定各服务节点的执行顺序;
根据各服务节点的执行顺序生成多个服务流程以及每个服务流程的服务数据;其中,每个服务流程从类型为起点的服务节点开始,从类型为终点的服务节点结束。
图9所示实施例提供的web应用开发装置,可用于执行上述方法实施例中以开发终端为执行主体的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图10是本申请一实施例提供的服务器的示意图。如图10所示,该实施例的服务器100包括:至少一个处理器1001、存储器1002以及存储在存储器1002中并可在处理器1001上运行的计算机程序。服务器还包括通信部件1003,其中,处理器1001、存储器1002以及通信部件1003通过总线1004连接。
本领域技术人员可以理解,图10仅仅是web应用开发系统中的服务器的示例,并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
图11是本申请一实施例提供的开发终端的示意图。如图11所示,该实施例的开发终端110包括:至少一个处理器1101、存储器1102以及存储在存储器1102中并可在所述处理器1101上运行的计算机程序。开发终端还包括通信部件1103,其中,处理器1101、存储器1102以及通信部件1103通过总线1104连接。
图10中的处理器1001和图11中处理器1101可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图10中的存储器1002可以是服务器的内部存储单元,也可以是服务器的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器1002用于存储所述计算机程序以及web应用开发设备所需的其他程序和数据。存储器1002还可以用于暂时地存储已经输出或者将要输出的数据。图11中的存储器1102同上,在此不再赘述。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现以服务器为执行主体的各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现以开发终端为执行主体的各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述以服务器为执行主体的实施例中的步骤,或实现上述以开发终端为执行主体的实施例的步骤。
本申请实施例还提供了一种web应用开发系统,包括如图10所述服务器和至少一个如图11所述的开发终端。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。