模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

作者 Miko Matsumura 译者 胡键 发布于 2007年6月25日 下午8时43分
Accenture首席技术官Don Rippert的近期访谈的主题是:激活SOA的全部潜力还需五年。但是,访谈中隐藏着一个简单的论断,即使用企业服务总线(Enterprise Service Bus,ESB)是实现ESB全部潜力4步中的第三步。Don Rippert模型中的步骤如下:
Rippert先生在采访中表示,尽管很多组织拥有ESB,但是它并没有被完全利用。他进一步的表示,大多数公司仍处于阶段1。与这个ESB所处位置的论断相对比的是,Burton Group的分析师Anne Thomas Manes的叙述,其发表于近期面向服务架构Yahoo Group的讨论中。Anne说:
......如果缺少我推荐启动SOA的“基本组件”,ESB将不会列在我的清单中。事实上,我并不鼓励人们由ESB开始。ESB并不会鼓励好的SOA行为。ESB本质上是集成系统,而非SOA系统。SOA是用于拆卸应用竖井(application silos),而集成系统则是修补这些竖井。
引用她的书,她接着提及的基本组件包括:
引用组员早期的帖子,她说道:
“......ESB特别适合桥接传统应用,因此,在服务基础设施中,它是一个有用的组件。很多ESB也支持可靠消息传递、异步消息传递和发布/订阅交换模式。这些能力都非常有用,但是,在SOA项目的初始阶段可能不会发挥多大的用途。(每个组织有很多不选用这些能力的项目。)在SOA项目的后期,你还可能需要一个编制(orchestration)引擎,并且大多数的ESB都会提供一个。即便如此,ESB也绝对不是组织启动SOA的起点。所有这些能力你一开始并不需要。因此,ESB应该在后期购买。”
这似乎符合Rippert先生的观点,即尽管很多组织拥有ESB,但是它并没有被完全利用。Manes女士的评论同样有助于定义ESB的范围,通过暗示许多ESB支持的特性,它确定了一组适当的能力。
根据维基百科的ESB定义,ESB有如下特性:
维基百科的定义容许“ESB精确定义的变种”。
Manes女士和Rippert先生似乎都同意ESB是有用的,并代表项目后期用于部署SOA的功能集合。维基百科的定义可以作为讨论的起点,主题是关于如何定义这一有用技术。
在随后的讨论中,请关注ESB的定义,而非本文中引证的业界专家的观点。
查看英文原文:ESB Roundup Part One: Defining the ESB
本采访是在伦敦举行的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谈论了跟他的新作。
没有回复
关注此讨论 回复