软件架构的技术最新进展

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GBUTtem
软件架构技术的一些最新进展
--2007年10月20日重庆大学
奉继承 金蝶软件(中国)有限公司 2007年10月20日
此报告版权所有。未经作者的书面许可,其它任何机构不得擅自传阅、 引用或复制。
GBUTtem
演讲人简介
奉继承 金蝶软件(中国)有限公司 EAS产品事业部 副总经理 历任研发中心协同开发部总经理,EAS产品总监 华南理工大学应用数学,理学学士 华南理工大学软件工程,工学硕士 天津大学现代工业工程,管理学博士 享受政府特殊津贴专家 深圳市计算机学会理事 国家863计划重大软件专项(新一代ERP项目)课题组长 国家863计划重大软件专项(多企业业务协同)课题副组长 15年软件行业从业经历 发表论文若干,出版专著一部
如何构建随需应变的企业业务
随需应变的柔性构成要素:业务模型+支撑的IT架构
柔性的“随需应变”业务
聚焦的,可变的,响应的,有弹力的 变化,创新 业务流程外包 合并, 购买 , 撤资
可组合的流程 CBM
柔性的IT架构
“随需应变”运行环境(on Demand Operating Environment) 开发 基础架构 管理 Service Oriented Architecture(SOA)
体系结构(Architecture)
• 定义了硬件或软件的主要组件之间的部署方式和耦合特征
框架(Framework)
• 体系架构和系统结构的原型表达 • 不仅仅是文档 (包括一些程序代码), 但也不是产品
平台(Platform)
• 特定系统的运行环境。
产品(Product)
• 经过了充分测试、配备了文档并可封装打包以供使用
所有者视图 (企业模型)
设计者视图(系统模型)
开发者视图 (技术模型)
上下文视图 (详细模型)
操作视图 (功能)
内涵 Zachman工业标准框架(来源于IBM)
7
GBUTtem
体系结构的发展就是软件抽象的提高
软件抽象从编程环境与程序结构发展到MDA,从组件的分布式发展到多层体 系架构和SOA.
可视化集成环境,面向对象 RAD/OO:VB/Delphi/Java
SOA几乎是一个完美的手段用来在不同厂商软硬件IT环境下进行业务应用之
间的整合。
20
GBUTtem
SOA的应用价值
面向业务 灵活、松 耦合集成 可动态获得 与绑定
支持快速集成 与快速开发 平台无关, 分布异构环境
SOA
封装、可重 用及可互操作
粗粒度,可组 标准接口 合、可编排
今天
18
更高的模块化程度带来更高的灵活性和重用性
GBUTtem
SOA的基本涵义
传统的应用程序都是孤立的“黑匣子”系统。 SOA首先将原有的业务模型分离为单独的业务流程和功能(原子化); 这些业务流程和功能即是“服务组件”; 控制流与服务逻辑分离; 数据格式和转换规则进行规范化(SOAP,XML); 服务间松耦合结构,支持WebService的分布式结构。
面向服务体系架构 SOA
8
System Architecture
GBUTtem
MDA架构
以下详细谈谈MDA架构和金蝶的MDA实践
9
GBUTtem
模型驱动体系架构
业务需求 体系结构 软件设计 软件实现
业务驱动的IT系 统设计方法
10
GBUTtem
MDA架构
MDA架构是软件开发结构的新革命:软件是模型及其引擎
3
GBUTtem
“软件技术的最新发展与趋势”提纲
前言 体系架构与程序结构的进展 软件应用的最新发展 软件开发技术(软件工程)的最新发展 Q&A
4
GBUTtem
为什么需要体系架构(Architecture)
软件危机引发软件从艺术到工程的转变
• 系统结构 • 软件工程
软件危机的加剧因素
• 需求更加难于表达 • 商业变革 • 分布式网络计算
14
GBUTtem
BOS的模型及工具体系
WF Desinger 流程模型
元数据描述
组织 模型
Java开发IDE
业务 对象 模型 BIM
界面
(功能) 数据 模型 数据 实体
(K-SQL) 元数据描述 数据 模型
WebService 接口抛出
门户框架
数据 模型 主数据 模型
BOTP 业务对象转换
元数据描述
ERP业务基础
(业务参考模型、主数据、组织管理)
业务方案 包
WBSF(Websphere 业务 服务框架)
WID(Websphere集成开发环境)
WebSphere 流程服务器 服务注册库
金蝶 BOS 运行引擎与适配器插件
SOA 基础产品
30
GBUTtem
SIMM——服务集成成熟度模型
31
GBUTtem
1
GBUTtem
“软件技术的最新发展与趋势”提纲
前言
体系架构与程序结构的进展
软件应用的最新发展 软件开发技术(软件工程)的最新发展 Q&A
2
GBUTtem
前言
软件技术发展与趋势的几个维度
业务中间件: 集成与协同应用 软件柔性化 基于流程驱动 模型驱动MDA 面向服务体系架构 (SOA)
CMM/CMMI 知识工厂与知识管理 集成产品开发IPD
基于流程服务整合
业务流程
GBUTtem
发布成 监控服务
Java程序组 件适配器
业务功能 适配器
Web Service 适配器
发布成复合 业务服务
监控服务
业务功能
业务服务
28
GBUTtem
金蝶EAS/BOS SOA 方案
29
Kingdee EAS SOA 行业模型
行业 SOA解决方案
Healthcare CBS Portfolio Insurance CBS Portfolio
If a = b then c=1 Else c=2 While n> c Decrement_count end
模型驱动架构 MDA
Software Structure
组件 Components
Internet
指令 Instructions
高级语言 Statements
多层架构 C/S,B/AS/DS
21
GBUTtem
SOA关键技术
基于MDA的服务编程 模型与PLM工具
服务模型与模型驱动
金蝶 SOA 技术 基于流程的服务组 合与编排 全面集成支持
22
GBUTtem
企业动态建模是SOA实现的基础
流程视图 组织视图 信息视图 功能视图 业务模型 设计模型
逐步展开
逐步实施
逐 步 细 化
模型驱动 集成 简化的 IT架构
可组合的服务 SOA
32
GBUTtem
CBM是什么?
Component Business Modeling (CBM) 是将一个企业业务划分成不重叠的业 务组件的方法…
Business Component是企业完整包括资源、人、技术、业务价值的一个部分的逻辑视图,具 备独立运作的潜在能力————极端的情况是,他们可以被分离成一家公司,或成为另一家 公司的一部分。 Business Component Map 是business components在不同的业务领域的 “扁平的视角” Business Component Model (also Component Business Model) 是用一系列的术语包括业 务能力、业务组件、业务服务以及它们的关系用以描述某个企业或者行业
PIM平台无关模型(模型表达): (Platform Independent Model ) UML,MOF,CWM,WfMC等。 模型映射 (Engine) PSM平台相关模型(模型实现): (Platform Specialize Mode l) JAVA,.net, XMI等
11
GBUTtem
系统平台
16
GBUTtem
SOA企业架构
以下详细谈谈SOA架构和金蝶的SOA实践
17
GBUTtem
为什么选择SOA来实现业务灵活性和重用
SOA:分布式系统的连接实现最佳的连接性和灵活性
连接逻辑
异步
连接逻辑 系统连接 数据转换 业务逻辑 系统连接 数据转换 业务逻辑 连接逻辑 数据转换
连接逻辑
源自文库
同步
实现模型
通用层 行业层 专用层
23
GBUTtem
平台需求的实例分析
业务流程
订单 提货单 出库单 订单 发票 提货单 发票
业务流程
出库单
业务组件库
订单 出库单 提货单 发票 „ „
业务对象模型
订单
•提交 •确认 功能视图 •审核 •生效 •…
信息视图
•客户 •商品 •数量 •日期 •…
组织视图
•角色 •权限 •岗位 •职位 •…
需求分析 需求分析 文档
系统设计
系统设计 文档 编码 代码 测试 代码 系统部署
实现方式不合理, 容易出错, 需要大量的测试时间 依赖于特定平台, 不能适应信息技术 的快速发展
13
GBUTtem
MDA改变了开发过程
MDA模式
管理领域问题 业务 模型 需求分析
信息不丢失, 概念理解一致
过程 建模
系统设计
数据转换 业务逻辑
异步
数据转换 业务逻辑
同步
业务逻辑
数据转换
Internet 异步 松耦合
业务封装
应用程序
应用程序
应用程序
应用程序
应用程序
核心服务
孤立的 应用系 统架构
50-60年代
子程序 和组件 开发
70-80年代
远程 过程 调用
80-90年代
消息 队列
90年代
消息 代理
21世纪初
面向 服务 SOA
需求 模型
理论 软件 过程 程序 员 视角
设计 模型 编码 模型+ 代码
模型驱动, 系统柔性好
测试
系统部署
模型+ 代码
平台无关, 随需应变
• 保证了从客户需求、最终实现的信息保真 • 确保快速原型开发,并可同客户交流确定,大幅度减少需求错误引发的高额修复成本 • 可快速形成演示原型,用于内部推广、需求收集和培训等应用
策略(Strategy)
• 为了实现架构或产品的一系列规则、实践、合作伙伴的应用、产品以
及用户需求的结合
6
GBUTtem
体系架构的框架
外延
领域视图
Data (What)
Function (How)
Network (Where)
People (Who)
Time (When)
Motivation (Why)
体系架构试图在软件的构建上寻找出路(软件科学中的“建筑学”)
• 复用(reuse for rebuild) • 简单(simplicity) • 一致性(consistency)
5
GBUTtem
一些基本概念
结构(Structure)
• 软件组件之间的访问关系。“程序=数据结构+算法”(N.Worth)
15
GBUTtem
通过模型和平台,实现随需应变
业务模型
对象模型 (界面,数据) 流程模型 报表模板 规则 方案
(PIM)
XML表达
(数据转换,预警…) (薪点、薪酬、绩效…)
基础引擎
工作流引擎 安全引擎 消息引擎 规则引擎 元数据引擎 国际化引擎 门户引擎 数据库引擎
基础引擎
(PSM)
J2EE组件实现
•人工 •自动 流程视图 •决策 •审批 •…
24
服务模型
服务视图:业务服务
复合服务 ISA 业务服务
GBUTtem
发布为
调 用
发布为
流程视图:业务流程
功能视图:业务功能
信息视图:业务数据
组织视图:组织架构
25
GBUTtem
业务组件发布为Web Service
26
GBUTtem
业务流程定义
27
19
GBUTtem
什么是SOA
什么是SOA?
• SOA是个应用技术架构风格,是用来把分布式系统应用里的功能开发成“服务”或
者是用来组合成其它的“服务”;从而使最终用户可以使用。
SOA方案的特征:
− 利用公开的标准来开发和代表软件元素并且把他们变成服务。 − 为软件元素之间的互动提供一个标准的方法和接口 − 使每个软件元素都可以变成可用来产生其它应用的可重用模块 − 在软件开发上,把精力从开发细节逐渐转移成应用组装(集成) − 在企业内部,它可以用来组装其它的应用 − 在企业外部,它可以用来迅速地与其它企业的应用做整合
MDA的模型驱动映射的例子
MOF/XMI实现从PIM到PSM的映射例子。 形象理解:HTML(PIM)到IE(PSM)的例子。
12
GBUTtem
MDA改变了开发过程
传统的软件开发过程
管理领域问题
涉众需求 文档
信息丢失, 概念理解不一致
分析师 视角 (艺术) 理论 软件 过程 程序 员 视角 (技术)
GBUTtem
ERP SOA解决方案
EAS HR、财务、 资产管理、供应链管 理解决方案 复合业 务服务
保健医疗行行业
• HC Reference Info model • HC Common Services • HC Industry Message Set
保险行业
• Ins. Reference Info model • Ins. Common Services • Ins. Industry Message Set
相关文档
最新文档