spring roo

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工具套件还提供了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 /云计算的博客。

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

spring roo

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

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

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

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

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

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

    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 在Keyhole工作期间,我参与了许多项目,其中客户要求我们重写旧系统,同时保留其现有数据库. 有时,它有助于快速演示如何使用当前技术来简化开发,测试和维护其代码. 我发现可以创 ...

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

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

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

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

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

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

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

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

最新文章

  1. 每日一题 -- 11-1
  2. __bridge 使用注意
  3. 特定构造方法 如何让子类重写某些方法时提醒调用super
  4. JVM结构、GC工作机制详解
  5. Linux下Tomcat多部署形式,让每个项目维护起来互不影响
  6. mysql多表查询书籍_MySQL多表查询及子查询
  7. Redis进阶-分布式存储 Sequential partitioning Hash partitioning
  8. 图深度学习前沿工作汇总与解析
  9. cad渐开线齿轮轮廓绘制_如何在机械CAD软件中自动生成齿轮
  10. html中第一行代码,HTML5 CSS3初学者指南(1) – 编写第一行代码
  11. mysql 数据库日志管理工具_mysql mysqlbinlog日志管理工具使用教程
  12. Web测试中新增修改功能测试
  13. 火山PC编辑框组件详解1
  14. 三、C语言的数据类型—浮点型数据
  15. 基于微信小程序的校园二手图书设计与开发
  16. 微信公众号开发,报错{errcode:41005,errmsg:media data missing hint:}的解决办法---亲测有效
  17. Numpy之reshape(1,-1)含义
  18. 服务端分布式缓存与本地缓存
  19. 机器学习的最佳入门学习资源
  20. 怎样度过研究生生活,如何度过研究生生活

热门文章

  1. JDK8之新特性扩展篇
  2. vue调用methods里的方法
  3. 这个点名系统太好用了,快来看看……
  4. 深入.net平台的分层开发
  5. Java int 转大端序、小端序
  6. php移动代码,移动专区周级收录如何提交 复制这段php代码即可
  7. apache derby_Apache Derby数据库JVM安全策略
  8. 分布式 虚拟时间和虚拟同步_分布式虚拟跟踪
  9. java程序设置jvm_Java程序员应在2018年学习的3种JVM语言
  10. aws实例启动失败_AWS:启动安装了APOC的Neo4j实例