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

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的GAE支持。 在本系列文章的第2部分中将分析Cloud Foundry。

将GAE应用程序部署到云

此处已经存在一篇很好的介绍性文章,它描述了Spring Roo和GAE的组合: http : //java.dzone.com/articles/creating-application-using 。 简而言之,在GAE云中部署(CRUD-)应用程序没有太多工作要做。 您必须选择另一个数据库提供者,在配置文件中输入GAE应用程序ID,然后使用一个Maven命令(mvn gae:deploy)部署该应用程序。 那就是与“传统” Roo应用程序的区别。 因此,没有火箭科学! 尽管如此,开发GAE应用程序还是有一些限制,例如由于NoSQL概念,您不能使用@OneToMany注释来指定关系。 如果您不遵守规则,部署将分别失败,应用程序将无法按预期运行。

GAE不仅仅是将传统的Web应用程序部署到云中

因此,在阅读了前面的范例之后,结论如下:Spring Roo支持将其应用程序部署到GAE云。 因此,一切都很好吗? 一点都不!
是的,您可以将CRUD应用程序部署到GAE云(如果不使用关系),但是GAE还有很多。 您可以或应该使用“任务队列”来分割您的长期工作,使用BigTable数据存储区和Blob存储区来存储数据,使用URL提取服务使用HTTP(S)与其他应用程序进行通信,以及其他一些GAE服务(例如XMPP) ,Memcache,邮件等。 随着新的GAE版本,可用服务的数量进一步增加。
存在这些GAE服务的原因有几个:您应该能够创建一个自动扩展的云应用程序,而无需任何手动服务器配置和类似的东西。 这就是为什么在不为云开发应用程序时,必须使用NoSQL数据库概念和Fetch URL来代替SQL数据库,线程,套接字编程以及过去使用的其他技术的原因。 Google开发人员并不是很笨拙,无法支持SQL数据库,但是对于高度扩展的云应用程序来说,它并不是合适的技术。 关于“ SQL vs NoSQL”的一篇不错的文章可以在这里找到: http : //java.dzone.com/news/sql-vs-nosql-cloud-which

开发GAE应用程序时缺少几个Spring Roo命令

Spring Roo没有特殊的GAE命令。 您使用persistence命令来创建对BigTable的支持,并使用Maven目标来部署GAE应用程序。 此外,没有GAE命令,尽管您需要使用它们来创建任务队列,BigTable数据存储访问(包括关系),URL提取等。 您必须自己编写所有代码,就像没有Spring Roo一样。 因此,到目前为止,还没有对GAE的真正支持–与Cloud Foundry相反(我们将在本系列文章的第2部分中看到)。 当然,VMware希望推广自己的PaaS解决方案,据我所知。 尽管如此,Spring Roo还应该像针对Web框架一样,为其他解决方案提供良好的支持(与此同时,除了适用于Vaadin,Flex和JSF的插件,对Spring MVC和GWT都有官方支持)。

GAE是Java环境中唯一稳定的,可用于生产环境的PaaS解决方案

请注意,GAE是当前Java环境中唯一稳定且可投入生产的PaaS解决方案。 Cloud Foundry或Red Hat OpenShift等其他产品仍处于BETA状态。 另请注意,存在某些原因导致Google尚未提供SQL数据库支持。 由于公众的批评很大,他们将来可能会添加此功能。 但是,在许多要在云中部署应用程序的用例中,都将需要NoSQL数据库。 因此,我希望Spring Roo在将来的版本中将提供更好的GAE支持。

转到第2部分

参考: 使用Spring Roo进行快速云开发–第1部分:来自我们的JCG合作伙伴 Kai Wahner的Google App Engine(GAE) , 有关Java EE / SOA /云计算的博客。


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

spring roo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

requests高级用法

会话对象 当你向同一主机发送多个请求时,session会重用底层的tcp连接,从而提升性能,同时session也会为所有请求保持 cookie。 #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__:kzg import requestss requests.Session() # 此地址…

怎样恢复oracle函数,Oracle闪回恢复误删除的表、存储过程、包、函数...

