关于架构的思考 作者: Anders小明 一、 架构是什么通常关于架构的第一个问题是架构是什么,很自然也很正常,本文也不能免俗。然而关于这个问题却没有一致性答案,同时也要注意到不同应用的架构实质上存在不同差异性。(一) 架构的定义架构,虽然人们一直在讨论它,甚至于每天都在同其工作,然而这个词并没有一个被业界广泛认可的定义。大致而言,架构的定义分为三类:
关于架构的思考 作者: Anders小明 一、 架构是什么通常关于架构的第一个问题是架构是什么,很自然也很正常,本文也不能免俗。然而关于这个问题却没有一致性答案,同时也要注意到不同应用的架构实质上存在不同差异性。 (一) 架构的定义架构,虽然人们一直在讨论它,甚至于每天都在同其工作,然而这个词并没有一个被业界广泛认可的定义。大致而言,架构的定义分为三类:...
如何定义和建立架构 作者: Anders小明 在牛津高阶词典(第7版)中,架构(architecture)一词的解释是:the design an structure of a computer system。这个解释实际上已经描述了架构的本质:架构是关于怎么做(构成系统)的,而非做什么的。更进一步,架构是由人来设计实施,因此架构实际上是一个文化(culture)——我们怎么认识或理解系统/产品的,并且我们准...
企业应用下的业务组件开发实践 作者: Anders小明 什么是企业应用下的业务组件首先,这是一个组件,这意味着它需要在容器里运行,因此不包括任何中间件服务,同时以一定结构(文件结构或者压缩格式)组成,被容器识别;其次,这是一个业务组件,即提供的是应用服务,而非技术服务;第三,这是企业应用,在业务上包括功能和服务(Service,当前最时髦的说法,你可以理解为API),技术上(以J2EE来讲)包括:UI资源(JSF、J...
企业应用下的业务组件开发实践 作者: Anders小明 什么是企业应用下的业务组件首先,这是一个组件,这意味着它需要在容器里运行,因此不包括任何中间件服务,同时以一定结构(文件结构或者压缩格式)组成,被容器识别;其次,这是一个业务组件,即提供的是应用服务,而非技术服务;第三,这是企业应用,在业务上包括功能和服务(Service,当前最时髦的说法,你可以理解为API),技术上(以J2EE来讲)包括:UI资源(JSF、J
浅谈领域驱动设计 作者:anders小明2009年5月7日 需求背景现在的样子如PoEAA中提到的:事务脚本(Transaction Script)和表模型(Table Moduel)模式。存在问题事务脚本看到的是零散的数据,而表模型混合了下文要说领域模型和领域服务界限。1. 两者都导致了分析和设计的割裂,领域模型只存在于分析中;数据间的内在关系无法通过代码体现;2. ...
浅谈领域驱动设计 作者:anders小明2009年5月7日 需求背景现在的样子如PoEAA中提到的:事务脚本(Transaction Script)和表模型(Table Moduel)模式。存在问题事务脚本看到的是零散的数据,而表模型混合了下文要说领域模型和领域服务界限。1. 两者都导致了分析和设计的割裂,领域模型只存在于分析中;数据间的内在关系无法通过代码体现;2.
浅谈基础平台 作者:anders2009年5月5日 一、什么是基础平台基础平台对应于业务应用,主要处理技术问题,是为业务应用提供技术支撑以及技术方案的模块或者组件。其目的是使得应用组件可只关注于业务逻辑,而不考虑或者少考虑技术问题。基础平台通常包括如下:基础功能,开发类库,开发模式以及开发部署工具。 二、为何要基础平台应用系统的设计可以说是将一个业务语言翻译成程序语言的过程,这个...
浅谈基础平台 作者:Anders小明2009年5月5日 一、什么是基础平台基础平台对应于业务应用,主要处理技术问题,是为业务应用提供技术支撑以及技术方案的模块或者组件。其目的是使得应用组件可只关注于业务逻辑,而不考虑或者少考虑技术问题。基础平台通常包括如下:基础功能,开发类库,开发模式以及开发部署工具。 二、为何要基础平台应用系统的设计可以说是将一个业务语言翻译成程序语言的过程,这
浅谈企业应用架构(二) 作者:Anders小明2009年5月5日五、架构的技术层面(一)基础手段提高开发效率和品质的基本手段是分解——即充分的分离系统中不同的关注点,好处不用说了,可以并发的工作,每个人面对的问题都简单而容易操作。而与分解对应的集成,只有提供了好的集成能力,分解才成为现实,而只有分解了,才能清晰的提供业务更多适应性。分解和集成的手段分为编程语言和技术框架两个层面。所谓语言就是强框架,而框架就是...
浅谈企业应用架构(二) 五、架构的技术层面(一)基础手段提高开发效率和品质的基本手段是分解——即充分的分离系统中不同的关注点,好处不用说了,可以并发的工作,每个人面对的问题都简单而容易操作。而与分解对应的集成,只有提供了好的集成能力,分解才成为现实,而只有分解了,才能清晰的提供业务更多适应性。分解和集成的手段分为编程语言和技术框架两个层面。所谓语言就是强框架,而框架就是弱语言。A. 开发语言现代面
浅谈企业应用架构(一) 作者:Anders小明2009年5月5日 一、什么是架构在牛津高阶词典(第7版)中,架构(architecture)一词的解释是:the design an structure of a computer system,而架构师(architect)一词的解释是:a person who is responsible for planning or creating an idea, a...
浅谈企业应用架构(一) 作者:Anders小明2009年5月5日 一、什么是架构在牛津高阶词典(第7版)中,架构(architecture)一词的解释是:the design an structure of a computer system,而架构师(architect)一词的解释是:a person who is responsible for planning or creating an idea, a
AOSD的实践冲动——Use Case的实现 Author:Anders小明目前采用是面向对象设计方法,设计的粒度分为两级:类和方法(属性),类似于数据库设计的表和字段;在现有实现体系下,一个方法内部将包容多个Use Case;同时因为Use Case本身的横向扩展,也会导致一个Use Case将关联到多个方法;这是一个多对多的关系,为我们的开发管理带来巨大的成本。为了有效管理Use Case及其实现映射,AOP技术成...
AOSD的实践冲动:Use Case的实现 Author:Anders小明目前采用是面向对象设计方法,设计的粒度分为两级:类和方法(属性),类似于数据库设计的表和字段;在现有实现体系下,一个方法内部将包容多个Use Case;同时因为Use Case本身的横向扩展,也会导致一个Use Case将关联到多个方法;这是一个多对多的关系,为我们的开发管理带来巨大的成本。为了有效管理Use Case及其实现映射,AOP技术成为一个好的
业务流程的层次和内容 Author:Anders小明(2008-1-12更新)业务流程依据不同层次分为3个0. 领域流程领域流程即领域对象生命周期,是流程中的核心;1. 工作流程工作流是处理多人协同工作,三权分立的过程;该过程是建立在领域对象生命周期上;生命周期的不同状态在工作流中都有映射;工作流处理的是领域中Request对象的生命周期;2. 页面流程页面流是处理工作中一个工作...
Domain Model的三种类型及其级别 Author: Anders小明(2008-1-12更新)从以上的分析中,我们可以了解到Domain Model分为三种类型:0. 全局常量对象1. 长生命周期业务对象(类似保单对象);2. 交易过程的Transaction对象,几乎没有生命周期的;3. Request/Response对象。这类对象以前没有识别的,通常和VO混在一起;但是在IAA中以及电信业的模型...
业务流程的层次和内容 Author:Anders小明(2008-1-12更新)业务流程依据不同层次分为3个0. 领域流程领域流程即领域对象生命周期,是流程中的核心;1. 工作流程工作流是处理多人协同工作,三权分立的过程;该过程是建立在领域对象生命周期上;生命周期的不同状态在工作流中都有映射;工作流处理的是领域中Request对象的生命周期;2. 页面流程页面流是处理工作中一个工作请求的分步申请;该过程建立在
Domain Model的三种类型及其级别 Author: Anders小明(2008-1-12更新)从以上的分析中,我们可以了解到Domain Model分为三种类型:0. 全局常量对象1. 长生命周期业务对象(类似保单对象);2. 交易过程的Transaction对象,几乎没有生命周期的;3. Request/Response对象。这类对象以前没有识别的,通常和VO混在一起;但是在IAA中以及电信业的模型是这类对象是独立存在