Spring Roo是在Java平台上提供快速应用程序开发的工具。 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持两种针对云计算的解决方案:Google App Engine(GAE)和VMware Cloud Foundry。 两者都提供了平台即服务(PaaS)概念。 本文将讨论Spring Roo的Cloud Foundry支持。 在本系列文章的第1部分中讨论了GAE。

将Cloud Foundry应用程序部署到云端

Spring Roo的参考指南在http://www.springsource.org/roo/guide?w=base-cloud-foundry进行了介绍,其中介绍了Spring Roo和Cloud Foundry的结合。 简而言之,在Cloud Foundry云中部署(CRUD-)应用程序没有太多要做。
您必须登录到Cloud Foundry帐户,创建一个WAR文件并进行部署。 三个Roo命令执行这些任务。 如果您使用任何Cloud Foundry服务(例如MySQL,Redis或RabbitMQ),则必须使用其他Roo命令创建并绑定这些服务。 部署非常容易。 您可以选择将应用程序部署到私有云(自己的服务器)或公共云(VMware服务器)。

我遇到了一个奇怪的不说话的异常(这是Spring Roo经常遇到的主要问题):“操作无法完成:400错误的请求”,但没有其他详细信息或异常。 论坛支持是必要的。 问题是我的云应用程序的名称已经被另一位开发人员使用,它不是唯一的(我尝试使用名称“ SimpleCloudFoundry”)。 一个更多的错误消息会很好! 使用另一个(唯一)名称解决了该问题。

Cloud Foundry只是传统的Web应用程序-与GAE相反

因此,在阅读了之前的介绍之后,得出以下结论:Spring Roo支持将其应用程序部署到Cloud Foundry云。 因此,一切都很好吗? 是的,或多或少令人惊讶,那是真的! Cloud Foundry文档的声明也是如此:„您无需以特殊方式构建应用程序,也无需使用有限的语言或框架功能子集,也无需调用特定于Cloud Foundry的API。 您可以像没有Cloud Foundry一样开发应用程序,然后进行部署。”
那么,为什么要考虑使用其他PaaS解决方案而不是Cloud Foundry? Cloud Foundry应用程序是传统的Java Web应用程序,它们使用Spring并将其部署到Tomcat Web容器。 您没有很多限制(请记住GAE的Java类白名单)或数据库限制(请记住GAE的BigTable概念)。 请注意,由于这一优势,您必须使用Cloud Foundry提供的服务! 目前,您可以使用MySQL,Redis,Mongo DB和RabbitMQ。 不能使用其他数据库或消息传递解决方案。 如果所提供的服务满足您的需求,那么一切都很好。

Roo Shell几乎提供了所有Cloud Foundry命令

通常,您在诸如Eclipse之类的IDE中开发Cloud Foundry应用程序。 此外,您还可以使用VMware CLI(命令行工具)登录Cloud Foundry,创建和绑定服务,部署,启动和停止应用程序,等等。
Spring Roo提供了30多个独特的Cloud Foundry命令。 通过Roo的Cloud Foundry集成,您现在可以从Roo Shell管理应用程序的整个生命周期。 这太棒了! 当然,VMware希望同时推动Cloud Foundry和Spring Roo,因此两种产品之间的连接确实很好。 但是...

没有理由使用Spring Roo进行Cloud Foundry开发

Spring Roo的目标是帮助开发人员更轻松,更快地实现应用程序。 对于创建原型或CRUD Web应用程序来说,它真棒。 但是,创建Cloud Foundry应用程序无济于事。 当然,您可以在Roo Shell中直接使用所有VMC命令,仅此而已。 我想知道这是否有优势吗? 我发现总是在输入我想使用的真实命令之前总是在Roo shell中键入“ cloud Foundry”很烦人。 因此,我Swift切换回了VMC命令行工具。 SpringSource Tool Suite还提供了Cloud Foundry插件,以通过“拖放”来绑定服务和部署应用程序。 非常好!
我认为,使用Spring Roo开发Cloud Foundry应用程序没有任何好处。 当然,有一个例外:如果您开发Spring Roo应用程序(例如CRUD应用程序),那么您可以在同一个shell中完成所有操作,这很酷。
顺便说一句:尽管我确实认为与Spring Roo的结合不会带来任何好处,但我真的很喜欢Cloud Foundry。 它是最早提供关系数据库支持的PaaS解决方案之一(Amazon Elastic Beanstalk除外)。 此外,可以部署到公共云和私有云。 它是开源的,因此将来会提供更多的支持和服务。 但请注意:与GAE相反,Cloud Foundry目前仍是BETA。
本系列文章的当前结论是,Spring Roo并没有真正帮助开发云应用程序。 不过,我喜欢Spring Roo,也喜欢PaaS解决方案,例如GAE和Cloud Foundry,但并没有结合在一起。 如果这种情况发生变化或Spring Roo支持更多PaaS产品,我将写更多文章。

