CN111357241A - 使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的系统和方法 - Google Patents

使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的系统和方法 Download PDF

Info

Publication number
CN111357241A
CN111357241A CN201880070962.0A CN201880070962A CN111357241A CN 111357241 A CN111357241 A CN 111357241A CN 201880070962 A CN201880070962 A CN 201880070962A CN 111357241 A CN111357241 A CN 111357241A
Authority
CN
China
Prior art keywords
connector
subscription
crm
block
computing device
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
Application number
CN201880070962.0A
Other languages
English (en)
Other versions
CN111357241B (zh
Inventor
马克西姆·库泽金
泰勒·迈克尔·吉登斯
大卫·维皮希
亚历山大·卡尔罗夫
德米特里·方塔诺夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunlan Co ltd
Original Assignee
Ingram Micro Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ingram Micro Inc filed Critical Ingram Micro Inc
Publication of CN111357241A publication Critical patent/CN111357241A/zh
Application granted granted Critical
Publication of CN111357241B publication Critical patent/CN111357241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5064Customer relationship management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种使用自动化通用连接器将云应用程序集成到云服务代理(CSB)平台中的方法,该方法包括:在连接器集线器处接收用于来自独立软件供应商设备的软件的连接器封装;创建用于与CSB平台集成的连接器封装的连接器实例,CSB平台还被配置成提供针对软件的许可证;在云服务代理计算设备处经由CSB平台接口接收针对软件的订阅请求,该订阅请求包括从由创建、更改和删除组成的组中选择的活动;由CSB平台控制器向通用连接器设备发送订阅请求;在通用连接器设备处处理订阅请求;由通用连接器设备向客户关系管理(CRM)设备通知订阅请求;将订阅请求存储在CRM数据库中;由通用连接器设备获得针对订阅请求的批准;在接收到请求批准后,在通用连接器设备处处理该订阅请求;以及向CSB平台发送订阅批准结果,该CSB平台向订阅者显示订阅批准结果。

Description

使用自动化通用连接器封装将云应用程序集成到云服务代理 平台中的系统和方法
相关申请的交叉引用
本申请要求享有2017年10月30日提交的美国申请号No.62/578,992的优先权,其文本和附图全部并入本文中。
技术领域
本公开的实施例一般地涉及云服务代理,更具体地涉及一种使用自动化通用连接器将云应用程序集成到云服务代理平台中的系统和方法。
背景技术
独立软件供应商(ISV)开发和销售软件应用程序,这些软件应用程序通常被设计成在一个或多个计算机硬件或操作系统平台上运行。这些软件应用程序的范围从企业的基础效用或生产率提高应用到业务流程应用(例如,客户关系管理(CRM)、企业资源规划(ERP)、自动化工具等)。随着云计算变得越来越普及,一种交付软件的方法是使用基于“软件即服务(SaaS)”的模型通过云进行的。使用这种交付方法,ISV可以通过公共云或云市场或通过云服务代理(CSB)销售它们的软件应用程序或对它们的软件应用程序的订阅。
尽管云市场为客户访问基于云的服务和软件应用程序提供了在线店面,但是云服务代理可以例如通过为每个云应用程序使用插件或连接器,而用于促进ISV与最终用户、经销商、零售商等之间的交易。在传统的云服务代理实施方式中,ISV通常准备特殊的集成组件:连接器封装(诸如元数据、控制方法描述和内容文件,它们用于声明和定义应用程序资源、服务、用户接口组件以及管理云应用程序资源所需的控制方法的逻辑);以及连接器后台,用于利用从CSB接收的控制方法将应用程序编程接口(API)调用转译为特定ISV云应用程序专用的API调用。
然而,许多ISV应用程序不具有完全自动化的API服务。因此,与CSB平台的集成变得有问题。例如,ISV必须开发API,然后是集成组件。在这种情况下,将连接器开发到CSB平台是耗时的,并且占总集成时间的相当大的一部分。此外,测试和验证连接器对集成过程增加了额外时间。因此,需要一种使用自动化通用连接器将云应用程序集成到云服务代理平台中的系统和方法。
发明内容
在一个方面,提供了一种使用自动化通用连接器将云应程序集成到云服务代理(CSB)平台中的方法。该方法包括在连接器集线器处接收用于来自独立软件供应商设备的软件的连接器封装,创建用于与CSB平台集成的连接器封装的连接器实例,CSB平台还被配置成提供针对软件的许可证。
在一些实施例中,该方法还包括以下步骤:在云服务代理计算设备处经由CSB平台接口接收针对软件的订阅请求,该订阅请求包括从由创建、更改和删除组成的组中选择的活动;由CSB平台控制器向通用连接器设备发送订阅请求;以及在通用连接器设备处处理订阅请求。
在一些实施例中,该方法还包括以下步骤:由通用连接器设备向客户关系管理(CRM)设备通知订阅请求,将订阅请求存储在CRM数据库中,由通用连接器设备获得针对订阅请求的批准,以及在接收到请求批准后,在通用连接器设备处处理订阅请求。
在一些实施例中,向CSB平台发送订阅批准结果包括CSB平台向订阅者显示订阅批准结果。该方法还包括在开发者门户上开发连接器封装,开发者门户可由独立的软件供应商设备访问。
在一些实施例中,订阅请求还包括在连接器封装中定义的对应资源模型。
在一些实施例中,订阅请求由连接器应用控制器接收,该方法还包括在资源模型编译器处处理订阅请求的步骤,并且处理还包括利用应用编程接口(API)转译引擎处理请求数据的步骤。
在一些实施例中,该方法还包括在通用连接器设备处的处理还包括解析对应连接器封装的资源模型的计数器和限制。
在一些实施例中,该方法还包括在通用连接器设备处的处理还包括解析对应连接器封装的资源模型的计数器和限制,并且还包括利用应用编程接口(API)转译引擎处理计数器和限制的步骤。
在一些实施例中,转译包括将CSB平台请求转换为CRM设备可操作的格式,并且还在CRM用户接口(UI)中显示请求的步骤。
在一些实施例中,该方法还包括以下步骤:通用连接器向CRM设备发送未决请求,并且轮询来自CRM API设备的运营商响应;接收从CRM API服务器接收的用于订阅激活/更改的安装指令,并将该安装指令转换为CSB平台UI可显示的格式;将从CRM API服务器接收的账户修改转换为CSB平台UI可显示的格式;以及将账户修改存储在可操作地连接到通用连接器设备的订阅数据库中。
在一些实施例中,该方法还包括:分析和匹配与ISV订阅管理系统相关联的订阅唯一标识符,该订阅唯一标识符与CSB平台预订管理系统相关联;通用连接器提供响应,该响应选自由创建、修改和删除组成的组;以及将与订阅请求和响应相关联的数据存储在满足正在运行CSB平台的国家的要求的区域的数据库中。
在一些实施例中,可操作地连接到CRM设备的审计模块将运营商行为记录在CRM数据库中,其中审计数据用于分析集成组件的技术问题;并且其中CRM设备还包括用于认证通用连接器的安全模块。
附图说明
通过参考以下结合附图对本公开的各种示例性实施例的描述,本文包含的实施例和其它特征、优点和公开内容以及实现它们的方式将变得显而易见,并且将更好地理解本公开,其中:
图1是用于经由云服务代理系统进行云应用程序分发的云服务市场兼代理系统的说明性实施例的框图;
图1A是用于经由云服务代理系统进行云应用程序分发的云服务市场兼代理系统的另一说明性实施例的框图;
图1B是使用自动化通用连接器将云应用程序集成到云服务代理平台中的系统的说明性实施例的框图;
图2是图1的云服务代理系统的计算设备中的一个的说明性实施例的框图;
图3是图1的开发者门户计算设备的说明性环境的框图;
图4A-图4D是可由图1的开发者门户计算设备执行的、用于在各云服务代理系统中创建和分发连接器的说明性方法的示意性流程图;
图5是可由图1的开发者门户计算设备执行的、用于对连接器对象执行版本分析的说明性方法的示意性流程图;
图6是可由图1的开发者门户计算设备执行的、用于对连接器对象执行配对分析的另一说明性方法的示意性流程图;
图7是使用自动化通用连接器将云应用程序集成到云服务代理平台中的系统的说明性实施例的示意性流程图;以及
图8是使用自动化通用连接器将云应用程序集成到云服务代理平台中的系统的另一说明性实施例的示意性流程图。
具体实施方式
为了促进对本公开的原理的理解,现在将参考附图中所示的实施例,并且将使用特定的语言来描述这些实施例。然而应当了解的是,这并不意图限制本发明的范围。
图1示出了用于创建和分发集成连接器的云服务市场兼代理系统100。云服务市场兼代理系统100包括开发者门户计算设备116、ISV计算设备122和代理计算设备130,它们中的每一个通信地耦接到市场计算设备102(例如,经由网络128)、CRM API服务器138和通用连接器计算设备136。在本公开的一个实施例中,与ISV相关联的云应用程序开发者/程序员可以开发用于将ISV的云应用程序集成到云服务代理系统100中的连接器封装。
为了开发连接器封装,开发者针对要在云服务市场中出售(例如,经由市场计算设备102的云服务代理市场104)的特定服务而使用开发者门户(例如,开发者门户计算设备116的开发者用户接口(UI)门户118)。应当了解,开发者可以经由通信地耦接(例如,经由网络128)到开发者门户计算设备116的端点计算设备(未示出)来访问开发者UI门户118。
在本公开的至少一个实施例中,连接器封装通常具有档案文件的形式,该档案文件通常包括元数据、控制方法描述和内容文件,它们可用于声明和定义应用程序资源、服务、用户接口组件以及用于管理云应用程序资源所必需的控制方法的逻辑。应当了解,连接器封装由用于定义ISV的应用程序属性的声明性文件以及“连接器前台”——云服务代理客户在云服务代理界面中看到的web界面组成。该Web界面是由连接器封装开发者使用特殊框架开发的,该框架包括小窗、预定义页面结构、导航方法和屏幕插入机制。典型的连接器前台包括插入到预定视图中的屏幕、用于呈现小窗的风格逻辑,以及风格导航结构。小窗可以显示连接器开发者认为对相应云应用程序的客户有价值的信息,例如使用报告、订阅和服务信息、指令等。
使用云服务代理市场提供的指令,可将连接器封装转换成连接器应用程序,换句话说,转换成该连接器的可用于与耦接的通用连接器通信的实例(参见,例如,图1和图1A的连接器工厂112的相应连接器实例114)。
开发者门户被配置成接收来自开发者的可用于定义连接器封装的主要组件的输入,诸如模型(例如,应用对象的商业模型的说明)、支持用户交互的用户接口,以及连接器的后台(例如,用于流程供应、管理、请求监视等的代表性状态传输(REST)服务)。应当了解,开发者门户可以被配置成接收与连接器相关联的附加信息,诸如云服务地址、默认设置、定价信息、销售模板、云服务的标识符等。
开发者门户还被配置成生产连接器封装,测试所生产的连接器封装,以及将所测试的连接器封装发布到连接器目录(例如,市场计算设备102的连接器集线器106的可用服务数据库110),如下将进一步详细描述。在开发阶段之后,连接器封装然后可以前进到生产阶段,在生产阶段,连接器可(例如,经由代理计算设备130的云服务代理接口132,通过云服务代理市场104)被部署给云服务代理。
代理计算设备130被配置成管理云服务代理与诸如经销商、云应用程序终端用户等的客户之间的各种云应用程序的许可证。在说明性示例中,ISV(例如,云服务供应商)与云服务市场102的控制实体签约,以通过提供连接器封装(其允许云服务代理市场客户(例如,各云服务代理)上载连接器封装)并通过将管理此云应用程序的方法集成到云服务代理平台中,来促进向最终用户销售许可证。然后,许可证可以允许终端用户或与其相关联的其他终端用户对ISV的云服务(例如,基于云的软件即服务(SaaS)应用程序)的特定访问。
为此,说明性市场计算设备102包括连接器集线器106,其被配置成(例如,在可用服务数据库110中)存储经由开发者UI门户118生成的封装后的连接器,并且在ISV计算设备122的ISV接口124和代理计算设备130的云服务代理接口132之间建立连接器工厂112的连接器114的供应信道。因此,云服务代理然后可以经由它们各自的云服务代理接口132向最终用户(例如,客户、代理、经销商等)销售与封装连接器相关联的云应用程序的许可证。
连接器集线器106还被配置成生成针对每个云服务代理130的供应信道凭证(例如,代理凭证和/或云ISV凭证和/或通用连接器凭证和/或CRM API服务器138凭证,诸如可以存储在凭证数据库108中)。应当了解,供应信道凭证可以是可用于使用供应信道凭证来认证两个实体之间的安全通信信道的任何类型的信息(例如,密码密钥或其它任意数据)。
在本公开的至少一个实施例中,供应信道可以由云服务代理市场建立。供应信道连接自通用连接器136和CSM API服务器138,ISV的运营商可以从CSM API服务器138中接收订单,订单包括诸如创建新订阅、删除现有订阅、修改现有订阅、为客户提供激活指令、查看和更改按地理位置分布的客户的个人数据。
应当了解,通用连接器136的目的是将云服务代理的平台的API转换为CRM API服务器138的API。还应当了解,通用连接器136能够处理它从云服务代理接收的任何云应用程序的任何连接器封装的任何资源模型,并且通用连接器136可以将其转换为可应用于CRMAPI服务器138的格式。通用连接器136将CSB平台中ISV应用程序的生命周期流程转换为CRMAPI服务器138中的实体,并且通过运营商对这些实体的反应,通用连接器136可以向CSB平台提供有关应用程序当前状态的所需信息。应当了解,这样的供应信道允许不具有API或任何其它集成工具的ISV自动化供应云应用程序。
如说明性云服务市场兼代理系统100中所示,市场计算设备102、开发者门户计算设备116、ISV计算设备122、代理计算设备130、通用连接器136计算设备、CRM API服务器138中的每一个被实现为计算设备134。因此,应当了解,各个计算设备134中的每一个可以被实现为能够执行本文描述的功能的任何类型的计算和/或存储设备。此外,还应当了解,各个计算设备134中的每一个可以包括多于一个的计算设备134。例如,一个或多个计算设备134可以被实现为一个或多个服务器(例如,独立型、机架安装型等)和/或云架构网络或数据中心中的的计算叶片和数据存储设备(例如,存储区域网络(SAN))的组合,而一个或多个其它计算设备134可以被实现为一个或多个台式计算机、移动计算设备(例如,智能电话、可穿戴设备、平板电脑、膝上型电脑、笔记本电脑等),或任何其它类型的“智能”或其它互联网连接的设备。
图1A是用于经由云服务代理系统进行云应用程序分发的云服务市场兼代理系统的另一实施例。唯一的不同之处在于,云服务代理市场在自己的场所为云服务代理设置了连接器实例。根据本实施例,由云服务代理平台接口收集并需要转译给ISV以管理云应用程序订阅的所有有关帐户、资源模型的数据以及其他数据,由云服务代理控制器经由对应的连接器实例转译给通用连接器。在这种情况下,连接器集线器106在云服务代理和由云服务代理请求所部署的每个连接器实例之间生成一对密钥。
在本公开的至少一个实施例中,图1B中示出了使用自动化通用连接器将CSB平台中的ISV应用程序的生命周期流程转译给ISV的系统的说明性实施例的框图。系统140还包括CRM API服务器138、代理计算设备130、浏览器164、CRM数据库166和通用连接器136。
在本公开的至少一个实施例中,CRM API服务器138包括CRM通知引擎152、订单管理器153、审计模块156和安全模块158。在本公开的至少一个实施例中,代理计算设备130包括平台130A,该平台130A包括多个连接器实例112中的至少一个和云服务代理控制器106。平台130A的云服务代理控制器106被配置成向通用连接器发送云服务订阅创建(供应)、删除和改变的请求和所有所需数据。
在本公开的至少一个实施例中,通用连接器136被配置成处理每个模型配置并将传入的订阅请求转换为CRM订单。通用连接器136还包括连接器应用控制器172、资源模型编译器174、轮询和通知引擎176和API转译引擎178。在本公开的至少一个实施例中,通用连接器136被配置成从云服务代理控制器106接收与涉及了正被创建、修改或删除的订阅的云服务的至少一个连接器实例114相关联的对应连接器封装的资源模型。在本公开的至少一个实施例中,资源模型编译器174被配置成解析该资源模型并识别包括在正被处理的订阅中的资源的计数器(例如,磁盘空间、虚拟机、邮箱等)和限制(2个邮箱、1GB磁盘空间等),并检索所标识的计数器和限制发给连接器应用控制器172。
在本公开的至少一个实施例中,连接器应用控制器172被配置成接收关于所处理的订阅(例如,相关联的云应用程序的名称、资源等)的所识别的计数器和资源限制的数据,并将该数据发送到API转译引擎178。
在本公开的至少一个实施例中,API转译引擎178被配置成处理所接收的数据并且将其转换为CRM系统可理解的格式并将其反映为订单。应当了解,API转译引擎178以这样的方式处理数据:使得使用CRM系统的运营商由此可容易地识别需要采取哪种(响应于订单的)行动,以及需要哪种云应用程序以及该云应用程序所提供资源和服务。
轮询和通知引擎176向CRM API服务器138通知新订单,并且转而接收关于该订单的状态的数据。
CRM API服务器138在其数据库166中存储订单和关于所处理订阅的客户信息。在本公开的至少一个实施例中,CRM API服务器138包括审计模块156,该审计模块156被配置成存储由运营商做出的订单的所有修改(与从通用连接器接收到的账户数据相比发生改变的账户数据、订阅的改变(计数器、限制的错误等)等)。安全模块158对任何的通用连接器(例如,通用连接器设备136)进行认证。CRM通知引擎152向运营商显示关于订单的通知。
在本公开的至少一个实施例中,系统140包括CRM数据库166。CRM数据库166被配置成处理从通用连接器136接收的订单和客户信息,其中参数包括关于云服务代理的地理位置的信息。作为示例,如果云服务代理位于欧洲,则由该云服务代理发起的订单的信息被存储在位于欧洲的数据库中,这种要求可以由规则和/或管理要求来驱策。应当了解,CRM数据库166可以是被配置成如本文所公开的那样运行的单个数据库、分布式数据库或替代数据库装置。
在本公开的至少一个实施例中,浏览器164可以部署在运营商侧,其中浏览器164用于可操作地与CRM API服务器138(例如经由网络128)通信,使得运营商可响应于订单在ISV本地订阅创建系统上执行管理功能,诸如创建订阅、更新/删除订阅等。
现在参考图2,示出了表征市场计算设备102、开发者门户计算设备116、ISV计算设备122和代理计算设备130中的一个或多个的计算设备134的说明性实施例。说明性计算设备134包括中央处理单元(CPU)200、输入/输出(I/O)控制器202、存储器204、网络通信电路206和数据存储设备210,并且在一些实施例中,还包括一个或多个I/O外围设备208。在一些实施例中,一个或多个说明性组件可以组合在单个集成电路(IC)上的单个片上系统(SoC)上。应当了解,替代实施例可以包括示例性计算设备134的组件的附加、更少和/或替代组件,诸如图形处理单元(GPU)、电源等,这些组件未被示出以保持描述的清晰性。还应当了解,各个计算设备134的存储/计算组件的类型可以基于各个计算设备134的类型和预期使用来预测。
CPU 200或处理器可以实现为能够处理数据的任何类型的硬件或电路组合。因此,CPU 200可以包括单核处理器体系结构中的一个处理核(未示出),或者多核处理器体系结构中的多个处理核。不考虑处理核的数量,CPU 200能够读取和执行程序指令。在一些实施例中,CPU 200可以包括高速缓冲存储器(未示出),该高速缓冲存储器可以直接与CPU 200集成在一起或者放置在具有与CPU 200的单独互连的单独芯片上。应当了解,在一些实施例中,管线逻辑可以用于执行软件和/或硬件操作(例如,网络业务处理操作),而不是执行向/从CPU 200发出的命令。
I/O控制器202或I/O接口可以实现为能够在输入/输出设备和计算设备134之间进行接口的任何类型的计算机硬件或电路组合。说明性地,I/O控制器202被配置成接收来自CPU 200的输入/输出请求,并向相应的输入/输出设备发送控制信号,从而管理去往/来自计算设备134的数据流。
存储器204可以实现为能够保存用于处理的数据和指令的任何类型的计算机硬件或电路组合。这种存储器204可以被称为主存储器或主要存储器。应当了解,在一些实施例中,计算设备134的一个或多个组件可以对存储器直接访问,使得某些数据可以独立于CPU200地通过直接存储器访问(DMA)来存储。
网络通信电路206可以实现为能够经由无线和/或有线通信模式来管理网络接口通信(例如,消息、数据报,数据包等)的任何类型的计算机硬件或电路组合。因此,在一些实施例中,网络通信电路206可以包括网络接口控制器(NIC),该网络接口控制器能够被配置成将计算设备134连接到计算机网络(例如,网络128)以及云服务市场兼代理系统100的其他计算设备。
一个或多个I/O外围设备208可以被实现为被配置成连接到计算设备134并与计算设备134通信的任何辅助设备。例如,I/O外围设备208可以包括但不限于鼠标、键盘、监视器、触摸屏、打印机、扫描仪、麦克风、扬声器等。因此,应当了解,某些I/O设备能够具有一个功能(即,输入或输出)或两个功能(即,输入和输出)。
在一些实施例中,I/O外围设备208可以经由计算设备134的电缆(例如,带状电缆、电线、通用串行总线(USB)电缆、高清晰度多媒体接口(HDMI)电缆等)连接到计算设备134。在这些实施例中,电缆连接到计算设备134的相应端口(未示出),在它们之间进行的通信可以由I/O控制器202管理。在备选实施例中,I/O外围设备208可以经由可由网络通信电路206管理的无线通信模式(例如,
Figure BDA0002473724150000101
等)连接到计算设备134。
数据存储设备210可以实现为能够非易失性存储数据的任何类型的计算机硬件(例如,半导体存储介质、磁存储介质、光存储介质等)。这种数据存储设备210通常被称为辅助存储器或次级存储器,并且通常用于存储与上述存储器204相关的大量数据。
再参考图1,说明性云服务市场系统100包括网络128,网络128可用于其他计算设备134(即,开发者门户计算设备116、ISV计算设备122和代理计算设备130)与市场计算设备102通信。网络128可以被实现为利用任何有线和/或无线通信技术和网络通信传输协议的任何类型的有线和/或无线网络,包括局域网(LAN)、广域网(WAN),城域网(MAN)、全球网络(因特网)等。因此,网络128可以包括一个或多个通信地耦接的网络计算设备(未示出),以便经由一系列有线和/或无线互连来促进网络通信业务的流和/或处理。这种网络计算设备可以包括但不限于一个或多个接入点、路由器、交换机、服务器、计算设备、存储设备等。
例如,一个或多个这样的网络计算设备可以被配置成将市场计算设备102、开发者门户计算设备116、ISV计算设备122和/或代理计算设备130中的一个或多个耦接到使用有线(例如,以太网、令牌环等)通信技术和相关协议的LAN配置的网络128和/或使用无线(例如,
Figure BDA0002473724150000102
无线宽带、
Figure BDA0002473724150000103
等)通信技术和相关协议的WLAN配置的网络128。在该示例的进一步发展中,LAN配置可以经由网络128的附加网络计算设备(例如,经由同轴移动电话、光纤等)耦接到一个或多个更大的区域网络(例如,WAN、城域网(MAN)、因特网等)。应当了解,网络计算设备和/或网络配置中的一个或多个可以被虚拟化(例如,虚拟交换机、虚拟LAN等)。
如前所述,开发者门户计算设备116包括开发者UI门户,ISV计算设备122包括云ISV接口124,并且说明性代理计算设备130包括云服务代理接口132。开发者UI门户118、云ISV接口124和云服务代理接口132中的每一个可以被实现为能够执行本文所描述的功能的软件、硬件、固件和电路的任何组合。在一些实施例中,开发者UI门户118、云ISV接口124和云服务代理接口132中的一个或多个可以被配置成用于将信息(例如,经由图形UI、命令行接口等)呈现给它们各自的计算设备134的显示器。在这样的实施例中,开发者UI门户118、云ISV接口124,和/或云服务代理接口132可以被配置成中继从用户接收的输入以登录、配置相应的接口,或操纵与其相关联的信息(例如,设置)。
现在参考图3,其中示出了开发者门户计算设备116的说明性环境300。说明性环境300包括连接器构建器304、连接器播放器314、测试系统316和专家系统318,以及图1的开发者UI门户118。在一些实施例中,开发者UI门户118、连接器构建器304、连接器播放器314、测试系统316和专家系统318中的一个或多个可以包括其上存储有指令的一个或多个计算机可读介质(例如,存储器204、数据存储设备210和/或任何其他介质存储设备)和与该一个或多个计算机可读介质耦接的一个或多个处理器(例如,CPU 200),并且该一个或多个处理器被配置成执行指令以执行本文中所描述的功能。此外,说明性环境300包括模型数据库302和库管理器306,下面将进一步详细描述模型数据库302和库管理器306中的每一个。
如前所述,开发者UI门户118可以实现为能够执行本文所描述的功能的任何类型的固件、硬件、软件、电路或其组合。另外,连接器构建器304、连接器播放器314、测试系统316和专家系统318中的每一个也可以实现为能够执行本文所述的相应功能的任何类型的固件、硬件、软件、电路或其组合。
如前所述,开发者UI门户118被配置成向开发者提供接口,用于生成针对云服务的封装后的API连接器。为此,开发者UI门户118被配置成与开发者通信(例如,经由超文本传输协议(HTTP)请求/响应)并且与环境300的各个组件和存储介质进行接口连接。
例如,开发者UI门户118被配置成与开发者通信以接收可用于封装由开发者开发的API连接器的信息(即,连接器描述信息)。如前所述,API连接器可用于生成连接器实例,连接器实例实现了云服务代理和云ISV之间的接口。这样,连接器描述信息可以包括可用于创建API连接器实例的、与API连接器有关的任何信息。例如,连接器描述信息可以包括但不限于UI信息(例如,服务名称、一个或多个图标等)、资源模型信息(例如,所提供的服务,诸如磁盘空间、邮箱、域等)、用于建立供应信道的凭证、服务计划信息(例如,针对代理/供应商的计费规则)、资源信息。连接器描述信息可以存储在模型数据库302中。
应当了解,开发者可以经由开发者UI门户118修改连接器描述信息的任何部分(例如,可以存储在模型数据库302中)。为此,开发者UI门户118被配置成提供可由开发者使用的一个或多个可视化接口以:生成针对连接器的模型和/或发布连接器(例如,经由连接器构建器304),针对所开发的连接器(例如,经由连接器播放器314和测试系统316)在测试系统上运行一个或多个测试,并且对照一个或多个兼容性规则(例如,经由专家系统318)验证连接器以确保对连接器进行升级/更改的向后兼容性。
模型数据库302被配置成存储每个连接器的模型。模型可以包括可用于定义或以其它方式封装连接器的任何信息,诸如UI标签(例如,名称、描述等)、可视素材(例如,图标、屏幕截图、样式等)、UI扩展(例如,如何将UI元素插入到现有应用程序中的描述)、连接器所支持的业务对象的定义(例如,用户、邮箱、垃圾邮件过滤规则等)。应当了解,在一些实施例中,UI扩展的至少一部分可以被定义为HTML页面,并且包括相关的JavaScript、CSS、图像等,以及包括用于将UI元素插入到每个适用页面的UI结构中的描述。另外,对于连接器所支持的每个对象,模型信息可以包括一个或多个属性(例如,类型、描述、标签、默认值等)、一个或多个关系(即,对象如何与服务域模型的其它对象相连接,以及关系的基数),和/或使用/限制映射(例如,如何将使用/限制映射到可出售的资源和计划)。应当了解,在一些实施例中,模型数据库可以保留同一连接器的多种版本和/或多个连接器的多种版本。因此,应进一步了解,在此类维持了多个版本的实施例中,可以(例如,经由特定模型信息的比较)自动确定版本之间的差异(即,更改)。
连接器构建器304被配置成生成针对与连接器相关联的所有业务对象的schema(方案)文件。为此,连接器构建器304被配置成分析连接器的元数据(例如,连接器描述信息)以识别业务对象并生成schema文件。另外,在连接器不是连接器的第一版本(即,正在被封装的连接器是升级产品或者包括针对相同服务对先前封装的连接器的更改)的实施例中,连接器构建器304被配置成生成一组升级指令。升级指令可以包括可以被跟踪并可应用于连接器的升级版本的任何模型更改,诸如对连接器的元数据的更改、在类型范围或默认值分配中添加新属性、删除属性、改变属性名称/类型、添加服务(例如,应用域模型中的新对象)、向其他连接器的对象或应用域模型的对象/在其他连接器的对象之间或在应用域模型的对象之间添加新关系、重命名关系、更改关系基数或选项、更改关系所需的类型、更改属性访问规则,改变关系访问和/或分配规则、根据规则将关系拆分成一个以上的关系等。
连接器构建器304还被配置成将上述生成的schema和升级指令(如果适用)连同连接器的源代码和前台模板一起组装到连接器封装中。此外,连接器构建器304被配置成将组装的连接器封装上载到市场计算设备102的可用服务数据库110,可用服务数据库110包括连接器目录(即,可用服务)。
库管理器306被配置成管理示意性数据库之间的数据流,这些数据库示例性包括兼容性规则数据库308、连接器框架数据库310和前台模板数据库312。为此,库管理器306被配置成对每个数据库执行读取和写入操作,以及对数据执行可能需要的任何其它操作(例如,标准化数据,归一化数据,增强数据等)。
兼容性规则数据库308被配置成存储用于版本化管理的规则(即,兼容性规则)。换句话说,兼容性规则确保版本之间的向后兼容性。例如,兼容性规则不允许对正在销售的资源的类型进行更改,因为向后兼容性将被破坏;然而,兼容性规则允许扩展该类型资源的配置或扩展待销售资源的附加类型。这样,兼容性规则提供允许执行自动升级的能力,因为可以(例如,由连接器构建器304)对照兼容性规则来测试所提议的升级。应当了解,可以有多组这样的规则。例如,次要的升级可以保持完全后向兼容性,而主要的升级可以保持有限的后向兼容性。
连接器框架数据库310被配置成存储根据用于连接器开发的模型和最佳实践而准备的代码。这样,存储的代码可以用作开发连接器后台的起始框架。应当了解,可以根据开发者定义的模型来定制代码。
前台模板数据库312被配置成存储用于已知场景(例如,创建新的客户/帐户、购买客户订阅、禁用订阅、终止订阅等)的用户接口。因此,当开发者启用已知的场景时,可以将与该场景相关的UI代码从前台模板数据库312添加到连接器的UI组件。
应当了解,在一些实施例中,存储在如本文所述的各个数据库中的数据可以不是互斥的。换句话说,这里描述的存储在一个数据库中的某些数据可以附加地或替代地存储在这里描述的另一个数据库中,或者完全存储在另一个数据库中。还应当了解,在一些实施例中,数据可以存储在单个数据库、分布式数据库或替换数据库装置中。
连接器播放器314被配置成比对着测试系统(例如,测试系统316)运行连接器的测试场景。这样的场景可以包括部署连接器、创建连接器实例、配置服务模板和计划、测试订阅/用户创建、请求使用计数器资源等。因此,测试系统316被配置成提供可用于测试连接器的各种场景的资源。应当了解,资源可以是物理和/或虚拟资源。
专家系统318被配置成分析潜在的配对服务,并建议一个或多个识别的服务作为要与与连接器相关联的服务配对的候选者。为此,专家系统318被配置成识别与连接器相关联的信息(例如,服务类型、描述等),并将所识别的信息与通常配对的其它服务的相应信息进行比较。在说明性示例中,专家系统318可以建议基于在针对电子邮件服务的连接器上执行的分析结果来配对反垃圾邮件服务。应当了解,任何关系都可以改变相关联的连接器模型。
如前所述,开发者门户计算设备116可以包括一个或多个计算设备134。因此,虽然开发者UI门户118、模型数据库302、库管理器306、连接器构建器304、连接器播放器314、测试系统316和专家系统318被说明性地示出为驻留在单个计算设备134(即,开发者门户计算设备116)上,但是应当了解,在一些实施例中,一个或多个组件可以位于不同的计算设备134上,一同包括开发者门户计算设备116。
现在参考图4A至图4D,提供了用于在云服务代理系统中创建和分发集成连接器的说明性方法400,该方法可以由开发者门户计算设备116执行,或者更具体地可以由开发者门户计算设备116的一个或多个组件(例如,开发者UI门户118、连接器构建器304等)执行。方法400开始于框402,在框402中,开发者门户计算设备116确定是否创建连接器对象。如果是,则方法400前进到框404,在框404中,开发者门户计算设备116(例如,从图3的连接器框架数据库310)选择相关的连接器框架。如前所述,连接器框架可以是可用作开发连接器的后台的起始框架的代码形式。
在框406中,开发者门户计算设备116生成唯一的连接器模型标识符。在框408中,开发者门户计算设备116(例如,经由UI开发者门户118)向连接器开发者请求针对连接器模型的连接器描述信息。在说明性示例中,在框410中,开发者门户计算设备116请求UI信息(例如,服务名称、服务类型、图标等)和一个或多个供应商指令。如前所述,连接器描述信息可以包括与可用于实例化API连接器实例的与API连接器有关的任何信息,诸如所提供的资源模型信息(例如,所提供的服务,诸如磁盘空间、邮箱、域等)、用于建立供应信道的凭证、服务计划信息(例如,针对代理/供应商的计费规则)、资源信息。
在框412中,开发者门户计算设备116确定是否已(例如,经由UI开发者门户118)接收到所请求的信息。如果是,则方法400前进到框414,在框414中,开发者门户计算设备116存储接收到的信息(例如,存储在图3的模型数据库302中)。在框416中,开发者门户计算设备116通知专家系统(例如,图3的专家系统318)执行版本分析(例如,参见图5的方法500)。换句话说,开发者门户计算设备116通知专家系统分析(例如,在图1的连接器集线器106的可用服务数据库110中的)现有的连接器,以寻找作为连接器对象的先前版本的可能的连接器。在框418中,开发者门户计算设备116确定版本分析是否已经完成,例如可以在接收到来自负责执行版本分析的专家系统的指示后确定。
如果开发者门户计算设备116确定版本分析已经完成,则方法400前进到框420,如图4B所示。在框420中,开发者门户计算设备116基于在框404中由连接器开发者选择的相关联的连接器框架来请求从连接器开发者处(例如,经由UI开发者门户118)接收连接器对象的资源类型。在框422中,开发者门户计算设备116确定是否已经接收到所请求的资源类型。如果是,则方法400前进到框424,在框424中,开发者门户计算设备116将接收到的资源类型存储在模型数据库中(例如,存储在图3的模型数据库302中)。
在框426中,开发者门户计算设备116通知专家系统(例如,专家系统318)执行关系分析(例如,参见图6的方法600)。换句话说,开发者门户计算设备116通知专家系统分析那个正在针对与连接器对象的服务相关的可能服务而被创建的连接器对象。在框428中,开发者门户计算设备116确定关系分析是否已经完成。如果是,则方法400分支到框430,在框430中,开发者门户计算设备116基于在框418中从专家系统318接收的信息来确定连接器对象是否具有先前已经发布过的连接器对象的一个或多个相应版本。如果是,则方法400分支到框450,如图4D中所示并在下文中进行描述;否则,方法400分支到框432,如图4C中所示。
在框432中,开发者门户计算设备116将连接器构建为服务模型的函数。为此,在框434中,开发者门户计算设备116检索在框406中生成的相关联的连接器模型标识符。另外,在框436中,开发者门户计算设备116检索相关联的模型资源。此外,在框438中,开发者门户计算设备116检索前台模板(例如,用于已知场景的用户接口)。此外,在框440中,开发者门户计算设备116基于检索到的关联模型资源和前台模板来设计清单。
在框442中,开发者门户计算设备116确定是否已成功地构建连接器。如果否,则方法400返回到框408以请求附加和/或替代的连接器描述信息;否则,方法400前进到框444。在框444中,开发者门户计算设备116基于模型生成连接器封装。在框446中,开发者门户计算设备116存储连接器封装(例如,存储在图1的连接器集线器106的可用服务数据库110中)。在框448中,开发者门户计算设备116向连接器开发者发送表示连接器封装已被存储的指示。
如前所述,在框430(图4B中所示)中,如果开发者门户计算设备116确定连接器对象具有任何先前公布过的版本,则方法400分支到框450,如图4D所示。在框450中,开发者门户计算设备116将连接器构建为服务模型的函数。为此,在框452中,开发者门户计算设备116检索在框406中生成的相关联的连接器模型标识符。另外,在框454中,开发者门户计算设备116检索相关联的模型资源。此外,在框456中,开发者门户计算设备116对照任何适用的兼容性规则检查资源,以确保对连接器进行的升级/更改的向后兼容性。如前所述,兼容性规则提供允许执行自动升级的能力,因为所提议的升级可以对照兼容性规则(例如,可以是存储在兼容性规则数据库308中的兼容性规则)来进行测试。此外,在框458中,开发者门户计算设备116检索前台模板(例如,用于已知场景的用户接口)。此外,在框460中,开发者门户计算设备116基于检索到的关联模型资源和前台模板来设计清单。
在框462中,开发者门户计算设备116确定是否已成功地构建连接器(例如,资源是否违反了任何兼容性规则)。如果否,则方法400返回到框408以请求附加和/或备替代的连接器描述信息;否则,方法400前进到框464。在框464中,开发者门户计算设备116确定先前连接器版本和当前连接器版本的模型之间的任何差异。在框466中,开发者门户计算设备116基于在框464中确定的差异生成一个或多个升级指令。如前所述,升级指令可以包括可被跟踪并可应用于连接器的升级版本的任何模型更改。
在框468中,开发者门户计算设备116基于模型和升级指令生成连接器封装。在框470中,开发者门户计算设备116存储连接器封装(例如,存储在图1的连接器集线器106的可用服务数据库110中)。在框472中,开发者门户计算设备116向连接器开发者发送表示连接器封装已被存储的指示。
现在参考图5,提供了用于对连接器对象执行版本分析的说明性方法500,该方法可以由开发者门户计算设备116执行,或者更具体地可以由开发者门户计算设备116的专家系统318执行。方法500开始于框502,在框502中,专家系统318确定是否(例如,经由图1和图3的开发者UI门户118从开发者处)接收到版本分析通知。
在框504中,专家系统318将正在创建的当前连接器对象的连接器描述信息与当前存储在图1的连接器集线器106的可用服务数据库110中的连接器封装的相应信息(例如,可以根据相关联的模型(例如,存储在图3的模型数据库302中的资源模型信息)来确定)进行比较。如前所述,连接器描述信息可以包括与可用于实例化API连接器实例的API连接器有关的任何信息。在说明性示例中,在框506中,专家系统318比较每个连接器对象的服务类型、服务名称和服务图标。
在框508中,专家系统318根据在框504中执行的比较的结果来确定连接器对象之间的一致度。在框510中,专家系统318确定在框508中确定的一致度是否大于或等于一致度阈值。一致度可以是可用于表示每个连接器对象的信息(例如,服务类型、服务名称、服务图标等)之间的一致度的任何数值(例如,量、数量、计数值、百分比等)。因此,一致度阈值可以被定义为如下这样的任意对应量,即:该任意对应量可用于与一致度进行比较以确定一致度是否高到使得能够合理地确定连接器对象是相关联的(即,一个是另一个的先前版本)。
如果专家系统318确定一致度大于或等于一致度阈值,则方法500在前进到框514之前分支到框512。在框512中,专家系统318将当前连接器对象与先前发布的连接器相关联,作为该连接器对象的新版本。如果专家系统318确定一致度小于一致度阈值,则方法500分支到框514,在框514中,专家系统318向连接器构建器(例如,图3的连接器构建器304)发送表示专家系统已经完成版本分析的指示。在框516中,视情况而定(即,如果关系在框512中出现),专家系统318发送连接器对象的先前版本的标识符。
现在参考图6,提供了用于对连接器对象执行配对分析的说明性方法600,该方法可以由开发者门户计算设备116执行,或者更具体地可以由开发者门户计算设备116的专家系统318执行。方法600开始于框602,在框602中,专家系统318确定是否(例如,经由图1和图3的开发者UI门户118从开发者处)接收到关系分析通知。在框604中,专家系统318识别可能与当前连接器对象相关的任何其它服务。为此,在框606中,专家系统318可以基于存储在连接器集线器106的可用服务数据库110中的其他服务的连接器封装的信息(例如它们各自的连接器资源类型)来识别其他服务。
在框608中,专家系统318提示连接器开发者接受已识别的与将要链接到连接器的任何现有和/或已识别的服务的关系。在框610中,专家系统318确定关系是否已被接受。应当了解,在一些实施例中,可以接受一些已识别的关系、全部已识别的关系,或不接受已识别的关系。还应当了解,在一些实施例中,可以不提示开发者接受关系。换句话说,在这些实施例中,可以自动地识别和关联关系,使得方法600直接从框604前进到框612。如果在框610中接受了任何已识别的关系,则方法600在进行到框614之前前进到框612。在框612中,专家系统318向与已接受服务相关联的连接器所有者中的每一个发送指示以确认该关系。否则,如果在框610中没有接受任何已识别的关系,则方法600前进到框614,在框614中,专家系统318向连接器构建器(例如,图3的连接器构建器304)发送表示专家系统已经完成关系分析的指示。
在本公开的至少一个实施例中,图7示出了使用自动化通用连接器将云应用程序集成到云服务代理平台中的方法700的说明性实施例的流程图。在框702中,市场计算机设备102向通用连接器136发送订阅创建请求,并且通用连接器136响应为已经接收到订阅请求。如果已经接收到订阅请求,则方法700进行到框704;否则,它返回到框702。
在本公开的至少一个实施例中,通用连接器136响应为正在创建(或根据请求来处理)订阅,并且前进到框708,在框708中,通用连接器136处理已接收的资源模型。在本公开的至少一个实施例中,在框710中,通用控制器170利用资源模型编译器174解析计数器和限制。方法700进行到框712,在框712中,连接器应用控制器172接收计数器和限制。方法700然后进行到框714,在框714中,API转译引擎178处理计数器和限制。
在本公开的至少一个实施例中,方法700然后进行到框716,在框716中,通用控制器170向CRM数据库166通知已经定义了新订单。在本公开的至少一个实施例中,在框718中,运营商可以查看订单,并且可选地改变可能为无效的数据,并且批准或拒绝订单。当批准后,方法700然后进行到框722,在框722中,处理已批准的数据。
在本公开的至少一个实施例中,需要对来自框718的批准进行处理。作为示例,运营商可以通过如图1A所示的CRM API服务器138和通用连接器设备136发送安装指令。应当了解,这是订阅激活的指令。继续本示例,任何帐户修改都在CRM API服务器138进行,并保留在数据库166中(如图1B所示)中,然后通过通用连接器136发送到云代理计算设备130。
在本公开的至少一个实施例中,方法700进行到框730,在框730中,将已批准的数据存储在订阅数据库160中。然后,方法700进行到框730,在框730中,API转译引擎178将来自CRM API服务器138的调用转译成通用连接器136可操作的格式。应当了解,连接器应用控制器172处理已批准的数据,并将其存储在订阅数据库160中。在本公开的至少一个实施例中,连接器应用控制器172还制定响应以发送给轮询和通知引擎176,并最终发送给云服务器代理计算设备130。
在本公开的至少一个实施例中,在图8中示出了使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的方法800的说明性实施例的流程图。在框802中,CRMAPI服务器138执行检查以验证是否接收到新订单。如果接收到新订单,则方法800进行到框804,在框804中,向运营商通知接收到订单。应当了解,可以通过浏览器164的操作来通知运营商。
方法800进行到框810。在框810中,处理帐户、订阅数据和参数。作为示例,如果帐户不存在,则创建帐户;如果订阅不存在,则创建订阅。创建此类帐户或订阅所伴随的数据被存储在数据库166中。应当了解,通用连接器136将所有这些数据(例如,经由网络128)发送到数据库166。然后,方法800进行到步骤812,在步骤812中,将过滤后的订单发送到前台(例如,浏览器164)。
在框814中,方法800检查订单数据是否已经改变。如果数据已经改变,则方法800进行到步骤816,在步骤816中,将订单数据存储在审计模块156内。然后,方法800进行到框818。或者,如果在框814中检查到数据没有变化,则方法800也前进到框818。在框818中,执行检查以查看是否接收到订单批准。如果接收到运营商批准,则该方法进行到框820;否则,前进到框824。
方法800然后进行到框822,在框822中,向运营商通知订单被创建。
尽管已经在附图和前面的描述中详细说明和描述了本公开,但是本公开应被认为是说明性的而不是限制性的,应当了解,仅示出和描述了某些实施例,并且期望保护落入本公开的精神内的所有改变和修改。

Claims (20)

1.一种使用自动化通用连接器将云应用程序集成到云服务代理CSB平台中的方法,所述方法包括:
在连接器集线器处接收用于来自独立软件供应商设备的软件的连接器封装;
创建用于与所述CSB平台集成的所述连接器封装的连接器实例,所述CSB平台还被配置成提供针对软件的许可证;
在云服务代理计算设备处经由CSB平台接口接收针对所述软件的订阅请求,所述订阅请求包括从由创建、更改和删除组成的组中选择的活动;
由CSB平台控制器向通用连接器设备发送所述订阅请求;
在所述通用连接器设备处处理所述订阅请求;
由所述通用连接器设备向客户关系管理CRM设备通知所述订阅请求;
将所述订阅请求存储在CRM数据库中;
由所述通用连接器设备获得针对所述订阅请求的批准;
在接收到请求批准后,在所述通用连接器设备处处理所述订阅请求;以及
向所述CSB平台发送订阅批准结果,所述CSB平台向订阅者显示订阅批准结果。
2.根据权利要求1所述的方法,其中,所述连接器封装在开发者门户上开发,所述开发者门户可由所述独立软件供应商设备访问。
3.根据权利要求1所述的方法,其中,所述订阅请求还包括在所述连接器封装中定义的对应资源模型。
4.根据权利要求3所述的方法,其中,所述订阅请求由连接器应用控制器接收。
5.根据权利要求4所述的方法,还包括在资源模型编译器处处理所述订阅请求的步骤。
6.根据权利要求1所述的方法,其中,处理还包括利用应用程序编程接口API转译引擎处理请求数据的步骤。
7.根据权利要求1所述的方法,其中,在所述通用连接器设备处的处理还包括解析所述连接器封装的对应资源模型的计数器和限制的步骤。
8.根据权利要求3所述的方法,其中,在所述通用连接器设备处的处理还包括解析所述连接器封装的对应资源模型的计数器和限制的步骤。
9.根据权利要求6所述的方法,其中,处理还包括利用应用程序编程接口API转译引擎处理计数器和限制的步骤。
10.根据权利要求6所述的方法,其中,转译包括将CSB平台请求转换成所述CRM设备可操作的格式,并且还在CRM用户接口UI中显示所述CSB平台请求的步骤。
11.根据权利要求1所述的方法,还包括以下步骤:所述通用连接器向所述CRM设备发送未决请求,并且轮询来自CRM API设备的运营商响应。
12.根据权利要求1所述的方法,其中,处理批准数据包括以下步骤:接收从所述CRMAPI服务器接收的用于订阅激活/更改的安装指令,并将所述安装指令转换为CSB平台UI能显示的格式。
13.根据权利要求1所述的方法,其中,处理CRM响应还包括将从CRM API服务器接收的帐户修改转换成CSB平台UI能显示的格式的步骤。
14.根据权利要求1所述的方法,其中,帐户修改被存储在可操作地连接到所述通用连接器设备的订阅数据库中。
15.根据权利要求1所述的方法,其中,处理CRM响应还包括解析和匹配与ISV订阅管理系统相关联的订阅唯一标识符的步骤,所述订阅唯一标识符与CSB平台订阅管理系统相关联。
16.根据权利要求1所述的方法,还包括以下步骤:所述通用连接器提供响应,所述响应选自由创建、修改和删除组成的组。
17.根据权利要求1所述的方法,其中,还包括将与所述订阅请求和响应相关联的数据存储在满足正在运行所述CSB平台的国家的要求的区域的数据库中。
18.根据权利要求1所述的方法,其中,还包括可操作地连接到所述CRM设备的审计模块,所述审计模块将运营商行为记录在所述CRM数据库中。
19.根据权利要求18所述的方法,其中,审计数据用于分析集成组件的技术问题。
20.根据权利要求1所述的方法,其中,所述CRM设备还包括用于认证通用连接器的安全模块。
CN201880070962.0A 2017-10-30 2018-10-30 使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的系统和方法 Active CN111357241B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762578992P 2017-10-30 2017-10-30
US62/578,992 2017-10-30
PCT/US2018/058260 WO2019089629A1 (en) 2017-10-30 2018-10-30 Integrating cloud applications into a cloud service broker platform using an automated, universal connector package

Publications (2)

Publication Number Publication Date
CN111357241A true CN111357241A (zh) 2020-06-30
CN111357241B CN111357241B (zh) 2023-07-21

Family

ID=66245730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880070962.0A Active CN111357241B (zh) 2017-10-30 2018-10-30 使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的系统和方法

Country Status (18)

Country Link
US (1) US11019168B2 (zh)
EP (1) EP3704834B1 (zh)
JP (1) JP7097958B2 (zh)
CN (1) CN111357241B (zh)
AU (1) AU2018357874B2 (zh)
CA (1) CA3079948C (zh)
DK (1) DK3704834T3 (zh)
ES (1) ES2960508T3 (zh)
FI (1) FI3704834T3 (zh)
HR (1) HRP20231287T1 (zh)
HU (1) HUE065021T2 (zh)
LT (1) LT3704834T (zh)
MX (1) MX2020004210A (zh)
PL (1) PL3704834T3 (zh)
PT (1) PT3704834T (zh)
RS (1) RS64719B1 (zh)
SI (1) SI3704834T1 (zh)
WO (1) WO2019089629A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11064013B2 (en) * 2018-05-22 2021-07-13 Netskope, Inc. Data loss prevention using category-directed parsers
US11275625B2 (en) * 2019-01-18 2022-03-15 Kleeen Software, Inc. System and method for automated application programming interface generation
US11023359B2 (en) * 2019-01-18 2021-06-01 Kleeen Software, Inc. Automated API generation
US10999393B2 (en) * 2019-03-06 2021-05-04 Dell Products L.P. Cloud broker for connecting with enterprise applications
US11102227B2 (en) * 2019-04-12 2021-08-24 EMC IP Holding Company LLC Ecosystem-aware smart arrays for unified analytics and troubleshooting
WO2021051013A1 (en) * 2019-09-12 2021-03-18 Kleeen Software, Inc. Automated api generation
US11928222B2 (en) * 2020-10-02 2024-03-12 Blockframe, Inc. Distributed ledger network implementing a synchronous trust consensus model
US11503038B1 (en) 2021-10-27 2022-11-15 Netskope, Inc. Policy enforcement and visibility for IaaS and SaaS open APIs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100150047A1 (en) * 2008-12-12 2010-06-17 Electronics And Telecommunications Research Institute Method and system for providing multicast service in next-generation network
US20150188927A1 (en) * 2013-03-15 2015-07-02 Gravitant, Inc Cross provider security management functionality within a cloud service brokerage platform

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7633955B1 (en) * 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
CN102255933B (zh) * 2010-05-20 2016-03-30 中兴通讯股份有限公司 云服务中介、云计算方法及云系统
US8699499B2 (en) * 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US10129211B2 (en) * 2011-09-15 2018-11-13 Stephan HEATH Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms
WO2013158908A1 (en) * 2012-04-18 2013-10-24 Mastercard International Incorporated Systems and methods for managing transactions for a merchant
CN102769628B (zh) * 2012-07-27 2014-03-26 腾讯科技(深圳)有限公司 页面登录方法及服务器
US10148530B2 (en) * 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US20150156065A1 (en) * 2013-03-15 2015-06-04 Gravitant, Inc. Policy management functionality within a cloud service brokerage platform
US20150067171A1 (en) * 2013-08-30 2015-03-05 Verizon Patent And Licensing Inc. Cloud service brokering systems and methods
US9749224B2 (en) * 2014-03-31 2017-08-29 Verizon Patent And Licensing Inc. Method and apparatus for cloud provisioning of communication services
US10031679B2 (en) * 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
US20160260157A1 (en) * 2015-03-05 2016-09-08 International Business Machines Corporation Rapid service orchestration and management
US10701137B2 (en) * 2016-09-30 2020-06-30 Micro Focus Llc Exchange service management contents with a cloud entity via a self-contained cloud content package
US10564959B2 (en) * 2017-03-14 2020-02-18 Google Llc Shared software libraries for computing devices
KR102263366B1 (ko) * 2017-06-15 2021-06-11 한국전자통신연구원 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법
US10942719B2 (en) * 2018-05-15 2021-03-09 Ingram Micro Inc. System and method for connector development and integration channel development

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100150047A1 (en) * 2008-12-12 2010-06-17 Electronics And Telecommunications Research Institute Method and system for providing multicast service in next-generation network
US20150188927A1 (en) * 2013-03-15 2015-07-02 Gravitant, Inc Cross provider security management functionality within a cloud service brokerage platform

Also Published As

Publication number Publication date
HUE065021T2 (hu) 2024-04-28
ES2960508T3 (es) 2024-03-05
US11019168B2 (en) 2021-05-25
WO2019089629A1 (en) 2019-05-09
JP7097958B2 (ja) 2022-07-08
DK3704834T3 (da) 2023-09-25
FI3704834T3 (fi) 2023-10-06
PL3704834T3 (pl) 2023-12-27
EP3704834A4 (en) 2021-08-04
EP3704834B1 (en) 2023-07-19
AU2018357874A1 (en) 2020-04-23
EP3704834A1 (en) 2020-09-09
HRP20231287T1 (hr) 2024-02-02
MX2020004210A (es) 2020-08-13
JP2021503118A (ja) 2021-02-04
US20190132410A1 (en) 2019-05-02
LT3704834T (lt) 2023-09-25
CA3079948A1 (en) 2019-05-09
CN111357241B (zh) 2023-07-21
RS64719B1 (sr) 2023-11-30
AU2018357874B2 (en) 2022-12-01
PT3704834T (pt) 2023-09-26
SI3704834T1 (sl) 2023-12-29
CA3079948C (en) 2022-12-20

Similar Documents

Publication Publication Date Title
CN111357241B (zh) 使用自动化通用连接器封装将云应用程序集成到云服务代理平台中的系统和方法
CN111279320B (zh) 实现微服务配置和管理的api储存库
US9959198B1 (en) Simulated testing of API
JP7105298B2 (ja) クラウドサービスブローカーシステムにおいてオファーの機能を自動的に検証する技術
US10656939B2 (en) Modeling lifetime of hybrid software application using application manifest
US11748079B2 (en) Technologies for creating and distributing integration connectors in a cloud service brokerage system
CN114816361A (zh) 拼搭工程生成方法、装置、设备、介质和程序产品
Kurniawan et al. Practical Azure Functions

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: 20220601

Address after: California, USA

Applicant after: Yunlan Co.,Ltd.

Address before: California, USA

Applicant before: Ingram Micro Inc.

GR01 Patent grant
GR01 Patent grant