在日常的数据库开发过程汇总难免会出现一些误删除的动作,对于一些误删的操作我们可以通过oracle提供的闪回机制恢复误删数据,从而避免出现较大的生产事故.下面是本人平时工作中积累的一些常用的操作,非常简单实用,分享给大家.恢复dml误删的数据:select *…

Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计

Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计 1.1. software development methodology (also known as SDM 1 1.2. 历史1 1.3. 常见方法2 1.4. DDD Domain Drive Design,也就是领域驱动开发。2 1.5. Tdd TDD(测试驱动开发(Test-Driven Developm…

jOOQ API设计缺陷的奇怪发生

jOOQ是一种内部领域特定语言(DSL) ,它以Java(宿主语言)建模SQL语言(外部DSL)。 这篇热门文章描述了jOOQ API的主要机制: Java Fluent API设计器速成课程 。 任何人都可以根据该文章…

精馏塔matlab,MATLAB图解精馏塔理论塔板数程序代码

《MATLAB图解精馏塔理论塔板数程序代码》由会员分享,可在线阅读,更多相关《MATLAB图解精馏塔理论塔板数程序代码(6页珍藏版)》请在人人文库网上搜索。1、MATLAB图解精馏塔理论塔板数程序代码function distillation %文件名“distillation”可以更改% 输入…

c# 衍生类和基类的构造顺序

public class MyDeriveClass:MyBaseClass{public MyDeriveClass():base(){}int derive_int 1;}public class MyBaseClass{public MyBaseClass(){}int base_int 1;} var cls new MyDeriveClass(); 调用顺序如下: derive_int 1;base_int 1;MyBaseClass(); MyDeriveClass();…

oracle unused用法,set unused的用法(ORACLE刪除字段)

set unused的用法(ORACLE刪除字段)一、問題現場有一張大數據量的分區表,數據量在10G以上。因某種原因需要刪除其中的某些字段。如果直接用alter table1 drop (column1,column2);或者alter table1 drop column column1;和alter table1 drop column column2;的話&…

java 计算协方差_Java的深度:通过协方差暴露的API泄漏

java 计算协方差Java有时可能非常棘手,特别是在API设计中。 让我们看一个非常有趣的展示柜。 jOOQ强烈地将API与实现分开。 所有API都在org.jooq包中,并且是公共的。 大多数实现是在org.jooq.impl包和package-private中。 只有工厂和一些专用的基础实现是…

shell启动oracle客户端,Shell实现的Oracle启动脚本分享

Usage: sh oracled [start|stop|restart] SIDs 其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是 restart ,也可以指定需要进行的操作( start | stop | restart )#!/bin/shcmdname"restart"# get oracle sid information from env by…

使用Java 8 Lambda,流和聚合

总览 在本文中,我们将介绍使用Java 8 lambda,流和聚合来过滤和操作Collection中的对象。 这篇文章中的所有代码都可以在BitBucket中找到 。 在此示例中,我们将创建许多对象,这些对象代表我们IT基础架构中的服务器。 我们将这些对…

易语言微凉模块oracle,跟着微凉学易语言 【简单子类化】

本帖最后由 【微凉清风】 于 2011-1-20 18:23 编辑易语言的子类化文章太少了,本人文笔也不好哈,看看VB得吧,别说英文看不懂,看不懂你的易语言水平永远不会提高!一,初识子类当你还不碰过子类的时候,你看到这个标题,定会问:"啥叫子类?".因为你知道我定会为你解答.(阴险…

node服务的监控预警系统架构

需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作。不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性、高可靠性、鲁棒性以及直观的监控和报警 想象下一个存在安全隐患且没有监控预警…

oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?

ORACLE 11204, SOLARIS如下:原始写法,where 条件中,有 OR 条件,这时,索引 IDX_BD_LOTMASTER_NO 走全索引扫描,导致效率非常低,-bash-3.2$ sqlplusSQL*Plus: Release 11.2.0.4.0 Production on…

C# 热敏打印机 Socket 网络链接 打印 图片 (二)

1 IPAddress ip IPAddress.Parse("192.168.1.212"); 2 IPEndPoint iport new IPEndPoint(ip, 9100);//9100为小票打印机指定端口 3 Socket soc new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 4 …

oracle自动内存管理要不要开,Oracle 11g的自动内存管理

Oracle 的 9i/10g 中已经对内存管理逐步做了很大的简化,11g 则更进一步,引入了一个新的概念自动化内存管理(Automatic Memory Management,AMM) . 如果 DBA 真的想偷懒的话,只需要设定两个参数就可以把烦心的事情都交给 Oracle 折腾了(只要 DB…

jaxb util_JAXB自定义绑定– Java.util.Date / Spring 3序列化

jaxb utilJaxB可以处理Java.util.Date序列化,但是需要以下格式: “ yyyy-MM-ddTHH:mm:ss ”。 如果需要将日期对象格式化为另一种格式怎么办? 我有同样的问题时,我正在同春MVC 3和Jackson JSON处理器 &…

いちがつ(2017/1)

org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.enjoyor.soa.traffic.core.tms.mapper.MarkingInfoMapper.Map mybatis的xml配置文件中没有配置parameter map。 要么配置parameter map 要么将select,add等属性中的parameter map 改…

oracle数据库没有选项,创建oracle数据库时,出现ORA-00922: 选项缺失或无效

sdd53HOME新建oracle数据库时遇到ORA-00922: 选项缺失或无效的问题,如图:原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。具体原因:就是开始的用户密…

set和enum类型的用法和区别

mysql中的set和enum类型的用法和区别 mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值, 不同的是set可以取多个值,enum只能取一个值。 12345678910111213[php] CREATE TABLE 20121101_t ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(20) N…

Java EE 8 MVC:使用查询参数

在上一篇有关新Java EE MVC框架的文章中,我们详细介绍了Controllers 。 在本篇和以下文章中,我们将看到如何在MVC控制器中访问各种类型的请求数据。 Java EE MVC大量使用了JAX-RS,我们将在本篇和下一篇文章中看到的大多数内容都是JAX-RS的功…