从卓越工程角度看微软中国开发团队的成长
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
- .NET,
作者 Floyd Marinescu译者 戴垚 发布于 2008年4月1日 上午2时35分
在这篇最新的InfoQ文章中,JBoss jBPM 的缔造人和领导者Tom Baeyens总结了工作流&BPM标准和工具的现态。在详细探讨了BPEL,BPMN和其他技术(如,编排、XPDL、BPDM、jPDL)之后,Tom指出:期望不懂技术的业务分析员通过画图来产生马上可用的软件的念头到了该抛弃的时候,将过程分析模型和过程执行模型分离的时机已经成熟。这种分离正是jBPM的基础(见过程虚拟机),Tom提出的主张和微软的工作流所采用的方法有颇多相似之处。
阅读全文:过程组件模型:下一代的工作流?
在进一步探讨将执行框架从过程框架中分离出来的时候,Tom解释说:
首先,可以观察到的是在同一活动组件框架上可以实现多个过程语言。每一个过程语言由多个活动类型组成。对于每一个活动类型,运行时行为可以用诸如Java或c#这样的通用编程语言实现。因此可执行过程语言就成为了一组活动类型的实现。这种活动组件最重要的部分是实现过程结构运行时行为的代码。但同时XML序列化,配置过程组件的设计窗体,持久化和许多其他部分都可能被包括在过程结构组件中。
很多其他BPM框架提供者,包括Sun中间件&标准大师Mark Hapner,都已经对此文发表了评论。
查看英文原文:Article: Process Component Models: The Next Generation In Workflow?不错,收藏下来慢慢读,有些长!:)
将英文原文大体过了一遍,只看到他在提 process component model。但是这个东西不正是弥补analysis process models and executable process models gap 的好东西吗,为何说要放弃“让不懂技术的业务分析员通过画图来产生马上可用的软件的念头”呢?
链接的地址都是英文的
INFOQ是不是还没有翻译完成?
sorry,我们编辑发布时候的问题,已经修复
运行时的东西过于技术化,当然应该由技术人员来负责。因为关注点的不同,直接叫BA来把所有事情搞定显然不切合实际。即使有了PCM,也只是改善了翻译和沟通的情况。就这篇文章看来,最终一种可能的形式是BA充当了类似开发中的设计者的角色;而技术人员则负责将其实现,类似开发中的开发者。
文中提到:“一个重要原因就是象Java这样的传统编程语言不支持可持久化的等待状态。” 我也曾从JBoss的架构师口中听到这段描述,我感觉很奇怪,为什么java语言需要支持持久化等待? 目前最流行的持久化,不就是DB或者文件么?这个职责应该是应用程序本身提供,或者一个通用的框架提供,没听说过哪个语言需要负责持久化的。大家有过这样的需求或期望吗?有人能解释一下这句话吗?
这里的重点是“等待状态的持久化”,而非单纯的“持久化”。对于过程,至少有两个概念需要区分:过程定义和过程实例。过程定义即相当于类定义,是静态概念;过程实例即相当于类实例,是动态概念。一般的过程实例都会跨长时间段,比如几天或几周,这样等待状态的持久化问题就显得重要了。但是Java不会自动的将这些处于等待的过程实例的当前状态保存起来,需要流程引擎来完成。打个比方,你每次断电后开机,都得重新打开工具进行工作。但如果,OS支持持久化的话,应该会将断电关机瞬间的内存状况全部记下。下次开机时就重那一点开始。就像你休眠机器一样。(不知是否讲清楚,呵呵)
前面的铺垫都看明白了,就是到了最关键的地方没太明白。TOM是说JBPM在业务建模和业务流程之间建立了个基础层,这个层完成了流程组件的定义工作。然后具体的过程语言再去实现它?我的理解对吗?如果对的话,JBPM是如何实现这点的呢?我简单用了一下JBOSS的TOOLS,好像他们也就是在每个流程单元中加了一些ACTION来完成时间的动作。没觉得多了什么?
关于这一点,你可以去看看JBPM的参考手册了解详情。
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。
本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。
人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。
在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。
10 条回复
回复