CN107836007B - 发现并发布api信息 - Google Patents

发现并发布api信息 Download PDF

Info

Publication number
CN107836007B
CN107836007B CN201580080850.XA CN201580080850A CN107836007B CN 107836007 B CN107836007 B CN 107836007B CN 201580080850 A CN201580080850 A CN 201580080850A CN 107836007 B CN107836007 B CN 107836007B
Authority
CN
China
Prior art keywords
api
information
discovered
product
marketplace
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
Application number
CN201580080850.XA
Other languages
English (en)
Other versions
CN107836007A (zh
Inventor
P·多希
C·卡玛拉坎特塔
S·马尼
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.)
Difficult Intellectual Property Co ltd
Original Assignee
Difficult Intellectual Property Co ltd
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 Difficult Intellectual Property Co ltd filed Critical Difficult Intellectual Property Co ltd
Publication of CN107836007A publication Critical patent/CN107836007A/zh
Application granted granted Critical
Publication of CN107836007B publication Critical patent/CN107836007B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

一种系统包括:市场门户,用于允许用户订购业务服务;以及云控制器,将订购的业务服务的实例部署到云环境。该系统包括:应用程序接口(API)扫描器,发现API信息并将所发现的API信息发布到另一服务,该API信息包括由所部署的订购的业务服务的实例所公开的至少一个API。

Description

