迷途书童

敏感、勤学、多思
随笔 - 77, 文章 - 4, 评论 - 86, 引用 - 0
数据加载中……

快速构建面向服务的应用-1

不知不觉毕业已经四载有余,几年来一直和太阳公公比着赛上班,披星戴月着下班。随着年龄和资历的增长,工作和生活的时间比值竟然越来越大,回首过去,偶尔也感叹一声,真是驴一样的年华。

近年来中国的IT也发展的红红火火,人才辈出,网络上好文比比皆是,但是却没有一篇是我的,真是悲哉

女朋友走了,时间多了,百无聊赖之际,努力想为我慢慢逝去的青春留下一点可供回忆的东西,琢磨着写一篇记录我的一些火花的文章,也希望能给网络上的朋友们提供一些参考,为祖国的IT业尽一点绵薄之力,便是我最大的心愿。

废话少说,开始进入主题,我的火花是“建立一套快速构建面向服务的应用应用生成环境,简称ACEApplication Creation Environment)”以及对应的“应用执行环境(AEEApplication Execution Environment)”。

第一篇         面向服务的快速应用生成环境

案例和问题就不分析了,无非是什么支撑业务快速上线、快速响应用户需求、降低开发成本、淘到第一桶金、抓住用户的心、实现业务敏捷等等之流。每当做起这种事情就头痛不已,但是领导又最喜欢看这种东西

目标:

l  基于MDA的思想,建立一套端到端的开发环境,端到端指从前台展现逻辑到后台业务逻辑、数据持久逻辑、业务流程逻辑等。保守估计,期望至少能够减少开发工作量的50%以上(本人一向比较低调)。

l  支撑面向服务的应用程序构建,不绑定特定实现环境。如,不绑定C++或者java等特定的实现方式。

l  不局限于某种特定的界面展现技术,如swingweb等。

l  不局限于服务的分布方式,如不要求服务一定在本地,可以在本地也可以部署在世界各地。

姑且按照我的愚见,对一个典型的应用参考DDD的理念作一下抽象,后面全部按照这种理解来推导ACE应是何物:


一个典型的企业应用的元模型

从上图中,可以看出,DDD中的主要类型的领域对象都在:RepositoryServiceEntity Process也是一种特化的service。还有一个东东:DataView,不知道叫它什么好,先不费脑筋去给他取名了。

下面一一解释这些东东的含义:

Name

Introduction

Association

Remark

Data Entity

数据实体

表示企业应用中的数据实体,比如订单管理系统中的订单对象就是一个数据实体。

数据实体之间可能有关联。比如订单对象关联多个订单项对象。

Data View

数据视图

表示数据实体的一个视图,也可能是多个有关联的数据实体的一个视图。类似于DB中的视图的概念。

数据视图关联一个或者多个数据实体。无须多解释,参考数据库视图就可以了。

Service

服务

表示企业应用中的服务对象。比如订单管理系统中的订单服务。服务的粒度可大可小,原子服务也可以聚合成业务服务。类似SCA中的服务聚合。

服务可能聚合服务形成大粒度服务。服务可能接收数据对象,输出另外的数据对象。

服务不能包含有与特定应用上下文相关的状态信息,不然影响复用。每个服务对服务的使用者来说是无状态的。

Process

流程

各种各样的流程的顶层抽象,流程也是一种特殊的服务

所有的流程都将有服务参与。因此流程与服务有依赖关系。

Operation Process

操作流程

表示一个业务逻辑处理过程,比如我们计算一个四则混合运算表达式的时候,心里会先分解城一个一个的计算单元,然后先算某个单元再算某个单元,算完收工。这一个一个的有次序执行的计算单元就是一个操作流程。这种流程的生命周期很短,流程运行数据不需要持久化,一次调用就走完,不走完就完全失败。

操作流程可能与数据实体和服务关联,比如做四则混合运算的操作流程,要接受数据,接收了数据之后呢,要调用各种加减乘除服务来做计算单元的运算。

Business Process

业务流程

业务流程表示数据实体的一个有次序的处理过程。这种流程表示人工协作处理一件事情的一个过程。就是常用的工作流的概念。

业务流程肯定要和数据实体、服务关联的。这个就不详细说明了。

Orchestration Process

编排流程

编排各应用系统暴露的服务达成业务目标,一种实现就是BPEL

编排流程肯定要和服务和数据实体关联,也不多说,看BPEL规范就是了

View Process

视图流程

数据实体通过数据视图来展现,而数据视图之间的变迁,以及数据视图与服务之间的关联则由视图流程来表述。视图流程的一种实现技术就是页面流,不过目前的页面流都绑定了web,其实数据和服务的展现(接入)方式有很多种,比如IVR接入,web接入,swing接入等等。

和服务和数据实体关联。

Signaling process

信令流,表示电信业务中的信令交互流程

跟服务和数据实体关联

Repository

仓库

DDD中的仓库对象,保存数据实体的领域对象。

与数据对象关联。被服务对象调用。

DAO

数据访问对象

负责从某种特定的存储介质中存储和retrieve数据实体。用于避免仓储对象依赖特定的存储介质,如DB,文件系统等。

是数据对象关联,被仓储对象调用。

Permission

权限

指对数据实体能够执行的操作的权限,如增、删、改、查,可能要控制到数据实体的属性粒度。也有可能对服务有访问权限控制,即允不允许用户执行某个服务。

权限跟数据实体或服务关联。


posted on 2008-11-07 23:50 迷途书童 阅读(1700) 评论(2)  编辑  收藏 所属分类: 随感系统设计java应用SOA

评论

# re: 快速构建面向服务的应用  回复  更多评论   

good but difficult to understand
2008-11-08 00:19 | serena

# re: 快速构建面向服务的应用  回复  更多评论   

面向构件的开发?
2008-11-11 09:46 | 单飞

只有注册用户登录后才能发表评论。


网站导航: