CN110096377A - 一种定制化软件发布的实现方法 - Google Patents
一种定制化软件发布的实现方法 Download PDFInfo
- Publication number
- CN110096377A CN110096377A CN201910355751.8A CN201910355751A CN110096377A CN 110096377 A CN110096377 A CN 110096377A CN 201910355751 A CN201910355751 A CN 201910355751A CN 110096377 A CN110096377 A CN 110096377A
- Authority
- CN
- China
- Prior art keywords
- task
- list
- environment
- implementation method
- atomic task
- 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.)
- Granted
Links
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种定制化软件发布的实现方法,其特征在于,包括:向后端服务发起请求;获取环境列表和对应的原子任务列表;基于获取的环境列表和原子任务列表,初始化推送环境和相应原子任务。本发明通过RabbitMQ实现消息互通,实现了目标任务的高并发,并且保证了系统稳定性和可靠性;通过将目标任务进行合理化拆分,使得每一个任务都具有独立性和原子性,此外通过将需要花大量时间,但最终结果不影响发布的任务拆离出来进行异步执行,大大缩短了推送目标任务的时间,提高了效率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种定制化软件发布的实现方法。
背景技术
在软件开发前,公司需要对所要开发的项目进行可行性的分析,该可行性的分析。然后产品经理、UI工程师、架构工程师、开发工程师等对该项目的需求进行分析。确认需求分析后,架构师、UI工程师和开发工程师对项目进行概要设计,概要设计通过评审后,UI工程师和开发工程师对概要设计进行补充完善,形成详细设计。待详细设计的方案经过评审后,开发工程师对上述的详细设计进行编程与开发。编程开发完成后生成待测项目,产品经理、测试工程师、开发工程师对待测项目进行测试并进入到测试阶段,测试通过后项目进入发布推广阶段,测试过程中发现的问题反馈回开发人员进行调整完善。
从上述流程中可以看出,项目或者软件的开发周期较长,而且其中设计的开发流程和开发人员杂乱,如果其中个环节出现问题,则会耽误项目或者软件整体的开发流程和周期。而且由于参与开发、设计的人员较多,其每个人采用的编码规则和标准不一。加之项目开发的庞杂,其软件代码具有一定的重复性,因此需要对所开发项目的代码进行托管,使不同的开发人员能够调用上述的代码。
随着软件行业日益盛兴,要求软件的迭代周期越来越快,并且同时保证软件质量。所以,如何实现缩短软件交付周期以及保证软件质量成为了所有拥有一定体量研发体系以上的公司迫在眉睫需要解决的问题。针对这一问题,一些体量较大的公司都在各自研发适合本公司软件开发生态体系的目标任务。由于考虑到每个公司从代码托管到准入准出标准的不同,使得这样的目标任务五花八门,虽然基本各自满足各自的需求,但是无法复用到其他公司,而且研发成本也不低。
发明内容
本发明的目的在于提供一种定制化软件发布的实现方法,能够解决上述提到的至少一个技术问题。
具体方案如下:
一种定制化软件发布的实现方法,其特征在于,包括:
向后端服务发起请求;
获取环境列表和对应的原子任务列表;
基于获取的环境列表和原子任务列表,初始化推送环境和相应原子任务。
进一步讲,本申请中所述向后端服务发起请求具体包括:推送环境和分支后对后端服务发起请求。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述获取环境列表和对应的原子任务列表具体包括:后端服务获取请求在数据库中查询工程信息,并通过查询的工程信息,在数据库查找对应的环境列表和对应的原子任务列表。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,其中所述基于获取的环境列表和原子任务列表,在后端服务初始化推送环境和相应原子任务,并且根据传入参数分配原子任务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,基于原子任务的类型采用不同策略。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,如果原子任务为Java类型的,则调用Java服务执行对应的原子任务,并将执行的结果实时同步到前端服务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,如果原子任务类型为构建服务器类型的,则生成消息队列,发布消息,构建服务器订阅该消息,获取消息内容,通过抢占式调度策略,分配节点上对应的服务执行原子任务,并将执行过程中产生的日志实时通过消息队列传给后端服务,最后由后端服务同步给前端服务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,其中所述前端服务需要指定环境列表和原子任务类别和列表,并录入数据库成为目标任务基础配置数据。
所述目标任务为软件发布任务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述环境列表包括测试、性能、预发布、灰度、生产中的一种或多种环境。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述原子任务列表包括同步任务和异步任务。前端服务前端服务前端服务前端服务所述前端服务所述所述所述所述所述所述所述前端服务所述前端服务
本发明实施例的上述方案与现有技术相比,至少具有以下有益效果:
1.首先,该方法可以大幅度地缩短公司每个团队的软件交付周期并提高公司整体的研发质量。
2.其次,该方法配置灵活,通过将目标任务合理拆分,使得每一个任务都是独立的,可以根据公司实际业务情况灵活配置目标任务,同时还能满足企业在质量和效率方面的权衡。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本申请所述方法架构原理图。
图2示出了本申请中所述电子设备中模块结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
下面结合附图详细说明本发明的技术方案及工作原理、过程。
实施例1
本发明提出了一种定制化软件发布的实现方法,其特征在于,包括:
向后端服务发起请求;
获取环境列表和对应的原子任务列表;
基于获取的环境列表和原子任务列表,初始化推送环境和相应原子任务。
进一步讲,本申请中所述向后端服务发起请求具体包括:推送环境和分支后对后端服务发起请求。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述获取环境列表和对应的原子任务列表具体包括:后端服务获取请求在数据库中查询工程信息,并通过查询的工程信息,在数据库查找对应的环境列表和对应的原子任务列表。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,其中所述基于获取的环境列表和原子任务列表,在后端服务初始化推送环境和相应原子任务,并且根据传入参数分配原子任务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,基于原子任务的类型采用不同策略。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,如果原子任务为Java类型的,则调用Java服务执行对应的原子任务,并将执行的结果实时同步到前端服务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,如果原子任务类型为构建服务器类型的,则生成消息队列,发布消息,构建服务器订阅该消息,获取消息内容,通过抢占式调度策略,分配节点上对应的服务执行原子任务,并将执行过程中产生的日志实时通过消息队列传给后端服务,最后由后端服务同步给前端服务。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,其中所述前端服务需要指定环境列表和原子任务类别和列表,并录入数据库成为目标任务基础配置数据。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述环境列表包括测试、性能、预发布、灰度、生产中的一种或多种环境。
进一步讲,本申请中所述一种定制化软件发布的实现方法,其特征在于,所述原子任务列表包括同步任务和异步任务。
进一步讲,本申请中所述环境列表依据企业情况而定。
进一步讲,本申请中所述环境列表在技术类项目的情况下只包括测试和生产环境。
进一步讲,本申请中所述任务包括必须执行的任务和不必须执行的任务。
进一步讲,本申请中所述同步任务指只有上一个任务执行完成且执行成功才能够执行下一个任务;所述异步任务则不需等待该任务执行完成便可执行下一个任务,且该异步执行结果成功与否不影响此次推送结果。
进一步讲,本申请中所述原子任务列表包括Java类型和构成服务器类型任务,所述Java类型任务则无需通知构建服务器执行,只需要在Java服务中执行的任务,而构建服务器任务则是需要通知构建服务器执行的任务
进一步讲,本申请中在拥有环境和原子任务基础数据后,需要保留工程信息,工程信息包括开发语言、工程类型、发布方式、机房中的多种。
进一步讲,本申请中所述后端服务包括如下功能:1)可以通过查询工程信息生产一条初始化的流水线;2)发布消息给构建服务器,将任务执行的内容传给构建服务器;3)可以接受构建服务器返回的日志信息,并实时返回给前端服务。
进一步讲,本申请中所述构建服务器需要安装插件,插件包括git,svn,RabbitMQ,安装插件后按照之前原子任务列表创建对应任务;最后前端服务输入相关参数,包括项目名、分支、环境、机房信息中的多种,触发整个流水线执行。
实施例2
首先,制定环境列表和原子任务类别及列表,并录入数据库成为目标任务基础配置数据。制定环境列表根据公司情况而定,一般分为测试,性能,预发布,灰度及生产等环境。特殊项目如技术类项目可能不需要中间环境,则只保留测试和生产环境。由于每个公司软件发布准入准出的标准不同,可能会出现必须执行的任务和不必须执行的任务,基于这种情况,我们将原子任务划分几个类型,一个根据是否需要同步按顺序执行划分,分为同步任务和异步任务,同步任务必须按顺序执行,即只有上一个任务执行完成且执行成功才能执行下一个,而异步任务则是不必等待该任务执行完成,便可执行下一个任务,且该异步执行完成结果成功与否不影响此次推送结果。再一个是根据是否需要构建服务器执行划分,分为Java类型和构建服务器类型任务,Java类型任务则无需通知构建服务器执行,只需要在Java服务中执行的任务,而构建服务器任务则是需要通知构建服务器执行的任务。一般来说,校验任务都是Java任务,而诸如单元测试、编译构建打包、上传服务器等任务都是构建服务器任务,具体划分,视公司情况而定。
在上述段落中,所述数据库设置于对应的服务器上,服务器至少应当包括用于存储数据的存储器,用于处理与调用数据的处理器,包括用于连接网络的网络连接器,以及用于输入与输出的输入设备和输出设备。具体来讲,在现有技术中,上述的服务器应当包括如下的设备设备之一或者多种组合。例如,在上述段落中的服务器包括输入输出接口(I/O),包括触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置,包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置,包括磁带、硬盘在内的存储装置,包括通过有线连接或无线方式进行通讯的网络连接器。处理器包括中央处理器、图形处理器、AI协处理器中的一种或多种组合,其能够根据存储在存储器上的程序或者从存储器上加载指令、指令集至随机存储器(RAM)以执行各种适当的动作和处理数据、请求。所述存储器(ROM)或随机存储器(RAM)上存储有各种操作程序和数据,输入输出端口用于实现上述处理结果的输入与输出展示。
其次,在拥有环境和原子任务基础数据之后,我们需要将之与工程对应起来。我们会保留工程信息,信息包括开发语言,工程类型,发布方式,机房等,通过这些信息,来为每一个工程制定一套专属的目标任务列表。具体方案,视公司情况而定。
然后,开发后端服务,这里我们用Java开发语言,后端服务需要实现以下功能:
1)可以通过查询工程信息生产一条初始化的目标任务;
2)发布消息给构建服务器,将任务执行的内容传给构建服务器;
3)可以接受构建服务器返回的日志信息,并实时返回给前端服务前端服务。
在上述的操作流程中,所述开发后端服务采用的是Java开发语言,然而本领域的技术人员可以确认其余的诸如C语言在内的计算机可识别的编程语言也可以用来实现后端服务的开发,上述的程序开发语言包括面向对象的程序设计语言,如smalltalk、C++。还包括前述段落中提及的常规的过程式程序设计语言。上述程序语言开发的后端服务程序能够在服务器上完整的或者部分的被执行,作为一个独立的服务程序被完全或者部分的在远程服务器上运行或者执行。前端服务前端服务能够通过编程开发留有的后端程序的API接口来实现对服务器上搭建的后端程序进行调用与连接。其前端服务前端服务程序所在的电子设备或者客户端是通过有线连接方式或者无线连接方式来实现后端服务连接的,其有线或者无线的连接包括局域网、广域网或者运营商提供的互联网或云服务。
接着,生成RabbitMQ消息队列(需要搭建RabbitMQ服务)。一个是Java后端服务到构建服务器的发布消息队列和构建服务器到Java后端服务的发布消息队列,另一个是Java后端服务订阅构建服务器消息和构建服务器订阅Java服务消息。
再接着,搭建构建服务器,安装插件(git,svn,RabbitMQ等),按照之前原子任务列表创建对应任务。
最后,前端服务输入相关参数,如项目名,分支,环境,机房信息,触发整个目标任务执行。
上述段落中所叙述的RabbitMQ服务生成RabbitMQ消息队列默契搭建构建服务器后安装对应的插件服务来实现目标任务的执行,其是通过服务器向所在网络发出至少两个网际协议地址,并且向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备送所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。通过上述执行过程可实现Java服务消息的构建与订阅、发送,原子任务列表的创建与管理,相关目标任务的上线与获取、执行等。
在本申请中,无论是前端服务还是后端,其都需要建立在存储介质的基础上,即本申请中所述基于企业级研发交付的定制化发布目标任务实现方法是需要通过程序设计的方法固化到存储介质上的,而且上述的存储介质还是需要通过电子设备进行调用、写入与读取数据的。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。例如在本申请中,所述“用户输入”模块可以采用“输入模块”来替代,但是上述两者均指代的是输入数据,其名称并不应当理解为是对模块单元的限定。
Claims (10)
1.一种定制化软件发布的实现方法,其特征在于,包括:
向后端服务发起请求;
获取环境列表和对应的原子任务列表;
基于获取的环境列表和原子任务列表,初始化推送环境和相应原子任务。
2.根据权利要求1所述一种定制化软件发布的实现方法,其特征在于,所述向后端服务发起请求具体包括:推送环境和分支后对后端服务发起请求。
3.根据权利要求1所述一种定制化软件发布的实现方法,其特征在于,所述获取环境列表和对应的原子任务列表具体包括:后端服务获取请求在数据库中查询工程信息,并通过查询的工程信息,在数据库查找对应的环境列表和对应的原子任务列表。
4.根据权利要求1所述一种定制化软件发布的实现方法,其特征在于,其中所述基于获取的环境列表和原子任务列表,在后端服务初始化推送环境和相应原子任务,并且根据传入参数分配原子任务。
5.根据权利要求4所述一种定制化软件发布的实现方法,其特征在于,基于原子任务的类型采用不同策略。
6.根据权利要求5所述一种定制化软件发布的实现方法,其特征在于,如果原子任务为Java类型的,则调用Java服务执行对应的原子任务,并将执行的结果实时同步到前端服务。
7.根据权利要求5所述一种定制化软件发布的实现方法,其特征在于,如果原子任务类型为构建服务器类型的,则生成消息队列,发布消息,构建服务器订阅该消息,获取消息内容,通过抢占式调度策略,分配节点上对应的服务执行原子任务,并将执行过程中产生的日志实时通过消息队列传给后端服务,最后由后端服务同步给前端服务。
8.根据权利要求7所述一种定制化软件发布的实现方法,其特征在于,其中所述前端服务需要指定环境列表和原子任务类别和列表,并录入数据库成为目标任务基础配置数据。
9.根据权利要求1所述一种定制化软件发布的实现方法,其特征在于,所述环境列表包括测试、性能、预发布、灰度、生产中的一种或多种环境。
10.根据权利要求1所述一种定制化软件发布的实现方法,其特征在于,所述原子任务列表包括同步任务和异步任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355751.8A CN110096377B (zh) | 2019-04-29 | 2019-04-29 | 一种定制化软件发布的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355751.8A CN110096377B (zh) | 2019-04-29 | 2019-04-29 | 一种定制化软件发布的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096377A true CN110096377A (zh) | 2019-08-06 |
CN110096377B CN110096377B (zh) | 2020-07-10 |
Family
ID=67446396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910355751.8A Active CN110096377B (zh) | 2019-04-29 | 2019-04-29 | 一种定制化软件发布的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096377B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741872A (zh) * | 2021-09-03 | 2021-12-03 | 上海新炬网络信息技术股份有限公司 | 基于作业调度的软件应用自动化发布方法 |
-
2019
- 2019-04-29 CN CN201910355751.8A patent/CN110096377B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741872A (zh) * | 2021-09-03 | 2021-12-03 | 上海新炬网络信息技术股份有限公司 | 基于作业调度的软件应用自动化发布方法 |
CN113741872B (zh) * | 2021-09-03 | 2024-04-23 | 上海新炬网络信息技术股份有限公司 | 基于作业调度的软件应用自动化发布方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110096377B (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3111422C (en) | User interface for automated flows within a cloud based developmental platform | |
US10956013B2 (en) | User interface for automated flows within a cloud based developmental platform | |
US10101972B1 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
WO2017123784A1 (en) | Related table notifications | |
CN102292736A (zh) | 利用合成容器的协作环境项目可扩展性 | |
AU2019201100B2 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
CN101373432B (zh) | 一种基于中间件的组件系统性能预测方法和系统 | |
US20120272190A1 (en) | Method and System for Graphically Enabled Service Oriented Architecture | |
CN113672240A (zh) | 一种基于容器的多机房批量自动化部署应用的方法及系统 | |
US9122559B2 (en) | Extensible dependency management framework and method | |
CN111104103A (zh) | 一种软件编辑微服务的可视化方法及系统 | |
Speth et al. | Gropius—a tool for managing cross-component issues | |
Balis | Increasing scientific workflow programming productivity with hyperflow | |
JP5090193B2 (ja) | マルチソース・スプレッド・データを同期させるためのシステム、方法、およびプログラム | |
US9244652B1 (en) | State management for task queues | |
Rahman et al. | Tarsier and ICMS: two approaches to framework development | |
CN110096377A (zh) | 一种定制化软件发布的实现方法 | |
Gómez et al. | Profiling the publish/subscribe paradigm for automated analysis using colored Petri nets | |
Henderson | Systems Engineering for Business Process Change: collected papers from the EPSRC research programme | |
JP3712984B2 (ja) | 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体 | |
US9059992B2 (en) | Distributed mobile enterprise application platform | |
Singh et al. | ARCHI4MOM: Using Tracing Information to Extract the Architecture of Microservice-Based Systems from Message-Oriented Middleware | |
AU2015101031A4 (en) | System and a method for modelling the performance of information systems | |
Markkula et al. | A generic architectural model approach for efficient utilization of patterns: application in the mobile domain | |
US10289277B2 (en) | Systems and methods for information technology portfolio knowledge and management |
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 |