发现并发布API信息
技术领域
本发明涉及云计算技术领域。
背景技术
云计算是指基于互联网(“云”)的计算机技术(“计算”)的开发和使用。这是一种计算风格,其中IT相关的功能是“作为一种服务”而提供的,允许用户“在云中”访问获得技术支持的服务,而不需要对支持它们的技术基础设施的了解、专业知识或控制权。将软件集成为一种服务并且依靠互联网来满足用户的计算需求是一种普遍的概念。目前大部分云计算基础设施都包含通过构建在计算和存储虚拟化技术上的下一代数据中心而提供的可靠服务。这些服务可以在全球任何地方访问,而云作为消费者所有计算需求的单一访问点而出现。
发明内容
本发明提供了一种发现并发布应用程序接口API信息的系统。系统包括:市场门户,用于允许用户订购业务服务,其中市场门户从用户接收第一应用程序接口API并且将第一API转换为至少一个特定于产品的API,并且至少一个特定于产品的API被返回至市场门户;云控制器,用于将订购的业务服务的实例部署到云环境;以及API扫描器,用于发现API信息并将所发现的API信息发布到API网关,API信息包括由所部署的订购的业务服务的实例所公开的至少一个API。
本发明还提供了至少一个处理器执行的用于市场的方法以及存储用于市场的计算机可执行指令的非暂时性计算机可读存储介质。
附图说明
图1是示出根据一个示例的适合于实现自动化市场系统和自动化API发现和管理系统的各方面的计算环境的示意图。
图2是示出根据一个示例的包括联合市场门户的自动化市场系统的示意图。
图3是示出根据一个示例的自动化API发现和管理系统的示意图。
图4是示出根据一个示例的联合市场方法的流程图。
图5是示出根据一个示例的API发现和管理方法的流程图。
具体实施方式
在下面的详细描述中,参考了构成本公开的一部分并且在其中通过图示的方式示出可以实践本公开的具体示例的附图。应该理解,在不脱离本公开的范围的情况下,可以利用其他示例并且可以进行结构或逻辑上的修改。因此,以下的详细描述不应被视为具有限制性意义,并且本公开的范围由所附权利要求来限定。应该理解,除非另有特别说明,否则本文所描述的各种示例的特征可以以部分或全部的方式来彼此组合。
本文所使用的术语“云”意味着将被广义地理解为将所请求的虚拟资源作为服务来交付的任何网络。在一个示例中,云网络可以提供计算环境,其中用户可以通过其连接的设备而从任何地方访问作为服务的应用或计算资源。这些服务可以由被称为云服务提供商的实体来提供。可以通过云网络提供的服务的示例包括基础设施即服务(laaS)、平台即服务(PaaS)和软件即服务(SaaS)。
云可以被实现为公共云、私有云或混合云。本文所使用的术语“公共云”意味着将被广义地理解为由服务提供商通过网络提供的多种服务,这些服务使得应用、存储和其他资源可供公众使用。在一个示例中,这些服务由服务提供商以按每次使用付费的模式来提供。在该示例中,公共云服务提供商拥有并运营基础设施。在另一示例中,公共云服务提供商通过诸如例如因特网等公共网络来提供访问,并且不提供直接连接。
本文所使用的术语“私有云”意味着将被广义地理解为访问在其中将被完全限制于个人或商业实体的任何云计算环境。在一个示例中,私有云可以是专为单个个人或企业实体运营的任何云基础设施。在一个示例中,私有云由私有云基础设施的所有者在内部管理。在另一示例中,私有云由第三方管理并在内部或外部托管。
本文所使用的术语“混合云”意味着将被广义地理解为包括多个公共云资源和多个私有云资源在内的任何云计算环境。在一个示例中,混合云包括多个云网络,例如保持单独的网络但是被关联在一起以提供多个服务的私有云和公共云。
本文所使用的术语“联合”意味着将被广义地理解为当实际上各实例被分布在多个不同的系统或环境中时使用一个系统或技术来作为单个逻辑实例的能力。作为示例,联合身份是一种解决方案,在其中用户的身份(在该上下文中也称为令牌)在多个IT系统、环境或组织中是可信的。
本文所使用的术语“市场”意味着将被广义地理解为包括目录,在该目录中多个合作者提供和发布服务。它被称为“市场”是因为目录可以包括跨越多个组织或公司的产品。
本文所使用的术语“门户”意味着将被广义地理解为用户界面入口点,该用户界面入口点使得用户能够从市场目录中订购物品。
本文所使用的术语“联合市场门户”意味着将被广义地理解为提供抽象的门户,使得当实际上不同实例(其可以基于完全不同的产品和技术)存在并且可能被分布在多个环境中时,用户将该门户视为一个逻辑实例。
图1是示出根据一个示例的适于实现自动化市场系统和自动化API发现和管理系统的各方面的计算环境10的示意图。在所示出的示例中,计算系统或计算设备10包括处理单元12和系统存储器14。取决于计算设备的确切配置和类型,存储器14可以是易失性的(诸如RAM等)、非易失性的(诸如ROM、闪存等)、或这两者的一些组合。
计算设备10还可以具有附加的或不同的特征/功能以及附加的或不同的硬件和软件。例如,计算设备10还可以包括附加的储存器(可移除的和/或不可移除的),该储存器包括但不限于磁盘或光盘或磁带。图1中通过可移除储存器16和不可移除储存器18来说明这种附加的储存器。计算机存储介质包括以用于诸如计算机可读指令、数据结构、程序模块或其他数据等信息的非暂时性存储的任何适当的方法或技术来实现的易失性和非易失性、可移除和不可移除的介质,并且不包括暂时性存储介质。存储器14、可移除储存器16和不可移除储存器18都是计算机存储介质的示例(例如,存储计算机可执行指令的非暂时性计算机可读存储介质,当该计算机可执行指令由至少一个处理器执行时,使得至少一个处理器执行一方法)。计算机存储介质包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学储存器、磁盒、磁带、磁盘储存器、或其他磁性储存设备。任何这种计算机存储介质可以是计算设备10的一部分。
计算设备10的各种元件经由通信链路15被通信地耦接在一起。计算设备10还包括允许计算设备10与其他计算机/应用26进行通信的诸如网络连接等通信连接24。计算设备10还可以包括输入设备22,诸如键盘、定点设备(例如鼠标)、笔、语音输入设备、触摸输入设备等。计算设备10还可以包括输出设备20,诸如显示器、扬声器、打印机等。
图1和以上的讨论旨在提供对示例可在其中被实现的适当的计算环境的简要概述。然而,应该理解的是,手持式、便携式和其他所有类型的计算设备都可以考虑使用。因此,图1示出了适当的计算系统环境10的示例,其中可以实现本文所描述的示例,尽管如上面清楚所述地,计算系统环境10是适当的计算环境的一个示例,并不旨在对示例的使用范围或功能提出任何限制。计算环境10也不应当被解释为具有与示例操作环境10中所示的组件中的任何一个或任何组合有关的任何依赖性或任何要求。
如图1所示,自动化市场系统200的至少一个组件和自动化API发现和管理系统300的至少一个组件可以被存储在系统存储器14中。下面分别参考图2和图3来进一步地对系统200和300的示例进行详细描述。
各企业正在制定云战略,并且这些战略的支柱之一就是建立市场,该市场作为用户发布、宣传、订购、监控、查看/管理计费以及对云业务服务的运营进行管理的焦点。这些市场的激增造成了一种混乱,在这种情况下,内容的分享与消费是困难的或不可行的。这种市场激增正在大公司内部以及尝试一起工作或合作的公司之间发生。一些公司可能会希望使在其他公司处的用户能够无缝地共享、贡献和管理在他们各自的市场上发布的业务服务,就好像它们是一体的一样。为了安全和可管理地做到这一点,公司的目录应该支持多租户以及联合,以安全地管理这种内容共享。一种选择是重新发布整个目录中的内容,但这可能会导致同步问题和不必要的管理开销。
本文所公开的示例解决了上述问题。一些示例针对联合市场,该联合市场促进跨越多个市场门户的业务服务的共享、收集和管理。通过实现用于管理业务服务的通用访问机制,这些服务可以跨越多个企业而无缝呈现,从而促进不同业务部门和不同公司之间的再利用和收集/共享。
图2是示出根据一个示例的包括联合市场门户(联合MPP)202的自动化市场系统200的示意图。除了联合市场门户202之外,系统200还包括市场门户集成系统216、参与市场220(1)-220(3)(统称为参与市场220)、其他参与市场240、发票和计费系统242、以及操作管理及监控系统244。在一个示例中,市场220和240是云市场,并且联合市场门户202是云门户。
联合市场门户202包括用户界面204、应用程序接口(API)抽象206、服务产品208(1)-208(N)(统称为服务产品208)、联合模型仓储210、联合自动化仓储212、以及策略管理器214。联合市场门户202用作通过用户界面204来提供一致的用户体验的公共集成点,以用于浏览、订购和管理由多个市场220和240提供的业务服务。门户202允许共享服务产品208的元数据以及代理诸如身份管理等功能。在一个示例中,服务产品208(1)表示由市场220(1)提供的业务服务;服务产品208(2)表示由市场220(2)提供的业务服务;服务产品208(3)表示由市场220(3)提供的业务服务;并且服务产品208(N)表示由其他市场240提供的业务服务。
促进联合的要素是遵循一定的标准。一个示例是使用诸如云应用拓扑编排规范(TOSCA)等公共模型规范,这实现了模型的可移植性。在一个示例中,联合市场门户202包括联合模型仓储210以允许模型规范的代理和共享。通过这种方式,可以在每个客户自己的环境中对模型进行内省,针对其特定用例进行定制,然后被用于执行自动生命周期操作(诸如安装、配置、更新、终止等)。不需要将这些模型引入到单独的仓储中,而是该仓储可以仅通过统一资源定位器(URL)来代理内容并提供针对信息的指针。
为了执行任何生命周期自动化(例如,为了供应业务服务),使用联合自动化仓储212来共享自动化内容。在一些情况下,仓储212存储用于执行任何生命周期操作步骤的特定代码模块。由于性能原因,针对信息的指针可能是不足的,因此自动化内容可能会在与每个市场相关联的多个自动化仓储中被同步。联合市场门户202通过代理这种调换来进行协助。
策略管理器214执行参与系统200的市场220和240中的每一个市场的具体策略。以这种方式,公司可以声明具体的共享规则、约束、以及协调共享哪些特定业务服务以及如何共享的其他限制。
将多个不同种类的市场220和240集成到联合市场门户202中是由市场门户集成系统216使用从各个市场220和240的特定于产品的API中抽象出的API抽象206来完成的。API抽象针对特定于产品的API的绑定、映射和转换被声明性地定义,并且完全由数据驱动,从而使得个体市场220和240能够通过对门户202的配置数据存储进行更新而被添加到联合市场门户202/移除到联合市场门户202中/从联合市场门户202中被移除。映射到特定于产品的API的示例API抽象包括创建、搜索、查看、更新、删除、订购、管理、终止、以及其他。
API允许发现者消费或使用通过带有消费者自己的程序的API而公开的任何服务(或功能)。“特定于产品”的API和“通用”的API之间可以有所区别,因为现货产品通常具有专用的API,该专用的API只适用于那一种特定的产品;而“通用”的API不限于任何一种产品。可以通过建立“通用”或更精确“规范”的API来实现联合,该“通用”或更精确“规范”的API将多个特定于产品的API隐藏(或抽象)。通用的API可以执行转换,以将特定于产品的数据和接口转换为通用的数据和接口,从而使架构的其余部分更松散地耦合于特定产品。它还使得架构能够随着业务需求的改变以及产品的演进而将一个产品交换为另一个产品。
市场门户集成系统216执行适当的安全令牌、数据、协议和密钥转换,并且创建对相应市场的特定于产品的API的调用。在示例中,特定于产品的API的调用是酌情动态构建然后被执行的。市场门户集成系统216还执行由特定于产品的API所返回的输出(即,结果集)的数据和密钥的转换。随后将结果集的规范表示返回给联合市场门户202,并由联合市场门户202使用。
市场门户集成系统216包括门户联合框架218。门户联合框架218允许更快速地集成来自不同市场的内容。框架218保留元数据,该元数据允许创建能够在新的框架中呈现其自身的新的门户。这可以通过使用渲染(Render)程序来实现渲染的XML或JSON反序列化而完成。这是一种使得联合成为可能而不仅仅是目录项目聚合的功能。
参与市场220(1)-220(3)分别包括产品目录222(1)-222(3)(统称为产品目录222)、产品管理器224(1)-224(3)(统称为产品管理器224)、请求管理器226(1)-226(3)(统称为请求管理器226)、生命周期协调器228(1)-228(3)(统称为生命周期协调器228)、以及市场产品实例230(1)-230(3)(统称为市场产品实例230)。市场220的示例包括云服务自动化(CSA)市场、CloudForms市场、以及Murano市场。其他参与市场240可以以与市场220大致相同的方式来配置。
产品目录222(1)-222(3)分别提供由市场220(1)-220(3)提供的业务服务的列表,并且分别对应于由门户202提供的服务产品208(1)-208(3)。用户能够使用门户202来订购和管理所列出的业务服务。产品管理器224维护和更新产品目录222。请求管理器226对用于从产品目录222订购的业务服务的用户请求或订单进行处理。生命周期协调器228(1)-228(3)分别生成产品实例230(1)-230(3),并且还对产品实例230的生命周期进行控制,这些产品实例230(1)-230(3)是由用户通过门户202所订购的业务服务的实例。
当消费者使用门户202来从市场220和240中的一个中订购业务服务并且用户还请求作为该服务的一部分的监控(例如,健康监控)时,利用特定于那个市场的监控技术来执行监控,并且由操作管理及监控系统244将来自该监控技术的监控结果以及其他市场的监控技术的结果提取出来,以供门户202使用。
当今,为了使客户能够与给定的公司分享内容,客户可能会被强制将他们的内容转移到该公司的市场中。相比之下,系统200提供支持多个市场220和240的联合架构。系统200允许给定公司的客户使用他们自己的市场,同时允许跨越租户而安全地共享内容。系统200提供用于对由多个市场220和240提供的业务服务进行管理的公共访问机制(例如,用户界面204)以及跨越多个企业的无缝市场用户体验。
实现由外部市场定义、建模和管理的服务的货币化可能是困难的或不可行的。相比之下,系统200使用发票和计费系统242能够实现服务的货币化,而不管是哪些市场将它们公开。发票和计费系统242跟踪由市场220和240提供的业务服务的使用,并将使用信息提供给适当的市场220和240,以允许这些市场220和240对消费者使用业务服务计费。
现在,部分或完整的业务服务的再利用涉及将其定义以及内容迁移到相关市场。相比之下,系统200可以在不执行这种迁移的情况下实现再利用。为了实现再利用,存在着将与服务有关的信息共享的知识库,但其内容不是机器可读的或者不是使用诸如TOSCA等标准建模的,并且没有实现自动生命周期管理。相比之下,系统200提供了自动化级别,该自动化级别实现了实际再利用。另外,现有解决方案通常聚焦于或受限于较小的域(例如,单个公司)。相比之下,系统200使得内容能够被联合,并且能够跨越不同的业务部门和不同的公司来实现再利用和收集/共享。系统200允许在合作公司之间共享详细的规范和生命周期管理代码。这可以带来更大的货币化潜力,因为可以在一个企业之外消费服务。
注意到,系统200不仅仅涉及目录聚集,而是涉及联合。因此,目录项以及其内容不会从一个门户移动或复制到另一个门户。而是呈现出内容,并且从本地可用的任何地方对生命周期进行管理(例如,部署)。系统200跨越多个联合内容提供者来提供统一的目录策略管理,并且使来自多个目录的元数据来自动聚合和同步。内容的自动化同步降低了跨越多个市场手动复制内容的开销,同时使用策略来确保安全地完成共享。
存在着被创建并公开以供外部应用进行消费的API的大量激增。虽然这极大地简化了集成惯性,但是扩散也已变得难以管理。API注册表、仓储和网关都是手动配置的。然而,欲将应用和服务部署到云计算环境中的客户需要高度的自动化和自助服务。这意味着可以采用“一键式”功能将应用和服务部署为可用状态。应用可能不被认为是可用的和可消费的,直到包括该API在内的适当的元数据也被发布为止。
本文所公开的一些示例向部署生命周期添加额外的步骤,即业务应用或服务的相关API的自动发布和预填充。一些示例自动地发现相关的API和文档,并且自动配置API网关。本文所公开的示例提供了一键式部署、自动化API发现、API管理器的自动化预填充、API网关配置的自动化预填充、以及当API端点被移动时的自动更新。一些示例针对一种API管理(因为它涉及业务解决方案或应用部署)的生命周期自动化的系统和方法。这有助于实现用于云和非云解决方案的端到端自助服务的“一键式”部署。
图3是示出根据一个示例的自动化API发现和管理系统300的示意图。系统300包括市场门户(MPP)302、消息代理/总线308、策略管理器310、云控制器314、API扫描器320、已实现的商业解决方案322、API管理器332、API网关334、业务服务管理和计费单元336、以及事件通知单元338。
市场门户302包括多个市场门户(MPP)入口304和服务目录306。在一个示例中,市场门户302包括使得消费者能够从服务目录306中选择业务服务以及订购或预订业务服务的web界面。业务服务的消费者订单由市场门户入口304表示。
当消费者订购业务服务时,市场门户302经由消息代理/总线308将订单通知给云控制器314。在一个示例中,云控制器314对业务服务的整个生命周期管理(例如,供应基础设施、安装、配置、激活等)进行协调。云控制器314包括服务的服务生命周期管理单元316和部署自动化单元318。当云控制器314接收到消费者已经为业务服务下订单的通知时,部署自动化单元318供应必要的服务器并且生成所订购的被部署到基础设施/云330(例如,基础设施服务环境)的业务服务的实例326。此时,业务服务实例326开始在服务器上运行并公开至少一个API。
业务服务实例326和基础设施/云330是已实现的业务解决方案322的一部分,其也包括业务服务接口324和元数据仓储328。在图3中假设业务服务的至少一个实例326存在于或其描述存在于元数据仓储328(例如,SOA注册表、企业架构仓储、API管理器)中。
在消费者已经从市场门户302订购了特定的业务服务并且该业务服务已经如上所述地被实例化为业务服务实例326之后,API扫描器320随后执行对由实例化的业务服务326所公开的API的智能发现(例如,使用逆向工程和扫描技术)。API扫描器320可以搜索与API相关联的元数据,以便发现实例化的业务服务中的API。
接下来的步骤是公开所发现的API信息,以便将来消费者从所发现的API信息中受益。API扫描器320将API信息提供给市场门户302。在所示出的示例中,API扫描器320还利用消息代理/总线308来促进向各种系统发布API信息,包括:(1)将API信息发布到API管理器332(例如,编写/维护API);(2)将API信息发布到API网关334(例如,配置API网关334以对业务服务实施访问控制、节流、代理或隐藏真实端点URL等);(3)将API信息发布到业务服务管理和计费单元336,使得管理/监控基础设施被激活,以便在API级别下进行业务活动监控;并且将API信息发布到事件通知单元338。事件通知单元338向感兴趣的(例如选入的)各方(诸如业务服务的现有或预期用户等)提供对API进行发布或更新的事件的通知。该通知可以通过用户界面204(图2)和/或通过电子邮件、文本消息或其他方法来提供给用户。来自单元338的通知将告诉用户如何访问和使用API。该通知有助于进一步利用已发现的API,并且将已公开的服务的可用性和功能改善推向市场。
如上所述,所发现的API信息被发布到API管理器332中。该信息包括每个所发现的API的标准定义以及与每个所发现的API相关的文档。API管理器332对API定义的生命周期进行管理。API管理器332将API信息提供给市场门户302。在一个示例中,将用于给定版本的业务服务的API的定义发布到API管理器332中一次,然后在无需用户干预的情况下动态地部署该API的多个实例,并且将其用于自动配置API网关端点。
API网关334为内部和外部开发设备提供对企业信息的安全访问。API网关334可以提供的、可由API管理器332控制的功能的类型可以包括访问控制(例如,过滤流量使得只有认证/授权流量才能通过)、速率限制(例如,限制与每个API相关联的每个开发者设备可以发送多少流量)、分析/指标捕获和记录(跟踪API中的每个API正在发生的事情)、安全过滤(例如,检查传入消息中的内容是否受到攻击)、以及重定向/流量路由(例如,根据发送者或请求将流量发送到系统的基础设施中的不同端点)。
如上所述,所发现的API信息被发布到API网关334中,以配置API网关334,用以例如实施访问控制。访问控制的一个示例是根据策略和业务规则来控制对API的访问。策略管理器310包括多个策略312,该多个策略312提供用于约束对API的访问的信息。策略管理器310在无需用户干预的情况下,基于策略312来动态地更新和配置API网关334,然后API网关334基于在策略312中指定的规则来控制对API的访问。API网关334对用于业务服务实例的API端点进行管理。每当当前API发生变化时(诸如当一个变化被部署到业务服务时,该变化会导致业务服务的API的改变),API网关334还利用新的API信息来自动更新。这种API变化被自动检测到并且被用于相应地对API网关334进行更新。
如上所述,API信息还被发布到业务服务管理和计费单元336中,使得管理/监控基础设施被激活,以便在API级别下进行业务活动监控。监控包括为计费目的而对API的使用量进行计量。可以根据已建立的计费政策来针对API的使用向客户收费。
根据本文所公开的示例的API发现还涉及当在业务服务的API端点被移动时检测更新(例如,甚至由不具备消费者知识的基础设施即服务提供商来执行),并且提供与对API进行访问有关的更新后信息。而且,如果业务服务被消费者终止,则系统300自动将用于该业务服务的API网关端点移除以作为终止过程的一部分。系统300提供API的完整生命周期自动化管理,包括:当业务服务被实例化到环境中时发现API、包括基于策略来设置许可在内的网关配置、当业务服务被更新(如果API发生变化)时更新网关、将关于如何访问API的通知返给消费者、以及终止业务服务并且将API网关端点移除。
系统300使复杂业务解决方案的自助服务、一键式部署和消费支持以及业务解决方案或应用的端到端自动化成为可能。系统300自动发布API信息。系统300使用网关334来激活对API消费的控制,并激活在API级别下对服务进行管理的能力,并且激活计量(如果提供的话)以便能够使用单元336来开出基于使用情况的账单。系统300还在所部署的解决方案或应用被移动时提供API端点的自动更新。
本公开的示例包括下面描述的那些。注意,本文所公开的示例也可以以各种方式来组合。
一个示例针对一种系统,该系统包括联合市场门户以允许用户至少部分地基于应用程序接口(API)抽象来浏览、订购和管理由多个云市场提供的业务服务。该系统包括集成系统以将API抽象转换为由云市场使用的特定于产品的API,并且引发特定于产品的API的调用。
在一个示例中,多个云市场由多个公司提供。业务服务可以被云市场存储而不被聚集到联合市场门户中。在一个示例中,集成系统执行由特定于产品的API所返回的结果集的数据和密钥的转换,并将数据和密钥的转换结果提供给联合市场门户。根据一个示例的API抽象包括创建、搜索、查看、更新、删除、订购、管理和终止。集成系统可以包括门户联合框架以存储元数据,用以促进来自多个市场的内容的集成。联合市场门户可以包括策略管理器以执行多个云市场关于共享业务服务的特定策略。联合市场门户可以包括联合自动化仓储以存储用于执行生命周期自动化步骤的代码模块。联合市场门户可以使存储在联合自动化仓储中的自动化内容与和多个云市场相关联的自动化仓储同步。在一个示例中,联合市场门户包括联合模型仓储以便于代理和共享模型规范。模型规范可以包括云应用拓扑编排规范(TOSCA)。
另一个示例针对联合市场方法。图4是示出根据一个示例的联合市场方法400的流程图。在方法400中的402处,利用联合市场门户来生成用户界面,以允许用户至少部分地基于应用程序接口(API)抽象来浏览、订购和管理由多个云市场提供的业务服务。在404处,将API抽象转换为由云市场使用的特定于产品的API。在406处,使用从API抽象中转换来的特定于产品的API,以便于通过用户界面来浏览、订购和管理业务服务。在一个示例中,方法400还包括对由特定于产品的API所返回的结果集进行转换;并将转换后的结果集提供给联合市场门户。
另一个示例针对一种存储计算机可执行指令的非暂时性计算机可读存储介质,当该计算机可执行指令由至少一个处理器执行时,用以:利用联合市场门户来生成用户界面,以允许用户浏览、订购和管理由多个云市场提供的业务服务;基于用户与用户界面的交互,将来自联合市场门户的应用程序接口(API)抽象发送到集成系统;利用该集成系统,将API抽象转换为由云市场使用的特定于产品的API;并且使用从API抽象中转换来的特定于产品的API,以便于通过用户界面来浏览、订购和管理业务服务。在一个示例中,计算机可读存储介质还包括用以执行以下操作的指令:将用于执行生命周期自动化步骤的自动化内容存储在联合自动化仓储中;并且使存储在联合自动化仓储中的自动化内容与和多个云市场相关联的自动化仓储同步。
另一示例针对一种系统,该系统包括:市场门户,用以允许用户订购业务服务;以及云控制器,用以将所订购的业务服务的实例部署到云环境中。该系统还包括:应用程序接口(API)扫描器,用以发现API信息并将所发现的API信息发布到另一服务,所发现的API信息包括由所部署的已订购业务服务的实例所公开的至少一个API。另一服务可以包括:API管理器,其对API定义的生命周期进行管理。另一服务可以包括:API网关,用以为用户设备提供对API的授权访问。在一个示例中,策略管理器基于访问控制策略来动态地配置API网关。在一个示例中,API扫描器对所发现的API信息的更新进行检测,并将相应更新后的API信息提供给API网关。更新可以包括API端点的变更。另一服务可以包括:管理和计费单元,用于为了计费目的而在API级别下对业务服务进行监控。另一服务可以包括:事件通知单元,用以向业务服务的现有和预期用户提供关于所发现的API信息的通知。
另一示例针对API发现和管理方法。图5是示出根据一个示例的API发现和管理方法500的流程图。在方法500中的502处,生成业务服务的第一实例。在504处,将第一实例部署到云环境。在506处,发现包括由第一实例所公开的至少一个API在内的API信息。在508处,将所发现的API信息发布到API网关。在510处,通过API网关为用户设备提供对至少一个API的授权访问。在一个示例中,方法500还包括:将所发现的API信息发布到对API定义的生命周期进行管理的API管理器。方法500可以包括:对所发现的API信息的更新进行检测,并且将检测到的更新发布到API网关,其中该更新包括API端点的变更。方法500可以包括:将所发现的API信息发布到管理和计费单元,以便为了计费目的而在API级别下对业务服务进行监控。方法500可以包括:将所发现的API信息发布到事件通知单元,用以向业务服务的现有和预期用户提供关于所发现的API信息的通知。
另一示例针对一种用于存储计算机可执行指令的非暂时性计算机可读存储介质,该计算机可执行指令由至少一个处理器执行,用以:生成业务服务的第一实例;将第一实例部署到云环境;发现由第一实例所公开的至少一个API;以及将所发现的至少一个API发布到对API定义的生命周期进行管理的API管理器。计算机可读存储介质还可以包括:用以将所发现的API信息发布到以下中的至少一个的指令:API网关,用于向用户设备提供对至少一个API的授权访问;管理和计费单元,用于为了计费目的而在API级别下对业务服务进行监控;以及事件通知单元,用于向业务服务的现有和预期用户提供关于所发现的至少一个API的通知。
虽然本文已经说明和描述了具体示例,但是在不脱离本公开的范围的情况下,各种替代和/或等同的实现方式可以替代所示出和描述的具体示例。本申请旨在涵盖本文所讨论的具体示例的任何修改或变化。因此,本公开旨在仅由权利要求书及其等同物来限制。

