和Google互补的搜索引擎Wolfram|Alpha
Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。
作者 Amr Elssamadisy 译者 孙向晖 发布于 2007年9月6日 上午12时48分
一份来自Cutter Consortium的报告向我们提出了这样一个问题:“敏捷方法和企业架构兼容吗?”并且也给出了这样一个答案:“是的,但需要付出努力”。该报告的作者推荐运用特殊技巧以允许敏捷方法和企业架构互相受益。此外,他们的观察结果、分析和建议也直接是适用于敏捷方法和“面向服务的架构SOA”之间的结合。
企业架构(EA)和敏捷方法(AM)拥有共同的目标——交付能够跟业务需要对齐的软件,并响应对这些业务需要无可避免的变更。然而,EA和AM在达成这个目标时却采用了截然不同的方式。在报告中,对EA和AM定义如下:
EA处理如下的企业级问题:
- 通过提供一个整体的业务过程蓝图将业务策略连接到IT系统,蓝图可以映射到架构模式、核心服务和应用兼容性等方面。
- 通过维护一个当前的数据模式(schemas)、过程流和服务定义等内容的详细目录来改进贯穿于整个企业的一致性
- 通过减少系统间的冗余以及标识可以统一的组件和系统来改进操作效率
- 确保灵活的IT能力,能够响应技术厂商以及新的或者增强性的业务流程自动化的变化
- 通过维护IT 组合(portfolio)、当前和目标架构以及迁移路线图来支持项目成本化和优先级划分
- 为正在进行中的操作和系统开发提供一个稳定的、可信赖的基础设施平台和公用服务
敏捷方法关注于以下观念:
- 改进效率:关注于近期的问题,仅开发能够满足当前需要的的部分,允许以后形成设计
- 改进项目可见的可管理性:关注于允许任务的完成能被有效评估的短期的、迭代的开发周期
- 通过提供一个完整的过程,关注于广泛的自动化测试、尽可能早并且经常解决集成问题、允许多个(缺少丰富经验的)开发人员在共同的代码上开展工作以及从最终用户处得到持续反馈等方式来改进质量。
- 通过建立在持续重构过程上的集成来改进(内部质量的)可维护性
- 改进处理变更的能力:它是一个需求变更、一个澄清、一个新的需要优先处理的特性?通过综合客户反馈计划迭代内容。
- 通过隐式知识的使用、共享的团队空间以及关注问题的小的组成部分来改进交流效果。
我们会先从EA的视角来检验AM然后反过来检验以分析EA和AM之间的鸿沟。从EA的视角来看:
从AM的视角看,EA也不是非常有意义的:
报告的标题确实说:“是的,但需要付出努力”,所以仍然还有希望。但需要EA组和AM项目认识到对方有价值的贡献,并在他们的工作中做出适应性调整。EA组和AM团队可以相互得到以下收益:
InfoQ同报告的两位作者(Michael Rosen和Jim Watson)就该专题的内容以及导致他们给出的推荐方案的客户经验等方面进行了交谈。Jim Watson描述了最场景的场景:
一个曾经使用过其中一种但因为缺乏对另一个的使用而失败了的项目会最大程度拥有使用两者的经验。例如,一个重要的文档处理系统可以使用最好的AM实践开发出来,但不能协调好系统的EA需要如跨越需求、接口、和操作性问题等。作为选择,一个采用瀑布方式的项目会准备妥当它的所有的企业架构,但是却不能向及早的向客户展现它的价值,或者不能够通过有意义的迭代来解决风险问题。所以,这些paper都是来自于经验的,例如:项目是如何因为忽略了其他可行的规程才陷入这种境地的,有效的处理方式是什么等。
一个意义更加深远的案例可能是在项目启动时均衡EA和AM。 然而,这其实非常难,很少发生,主要是因为组织性问题,以及谁在过程的哪个部分被涉及的角度。你会看到很多的失败,例如架构师跟客户(更惨的是在根本没有客户)但没有开发团队参与的情况下整理需求,然后开发团队脱离开架构师进行接管。
Jim Watson和Michael Rosen告诉我们,关于这个专题的范围,SOA可以被看作是EA的一个实例。因此这里所有相关的问题和解决方案适用于采用了SOA并存在AM团队的组织(无需惊讶,这与InfoQ上的文章SOA和敏捷:是朋友?还是敌人?相吻合)
EA和AM的交互并不依赖于SOA,但值得注意的是SOA提供了相互的兴趣和问题以允许进程一起使用EA和AM。例如,想在一个SOA主导的项目定义真正有用的业务级别的服务可能具有难度,一个缺乏AM开发实践的由EA主导的SOA会产生许多的SOA shelfware,因为它很难实现或者仅仅定义出不是真正需要的接口。
一个推荐的方案是, 对一个AM团队而言它被当作架构的一个包含部分,作为每个团队的成员与EA组进行联络。当被要求阐明推荐Architect Reloadus 或是 Architect Oryzus(其定义见Martin Fowler的Who Needs an Architect? )中的哪种架构类型时,Michael Rosen建议哪种也不采用。在大的组织中会拥有重要的EA组,一个典型的IT组可能拥有2000个员工,500个架构性的重大项目,在EA组中只有70个架构师。没有足够的架构时可供应因此Architect Oryzus很难应用。Architect Reloadus同样不能得到应用,因为它们没有可实施的环境。有效的架构师的使用方式是作为一个单独的AM团队的咨询顾问,这样,一个来自EA组的架构师就可以发挥效用而不是嵌入到团队中。
所以,拥有EA组和AM团队的组织不必要互相容忍,虽然他们拥有共同的目标,他们的缺省操作模式是不与其它成对的并且(成对使用通常会)产生问题。因此这些实践等对达成企业的战略目标和交付战术性的软件项目非常有用。
最后,完整的报告可以从http://www.cutter.com/events/multimedia/agilemethods.html 处下载,在页面的底部还包括推广报告所用的代码。
查看英文原文:Making Agile Methods and Enterprise Architecture Play NiceWolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。
Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。
罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。
Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。
中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。
HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。
没有回复
关注此讨论 回复