摘要:以往的开发都是模拟一般的传统工业进行的。人们把软件当做一个产品,一个流水线上的产品。所以就出现了先搞可行性分析(其实真正开发的时候没人去搞这玩意儿,既然都要开发了还分析个什么劲~),然后是需求分析,遇到负责的开发团队偶尔会画画图,要是遇到奇葩的开发团队很有可能一个需求闯天下了。整个软件的开发周期中只有一个需求文档其他的什么都没有的开发团队随处可见,因为没有文档所以做不了升级所以只能推倒重来,于是开发人员感觉文档更加没用,如此一来恶心循环。(这个关于文档的内容不属于本篇博客讨论的话题)下面就带着读者来看一下敏捷开发是如何从传统的开发模式演变而来,或者说软件开发是如何一步一步的走向“成熟”(成熟是 阅读全文
posted @ 2013-09-29 17:54 郗晓勇 阅读(825) 评论(0) 推荐(0) 编辑
摘要:好吧,我承认题目就是个噱头,无聊的时候自娱自乐是一种病,得治!今天要说的话题就是单元测试。从题目说起,厨师和司机都是非常常见的职业,在他们的职业生涯中有着各自的单元测试(其实单元测试无处不在,这里只是举一个简单的例子而已,请大家领会精神)。菜桌上的每一道菜所经历的每个步骤都有单元测试。从种菜开始菜的种子要经过精心挑选的必须成活率符合标准才会发放到各地的种子站。然后农民伯伯辛苦种菜拉到菜市场,到了菜市场想卖出去必须得有营业执照(不怕城管的好汉们除外)还得有卫生许可等等吧,每一步都是一个单元测试。相比而言那种自产自销的农家作业要么规模小要么质量达不到保证。和司机有关的事物更是如此,每辆在马路上行驶 阅读全文
posted @ 2013-09-25 15:57 郗晓勇 阅读(425) 评论(1) 推荐(1) 编辑
摘要:刚接触敏捷开发时候很是不适应,单单就没有文档这一项就感觉很别扭。什么都需要去问旁边的同事。开发团队的人也说这是敏捷开发没有文档。我也就信以为然了。现在重新审视一下文档这个东西不觉发现其实敏捷开发的出现是有其道理的。软件开发虽说是开发,但是从整个软件的生命周期来看大部分的时间都是在维护,以前一直把软件开发当作修建建筑,现在想想这么比喻是有缺陷的。建筑一般盖好之后轻易不改变,要改变就是推倒重来。但是软件不是这样的,一旦产品上线这个产品会经历用户的检验然后产品升级通过一遍又一遍的迭代,逐渐的这个软件变得越来越好,就像windows系统似的。与其说软件开发是一个制作过程还不如说软件开发是一个从普通逐步 阅读全文
posted @ 2013-09-04 22:58 郗晓勇 阅读(411) 评论(2) 推荐(0) 编辑
摘要:好像听过很多种关于王道的说法,高考的时候数学老师总是说唯有数学才是王道,物理老师则说唯有物理才是王道,当然了在每一个“王道”的背后都隐藏着一个“阴谋”。老师们的目的无非就是让学生们从内心觉得自己教授的这门课程是非常重要的。所以不同的老师杜撰出不同的“王道”用语,这也是无可厚非。把这段话写到前面是因为这篇博文同样隐藏着一个“阴谋”,希望读者读完之后能了解到笔者的用意。曾经读过一个《一万小时天才理论》的书,上面说无论哪个行业无论谁,做一件事坚持一万小时的全身心投入,必然会有令人称赞的成就。如果按照书中的计算方式每天专注一件事情八个小时(其实这是不可能的,人每天工作的时间是八个小时,全身心投入的时间 阅读全文
posted @ 2013-09-04 21:50 郗晓勇 阅读(314) 评论(0) 推荐(0) 编辑
摘要:This is my first English tutorial; I hope I can help you to learn VIM. Any question send email to me. Thank you for watching!1. Install-------------------------(YouTube)(优酷)2. Move----------------------------(YouTube)(优酷)3. Basic editing operations--------(YouTube)(优酷)4. Common commands------------- 阅读全文
posted @ 2013-08-01 21:32 郗晓勇 阅读(211) 评论(0) 推荐(0) 编辑
摘要:SOA中的MEP和JavaEE中的JMS类似,当然了就应该是类似的,因为都是关于消息方面的。一个是对系统架构当中消息的解决思路,一个是针对Java平台中的消息的具体解决办法(严格说不是具体的,只是提供了接口而已)或者说和上面分析BPM与Jpbm一样,前者是后者的特例,所以后者有的特征前者大部分都有。就像JMS规范中描述的那样消息无非也就是请求与应答,这里有两种基本的模式其实很简单啦。第一种就是请求/应答,第二种是请求不应答(单程)。如果两次单程消息的传递可以类似的成为一次请求/应答模式。但是他们还是有区别的,单程的消息传递是没有阻塞的,发送了就不需要发送者再去关系消息,而请求/应答是阻塞的,只 阅读全文
posted @ 2013-07-31 23:43 郗晓勇 阅读(234) 评论(0) 推荐(0) 编辑
摘要:在接触SOA之前对“服务”这个词没有太多的感触,无非就是为别人做事情么。当然在SOA中这个词也脱离不了这层基本的涵义,但是具体到实际的架构中对这个词的理解就更加深刻了。本文就以“服务”为中心说说笔者对这个词的理解,尤其是它在SOA这个环境下的理解。由浅入深咱们先从现实说起,通常我们日常所说的“服务”这个词既可以是动词,也可以是名词例如:“为人民服务”“服务行业”。在国内对“服务”这个词理解有些误差,这和我们的民族文化有很大的关系。在很久之前作为官员常常说“做人民的公仆,为人民服务”使得人们感觉当官的没有架子,一心一意为人民办事(可事实上官员就是官员,有权利及时有权利,高高在上就是高高在上,人民 阅读全文
posted @ 2013-07-31 23:36 郗晓勇 阅读(284) 评论(0) 推荐(0) 编辑
摘要:什么是BPM很多情况下企业当中所提供的服务不是由一个分布式业务流程就可以完成的,整个服务的提供需要多个分布式流程有机的组合,于是BPM就应运而生了。要将现有的服务通过配置、编排(关于配置与编排的区别后面将说明)以满足具体的业务流程的目的就不得不借助于工作流的相关内容。毕竟各个服务之间的配合是为了提供一项合理的业务流程,这样的话就必须要设计流程,说白了就是各个服务谁先谁后的问题。从字面上理解BPM所要做的就是对整个业务流程进行管理。这其中包括很多方面,比如分析业务、实现业务功能、检测业务流程、建立相应的操作流程的工具等等。在真正开始动手之前通常要做的将业务分解成已有的底层服务可以处理的小模块。实 阅读全文
posted @ 2013-07-29 14:51 郗晓勇 阅读(251) 评论(0) 推荐(0) 编辑
摘要:企业服务总线(Enterprise Service Bus)是SOA的基础设施,之所以这么说是因为要达到SOA的目标(增强灵活性)就必须有调用服务的方法,ESB的存在有效的保证了消费者能够调用供应者提供的服务。网上有很多对ESB不同的理解,其实这取决于实现ESB方式。对于ESB来说具体的实现方式不是固定的,但是核心思想(主要的作用)是一致的。下面将从如下几个方面阐述笔者对ESB的理解数据格式转换ESB的存在就是为了解决SOA当中互操作的问题,由于SOA是支持异质的所以对于ESB来说主要的作用就是处理不同平台不同语言之间的相互调用。那么首先要做的就是数据格式的转换。在异质的环境中如果只解决一对一 阅读全文
posted @ 2013-07-01 21:37 郗晓勇 阅读(307) 评论(0) 推荐(0) 编辑
摘要:什么是SOA?常常听到人们拿OOP和SOA一起来说事,诸如SOA是否可以代替面向对象(OOP)或者两者比哪个更加有优势?直接回答有难度举个例子可能显得答案更容易理解。小孩子问你该认真写作业呢?还是高考的时候报理科呢?摸不到头脑吧,根本就毫无意义的风牛马不相及的问题。(确切的说OOP和SOA还是有一些关联的,就像好好学习可以在高考的时候报理科是一样的。)面向服务的体系结构(Service Oriented Architecture)指的是一个系统的架构,他的研究领域是大型分布式系统的“架构”范式。而OOP指的是程序具体开发过程中的“编程”范式。再通俗一点说就是在一个具体的软件内我们谈论OOP,但 阅读全文
posted @ 2013-06-28 23:58 郗晓勇 阅读(350) 评论(0) 推荐(0) 编辑