产品线工程:软件产品线-规模化产品开发介绍
做开发做了5到10年,除了关心技术之外,我们需要发展还需要学习什么呢?产品线是系统的系统,这个必须有:)做产品基本上都不会只做一个项目和单个产品的,现在基本上多是走产品线的路子,那IT如何适应商业需要进行软件的产品线开发呢?我想首先要去了解软件工程中的软件产品线的一些基本概念和如何去做,本篇截取我做的一个ppt中的一些图与大家分享一下。
http://www.cyqdata.cn/cnblogs/article-detail-3442
ESB产品架构系列之通道设计
1.概述
消息处理管道是ESB架构的一个核心部分, ESB的核心有消息处理器分为两部分,一部分是路由处理器,一部分是端点处理器。当然,我们的基础组件也会适时的在两部分的处理器中间,拦截加入多个基础组件处理器。例如,日志组件,会在各个部分加日志处理器,以记录ESB运行的日志 。在(图1-1)中只是一个简单的通道,在这个通道中没有分支,路由处理器也只有一个,在实际的使用过程中当然没有简单,在路由处理器可以有多个,Endpoint也可以拥有多个。当整个通道的分支过于复杂的时候,建议还是把它看成一个业务流程,交他专业的BPM应用来做,这样不但可以减少ESB复杂度,而且可修改性也能有一个大的提高。 在实际的开发过程中,我们可以使用责任链的模式。一条责任链就是一个通道,消息处理器就是责任链中的一个个ha
http://www.cyqdata.cn/cnblogs/article-detail-2623
ESB产品架构之愚见(三)
1 ESB 内部视图
从静态来看 ESB 系统,它主要由三部分组成 ( 图 5 ‑ 1 )
l Endpoint :他的职责被分为两部分,一部分是接收响应用用户的请求,另一部分是请求服务的服务方
l Router :主要是消息的路由。当 endpoint 接收到一个请求后,会交由路由来选择相应的消息服务方,或都对消息进行一些处理。
l 基础组件:支持整个 ESB ,的共同组件。
图 5 ‑1
如果从动态的角度来看 ESB 系统,你会发现,在 ESB 的内部我们可以看成是一个个有组织的消息通道(图表 5 ‑2 ),用户在请求 ESB 时会选择一个相应的消息通道。在这个消息通道中,会有很多的处理器,他们根据处理器自己的职责对消息流进行相应的处理。
1.1 &nb
http://www.cyqdata.cn/cnblogs/article-detail-2528
ESB产品架构之愚见
1 主要概念
SOA :英文全称是 Service-oriented architecture ,现在概念比较的不统一,主要由以下几种定义
W3C :可以调用的一系列组件,其接口描述可以发布和发现。
CBDI :一组策略,实践和框架,支持将应用程序功能作为一组服务在与能够调用,发布和发现的服务使用者相关的粒度发布; 这组服务是使用接口的单一标准形式从实现抽象出来的。
Gartner: 面向服务的体系结构是一种客房机/ 服务器软件设计方法,其中的应用程序由软件服务和软件服务的使用者(也称为客户机或服务请求方)组成。SOA 与更为通用的客户机/ 服务器模型不同,其定义强调软件组件间的松散偶合及对独立接口的使用。
IBM :面向服务的体系架构(Service Oriented Architecture,SOA )是
http://www.cyqdata.cn/cnblogs/article-detail-2257
Web产品设计思路浅解
>
两年前,看了《情感化设计》很是感触,作者将设计分了层次分为三个层:本能、行为和反思,按我的理解是,界面、功能和自我实现,当然界面已经包含了产品的一切,但我指的仅仅是简单的界面层次,不包括由界面的功能层次。功能指的是产品所包括的功能,自我实现,这个词有点别扭,但我想不到别的词了,暂时用这个吧,自我实现指的是,系统营造的气氛给用户带来愉悦,让用户觉得有趣或者说有意思之类的感觉。这本书的理论很经典,可惜我做开发的,对于产品设计不是很了解,看不出这些理论有什么可操作性,很是迷惑就把书放下了,到现在,对于产品有了些许认识,也想把自己这些想法记录下来,当作自己的积累吧。
好的设计自然要是好看的,这一层不容置疑,但毕竟这一层是在需求之后的,也就是说必须先有功能,才到界面设计。那么先来说功能设计,什么用的功能是好的功能?对于用户来说,自然是用户最需要的功能且是好用易用的功能,说到这,得先
http://www.cyqdata.cn/cnblogs/article-detail-1650
使用Repository模式支持产品的客户化
本篇博客简单描述了Repository模式在OEA中的应用。 不使用Repository时的问题 OEA框架中使用了DDD的思想,面向领域对象进行开发。在DDD中,有很多重要的概念,例如:聚合实体对象、值对象、仓储、工厂、服务等。(不太了解的Repository和DDD的朋友,可以看Evans写的《Domain Driven Design》。) 在OEA中,实体的实现框架使用了CSLA分布式框架。原来为了简单并保持和CSLA开发模式的兼容,一直都把实体的获取模式直接以静态方法的方式直接写在实体的对应列表类中。例如下面这段代码: 随着应用的慢慢深入,出现了一些问题: 不易支持客户化。OEA是基于产品线的开发,如果采用前面的开发模式,
http://www.cyqdata.cn/cnblogs/article-detail-250
产品版本改造中的项目管理
近段时间,一直在负责一个产品版本改造(C/S系统进行B/S改造)的研发项目管理,在任务紧、时间短、团队成员又没有相关技术(Silverlight)背景的恶劣情况下,我带领包含我在内只有6个人员(5个研发人员,1个产品经理,产品经理在系统版本改造中主要精力投入到辅助市场部进行产品推广去了)的超小型项目团队,终于在公司给定的时间范围内完成了整个产品的版本改造。这其中经历了需求变更、技术风险、人员变动等诸多问题,项目任然取得了成功,这种使用新技术的试验项目能够取得成功不得不说有几分侥幸,更多的还是团队兄弟之间的互相帮助、团队协作。
在历时3个月的产品版本改造过程中,经历了大大小小的诸多问题,积累了一些经验和教训可以和大家分享。其中主要包括:需求、设计、研发、测试、实施、进度、风险、沟通、团队管理等。由于刚涉入研发项目管理,很多方面都做得不到位,于此记录下本次产品版本改造中的点点
http://www.cyqdata.cn/cnblogs/article-detail-214