程立谈架构、敏捷和SOA实践
支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。
作者 Srini Penchikala译者 宋玮 发布于 2008年5月9日 下午9时50分
JavaOne 2008第二天,Emmanuel Bernard讲解了Bean Validation框架(JSR 303)。Emmanuel说到,一个典型的JEE应用需要将约束应用到数据库、数据访问、业务、和持久层上,而且约束实现逻辑通常是在所有这些层次上进行复制的。 JSR 303的目标就是提供一个统一的、与层次无关的方式来表示并实现一个约束。它还提供了Constraint Repository API以曝露针对特定JavaBean的一系列约束。约束是定义在一个bean(领域对象)中的,因此校验逻辑离领域模型最近。校验逻辑可以被增加进bean、域、getter方法、甚至是对象图中(a graph of objects)。他解释说“级联约束检查”特性是用来校验一个对象图的(object graph)。
开发者还可以通过编写自定义注解并使用@ConstraintValidator标签装饰来定义自己的约束。Emmanuel说到,JPA 2.0框架可以使用bean校验框架基于bean的约束注解来产生数据库约束。其它框架如Web Beans、JSF 2.0和AJAX类库也能将它用于校验需求。JSR 303规范是基于Hibernate Validator框架的。它将作为Java EE 6规范的一部分进行发布。
在一大早的主题会上,Thomas Kurian和Oracle开发者团队预展了Oracle Fusion Middleware 11g即将具有的一些特性,包括其SOA套件中的复杂事件处理(Complex Event Processing)和业务活动监测(Business Activity Monitoring)、用于开发企业2.0和社交性计算(Social computing )应用的WebCenter套件。开发者团队还证明了网格计算(grid computing)可以支持BEA WebLogic和Coherence Grid,使企业级开发者可以在虚拟应用服务器环境下运行其应用。他们还展示了JRockit管理控制台以及如何配置JVM以执行确定性的垃圾回收(Garbage Collection)。
查看英文原文:JavaOne 2008 Day 2 - Bean Validation Presentation and Oracle Fusion Middleware Preview
支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。
作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。
Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。
在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。
准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。
I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。
1 条回复
回复