参考: 使用Spring Roo进行快速云开发–第2部分:来自我们JCG合作伙伴 Kai Wahner的VMware Cloud Foundry ,位于关于Java EE / SOA / Cloud Computing博客的博客上。

翻译自: https://www.javacodegeeks.com/2012/06/rapid-cloud-development-with-spring-roo_04.html

使用Spring Roo进行快速云开发–第2部分:VMware Cloud Foundry相关推荐

  1. spring roo_使用Spring Roo进行快速云开发–第2部分:VMware Cloud Foundry

    spring roo Spring Roo是在Java平台上提供快速应用程序开发的工具. 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/0 ...

  2. spring roo_使用Spring Roo进行快速云开发–第1部分:Google App Engine(GAE)

    spring roo Spring Roo是在Java平台上提供快速应用程序开发的工具. 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/0 ...

  3. 使用Spring Roo进行快速云开发–第1部分:Google App Engine(GAE)

    Spring Roo是在Java平台上提供快速应用程序开发的工具. 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-u ...

  4. 小程序云开发报出Error: errCode: -404011 cloud function execution error | errMsg: clou……错误

    报错原因可能是因为login 云函数未部署,如何部署login云函数 确保已通过工具栏云开发入口开通云开发 在 cloudfunctions/login 目录上右键上传并部署

  5. spring roo_开发Spring Roo附加组件

    spring roo 入门 在" Spring Roo简介"系列的第1部分和第2部分中 ,我们使用Spring Roo从头开始构建了完整的企业应用程序. 前两篇文章重点介绍了使用S ...

  6. share extension 不显示_这几项超好用的云开发扩展能力,别说你还不知道!

    云开发CloudBase是云开发团队为开发者提供的一站式云服务,旨在降低开发者使用云服务的门槛,助力开发者快速开发应用.在具体的开发过程中,云开发提供了许多实用的扩展能力,包含图像标签.图像安全审核. ...

  7. base64 不一致_这几项超好用的云开发扩展能力,别说你还不知道!

    云开发CloudBase是云开发团队为开发者提供的一站式云服务,旨在降低开发者使用云服务的门槛,助力开发者快速开发应用.在具体的开发过程中,云开发提供了许多实用的扩展能力,包含图像标签.图像安全审核. ...

  8. 微信小程序--云开发学习

    这两周因为没有布置任务,主要进行微信小程序云开发的学习 ················· 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生 ...

  9. 2022年最新最全,零基础入门小程序云开发

    开始之前 小程序基础课程:https://www.bilibili.com/video/BV1mF411b7tE?spm_id_from=333.999.0.0 大家可以加我微信QQ获取电子书版的配套 ...

最新文章

  1. Js与Jsp、Jsp之间的中文乱码转换
  2. Maven命令行使用:mvn clean install(安装)
  3. windows 2008 enterprise tcpip.sys问题总结。
  4. Linux 实践操作
  5. Anaconda是什么?Anconda下载安装教程 - Python零基础入门教程
  6. 米斯特白帽培训讲义 实战篇 WordPress
  7. java 解析 datatabe,在JAVA实现DataTable对象(一)
  8. 电脑账户与用户账户编码规则
  9. HDU6025 Coprime Sequence —— 前缀和 后缀和
  10. 天津麒麟正式更名为麒麟软件
  11. 与次爱的人相濡以沫,与最爱的人相忘于江湖
  12. mtk平台dump系统分区
  13. 问卷星中问卷设计的一些设置----笔记
  14. AI视觉对抗之隐身T恤「AI前沿」
  15. OpenJ_Bailian - 1088:滑雪
  16. 沪江手操:让你的双手更灵活,手部锻炼五法
  17. 这篇文章让你实现时光机特效的操作
  18. 北师大计算机学院保研,北师大信息科学与技术学院保研-北京师范大学信息科学与技术学院保研推荐免试研究生方法...
  19. java实现excel打印_java实现 excel 打印 问题
  20. 爬虫selenium + chrome (PhantomJS)模拟浏览器 抓取京东商城为例

热门文章

  1. thinking-in-java(11) 持有对象
  2. finally块不被执行的情况总结
  3. 清洁代码_清洁单元测试
  4. r2dbc_使用Spring Data R2DBC进行异步RDBMS访问
  5. 英文连词_连词我们…讨厌
  6. javaone_JavaOne 2015 –第二十版十大收获
  7. spicy命令_Spicy Spring:动态创建自己的BeanDefinition
  8. Netty Java快速指南
  9. apache flume_Flume:使用Apache Flume收集客户产品搜索点击数据
  10. junit:junit_处理JUnit中异常的另一种方法:catch-exception