Claims (15)

1.一种发现并发布应用程序接口API信息的系统,包括:
市场门户,用于允许用户订购业务服务,其中所述市场门户从用户接收第一API并且将所述第一API转换为至少一个特定于产品的API,并且所述至少一个特定于产品的API被返回至所述市场门户;
云控制器,用于将订购的业务服务的实例部署到云环境;以及
API扫描器,用于发现API信息并将所发现的API信息发布到API网关,所述API信息包括由所部署的所述订购的业务服务的实例所公开的至少一个API。
2.根据权利要求1所述的系统,其中所发现的API信息还被发布到用于对API定义的生命周期进行管理的API管理器。
3.根据权利要求1所述的系统,其中所述API网关用作所述至少一个API的代理,并且隐藏所述业务服务的端点URL。
4.根据权利要求3所述的系统,进一步包括:
策略管理器,用于基于访问控制策略来动态地配置所述API网关。
5.根据权利要求3所述的系统,其中所述API扫描器对所发现的API信息的更新进行检测,并且将相应更新后的API信息提供给所述API网关。
6.根据权利要求1所述的系统,其中所述第一API被转换为多个特定于产品的API。
7.根据权利要求1所述的系统,其中所发现的API信息还被发布到为了计费目的而在API级别下对所述业务服务进行监控的管理和计费单元。
8.根据权利要求1所述的系统,其中所发现的API信息还被发布到事件通知单元,所述事件通知单元用于向所述业务服务的现有和预期用户提供关于所发现的API信息的通知。
9.一种由至少一个处理器执行的用于市场的方法,所述方法包括:
生成业务服务的第一实例;
将所述第一实例部署到云环境;
发现API信息,所述API信息包括由所述第一实例公开的至少一个API;
将所发现的API信息发布到API网关;以及
通过所述API网关向用户设备提供对所述至少一个API的授权访问;以及
从用户接收第一API并且将所述第一API转换为至少一个特定于产品的API,并且所述至少一个特定于产品的API被返回至所述市场。
10.根据权利要求9所述的方法,进一步包括:
将所发现的API信息发布到对API定义的生命周期进行管理的API管理器。
11.根据权利要求9所述的方法,进一步包括:
对所发现的API信息的更新进行检测,其中所述更新包括API端点的变更;以及
将检测到的更新发布到所述API网关。
12.根据权利要求9所述的方法,进一步包括:
将所发现的API信息发布到为了计费目的而在API级别下对所述业务服务进行监控的管理和计费单元。
13.根据权利要求9所述的方法,其中所述第一API被转换为多个特定于产品的API。
14.一种存储用于市场的计算机可执行指令的非暂时性计算机可读存储介质,所述计算机可执行指令由至少一个处理器执行,用以:
生成业务服务的第一实例;
将所述第一实例部署到云环境;
由API扫描器发现由所述第一实例公开的至少一个API;以及
将所发现的至少一个API发布到对API定义的生命周期进行管理的API管理器和API网关;以及
从用户接收第一API并且将所述第一API转换为至少一个特定于产品的API,并且所述至少一个特定于产品的API被返回至所述市场。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述第一API被转换为多个特定于产品的API。
CN201580080850.XA 2015-07-31 2015-07-31 发现并发布api信息 Active CN107836007B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/043268 WO2017023276A1 (en) 2015-07-31 2015-07-31 Discovering and publishing api information

