模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Moxie Zhang 译者 张龙 发布于 2008年5月24日 下午7时25分
随着富Internet应用(RIA)技术的不断成熟,将类似于Adobe Flex这样的RIA应用与健壮的服务器端技术进行集成就变得越来越重要了。Java开发者最喜欢的服务器端框架之一Spring将在这个过程中扮演着重要的角色。
RIAvolutionize the Web的Marco Casario解释到他为何建议BlazeDS成为Spring与Flex结合的企业系统时说道:“Spring是一个开源框架,可以让开发人员开发起来 更加轻松。如果使用标准的JEE方式,你需要编写大量无用或者冗余的代码,还可能花费大量时间去实现J2EE的设计模式,而这些模式仅仅是为了应对技术上 的限制而不是真正的解决方案。Spring可以通过简化这些过程而节省大量时间。”
Christophe Coenraets解释了Flex与Spring集成的基本原理:
Spring的控制反转(Inversion of Control, 即IoC)的主要思想就是让容器实例化组件(并且注入其依赖)。但是在默认情况下,由Flex客户端远程访问的组件是在服务器端由Flex目的文件实例化 的。所以Flex与Spring集成的关键在于配置Flex目的文件以使其能够让Spring容器来管理实例化的Spring beans。Flex数据服务支持工厂的概念以便可以实例化这类客户化组件。工厂的作用仅仅在于向Flex目的文件提供准备好的组件实例,而不是让 Flex目的文件自己去实例化这些组件。
关于Flex与Spring、IBATIS和Cairngorm的集成,Chris Giametta说道:
我相信可以创建一个一致的、模块化的、可重用的架构。这个架构既可以支持小型应用,也可以支持非常健壮 的企业级应用。项目成功的一个关键要素在于创建这样一个架构:新人能迅速投入进去,并且很快就能上手。我觉得将Flex与Spring、iBATIS和 Cairngorm集成可以帮助我迅速构建出一个基于模式的、可重用的架构。
Sébastien Arbogast在不遗余力地发表一系列博文,以阐述如何构建全栈式Flex、BlazeDS和Spring集成解决方案。
Arbogast的这个全栈式集成,从下到上包括如下内容:JBoss作为应用服务器、MySQL作为数据存储、Hibernate完成数据访问、Spring用来构建业务层、BlazeDS作为远程服务、Flexe-genial用来构建富客户端。该系统使用Maven及flex-compiler-mojo插件进行构建。
Arbogast说:“这个项目的建立当然需要一些工作,但是——除去配置文件复制上的一些小问题外(而且这很快会得到改善)——它真的很干净,而且flex-compiler-mojo也非常棒。”
查看英文原文:Integrate Flex with Spring Framework
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
1 条回复
关注此讨论 回复