内容简介:框架作者 Thomas Allerton 在最近的一篇 Medium 博文中写道:“对于那些想要开发简单的应用程序的新手们来说,他们需要面临非常陡峭的学习曲线。他们可能只想要部署一些 HTTP 端点用来保存数据,但仍然要学习很多与云相关的概念”。Nimbus 提供了一些注解,支持一些常见的后端操作,这些操作可用于构建基于函数的应用程序,这样,开发者就不需要去学习云配置语法和 FaaS API 了。Allerton 在博文中表示,Nimbus 的主要优势是不需要通过创建配置文件来声明云资源(如 AWS SAM
Nimbus 是一个旨在简化 FaaS 应用程序开发、测试和部署的 Java 框架。Nimbus 提供了一组与云平台无关的公共接口,用于与云提供商的无服务器功能发生交互。
框架作者 Thomas Allerton 在最近的一篇 Medium 博文中写道:“对于那些想要开发简单的应用程序的新手们来说,他们需要面临非常陡峭的学习曲线。他们可能只想要部署一些 HTTP 端点用来保存数据,但仍然要学习很多与云相关的概念”。Nimbus 提供了一些注解,支持一些常见的后端操作,这些操作可用于构建基于函数的应用程序,这样,开发者就不需要去学习云配置语法和 FaaS API 了。
Allerton 在博文中表示,Nimbus 的主要优势是不需要通过创建配置文件来声明云资源(如 AWS SAM 或者 Serverless 框架),这样开发人员“就不会因为忘记了某些参数而犯错”。另外,Nimbus 会对部署参数进行编译时检查,以便尽早检测出错误。
为了可以更好地体验如何使用这个框架,可以参看下面这个示例。它使用了 @HttpServerlessFunction 注解来创建一个简单的 REST API。
复制代码
publicclassRestApi { @HttpServerlessFunction(path="getOsTypes",method= HttpMethod.GET) public List<String> currentOsTypes(){ returnArrays.asList(newString[] {"Windows","Mac","Linux"}); } }
Nimbus 还支持其他的操作:
-
WebSocket Function:用于处理 websocket 请求;
-
Document Store Function:用于执行因文档存储变更而触发的代码;
-
Key Value Store Function:用于执行因键值存储变更而触发的代码;
-
Notification Function:用于执行由通知触发的代码;
-
Queue Function:用于执行因队列变化而触发的代码;
-
Basic Function:用于执行不需要触发器的代码;
-
File Storage Function:用于执行基于文件存储事件(文件创建和删除)的代码;
-
After Deployment Function:用于执行部署之后需要立即执行的操作。
除了支持各种不同的操作之外,Nimbus 还支持几种数据存储类型。下面的示例演示了如何使用 @DocumentStore 注解来创建一个文档存储。
复制代码
@DocumentStore publicclassOsPreference { @Key privateStringid; @Attribute privateStringpreference; publicOsPreference(Stringid,Stringpreference) { this.id = id; this.preference = preference; } // ... // getters & setters // ... }
在创建好文档存储后,可以使用 DocumentStoreClient 来持久化数据。
复制代码
privateDocumentStoreClient<OsPreference> client = ClientBuilder.getDocumentStoreClient(OsPreference.class); @HttpServerlessFunction(path="setOsPreference",method= HttpMethod.POST) @UsesDocumentStore(OsPreference.class) public String setOsPreference(OsPreferenceosPreference){ client.put(osPreference); return"Success"; }
其他支持的数据存储(和客户端)包括:用于存储关系型数据的关系型存储、用于存储键值数据的键值存储和用于存储对象的文件存储(支持静态网站托管和文件上传)。
测试也是构建无服务器应用程序的另一个常见难点。Nimbus 提供了单元测试和集成测试支持。在进行单元测试时,可以为上述列表中的任何一个操作创建本地部署,可以接受请求,并验证函数是否被正确调用,或者数据是否被正确保存。Nimbus 对集成测试的支持相对有限,只支持基于 HTTP 的测试。在进行集成测试时,会启动一个本地 Web 服务器,用于验证请求调用了正确的函数。
目前,Nimbus 初始版本只支持 AWS,对其他平台的支持已经被纳入计划中。
要想了解更多有关 Nimbus 的细节,可以阅读 入门指南 、访问 参考文档 ,或者克隆它的 GitHub 仓库 代码 。
查看英文原文: Nimbus: New Framework for Building Java Serverless Applications
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Socket.IO 2.0 发布,实时应用程序框架
- Socket.IO 2.0 发布,实时应用程序框架
- Ionic 4.4.0 发布,开源移动应用程序开发框架
- 码云推荐 | 基于 ArcGIS Runtime 的3D移动应用程序框架
- [译] 使用 JS 框架创建渐进式 Web 应用程序(PWA)
- LightBulb:一个用于审计web应用程序防火墙的开源框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UML基础与Rose建模案例
吴建 / 人民邮电出版社 / 2004-10 / 29.00元
《UML 基础与Rose建模案例》介绍了用UML(统一建模语言)进行软件建模的基础知识以及Rational Rose工具的使用方法,其中,前8章是基础部分,对软件工程思想、UML的相关概念、Rational Rose工具以及RUP软件过程等进行了详细的介绍;后3章是案例部分,通过3个综合实例,对UML建模(以Rose为实现工具)的全过程进行了剖析;最后的附录中给出了UML中常用的术语、标准元素和元......一起来看看 《UML基础与Rose建模案例》 这本书的介绍吧!