Publications (2)

Publication Number Publication Date
CN107836007A CN107836007A (zh) 2018-03-23
CN107836007B true CN107836007B (zh) 2023-04-11

Family

ID=57943922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080850.XA Active CN107836007B (zh) 2015-07-31 2015-07-31 发现并发布api信息

Country Status (4)

Country Link
US (2) US11714685B2 (zh)
EP (1) EP3281168A4 (zh)
CN (1) CN107836007B (zh)
WO (1) WO2017023276A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2970491T3 (es) 2017-04-14 2024-05-29 Cloudblue Llc Tecnologías de creación y distribución de conectores de integración en un sistema de intermediación de servicios en la nube
US10693989B2 (en) * 2017-04-28 2020-06-23 Sap Se Brokering services from partner cloud platforms
CN109547509B (zh) * 2017-09-22 2022-03-29 华为技术有限公司 一种跨平台部署的方法和系统
CN108428165B (zh) * 2018-02-12 2023-08-29 上海安戈实业有限公司 制造商、经销商及买家联动交易系统及交易方法
CN108512748A (zh) * 2018-03-21 2018-09-07 上海艾融软件股份有限公司 一种微服务网关的实现方法
CN111148076B (zh) 2018-11-05 2023-03-24 华为技术有限公司 一种api发布方法及装置
US11082820B2 (en) * 2018-11-18 2021-08-03 Cisco Technology, Inc. Service interface templates for enterprise mobile services
US11538091B2 (en) * 2018-12-28 2022-12-27 Cloudblue Llc Method of digital product onboarding and distribution using the cloud service brokerage infrastructure
CN110300056B (zh) * 2019-06-28 2021-06-29 四川长虹电器股份有限公司 一种实时响应式api网关及其请求处理方法
US11340971B2 (en) * 2019-12-12 2022-05-24 Koninklijke Philips N.V. Application integration using interaction patterns
US11231979B2 (en) * 2020-03-19 2022-01-25 Intuit Inc. Method and system for generating an application programming interface based on declarative schemas for individual services
CN111506507A (zh) * 2020-04-15 2020-08-07 杭州数梦工场科技有限公司 业务服务的状态检测方法及装置、电子设备、存储介质
WO2021258340A1 (zh) * 2020-06-24 2021-12-30 京东方科技集团股份有限公司 发布系统、推送方法、应用设备、接收装置及服务管理设备
US11307847B1 (en) 2020-12-10 2022-04-19 International Business Machines Corporation Contextual application programming interfaces in a development environment
US11829745B2 (en) * 2021-09-20 2023-11-28 Salesforce, Inc. Augmented circuit breaker policy
CN114124951B (zh) * 2021-10-18 2024-04-26 浪潮通信信息系统有限公司 多云环境下构建行业云业务实例的方法及系统
CN116016666A (zh) * 2022-12-21 2023-04-25 中盈优创资讯科技有限公司 一种api发布的实现方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946504A (zh) * 2008-02-19 2011-01-12 三星电子株式会社 利用基于api的iptv服务的方法及装置
CN102103537A (zh) * 2009-12-17 2011-06-22 珠海市君天电子科技有限公司 一种发现安全软件之间兼容性问题的方法和装置
CN102447801A (zh) * 2010-09-13 2012-05-09 精工爱普生株式会社 电子设备、电子设备的控制方法及记录介质
CN103563294A (zh) * 2011-06-30 2014-02-05 国际商业机器公司 用于云计算平台安全性的认证和授权方法
CN104519456A (zh) * 2013-10-04 2015-04-15 思科技术公司 用于在机器对机器环境中安排移动数据网络的系统和方法
CN104604201A (zh) * 2012-09-07 2015-05-06 甲骨文国际公司 用于提供云服务的基础设施
WO2015065398A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Application programable interface (api) discovery

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725590B2 (en) * 2002-04-19 2010-05-25 Computer Associates Think, Inc. Web services broker
US7757268B2 (en) * 2003-07-25 2010-07-13 Oracle International Corporation Policy based service management
US7716357B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7590705B2 (en) * 2004-02-23 2009-09-15 Microsoft Corporation Profile and consent accrual
US20060235973A1 (en) * 2005-04-14 2006-10-19 Alcatel Network services infrastructure systems and methods
US7945041B2 (en) * 2005-05-27 2011-05-17 International Business Machines Corporation Method, system and program product for managing a customer request
US20080140759A1 (en) * 2006-03-21 2008-06-12 Conner Peter A Dynamic service-oriented architecture system configuration and proxy object generation server architecture and methods
US9489647B2 (en) * 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US9069599B2 (en) * 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US20110078243A1 (en) 2009-09-30 2011-03-31 Boopsie, Inc. Leveraging Collaborative Cloud Services to Build and Share Apps
US9432825B2 (en) * 2010-01-13 2016-08-30 Oracle International Corporation Systems and methods for integrating a service access gateway with billing and revenue management systems
US8825791B2 (en) * 2010-11-24 2014-09-02 Red Hat, Inc. Managing subscribed resource in cloud network using variable or instantaneous consumption tracking periods
JP5933387B2 (ja) * 2011-08-08 2016-06-08 株式会社Pfu スキャニング装置、スキャニング方法及びコンピュータプログラム
US9619835B1 (en) * 2011-11-16 2017-04-11 Amazon Technologies, Inc. Product customization offerings
US9077773B2 (en) * 2011-11-17 2015-07-07 Mashape, Inc. Cloud-based hub for facilitating distribution and consumption of application programming interfaces
US20130159484A1 (en) * 2011-12-15 2013-06-20 Sap Ag Publishing mobile applications
US9503345B2 (en) 2012-02-24 2016-11-22 Accenture Global Services Limited Cloud services system
GB2503463A (en) * 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
EP2831746A1 (en) * 2012-07-31 2015-02-04 Hewlett-Packard Development Company, L.P. Orchestrating hybrid cloud services
KR101621791B1 (ko) * 2012-08-14 2016-05-31 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 현재 이용되는 장치 업데이팅
US9160749B2 (en) * 2012-09-07 2015-10-13 Oracle International Corporation System and method for providing whitelist functionality for use with a cloud computing environment
US9619540B2 (en) * 2012-09-07 2017-04-11 Oracle International Corporation Subscription order generation for cloud services
US9276942B2 (en) * 2012-09-07 2016-03-01 Oracle International Corporation Multi-tenancy identity management system
US9621435B2 (en) * 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US9384068B2 (en) * 2012-10-05 2016-07-05 Release Consulting Limited Publishing of an application program interface
US9652314B2 (en) * 2012-10-15 2017-05-16 Alcatel Lucent Dynamic application programming interface publication for providing web services
US20150341230A1 (en) * 2013-03-15 2015-11-26 Gravitant, Inc Advanced discovery of cloud resources
US20140280964A1 (en) * 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US20150222723A1 (en) * 2013-03-15 2015-08-06 Gravitant, Inc Budget management functionality within a cloud service brokerage platform
US20140365662A1 (en) * 2013-03-15 2014-12-11 Gravitant, Inc. Configuring cloud resources
US10289277B2 (en) 2013-06-20 2019-05-14 Level 3 Communications, Llc Systems and methods for information technology portfolio knowledge and management
US9542216B2 (en) 2013-10-15 2017-01-10 At&T Intellectual Property I, L.P. Richer model of cloud app markets
US9146787B2 (en) * 2013-11-07 2015-09-29 Accenture Global Services Limited Analytics for application programming interfaces
US8793359B1 (en) * 2013-11-25 2014-07-29 Software Ag Systems and/or methods for intelligently detecting API key domains
US20150188900A1 (en) * 2013-12-31 2015-07-02 Digital River, Inc. Session managment in a multi-tenant, multi-data center environment system and method
US9569332B2 (en) * 2014-02-03 2017-02-14 Apigee Corporation System and method for investigating anomalies in API processing systems
US20150363374A1 (en) * 2014-06-16 2015-12-17 FixSpec Limited Method and System for Providing a Programming Interface Specification
US9396091B2 (en) * 2014-09-29 2016-07-19 Sap Se End-to end, lifecycle aware, API management
US10395293B1 (en) * 2016-08-25 2019-08-27 PredictSpring, Inc. Canonical order management system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946504A (zh) * 2008-02-19 2011-01-12 三星电子株式会社 利用基于api的iptv服务的方法及装置
CN102103537A (zh) * 2009-12-17 2011-06-22 珠海市君天电子科技有限公司 一种发现安全软件之间兼容性问题的方法和装置
CN102447801A (zh) * 2010-09-13 2012-05-09 精工爱普生株式会社 电子设备、电子设备的控制方法及记录介质
CN103563294A (zh) * 2011-06-30 2014-02-05 国际商业机器公司 用于云计算平台安全性的认证和授权方法
CN104604201A (zh) * 2012-09-07 2015-05-06 甲骨文国际公司 用于提供云服务的基础设施
CN104519456A (zh) * 2013-10-04 2015-04-15 思科技术公司 用于在机器对机器环境中安排移动数据网络的系统和方法
WO2015065398A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Application programable interface (api) discovery

