Apigee (国内访问需要科学上网)是一家成立于2004年的API管理公司,于2016年9月被Google收购,作为Google云的服务之一。Apigee提供从API设计、开发、管理、门户、网关等API全生命周期的产品。以下主要从研发角度针对产品的不同方面进行试用评估。

管理控制台


控制台主要包含开发、发布、分析、管理以及支持开发的教程和产品反馈。

开发

API开发包含API设计(Specs),API代理(API Proxies)、共享组件(Shared Flows)、调试工具(Offline Trace,先下载调试数据再上传分析)、API后端服务(API Baas)

API定义

API定义是指API的描述、具体方法、字段规范、示例数据等。Apigee采用OpenAPI的标准,Swagger的语法规范进行编写,可以自动生成文档、测试工具。


API代理开发

支持的方式

Apigee支持6种代理方式,路由前端服务到后端、RESTFul转换为SOAP、Node.js APP等。


开发环境

API Proxy的开发是一个较完整的视图,包含在线开发配置IDE、跟踪调试、性能监控、部署等。


几个比较重要的概念:1) Polices 是指执行的方法或步骤; 2) Proxy Endpoints/Target Endpoints/PreFlow/PostFlow的概念如下图所示。 3)Scripts支持Js、XSLT、JAR、WSDL、Node等


JS脚本示例

 //获取后端API的返回对像
var res = JSON.parse(context.proxyResponse.content); //提取返回对像的值
var minimizedResponse = "{result code: "+res.code+",lines:"+res.data.length+" }"; //重置返回给客户端的值
context.proxyResponse.content = JSON.stringify(minimizedResponse);

开发者门户

API规范定义好之后可以封装成API产品,创建API门户。下图为可配置的开发者门户信息。

通过前端页面访问可查看详细的API定义。门户用户管理可创建和管理门户访问用户。


API高可用性

API支持配置多个后端服务器支持高可用性。


参考资料:https://docs.apigee.com/api-platform/deploy/load-balancing-across-backend-servers

API分析

Apigee提供对性能、缓存、设备,地理位置等对API进行分析和监控


API计费

Apigee支持对API产品制定收费策略


参考: https://docs.apigee.com/api-platform/monetization/create-rate-plans#whatisarateplan

配置双向TLS访问

Apigee可配置双向TLS访问安全策略,确保Apigee与后端API系统的访问安全。


参考:https://docs.apigee.com/api-platform/system-administration/configuring-ssl-edge-backend-service

总结

Apigee在接口生命周期管理已经提供了比较丰富的功能。通过第三方资料Apigee在实时消息、AI安全应用、JWS等新的授权方案等也在进行尝试。后续可能会提供更丰富的产品。

Apigee 简介与简单试用的更多相关文章

  1. C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo

    在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...

  2. knockout.js的简介和简单使用

    1.knockout简介knockout是一个轻量级的UI类库,通过MVVM模式使JavaScript前端UI简单化knockout有四大重要概念:1)声明式绑定:使用简明移读的语法很容易地将模型(m ...

  3. MEF简介及简单的Demo

    MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...

  4. Redis简介与简单安装

    Redis简介与简单安装   一.NoSQL的风生水起 1.1 后Web2.0时代的发展要求 随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类 ...

  5. gtest简介及简单使用

    本文摘自 gtest简介及简单使用 ,在此感谢作者的分享. 具体使用教程 _______________________________________________________________ ...

  6. webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部署

    本文为大家讲解的是webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部属,感兴趣的同学参考下 ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端a ...

  7. Hadoop之MapReduce(一)简介及简单案例

    简介 Hadoop MapReduce是一个分布式运算编程框架,基于该框架能够容易地编写应用程序,进而处理海量数据的计算. MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算. ...

  8. jQuery无刷新上传之uploadify简单试用

    先简单的侃两句:貌似已经有两个月的时间没有写过文章了,不过仍会像以前那样每天至少有一至两个小时是泡在园子里看各位大神的文章.前些天在研究“ajax无刷新上传”方面的一些插件,用SWFUpload实现了 ...

  9. Cassandra安装及其简单试用

    官方主页:http://cassandra.apache.org/ 简介: The Apache Cassandra Project develops a highly scalable second ...

随机推荐

  1. Dicom文件转mhd,raw文件格式

    最近在整理与回顾刚加入实验室所学的相关知识,那会主要是对DICOM这个医疗图像进行相应的研究,之前有一篇博客已经讲述了一些有关DICOM的基本知识,今天这篇博客就让我们了解一下如何将Dicom文件转为 ...

  2. webpack搭建vue项目,实现脚手架功能

    本文基于node.js开发环境,安装完node之后新建项目,通过webpack配置,实现vue-cli脚手架功能 对于刚刚接触编程的人来说,最难的可能并不是学习一种新语法或者框架,而是编程思维,这种思 ...

  3. UVA 12108 Extraordinarily Tired Students

    思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器. ②二维数组存表格. ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如 ...

  4. [R] R dataframe 中对列使用sort或者order的注意

    存在这样的需求: 针对每列的值, 对列进行排序. 这样处理过数据后, 在excel中对数据作图时, 使数据呈现有序. R中sort数据的时候, 如果数据中存在字符串, R会将数据转化为characte ...

  5. JVM笔记(二)JVM基本结构

    JVM基本结构 一.运行时内存区域 java虚拟机所管理的内存将会包括以下几个运行时内存区域. 1.程序计数器 Program Counter Register:可以看作当前线程(线程私有)所执行的字 ...

  6. Hibernate关联关系之多对多

    多对多映射关系 建立多对多单向关联关系 创建Employee类: public class Employee { private Integer empid; //员工编号 private Strin ...

  7. C++程序设计方法3:派生类对象的构造和析构过程

    基类中的数据成员,通过继承成为派生类对象的一部分,需要在构造派生类对象的过程中调用基类构造函数来正确初始化: 若没有显示调用,则编译器会自动生成一个对基类的默认构造函数的调用. 若想要显示调用,则只能 ...

  8. Shooting Contest 射击比赛 [POJ1719] [CEOI1997] [一题多解]

    Description(下有中文题意) Welcome to the Annual Byteland Shooting Contest. Each competitor will shoot to a ...

  9. java的图形文档

    https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#drawString(java.lang.String,%20int, ...

  10. 原生ajax请求

    $('#send').click(function(){ //请求的5个阶段,对应readyState的值 //0: 未初始化,send方法未调用: //1: 正在发送请求,send方法已调用: // ...