微信号:infoqchina

介绍:有内容的技术社区媒体

Apigee现在支持Node.js 并开源了Volos

2013-11-20 16:37 InfoQ

Apigee Edge现在支持Node.js并且已经开源了Volos,一个包含了一组API管理模块的项目。


Apigee于最近增加了Node.js和NPM模块支持,用户能够使用它们构建新的API、移动应用后端、mashups和复合服务。我们采访了Apigee的首席架构师Greg Brail以便于更深入地了解开发者能够在Apigee平台上使用Node.js完成哪些工作。


InfoQ:针对Edge平台进行编程的时候用户究竟能够使用JavaScript/Node.js做哪些事情?


GB: 非常明确,目前你能够编写Node.js Web应用(使用标准的“http”和“https”模块)并将它们部署到Apigee Edge上,或者在我们的云中,或者在你自己的数据中心中。部署的应用能够访问一个完整的Node.js环境,能够使用托管在NPM中的绝大部分模块。我们的环境可能依然存在一些不兼容的地方——例如,并不支持依赖于本地C或者C++代码的模块。


因为这些脚本运行在Edge内部,就像我们已有的API代理那样,所以它们支持Edge的各种部署能力,例如通过同样的UI和API将不同的版本部署到不同虚拟环境中的能力,跨多个地理区划自动部署的能力。我们会收集所有由Edge传入Node.js程序的API调用数据,所以你能够分析流量,甚至可以从定制数据中产生自定义报表。


另外,你能够将Node.js脚本和我们已有的策略类库结合起来,包括安全策略(例如OAuth)、流量管理(例如限额和峰值限制)、安全威胁检查等内容。


InfoQ:我注意到你还支持一些Objective-C、Java、.NET、Ruby和JavaScript SDK。用户能够使用它们在Edge平台上构建同样的功能么,就像Node.js可以实现的那样?这之间有什么区别


GB: Edge平台始终都包含一个运行时,它能够运行使用我们自己的配置模式定义的API代理,现在它还将包含另一个运行时,该运行时能够执行使用Node.js构建的HTTP服务器。另一方面,SDK是Edge提供的各种API的客户端,以便于客户端可以直接使用它们。例如,SDK让开发者能够构建针对多种移动平台的应用,或者构建其他应用,它们使用Edge作为后端实现数据存储和推通知等功能。


也就是说,Edge是一个服务器,而Node.js能力是一种将代码部署到服务器上的新方式。服务器还包含一群API可以为现代应用提供关键功能,客户端则可以很容易地通过SDK访问这些API。


Apigee还开源了Volos,这是一组为API OAuth 2.0授权、密钥验证、限额管理和缓存提供支持的Node.js模块。Volos能够独自地运行,或者它能够被设置为与Apigee Edge通信从而获得开发者、应用和API管理方面的支持,或者Volos应用可以被直接部署到Apigee平台上。


比较Volos与Edge,Brail说:


Volos的设计目的之一就是为了利用Edge的许多功能。例如,Volos中的OAuth和限额模块能够在本地运行,但是它们还可以与Edge通信,这意味着它按照这种方式使用OAuth能力。当然,如果你将一个Volos应用程序部署到Edge上运行,那么它可以直接使用那些能力。所以,它不一定是一个二选一/或者的情况。


也就是说,Edge在精细化管理方面拥有很多深度的能力,不仅能够管理开发者、应用程序和所有集合,还能够支持分布式限额和深度分析等棘手的事情。


关于Apigee对Volos将来的计划,Brail说:


我们计划向Volos中添加更多的模块,让它成为在Node.js中构建产品质量的API最好的工具集。当然,我们将确保Edge是运行这些应用的最优方案,确保这些应用在Edge上运行的时候它们能够利用Edge产品的所有能力和服务性。


此外,Apigee也为API的构建和管理提供了支持,这些API在新的或者已经存在的后端或数据服务和客户端之间。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 14岁黑了银行系统,34岁创办了MySpace,45亿卖掉公司后扛着相机开始环球旅行 Struts2+Spring3+BHibernate+BMaven+EasyUI整合入门 IBM投资数十亿美元预测天气 我的 React Native 技能树点亮计划 の Javascript 模块管理器 npm C#基础起步第十一期---委托事件