Also Published As

Publication number Publication date
EP3281168A4 (en) 2018-03-14
WO2017023276A1 (en) 2017-02-09
CN107836007A (zh) 2018-03-23
US20230333906A1 (en) 2023-10-19
US20180217871A1 (en) 2018-08-02
EP3281168A1 (en) 2018-02-14
US11714685B2 (en) 2023-08-01

Similar Documents

Publication Publication Date Title
CN107836007B (zh) 发现并发布api信息
US20200184394A1 (en) Constraints and constraint sharing in a catalog service platform
US10922740B2 (en) Graph processing service component in a catalog service platform
US20200220809A1 (en) Locating service endpoints from a service registry
US10318265B1 (en) Template generation for deployable units
US11244261B2 (en) Catalog service platform for deploying applications and services
US9424554B2 (en) Enterprise managed systems with collaborative application support
US11010217B2 (en) Application programming interfaces in a multi-server environment
AU2012230866B2 (en) Strong rights management for computing application functionality
US8886571B2 (en) System and method for service virtualization in a service governance framework
US20160132808A1 (en) Portfolios and portfolio sharing in a catalog service platform
US10360410B2 (en) Providing containers access to container daemon in multi-tenant environment
US20130304666A1 (en) Managing Information Exchange Between Business Entities
AU2015404396B2 (en) Federated marketplace portal
US10572842B1 (en) Notification service for managing actionable messages from backend services
Al-Rashedi E-government based on cloud computing and service-oriented architecture
US10785056B1 (en) Sharing a subnet of a logically isolated network between client accounts of a provider network
WO2016077483A1 (en) Catalog service platform for deploying applications and services
Castro-Leon et al. ON THE CONCEPT OF METADATA EXCHANGE IN CLOUD SERVICES.
Collins et al. Introducing Office 365 for Developers

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

Address after: Delaware

Applicant after: Difficult Intellectual Property Co.,Ltd.

Address before: Texas, USA

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

GR01 Patent grant
GR01 Patent grant