运用Ruby纤程进行异步I/O:NeverBlock和Revactor
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
作者 霍泰稳 发布于 2007年8月29日 上午2时11分
Grails给Java平台带来了Ruby on Rails风格的生产力,它建构于Groovy语言之上,并完全与Java集成。该教程展示了围绕一个已有的EJB 3实体Bean领域模型,如何使用Grails来快速地构建一个功能齐全的Web站点,而且代码很少。
Ruby on Rails不断地受到软件工程世界的关注,但企业依旧对其表示怀疑。为什么会这样?我们怀疑:“构建于脚本语言之上的框架,怎能适合我的企业应用?!”针对Ruby on Rails,典型的论调就是缺少对企业服务(如分布式事务、消息传递等)的支持。对很多企业而言,如果平台没有这些服务,那么它将不可能被考虑。
Grails旨在解决那些关注点,并证明快速应用开发(RAD)对企业是可行的。Grails建构于Groovy之上,提供了与Java的无缝集成。它能直接访问你的业务所依赖的那些企业服务,同时为你的工具集增添强大的动态语言结构。
作为展示它企业集成能力的令人印象深刻的一个例子,Grails可让你快速而简单的基于已有EJB3实体Bean构建一个Web应用。但是,它的能力并不是仅此而已。Grails大幅增强了你的实体Bean的能力,而且这些完全是动态做到的,没有更改任何你的EJB源码。Grails对象关系映射(GORM)建立在Hibernate3(最终将提供对Java持久化API的支持)之上,利用Groovy的元对象协议(MOP)为你的不同静态实体Bean增加了各种方便的动态方法。这些方法不仅能从Grails和Groovy访问,而且你的Java代码同样能访问它们!
在本文中,作者创建了一个新的Grails应用,将实体Bean导入到应用,为实体Bean产生快速构建缺省Web界面的脚手架代码(scaffolding),然后再探索Grails为实体Bean增加的一些方便的动态方法。通过非常少的代码,获得了一个功能齐全且具弹性的应用。在构建这个应用的同时,没有改变现有实体Bean中的任何一行。而且因为开发人员只写了非常少的代码就到达了这一点,所以在只需要维护更少的代码。在以后当需求再次改变的时候,这也意味着将书写更少的代码。当你的应用就是敏捷的时候,只需想想你可以多快的对演变中的业务需要做出反应!
阅读全文:Grails + EJB领域模型教程
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。
Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
1 条回复
回复