CN112534398A - 用于连接器开发和集成通道部署的***和方法 - Google Patents
用于连接器开发和集成通道部署的***和方法 Download PDFInfo
- Publication number
- CN112534398A CN112534398A CN201980032912.8A CN201980032912A CN112534398A CN 112534398 A CN112534398 A CN 112534398A CN 201980032912 A CN201980032912 A CN 201980032912A CN 112534398 A CN112534398 A CN 112534398A
- Authority
- CN
- China
- Prior art keywords
- connector
- package
- csb
- developer tool
- present disclosure
- 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
Images
Classifications
-
- 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/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/36—Software reuse
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
独立软件开发商ISV开发、支持、执行和销售云应用。云服务代理平台(CSB)提供来自不同ISV的集成云应用的部分自动化交付。ISV软件的集成需要特殊的集成组件,例如连接器包和连接器后端。开发这样的组件既费时又昂贵。本公开涉及一种***和方法,该***和方法允许连接器开发者通过允许自动部署和配置网络服务,来降低开发连接器包和连接器后端的成本,并且还通过使用从由CSB创建的原型中生成连接器包的自动编写工具,允许支持内存不足的可扩展性和零停机时间升级。
Description
相关申请的交叉参考
本申请是国际专利申请,要求享有于2018年5月15日提交的美国专利申请号为No.15/980487的优先权,并将其文本和附图通过引用全部并入本申请中。
技术领域
本公开涉及开发的***及方法,更具体地,涉及用于连接器开发和集成通道部署的***和方法。
背景技术
目前,许多独立软件开发商(ISV)通过在线服务平台提供他们的软件。这种软件即服务(SaaS)供应商,允许SaaS用户/终端用户获得和使用由SaaS供应商主办的软件服务。ISV开发、支持、执行以及销售云SaaS产品。例如,和是ISV的SaaS产品的常见示例。
在一些实施例中,ISV通过云服务代理(CSB)平台提供他们的软件。CSB向代理商和终端客户提供来自不同ISV的集成云应用的部分自动化的交付。CSB平台允许客户通过统一的用户界面(UI),在一个地方从不同的ISV中获取和配置集成云应用。
为了实现与CSB的这种集成,ISV通常准备特殊的集成组件,被称为连接器包和连接器后端。连接器后端用于将具有从CSB平台接收的控制方法的应用程序接口(API)调用转换为针对各个ISV云应用的API调用。在一些实施例中,这种集成组件呈现为负责处理来自CSB的请求的网络服务。
在一个实施例中,连接器包通常采用包括元数据、控制方法描述以及内容文件的存档文件的形式,它们用于声明和定义SaaS应用资源、服务、用户界面组件以及管理资源所需的控制方法的逻辑。
连接器和连接器后端的开发可以是包括几个组件和活动的复杂过程,包括,例如:设计ISV的应用资源并定义CSB元描述术语;实现业务逻辑以处理关于资源创建、更改、删除、链接、取消链接以及自定义操作的CSB请求;创建自动化的后端单元和集成测试;创建UI应用屏幕并将其嵌入到CSB预定义的占位符中;打包ISV的连接器包;部署并配置连接器后端,然后使其可以从CSB访问来验证;检查关于销售、追加销售、取消以及终止的所有场景等。
此外,在添加任何新的集成组件后,ISV将必须维护连接器后端,以支持销售当前SaaS产品的能力以及客户管理其在线的SaaS购买的能力。ISV希望避免任何连接器后端服务停机时间,以确保销售的最大可用性。
连接器和连接器后端的当前开发耗时、昂贵,并且容易出现停机时间。因此,需要改进用于连接器开发和集成通道部署的***和方法,其允许连接器开发者(例如ISV)降低开发连接器包和连接器后端的成本,并允许支持SaaS集成的网络服务的自动部署和配置,并且进一步允许可扩展性以及零停机时间升级。
发明内容
本公开涉及用于软件服务的连接器开发方法,使用云服务代理(CSB)平台,该方法包括接收创建连接器包的请求,该开发工具可操作地连接到CSB平台;创建原型连接器包的副本,以创建基础连接器包;编译软件服务的业务逻辑代码,并基于至少部分基础连接器包生成连接器包;创建资源模型模式,该资源模型模式进一步打包到连接器档案中;创建连接器后端部署单元,该连接器后端部署单元进一步组合成服务器图像;创建容器编排器包,该容器编排器包由一组容器编排器资源组成,容器编排器包随后被推送到包存储库中;将服务器图像推到服务器存储库中;组装服务器图像、来自连接器档案的资源模型模式、容器编排器包,以创建存档连接器包;以及将存档连接器包交付到CSB平台。
在本公开的至少一个实施例中,创建基础连接器包还包括请求应用名称和持久性条件;下载从由库、驱动程序和日志存放器组成的组中选择的附加组件;生成连接器包源;创建开发目录。
在本公开的至少一个实施例中,存档连接器包还包括用户界面代码、资源模型、导航描述和部署描述符的组合。
在本公开的至少一个实施例中,用于软件服务的集成通道部署方法,使用云服务代理(CSB)平台,包括:通过CSB平台应用程序接口(API)将存档连接器包安装到CSB平台;接收容器编排器包;生成认证凭证,将认证凭证进一步内置到部署描述符中;运行从容器编排器包获取的连接器后端;生成后端端点统一资源***(URL);以及在CSB平台处注册端点URL。
在本公开的至少一个实施例中,提供了用于软件服务的连接器开发和集成通道部署的***,使用云服务代理(CSB)平台,该***包括可操作地连接到CSB平台的开发者工具,该开发者工具还包括基础设施组件库;以及多个开发者工具模块;该CSB平台还包括CSB控制器。
在本公开的至少一个实施例中,所述***还包括多个从由日志管理器、测试、监控管理器、授权管理器、用户界面组件、数据库管理器、REST应用服务和开发者组件占位符组成的组中选择的库。
在本公开的至少一个实施例中,开发者模块从由组件生成器、存储服务器、编译器、资源模型模式建立器、集成通道建立器、组件建立器、接口、连接器汇编器、图像建立器,和容器编排器包建立器组成的组中选择。
在本公开的至少一个实施例中,所述***完善了开发者工具,配置为请求创建连接器包;创建原型连接器包的副本,以创建基础连接器包;编译软件服务的业务逻辑代码,并至少部分基于基础连接器包生成连接器包;创建资源模型模式,该资源模型模式进一步打包到连接器档案中;创建连接器后端部署单元,该连接器后端部署单元进一步组合成服务器图像;创建容器编排器包,该容器编排器包包括一组容器编排器资源,然后将该容器编排器包推送到包存储库中;将服务器图像推送到服务器存储库中;组装将来自连接器档案的资源模型模式与容器编排器包组装,以创建存档连接器包;以及将存档连接器包交付到CSB平台。
附图说明
图1示出了根据本公开的至少一个实施例的***连接器开发和集成通道部署的示意图。
图2示出了根据本公开的至少一个实施例的开发者工具的示意图。
图3示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的方法的流程图。
图4示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的方法的流程图。
图5示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的方法的流程图。
图6示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的方法的流程图。
图7示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的***的组件。
具体实施方式
现在将详细参考本公开的优选实施例,其示例在附图中说明。本公开的附加特征和优点将在下面的描述中阐明,并且将从描述中显而易见,或者可以通过本公开的实践来学习。应当理解,上述的一般性描述和下面的详细描述都是示例性和说明性的,并且意在提供如所声称的公开的进一步说明。
现在参考图1,示出了根据本公开的至少一个实施例的用于连接器开发和集成通道部署的***100。***100包括云服务代理(CSB)设备102、CSB控制器104、连接器包目录106、开发者工具108、连接器后端集线器110、独立软件开发商(ISV)设备112,以及ISV开发者设备114。
在本公开的至少一个实施例中,CSB设备102包括CSB控制器104和连接器包目录106。尽管CSB控制器104和连接器包目录106被示为CSB设备102内的组件,但是在本公开的范围内CSB控制器104和连接器包目录106可以是分开的,然后远程定位并且可操作地连接到CSB设备102。在本公开的至少一个实施例中,CSB控制器104配置为创建适合从连接器包目录106获得的包的资源。举例而言,开发者工具(如本文中进一步公开的)可以配置为将包上载到连接器包目录106,由此CSB控制器104使用从包目录中获得的信息,以提供适用于包(即软件)的资源。
在本公开的至少一个实施例中,连接器后端集线器110包括至少一个容器编排器解决方案110A,例如Kubernetes、Docker swarm等。应当理解,连接器后端集线器110可以包括和容器编排器解决方案110A一样多(的内容)。如本领域技术人员所熟知,并且在本文中进一步公开。在本公开的至少一个实施例中,容器编排器解决方案110A配置为允许自动部署、缩放以及跨主机集群的应用容器的操作。举例来说,可能需要跨多个服务器(即主机)部署特定的软件服务,以支持预期的使用负载(超出单个服务器/主机的容量)。然后继续此示例,容器编排器解决方案110A配置为允许通过跨主机/服务器集群的应用容器部署这样的软件。在本公开的至少一个实施例中,容器编排器解决方案110A通过非限制性示例经由API,可操作地连接到CSB设备102和ISV设备112。应当理解,容器编排器解决方案110A可以配置为基础设施即服务(IaaS)解决方案。在本公开的至少一个实施例中,容器编排器解决方案110A配置为保存可以由CSB设备102存取的多个API,其中,CSB设备102可以使用这些API来配置连接器后端。应当进一步理解,***100可以包括多个容器编排器解决方案,多个容器编排器解决方案中的每一个配置用于不同的目的,例如,用于测试,或生产支持目的。
在本公开的至少一个实施例中,***100可以包括多个ISV设备112。在本公开的范围内,***100可以包括与将通过CSB平台(即CSB设备102)提供SaaS产品的ISV一样多的ISV设备112。
现在参考图2,根据本公开的至少一个实施例,示出了通常在200处显示的开发者工具108的组件。在本公开的至少一个实施例中,开发工具108包括基础设施组件库202、组件生成器220、存储服务器222、编译器224、资源模型模式建立器226、集成通道建立器228、组件建立器230、接口232、连接器汇编器234、图像建立器236,容器编排器包建立器240和容器编排器管理器242。
在本公开的至少一个实施例中,资源模型模式建立器226配置为将特殊注释的Java文件转换为连接器包资源模式。资源模型模式建立器226配置为读取诸如APS类型、APS结构等的特殊注释,并将带注释的字段转换为资源模式中的字段。应当理解的是,资源模型模式构建器226包含CSB设备102中的具有资源的可用操作的列表以及JSON格式中使用过的数据类型。
在本公开的至少一个实施例中,组件建立器230配置为从多个存储库(例如,专家中央存储库)中动态下载Java库,并将其存储在本地缓存中。组件建立器230还配置为在本地缓存中存储任何建立的伪迹,例如,网络档案、档案等。应当理解,在本地缓存中找不到伪迹时,组件建立器230配置为从多个存储库中下载伪迹。
在本公开的至少一个实施例中,接口232配置为以交互或非交互模式,通过命令行创建开发者指定的必需属性。
在本公开的至少一个实施例中,图像建立器236配置为基于建立的部署单元来创建图像(步骤412),如本文进一步公开的那样。应当理解,图像是一个无活动的、不可变的文件,该文件本质上是容器的快照。应当进一步理解,容器是图像和运行时间对象的实例。
在本公开的至少一个实施例中,基础设施组件库202还包括多个预定义的连接器包库,包括:日志管理器库204、测试库206、监控管理器库208、授权管理器库210、用户界面(UI)组件库212,数据库管理器库214、REST应用程序服务库216以及开发组件占位符库218。
在本公开的至少一个实施例中,日志管理器204包括用于与使用统一的日志记录机制的连接器后端集成的日志记录库。应当理解,统一的日志记录降低维护成本。在本公开的至少一个实施例中,日志管理器204包括配置为记录连接器后端的所有标准输出的日志记录子***(条件是连接器后端配置为记录),如本领域技术人员所熟知的那样。应当理解,日志管理器204可以配置为记录所有引入HTTP和输出API请求,该引入HTTP和输出API请求被记录在适用于这种日志记录的跟踪级别上。
在本公开的至少一个实施例中,开发者工具202可操作地配置嵌入式记录器,其包括:设置唯一名称,该名称可以与在集中日志记录***中用于起源确定的连接器包的名称相同;为所有关于跟踪需要的引入和输出的请求生成日志;从关于多服务调用的引入请求中提取相关和生成信息;设置统一的日志行格式,包括日期、相关标识符、线程标识符、唯一名称、记录器名称和日志消息;以及设置异步标准化输出日志记录存放器。应当理解,统一的日志文件格式使得性能良好。应当进一步认识到,异步标准化输出日志记录使得在集中式日志记录***中搜索更容易。
在本公开的至少一个实施例中,测试库206配置为建立和运行各种测试,例如,单元测试和集成测试,如本领域技术人员所熟知的。
在本公开的至少一个实施例中,监控管理器库208包括用于健康和性能度量监控的库,例如,超文本传输协议(HTTP)请求、结构化查询语言(SQL)请求、平均响应时间、最大响应时间、最小响应时间,活动会话、并行请求数等。应当理解,监控管理器208还配置为跟踪通过Java管理扩展(JMX)收集的度量,其资源由名为Mbeans的对象表示,如本领域技术人员所熟知的。应当理解,监控管理器库208包括可以动态加载和实体化的API和类,这些API和类提供了用于外部(在集群外部运行)监控***的能力,例如,Zabbix。
在本公开的至少一个实施例中,授权管理器库210配置为提供授权协议库,包括,但不限于,开放授权1.0协议等。应当理解,开放授权凭证(KEY和SECRET)通过环境变量提供给连接器后端集线器110,如本领域技术人员所熟知的。
在本公开的至少一个实施例中,UI组件库212配置为提供配置用于创建能够可操作地连接到CSB平台(例如CSB设备102)的连接器包的嵌入式UI组件。应当理解,可以使用Java开发者框架来创建连接器特定的UI组件。
在本公开的至少一个实施例中,数据库管理器库214配置为提供用于建立与数据库(包括任何第三方数据库)的连接的组件。例如,连接器包开发者可能更喜欢使用自己的数据库来存储数据,而不是使用由CSB平台提供的数据库。在本公开的至少一个实施例中,数据库管理器库可以是连接器后端集线器110的组件。应当理解,数据库管理器库214可以基于凭证提供到数据库的连接,以向连接器后端110提供环境变量。
在本公开的至少一个实施例中,REST应用服务库216配置为提供REST服务组件,该REST服务组件配置为对软件实例、创建、更新、删除等请求进行操作。
在本公开的至少一个实施例中,开发者组件占位符库218配置为给连接器开发者的业务代码提供占位符库,如本文进一步公开的。
在本公开的至少一个实施例中,开发者工具108配置为以“开发”模式操作。开发者工具108配置为根据由CSB平台开发者(未示出)创建的原型生成新的连接器包。在本公开的至少一个实施例中,指定了新的连接器包名称,并且选择了是否需要数据库(如本文进一步公开的)。该原型被定义为原始样式或模型,用来自制作同种类的所有其他副本,并且遵循开发的原型样式,这是本领域技术人员熟知的,并且在本文中进一步公开。
在本公开的至少一个实施例中,连接器包以存档文件的形式,该存档文件通常包括元数据、控制方法描述以及内容文件,它们用于声明和定义(SaaS)应用资源、服务、用户界面组件和管理资源所必需的控制方法的逻辑。应当理解,连接器包由用于定义ISV的应用资源的声明性文件和“连接器前端”(即CSB客户在CSB接口(在客户端侧)中看到的网络界面)组成。应当进一步理解,网络接口是由连接器包开发者使用特殊框架开发的,该框架可以包括小部件、预定义的页面结构、导航方法和屏幕***机构等。在本公开的至少一个实施例中,连接器前端包括***到预定义视图中的屏幕、用于呈现小部件的自定义逻辑以及自定义导航结构。举例而言,小部件可以显示连接器开发者认为对相应的SaaS产品的客户有价值的信息(例如,使用情况报告、订阅和服务信息、说明等)。
在本公开的至少一个实施例中,连接器后端是配置为解译CSB REST API请求并将其转换为ISV的服务API请求,以创建服务、租户、分配给用户的服务以及彼此之间的链接服务。应当理解,CSB REST API提供了广泛的集成和功能选项,并且允许实现大多数适用于云服务的场景,如销售、追加销售、取消等等。在本公开的至少一个实施例中,根据应用服务资源的创建、更新和删除以及它们之间的创建链接来定义所有的CSB操作。应当理解,在标准化操作不太适合的情况下,一些操作可以作为自定义操作在某些资源上实现。应当进一步理解,连接器后端包可以由ISV的软件开发者使用本领域技术人员熟知的各种编程语言来开发,或者可以由任何服务模型(例如SaaS、功能即服务(FaaS))来提供,或者可以部署在平台即服务(PaaS)或基础设施即服务(IaaS)模型中。
现在参考图3,根据本公开的至少一个实施例,示出了用于连接器开发和集成通道部署的方法300。方法300包括在步骤302处检查请求、在步骤304处创建连接器包副本、在步骤314处检查集成命令以及在步骤316处启动后端建设。
在本公开的至少一个实施例中,在步骤306处,步骤304进一步包括请求应用名称以及是否需要数据库。在本公开的至少一个实施例中,接口232配置为接收对应用名称的请求以及关于是否需要数据库的信息。
在本公开的至少一个实施例中,步骤304还包括在步骤308处下载库。在本公开的至少一个实施例中,组件建立器230配置为从多个存储库(例如,专家中央存储库)中下载库、驱动程序、日志存放器等,并将这些项存储在本地缓存中。
在本公开的至少一个实施例中,步骤304还包括在步骤310处生成连接器包源。在本公开的至少一个实施例中,组件生成器220配置为在文件***中创建新的连接器包,并且组件建立器230配置为从由组件生成器220生成的文件源中建立新的连接器包。
在本公开的至少一个实施例中,方法300进入步骤314以检查是否接收到了建立集成通道信号。如果没有接收到信号,则方法300等待。否则,方法300进入步骤316。
在本公开的至少一个实施例中,步骤316包括启动后端建立过程(如本文通过图4进一步公开的)。
现在参考图4,根据本公开的至少一个实施例,示出了用于建立连接器后端的方法,通常在400处表明。方法400在步骤402处开始,在该步骤中执行检查以查看是否接收到建立连接器后端命令。如果没有接收到该命令,则方法400等待;否则,方法400进入步骤404。
在本公开的至少一个实施例中,在步骤404处编译业务代码并生成连接器包。在本公开的至少一个实施例中,在连接器开发者完成后端建立之后,开发者工具102配置为自动编译新的连接器包源代码(包括任何业务代码),并测试新的连接器包。
方法400接着进入步骤406,在该步骤中测试在步骤404中生成的代码。应当理解,测试可以包括单元测试和集成测试。在本公开的至少一个实施例中,编译器224配置为执行步骤404和406的活动。在本公开的至少一个实施例中,编译器224从源文件(例如Java源文件)中创建字节码。
在本公开的至少一个实施例中,在步骤408处,开发者工具102还配置为使用资源模型模式建立器226,来生成资源模型模式并将其打包到档案中。应当理解,资源模型模式是从由连接器开发者编写的业务代码的Java类中生成的。
在本公开的至少一个实施例中,在步骤410处创建连接器后端部署单元。在本公开的至少一个实施例中,存储服务器222配置为创建连接器后端部署单元,并且还配置为从连接器包的源文件和编译文件中创建档案(例如,文件)。
在本公开的至少一个实施例中,在步骤412处,通过图像建立器236,使连接器后端部署单元成为应用服务图像的一部分。在本公开的至少一个实施例中,新的连接器后端的图像(例如,Docker图像)是由原型中的预定义规则建立的。图像由一系列层构成,其中,每层代表一个简单的指令。例如,参考图7,示出了根据本公开的至少一个实施例的原型中的层的示例性实施例。除最后一层(例如层702-722)外,每个层是只读的。每一层与前一层只是一组差异。这些层堆叠在彼此之上。应当理解,基本图像(即层702-722是基于原型的)由CSB平台开发者(而不是连接器开发者)提供。
在本公开的至少一个实施例中,在步骤414处,通过容器编排器包建立器240,创建容器编排器包。应当理解,可以使用多个第三方软件机构来创建容器编排器包(例如,Kubernetes的Helm图表),该包描述了一组相关的容器编排器资源并将其推送到包存储库(例如GitHub存储库)。在本公开的具体实施例中,包被创建为在特定目录树中的文件,并且打包到要部署的版本化档案中。
在本公开的至少一个实施例中,在步骤416处,通过图像建立器236,将连接器后端图像推入服务器存储库(例如CSB设备102的开发者存储库)。在本公开的至少一个实施例中,在步骤414中创建的图像被推送到CSB图像存储库(Docker注册表)。应当理解,注册表是状态性的、高度可扩展的服务器端应用,其存储并允许分发Docker图像;
现在参考图5,示出了根据本公开的至少一个实施例的用于组装连接器包的方法500。在本公开的至少一个实施例中,在步骤501处,开发者工具设备108配置为检查是否接收到用于组装连接器包的命令。如果尚未接收到命令,则方法500等待;否则,方法500进入步骤503。
在本公开的至少一个实施例中,在步骤503处通过连接器汇编器234解包资源模型模式。
在本公开的至少一个实施例中,在步骤505处使用连接器汇编器234组装UI代码。在本公开的至少一个实施例中,进一步组装资源模型模式、导航描述和容器编排器包。应该理解,容器编排器包包含将其部署到容器编排器所需的信息,包括,但不限于图像名称、版本、所需组件及其版本、环境变量、端口映射等。
在本公开的至少一个实施例中,在步骤507处,使用存档服务器222归档连接器包,并传送到连接器包目录106。
现在参考图6,其中示出了根据本公开的至少一个实施例的用于建立通道的方法600。在本公开的至少一个实施例中,集成通道建立器228配置为执行本文进一步公开的方法600的步骤。
在本公开的至少一个实施例中,方法600配置为在步骤601处执行检查,以查看是否接收到命令(例如通过接口232)来设置集成通道。如果没有接收到命令,则该方法等待;否则,该方法进入步骤603。
在本公开的至少一个实施例中,开发者工具108配置为在步骤603处通过由CSB提供的API,将连接器包安装到CSB设备102。
在本公开的至少一个实施例中,在步骤605处,开发者工具108配置为从连接器包接收容器编排器包。
在本公开的至少一个实施例中,在步骤607处,开发者工具108配置为生成授权凭证。在本公开的至少一个实施例中,开发者工具108还配置为基于从容器编排器包接收的信息,覆盖预先存在的环境认证数据。
方法600接着进入步骤609,在该步骤中执行检查以查看连接器包是否需要持久性(即,使用数据库来确保有状态)。如果连接器后端需要数据库,则方法600进入步骤609;否则,进入步骤613。
在本公开的至少一个实施例中,如果连接器包需要数据库,则在步骤611处,开发者工具108配置为要求开发者指定数据库连接字符串,并基于容器编排器包覆盖环境。在本公开的至少一个实施例中,开发工具108可以在步骤611处接收该信息。
在本公开的至少一个实施例中,在步骤613处,开发者工具108配置为在连接器后端集线器之一中运行连接器后端。开发者工具108还配置为通过容器编排器管理器242来包含容器编排器(例如Kubernetes)。在本公开的至少一个实施例中,容器编排器管理器242配置为运行连接器后端、配置负载平衡、增加可扩展性以及保存日志。
方法600然后进入步骤615,其中容器编排器生成后端端点URL。在本公开的至少一个实施例中,容器编排器(例如Kubernetes)下载具有所需依赖的连接器后端图像,并以容器编排器包中的预定义指令集运行它们,并返回所部署的连接器后端的端点URL。
方法600接着进入步骤617,其中开发者工具108通过向CSB控制器104发送适当的超文本传输协议(HTTP)请求,使用所提供的端点URL在CSB控制器104中注册连接器后端。
在本公开的至少一个实施例中,开发者工具108还配置为以升级模式运行,其中,开发者工具108通过CSB API将连接器包的新版本安装到CSB平台,并且开发者工具108从连接器包中接收新的容器编排器包。最后,开发者工具108配置为将新的容器编排器包上载到容器编排器(例如Kubernetes)。在本公开的至少一个实施例中,容器编排器下载具有新依赖的新容器应用服务图像,运行新图像,然后停止前一版本的操作。应当理解,容器编排器允许实时(热的)升级,而没有服务停机时间。
虽然在附图和前面的描述中已经详细地说明和描述了本发明,但是本发明应当被认为是说明性的而非限制性的,应当理解,只示出和描述了某些实施例,并且所有在本发明精神内的改变和修正是希望被保护的。
Claims (17)
1.一种用于软件服务的连接器开发的方法,使用云服务代理CSB平台,所述方法包括:
在开发者工具处接收创建连接器包的请求,所述开发者工具可操作地连接到所述CSB平台;
在所述开发者工具处创建原型连接器包的副本,以创建基础连接器包;
在所述开发者工具处编译所述软件服务的业务逻辑代码,并基于至少部分所述基础连接器包生成所述连接器包;
在所述开发者工具处创建资源模型模式,所述资源模型模式进一步被打包到连接器档案中;
在所述开发者工具处创建连接器后端部署单元,所述连接器后端部署单元进一步被组合成服务器图像;
在所述开发者工具处创建容器编排器包,所述容器编排器包由一组容器编排器资源组成,所述容器编排器包随后被推送到包存储库中;
在所述开发者工具处,将所述服务器图像推送到服务器存储库中;
在所述开发者工具处,组装所述服务器图像、来自所述连接器档案的所述资源模型模式、所述容器编排器包,以创建存档连接器包;以及
将所述存档连接器包交付到所述CSB平台。
2.根据权利要求1所述的方法,其中,创建基础连接器包还包括:
请求应用名称和持久性条件;
下载从由库、驱动程序和日志存放器组成的组中选择的附加组件;
生成连接器包源;以及
创建开发目录。
3.根据权利要求1所述的方法,还包括测试所述连接器包的步骤。
4.根据权利要求1所述的方法,其中,所述存档连接器包还包括用户界面代码、资源模型、导航描述和部署描述符的组合。
5.根据权利要求1所述的方法,其中,所述服务器图像包括多个指令集合层。
6.根据权利要求5所述的方法,其中,所述多个指令集合层形成基础图像。
7.根据权利要求5所述的方法,其中,所述多个指令集合层的最后一层包括开发者层。
8.一种用于软件服务的集成通道部署的方法,使用云服务代理CSB平台,所述方法包括:
通过所述CSB平台应用程序接口API,将存档连接器包安装到所述CSB平台;
在所述CSB平台处接收容器编排器包;
在开发者工具处生成认证凭证,将所述认证凭证进一步内置到部署描述符中;
通过容器编排器,运行从所述容器编排器包中获取的连接器后端;
在开发者工具处生成后端端点统一资源***URL;以及
在所述CSB平台处注册所述端点URL。
9.根据权利要求8所述的方法,还包括对持久性要求的检查。
10.根据权利要求9所述的方法,其中,指定数据库连接,并将所述数据库连接进一步写入所述部署描述符。
11.一个用于软件服务的连接器开发和集成通道部署的***,使用云服务代理CSB平台,所述***包括:
可操作地连接到所述CSB平台的开发者工具,所述开发者工具还包括:
基础设施组件库;以及
多个开发者工具模块;
所述CSB平台还包括CSB控制器。
12.根据权利要求11所述的***,其中,所述基础设施组件库包括从由日志管理器、测试、监控管理器、授权管理器、用户界面组件、数据库管理器、REST应用服务和开发者组件占位符组成的组中选择的多个库。
13.根据权利要求11所述的***,其中,多个开发工者具模块从由组件生成器、存储服务器、编译器、资源模型模式建立器、集成通道建立成器、组件建立器、接口、连接器汇编器、图像建立器和容器编排器包建立器组成的组中选择。
14.根据权利要求11所述的***,其中,所述开发者工具配置为:
请求创建连接器包;
创建原型连接器包的副本,以创建基础连接器包;
编译所述软件服务的业务逻辑代码,并基于至少部分所述基础连接器包生成所述连接器包;
创建资源模型模式,将所述资源模型模式进一步打包进连接器档案中;
创建连接器后端部署单元,将所述连接器后端部署单元进一步组合成服务器图像;
创建容器编排包,所述容器编排包包含一组容器编排器资源,然后将所述容器编排器包推送到包存储库中;
将所述服务器图像推送到服务器存储库中;
将来自所述连接器档案的所述资源模型模式与容器编排器包组装,以创建存档连接器包;以及
将所述存档连接器包交付到所述CSB平台。
15.根据权利要求14所述的***,其中,所述开发者工具还配置为创建基础连接器包。
16.根据权利要求11所述的***,其中,所述开发者工具还配置为:
通过所述CSB平台应用程序接口API,将存档连接器包安装到所述CSB平台;
生成认证凭证,将所述证凭证进一步内置到部署描述符中;
通过容器编排器,运行从所述容器编排器包获取的连接器后端;
生成后端端点统一资源***URL;以及
在所述CSB平台处注册所述端点URL。
17.根据权利要求16所述的***,还包括配置为支持持久性的数据库。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/980,487 | 2018-05-15 | ||
US15/980,487 US10942719B2 (en) | 2018-05-15 | 2018-05-15 | System and method for connector development and integration channel development |
PCT/US2019/032427 WO2019222357A1 (en) | 2018-05-15 | 2019-05-15 | System and method for connector development and integration channel deployment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112534398A true CN112534398A (zh) | 2021-03-19 |
CN112534398B CN112534398B (zh) | 2022-07-05 |
Family
ID=68533715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980032912.8A Active CN112534398B (zh) | 2018-05-15 | 2019-05-15 | 用于连接器开发和集成通道部署的***和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10942719B2 (zh) |
EP (1) | EP3814888A4 (zh) |
JP (1) | JP7011737B2 (zh) |
CN (1) | CN112534398B (zh) |
AU (2) | AU2019268349B2 (zh) |
CA (1) | CA3100205A1 (zh) |
MX (1) | MX2020012301A (zh) |
WO (1) | WO2019222357A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590169A (zh) * | 2021-09-30 | 2021-11-02 | 武汉四通信息服务有限公司 | 应用部署方法、应用部署***和计算机可读存储介质 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2020004210A (es) * | 2017-10-30 | 2020-08-13 | Cloudblue Llc | Integracion de aplicaciones en la nube en plataforma de comisionista de servicio en la nube que utiliza paquete de conector universal automatico. |
US10776254B1 (en) * | 2019-04-22 | 2020-09-15 | Sap Se | Executing integration scenario regression tests in customer landscapes |
US11863673B1 (en) * | 2019-12-17 | 2024-01-02 | APPDIRECT, Inc. | White-labeled data connections for multi-tenant cloud platforms |
CN111078229A (zh) * | 2019-12-20 | 2020-04-28 | 北京天融信网络安全技术有限公司 | 一种应用程序处理方法、装置、存储介质及电子设备 |
CN111158859B (zh) * | 2019-12-30 | 2023-09-26 | 中电工业互联网有限公司 | 基于麒麟操作***的应用管理***及其实现与使用方法 |
US11366683B2 (en) * | 2020-01-03 | 2022-06-21 | International Business Machines Corporation | Images deployment system across multiple architectures |
US11775287B2 (en) * | 2020-01-15 | 2023-10-03 | Salesforce, Inc. | Manifest and content delivery |
US10908971B1 (en) * | 2020-01-30 | 2021-02-02 | Salesforce.Com, Inc. | Method and system for generating a customizable connector |
CN111596927B (zh) * | 2020-05-15 | 2023-08-18 | 北京金山云网络技术有限公司 | 服务部署方法、装置及电子设备 |
CN112181587B (zh) * | 2020-09-18 | 2022-09-09 | 烽火通信科技股份有限公司 | 一种基于docker技术的软件产品部署方法与*** |
US11671419B2 (en) | 2020-09-30 | 2023-06-06 | APPDIRECT, Inc. | Multi-cloud data connections for white-labeled platforms |
CN112286628B (zh) * | 2020-10-19 | 2022-05-17 | 烽火通信科技股份有限公司 | 一种统一纳管Kubernetes异构应用的***及运行方法 |
CN112394954B (zh) * | 2020-12-03 | 2023-07-04 | 中国人民解放军国防科技大学 | 一种面向高性能计算的随作业自动部署运行环境方法 |
CN112506796B (zh) * | 2020-12-21 | 2022-06-10 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备以及存储介质 |
US11956232B2 (en) * | 2021-03-19 | 2024-04-09 | Okta, Inc. | Integration packaging for a multi-tenant computing environment |
US11893373B2 (en) * | 2021-11-05 | 2024-02-06 | Microsoft Technology Licensing, Llc | Exposure and de-duplication of input parameters for complex Helm chart deployment |
US11750710B2 (en) | 2021-11-30 | 2023-09-05 | Hewlett Packard Enterprise Development Lp | Management cluster with integration service for deploying and managing a service in tenant clusters |
US20230409306A1 (en) * | 2022-05-25 | 2023-12-21 | Cloudblue Llc | Systems and methods for independent application design and deployment to platform host |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160124742A1 (en) * | 2014-10-30 | 2016-05-05 | Equinix, Inc. | Microservice-based application development framework |
CN107209692A (zh) * | 2014-12-04 | 2017-09-26 | 诺基亚通信管理国际两合公司 | 虚拟化资源的操纵 |
CN107455000A (zh) * | 2015-04-03 | 2017-12-08 | Nicira股份有限公司 | 在软件定义的数据中心中供应网络服务 |
CN107667517A (zh) * | 2015-06-03 | 2018-02-06 | 瑞典爱立信有限公司 | 用于能够实现第二容器上的反向代理的在第一服务容器内的被植入代理器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419524B2 (en) * | 2012-09-07 | 2019-09-17 | Oracle International Corporation | System and method for workflow orchestration for use with a cloud computing environment |
US9100345B2 (en) * | 2012-12-21 | 2015-08-04 | Software Ag Usa, Inc. | Systems and/or methods for supporting a generic framework for integration of on-premises and SaaS applications with security, service mediation, administrative, and/or monitoring capabilities |
US9824390B2 (en) * | 2013-03-15 | 2017-11-21 | International Business Machines Corporation | Cloud service brokerage service store |
US10089083B2 (en) * | 2016-12-14 | 2018-10-02 | General Electric Company | Service broker code generator |
-
2018
- 2018-05-15 US US15/980,487 patent/US10942719B2/en active Active
-
2019
- 2019-05-15 CN CN201980032912.8A patent/CN112534398B/zh active Active
- 2019-05-15 JP JP2020563664A patent/JP7011737B2/ja active Active
- 2019-05-15 EP EP19804325.9A patent/EP3814888A4/en active Pending
- 2019-05-15 AU AU2019268349A patent/AU2019268349B2/en active Active
- 2019-05-15 CA CA3100205A patent/CA3100205A1/en active Pending
- 2019-05-15 MX MX2020012301A patent/MX2020012301A/es unknown
- 2019-05-15 WO PCT/US2019/032427 patent/WO2019222357A1/en unknown
-
2021
- 2021-03-24 AU AU2021201836A patent/AU2021201836B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160124742A1 (en) * | 2014-10-30 | 2016-05-05 | Equinix, Inc. | Microservice-based application development framework |
CN107209692A (zh) * | 2014-12-04 | 2017-09-26 | 诺基亚通信管理国际两合公司 | 虚拟化资源的操纵 |
CN107455000A (zh) * | 2015-04-03 | 2017-12-08 | Nicira股份有限公司 | 在软件定义的数据中心中供应网络服务 |
CN107667517A (zh) * | 2015-06-03 | 2018-02-06 | 瑞典爱立信有限公司 | 用于能够实现第二容器上的反向代理的在第一服务容器内的被植入代理器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590169A (zh) * | 2021-09-30 | 2021-11-02 | 武汉四通信息服务有限公司 | 应用部署方法、应用部署***和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019222357A1 (en) | 2019-11-21 |
US10942719B2 (en) | 2021-03-09 |
CA3100205A1 (en) | 2019-11-21 |
AU2019268349B2 (en) | 2021-01-21 |
MX2020012301A (es) | 2023-01-12 |
EP3814888A4 (en) | 2021-12-29 |
AU2021201836B2 (en) | 2022-12-22 |
EP3814888A1 (en) | 2021-05-05 |
AU2021201836A1 (en) | 2021-04-22 |
JP2021518619A (ja) | 2021-08-02 |
AU2019268349A1 (en) | 2020-11-26 |
CN112534398B (zh) | 2022-07-05 |
JP7011737B2 (ja) | 2022-01-27 |
US20190354354A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112534398B (zh) | 用于连接器开发和集成通道部署的***和方法 | |
Burns et al. | Kubernetes: up and running | |
US8850420B2 (en) | Dynamically updating on-demand runtime platforms executing business applications | |
KR102370568B1 (ko) | 모놀리식 레거시 애플리케이션들에 기초한 마이크로서비스들의 컨테이너화된 전개 | |
US20130326487A1 (en) | Emulating cloud functioning of applications locally | |
US7684964B2 (en) | Model and system state synchronization | |
KR101784784B1 (ko) | 클라이언트-서버 브리지를 사용하는 객체 관리 | |
US9274811B1 (en) | System and method for cloud provisioning and application deployment | |
US8539050B2 (en) | Method for distributing update modules for computer software over a network | |
CN110851167B (zh) | 容器环境更新方法、装置、设备及存储介质 | |
US20180225095A1 (en) | Application analyzer for cloud computing | |
EP1455484A2 (en) | Integrating design, deployment, and management phases for systems | |
US20090300093A1 (en) | Server computer | |
US20090172636A1 (en) | Interactive development tool and debugger for web services | |
US20090320045A1 (en) | Server computer component | |
US20120095950A1 (en) | Systems and methods for implementing business rules designed with cloud computing | |
US8839223B2 (en) | Validation of current states of provisioned software products in a cloud environment | |
Chawla et al. | Building microservices applications on Microsoft azure: designing, Developing, Deploying, and Monitoring | |
US10802810B2 (en) | Consuming persistent library bundles | |
Madushan | Cloud Native Applications with Ballerina: A guide for programmers interested in developing cloud native applications using Ballerina Swan Lake | |
Chawla et al. | Building Microservices Applications on Microsoft Azure | |
Choudhary | Kubernetes-Based Architecture For An On-premises Machine Learning Platform | |
Schmeling et al. | Application Design Decisions | |
Somerville et al. | Deploying Your Rails Applications | |
McCall et al. | Big Data Cloud Computing Infrastructure Framework |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220523 Address after: California, USA Applicant after: Yunlan Co.,Ltd. Address before: California, USA Applicant before: Ingram Micro Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |