企业应用集成
陈刚陈刚
stormch@@
1 前言
企业对应用集成的需求
应用集成的目标
应用集成的作用示例
22
企业对应用集成的需求-1
• 问题
– 企业独立信息单元不断增长,彼此缺乏关联企业独立信息单元不断增长,彼此缺乏关联
• 信息时效信息时效
• 重复操作重复操作
• 准确性准确性
• …… ……
成为企业的业务、决策能力的短板成为企业的业务、决策能力的短板
33
企业对应用集成的需求-2
• 原因
– 业务推动信息建设业务推动信息建设
• 业务群间水平、能力存在差距业务群间水平、能力存在差距
• 信息需求紧迫程度的差异信息需求紧迫程度的差异
– 信息系统本身的实施能力所致信息系统本身的实施能力所致
• 技术规范技术规范
• 项目自身的管理项目自身的管理//文档缺失等文档缺失等……
44
企业对应用集成的需求-3
•如何解决
– 革命性的:推倒重来革命性的:推倒重来//一揽子方案一揽子方案
– 改良性的:逐一分析,据优先级给出方案改良性的:逐一分析,据优先级给出方案
55
企业对应用集成的需求-4
• 企业的根本需求
–用投入产出符合企业能力的方案,使信息系统用投入产出符合企业能力的方案,使信息系统
成为企业利益最大化的工具成为企业利益最大化的工具
–解决眼前问题的同时,不能成为新的弧岛。解决眼前问题的同时,不能成为新的弧岛。
66
应用集成的目标
1. 为企业打造统一、规范、开放的骨干应用为企业打造统一、规范、开放的骨干应用
2. 实现企业业务需求下,各信息应用、系统间不实现企业业务需求下,各信息应用、系统间不
同层次的信息共享、数据通讯同层次的信息共享、数据通讯
3. 以应用集成为契机,触发企业的业务流程重组以应用集成为契机,触发企业的业务流程重组
(BPR)(BPR)、优化,信息与业务水平得到同时的提高,、优化,信息与业务水平得到同时的提高,
为企业的未来奠定稳固的基础。为企业的未来奠定稳固的基础。
77
应用集成的作用简介
•企业间
– 异行间信用卡在异行间信用卡在ATMATM上的互通上的互通
– 超市与供货商间的超市与供货商间的EDI(EDI(电子数据交换电子数据交换))
•企业内
– 酒店各部门间消费的统一结算酒店各部门间消费的统一结算
– 直销企业的网上订单到送货的后台过程。直销企业的网上订单到送货的后台过程。
88
2 概念
• 11、信息系统相关概念、信息系统相关概念
• 支撑系统应用的不同层次技术介绍支撑系统应用的不同层次技术介绍
网络网络//硬件基础设施硬件基础设施//操作系统操作系统 ( (略略))
. 网络应用环境网络应用环境
. 数据库数据库
. 各种商业应用软件各种商业应用软件 / / 管理系统管理系统
. 系统在业务中的应用系统在业务中的应用
. 开发工具开发工具
• 集成技术概念集成技术概念
7. 7. 多层次系统集成多层次系统集成
. 应用集成应用集成
99
信息系统概念
• 定义
• 分类
• 体系结构
• 层次
• 组成
1010
信息系统
•定义
– 信息系统是用信息化手段将业务逻辑固化的,信息系统是用信息化手段将业务逻辑固化的,
是人、设备、应用软件、操作环境、业务流程是人、设备、应用软件、操作环境、业务流程
的集合体。的集合体。
–信息系统是管理理念、整合实施水平的体现。信息系统是管理理念、整合实施水平的体现。
1111
分类
1、管理信息系统按应用区分
– 数据分析、决策支持
– 业务操作的系统支持
– 后台数据/事务处理
1212
分类
2、按交互形式
– 标准应用程序:标准应用程序:IE/IE/窗口窗口//字符界面字符界面
– 报表报表//图表图表
– 无交互的系统:订单处理、工作流无交互的系统:订单处理、工作流…………
– 部件部件//组件组件 …… ……
1313
体系结构-概念
•概念
– 体系结构,指信息系统的每个组成部分之间的体系结构,指信息系统的每个组成部分之间的
相互关系,包括:层次、拓朴结构、布局、接相互关系,包括:层次、拓朴结构、布局、接
口、边界等;组成部分包括:硬件、软件、数口、边界等;组成部分包括:硬件、软件、数
据、操作规程、文档、参与的人员等。据、操作规程、文档、参与的人员等。
1414
体系结构-1
•按系统的操作端区分
–主机主机//终端模式终端模式
–集中式文件资源共享集中式文件资源共享
–对等网对等网
–客户客户//服务器服务器(C/S)(C/S)
–浏览器浏览器//服务器服务器(B/S)(B/S)
•静态的页面静态的页面
•由服务器解释脚本由服务器解释脚本
•由中间层支撑的由中间层支撑的B/SB/S结构结构
1515
体系结构-2
•按拓朴结构区分
– 点状点状
– 线状线状
– 星型星型
– 网状网状
1616
体系结构-3
• 按计算模式区分
– 集中式计算
• 分时共享分时共享
• 资源共享资源共享
• 客户端客户端//服务器模式服务器模式
– 分布式计算
• 胖客户胖客户//服务器结构服务器结构
• 三层或更多层的结构三层或更多层的结构
• 其它结构其它结构
1717
信息系统的层次
•信息系统层次结构
信息系统层次结构是按照互连、互通、互操作的开放式系统思想对信息系统层次结构是按照互连、互通、互操作的开放式系统思想对
信息系统应用层次进行划分的结构模型。信息系统应用层次进行划分的结构模型。
•信息系统层次划分
11、物理层、物理层————硬件产品、网络设备;硬件产品、网络设备;
22、操作系统层、操作系统层————系统软件;系统软件;
33、工具层、工具层——DBMS——DBMS、中间件、网络工具等;、中间件、网络工具等;
44、数据层、数据层————数据模型;数据模型;
55、功能层、功能层————功能模型;功能模型;
66、业务层、业务层————管理模型;管理模型;
77、表示层、表示层————人机交互。人机交互。
1818
信息系统组成
• 网络、硬件基础设施、操作系统
• 网络应用环境:OA平台/信息安全
• 数据库
• 平台工具/中间层
• 应用软件 / 应用系统
• 业务应用
1919
网络应用环境
• Intranet/Internet 基础服务
• 信息安全
2020
网络基础服务
2121
网络基础服务-DNS
• 分布式层次数据库
• 提供域名和数据的映射
– 域名域名 IP IP地址地址
– 域名域名 计算机名计算机名
– IP IP地址地址 域名域名
•树状的名字系统
2222
网络安全
• 密码技术与密钥管理
• 证书
• 数字签名
• 智能IC卡技术
• 安全套接字(SSL)
2323
数据库
• 数据库系统概述
• 数据库分类
• 发展现状
• 典型产品的介绍
2424
数据库概述
•数据库
– 词义:原始及加工数据的集合词义:原始及加工数据的集合
– 产品包含:数据库产品包含:数据库 + + 管理工具管理工具 + + 开发接口开发接口
2525
数据库分类
– 关系型数据库关系型数据库
– 文件型数据库文件型数据库
– 非结构化数据库非结构化数据库
– 多媒体数据库多媒体数据库
– 专用、工程数据库专用、工程数据库
2626
数据库发展情况-1
•发展阶段
–第一阶段第一阶段(70(70年代年代)),可说是一套对表的有限命,可说是一套对表的有限命
令集。例:令集。例:DBASEDBASE
–第二阶段第二阶段(80(80年代年代) SQL) SQL面世了面世了
–第三阶段第三阶段(90(90年代年代) ) 加强了数据库的整体安全性、加强了数据库的整体安全性、
管理、提供了事务处理等功能管理、提供了事务处理等功能
2727
数据库发展情况-2
•运行环境的演变
– 第一阶段,在小、中、大型机上运行的第一阶段,在小、中、大型机上运行的
RDBMSRDBMS一般为多用户系统。微机上为单用户版一般为多用户系统。微机上为单用户版
本本
–第二阶段,开始出现跨平台的产品,数据库开第二阶段,开始出现跨平台的产品,数据库开
始支持网络并发操作始支持网络并发操作……
–第三阶段,产品追求开放性、可移植、可连接、第三阶段,产品追求开放性、可移植、可连接、
可伸缩可伸缩
2828
数据库发展情况-3
•产品构成的变化
–– 早期的产品主要提供数据定义、数据存取、数据控制早期的产品主要提供数据定义、数据存取、数据控制
等基本的操作和数据存储组织、并发控制、安全性完等基本的操作和数据存储组织、并发控制、安全性完
整性检查、系统恢复、数据库的重新组织和重新构造整性检查、系统恢复、数据库的重新组织和重新构造
等基本功能。这些成为等基本功能。这些成为RDBMSRDBMS的核心功能。的核心功能。
–– 第二阶段的产品以数据管理的基本功能为核心,着力第二阶段的产品以数据管理的基本功能为核心,着力
开发外围软件系统,比如开发外围软件系统,比如FORMSFORMS表格生成系统、表格生成系统、
REPORTSREPORTS报表系统、报表系统、MENUSMENUS菜单生成系统等。这些外菜单生成系统等。这些外
围工具软件,就是所谓的第四代应用开发环境,他们围工具软件,就是所谓的第四代应用开发环境,他们
大大提高了数据库应用开发的效率。大大提高了数据库应用开发的效率。
2929
典型产品介绍
• Microsoft SQL Server
• Oracle
• IBM DB2
• Sybase SQL Server
3030
Microsoft SQL-Server
•• 兼容性:微软的解决方案兼容性:微软的解决方案
•• 可移植性:仅提供可移植性:仅提供IAIA架构架构WINDOWSWINDOWS平台产品平台产品
•• 可联结性:支持较多的协议可联结性:支持较多的协议
•• 高生产率:第三方软件非常多高生产率:第三方软件非常多
–– SybaseSybase公司是公司是19841984年成立的,属于后起之秀。他推出了支持企业范围的年成立的,属于后起之秀。他推出了支持企业范围的
““客户客户//服务器体系结构服务器体系结构””的数据库。的数据库。SybaseSybase把把““客户客户//服务器数据库体服务器数据库体
系结构系结构””作为开发产品的重要目标。作为开发产品的重要目标。Sybase System System 是其主导产品,是其主导产品,
支持企业内部各种数据库应用需求,如数据仓库、联机事务处理、决策支持企业内部各种数据库应用需求,如数据仓库、联机事务处理、决策
支持系统和小平台应用等。支持系统和小平台应用等。
–– MS SQL ServerMS SQL Server是购买是购买SybaseSybase公司公司19871987年推出的年推出的Sybase SQL Server, Sybase SQL Server, 又称又称
为大学版为大学版INGRESINGRES的第三代产品的第三代产品,,所以他们实质是一样的。所以他们实质是一样的。
3131
ORACLE
• 兼容性:兼容性:OracleOracle产品采用标准产品采用标准SQLSQL,有很好的产,有很好的产
品兼容性品兼容性
• 可移植性:可移植性:OracleOracle在非常宽广的应用范围内提供在非常宽广的应用范围内提供
了全系列产品了全系列产品
• 可联结性:支持较多的协议可联结性:支持较多的协议
• 高生产率:提供了多种开发工具高生产率:提供了多种开发工具
3232
DB2
•特点
• DB2DB2数据库核心又称作数据库核心又称作DB2DB2公共服务器,采用多进程公共服务器,采用多进程
多线索体系结构,可以运行于多种操作系统之上,多线索体系结构,可以运行于多种操作系统之上,
并分别根据相应平台环境作了调整和优化,以便能并分别根据相应平台环境作了调整和优化,以便能
够达到较好的性能。够达到较好的性能。
• DB2DB2核心数据库的特色有:支持面向对象的编程核心数据库的特色有:支持面向对象的编程; ; 支支
持多媒体应用程序持多媒体应用程序
3333
Sybase SQL-Server
• 特点:在80年代中期出现的产品。至今占
有相当的市场份额
• 较新的产品 Adaptive Server,集成了
Server、Anywhere 等,提供了单一的编程
模型
•开发工具:PB、PD、PJ、P C++
3434
软件-概念
•软件是由人设计和建造的产品。
包括:包括:
– 11、执行时提供希望功能和性能的指令;、执行时提供希望功能和性能的指令;
– 22、使得程序能够适当地操作信息的数据结构;、使得程序能够适当地操作信息的数据结构;
– 33、描述程序的操作和使用的文档。、描述程序的操作和使用的文档。
3535
应用软件的特征
1、软件是被设计开发的,而不是传统意义上
的被制造的,它是工程化的产品;
2、软件不会“磨损”;
3、虽然软件产业正在向基于构件的组装前进,
大多数应用软件仍然是定制的。
3636
商用软件的分类
11、系统软件、系统软件
22、工具软件、工具软件
33、商业软件、商业软件
44、工程和科学计算软件、工程和科学计算软件
55、嵌入式软件、嵌入式软件
66、人工智能软件、人工智能软件
77、个人软件、个人软件
88、专用软件、专用软件
99、管理信息系统、管理信息系统(MIS)(MIS)
3737
业务应用
CRMSCMPDM
ERP WEB网站
OA(邮件+内部主页)
基础网络设施(LAN或WAN)
企业企业MISMIS的骨架层次的骨架层次
3838
业务应用
•管理系统的来源
– 产品化的产品化的MISMIS软件软件 + + 配置配置//个性化调整个性化调整
• 优点:有成功案例,实施快速,适于优点:有成功案例,实施快速,适于””克隆克隆””
• 缺点:造价与产品的缺点:造价与产品的““名气名气””成正比,定制调整有成正比,定制调整有
限限
– 定制开发定制开发
• 优点:完全量身定制,可完整支持管理思路优点:完全量身定制,可完整支持管理思路
• 缺点:系统稳定性受实施能力影响缺点:系统稳定性受实施能力影响
3939
业务应用
• 发散一下 ? (无正确答案)
定制系统定制系统 VS VS 购买成品购买成品 ? ?
案例背景:某书店想上电子商务,网上卖书案例背景:某书店想上电子商务,网上卖书 ! !
4040
开发工具
• 早期语言:汇编、Cobol、Basic
• 结构化的工具:C、PASCAL
• 面向对象的工具:Delphi、C++、VB
• 支持组件开发的工具:Java、C#
4141
信息系统集成概念
1. 定义
2. 区分层次的信息系统集成
3. 原则
4242
信息系统集成-定义
•什么是系统集成?
系统是指为实现某一目标而形成的一组元素的有机集合,而系统本身又系统是指为实现某一目标而形成的一组元素的有机集合,而系统本身又
可作为一个元素单位参与多次组合,这种组合过程称为系统集成。可作为一个元素单位参与多次组合,这种组合过程称为系统集成。
•系统集成的关键因素
11、系统集成的交付物仍然是一个系统,符合系统的所有特点;、系统集成的交付物仍然是一个系统,符合系统的所有特点;
22、系统集成不是系统间简单的堆积,而是系统间有机的集合。需要利用、系统集成不是系统间简单的堆积,而是系统间有机的集合。需要利用
系统工程的原理和方法,通过综合、协调使得全局、整体系统指标最优系统工程的原理和方法,通过综合、协调使得全局、整体系统指标最优
化。化。
4343
信息系统集成-定义2
•什么是信息系统集成?
信息系统集成是根据应用的需求,将硬件产
品、网络设备、系统软件、工具软件以及
相应的应用软件等集成为一个具有优良性
能价格比的计算机系统的全过程。
4444
区分层次的信息系统集成
• 系统的层次:在不同层次上,实现之间的互连系统的层次:在不同层次上,实现之间的互连//互通,互通,
使之形成一个整体使之形成一个整体
11、物理层、物理层————硬件产品、网络设备;硬件产品、网络设备;
22、操作系统层、操作系统层————系统软件;系统软件;
33、工具层、工具层——DBMS——DBMS、中间件、网络工具等;、中间件、网络工具等;
44、数据层、数据层————数据模型;数据模型;
55、功能层、功能层————功能模型;功能模型;
66、业务层、业务层————管理模型;管理模型;
77、表示层、表示层————人机交互。人机交互。
4545
信息系统集成的原则
•原则
11、开放性、开放性————开放标准;开放标准;
22、结构化、结构化————解决复杂系统;解决复杂系统;
33、先进性、先进性————较长的生命周期;较长的生命周期;
44、主流化、主流化————系统可靠性;系统可靠性;
55、可行性、可行性————资源、进度的约束。资源、进度的约束。
•思路
11、深入研究目标系统的特点;、深入研究目标系统的特点;
22、开展全面的调研工作;、开展全面的调研工作;
33、分析问题,根据客户的优先极、难度确定范围、分析问题,根据客户的优先极、难度确定范围
44、制定总体的解决方案。、制定总体的解决方案。
4646
应用集成概念-1
• 企业应用集成的分类
– 11、体系结构间的集成、体系结构间的集成((横向横向))
– 22、体系结构内的集成、体系结构内的集成((纵向纵向))
4747
应用集成概念-2
• 横向集成
– 长期、稳定的集成
– 随机的集成
4848
应用集成概念-3
• 纵向集成
– 单一层次的集成:单一层次的集成:((应用环境应用环境…………集成集成))
– 数据集成
– 应用集成:平台工具/中间层
4949
3 数据集成
• 概念
• 方法
–数据共享数据共享
–接口集成接口集成
–复制复制
–数据仓库数据仓库
5050
数据集成概念-定义
• 数据集成:数据集成:是共享或者合并来自于两个或更多应是共享或者合并来自于两个或更多应
用的数据,支持更多企业应用的过程;用的数据,支持更多企业应用的过程;
• 数据集成的目的:数据集成的目的:是运用一定的技术手段将系统是运用一定的技术手段将系统
中的数据按一定的规则组织成为一个整体,使得中的数据按一定的规则组织成为一个整体,使得
用户能有效地对数据进行操作;用户能有效地对数据进行操作;
• 数据集成处理的对象:数据集成处理的对象:系统中各种异构分布数据系统中各种异构分布数据
库中的数据;库中的数据;
• 数据集成的目标:数据集成的目标:是达到应用之间的信息共享、是达到应用之间的信息共享、
数据通讯。数据通讯。
5151
数据集成概念-适用场合
• 数据集成经常是应用集成最简单、直接的途径。数据集成经常是应用集成最简单、直接的途径。
• 数据集成通常通过使用基本文件数据集成通常通过使用基本文件I/OI/O或者标准数据或者标准数据
库呼叫来实现,不需要复杂的技术体系。库呼叫来实现,不需要复杂的技术体系。
• 适于实现成本较低、进度安排比较容易、所需开适于实现成本较低、进度安排比较容易、所需开
发技能不高的集成解决方案。发技能不高的集成解决方案。
• 目前流行的目前流行的DBMSDBMS都提供数据集成的工具。都提供数据集成的工具。
5252
数据集成概念-不适用场合
11、不适于安全性、不适于安全性//完整性规则要求高的应用:完整性规则要求高的应用:
•• 由于绕过应用程序的安全性检查,可能导致的数据破坏;由于绕过应用程序的安全性检查,可能导致的数据破坏;
•• 存取控制的变化可能会打开新的安全漏洞;存取控制的变化可能会打开新的安全漏洞;
•• 数据输入输出可能把敏感的数据发布到共用网上;数据输入输出可能把敏感的数据发布到共用网上;
22、不适于接口、业务规则复杂的应用:、不适于接口、业务规则复杂的应用:
•• 拥有很多复杂数据结构的大型商业应用拥有很多复杂数据结构的大型商业应用
•• 数据结构没有正式书面文件支持的应用数据结构没有正式书面文件支持的应用
•• 面向交易的应用(如银行业或会计方面应用)面向交易的应用(如银行业或会计方面应用)
•• 存有敏感的个人数据和商业机密的应用等存有敏感的个人数据和商业机密的应用等
在提供数据集成方案,时要做认真的分析。在提供数据集成方案,时要做认真的分析。
5353
数据共享-方法
•方法
–新扩展的应用通过一定的安全和事务机制直接新扩展的应用通过一定的安全和事务机制直接
访问另外一个应用的数据库来实现数据集成。访问另外一个应用的数据库来实现数据集成。
5454
数据共享-优缺点
•优点:
–是最简单的方法,通常也是最有效的方法。是最简单的方法,通常也是最有效的方法。
– 实时数据同步、结构完全相同实时数据同步、结构完全相同
•缺点:
–容易造成数据一致性和完整性的破坏容易造成数据一致性和完整性的破坏
– 结构变化时,所有外挂需要一起调整结构变化时,所有外挂需要一起调整
5555
数据共享-适用场合
•适用于
– 11、同一软件供应商的产品功能扩展、同一软件供应商的产品功能扩展
– 22、有详细技术文档的产品功能扩展、有详细技术文档的产品功能扩展
•不适用于
–数据重要性程度较高,数据重要性程度较高,
–没有详细技术说明文档的数据集成。没有详细技术说明文档的数据集成。
5656
数据共享-例子
• 酒店系统结帐台服务员收银统计表开发
– 背景背景
• 酒店已经有了支持业务操作的全套管理系统酒店已经有了支持业务操作的全套管理系统
• 收银部想统计每个收银员的日收银对比收银部想统计每个收银员的日收银对比
• 软件系统的文档很全软件系统的文档很全
– 方案方案
• 开发一个基于数据库的,独立于主开发一个基于数据库的,独立于主MISMIS的统计程序的统计程序
5757
接口集成
• 描述描述
–– 利用系统提供的各种接口(文件接口、导入导出函数)利用系统提供的各种接口(文件接口、导入导出函数)
进行数据集成的方法。进行数据集成的方法。
–– 是目前应用最广的数据集成方法。这种通过接口抽象的是目前应用最广的数据集成方法。这种通过接口抽象的
方法提供了集成不同类型应用的高效率,也是面向接口方法提供了集成不同类型应用的高效率,也是面向接口
集成的主要优势。集成的主要优势。
–– 文件接口通常采用的格式有文本文件、数据文件、文件接口通常采用的格式有文本文件、数据文件、XMLXML
文件或其它自定义文件。文件或其它自定义文件。
–– 利用应用系统的导出函数生成接口文件,通过其它系统利用应用系统的导出函数生成接口文件,通过其它系统
的导入函数打开接口文件并读取数据,接口文件的传输的导入函数打开接口文件并读取数据,接口文件的传输
可以是磁盘、磁带、光盘、可以是磁盘、磁带、光盘、ExtranetExtranet、、InternetInternet等各种等各种
介质。介质。
5858
接口集成-优缺点
• 优点
– 通常对相关联的系统无不良影响通常对相关联的系统无不良影响
– 关联系统间界限明确,层次清晰关联系统间界限明确,层次清晰
• 缺点
– 接口定义过程需精准接口定义过程需精准
– 变更时调整工作量大变更时调整工作量大
– 有时效问题有时效问题
– 大量的数据传输需要额外的介质,增加了风险大量的数据传输需要额外的介质,增加了风险
5959
接口集成-适用场合
•适用于:
– 系统开发规范,输入输出接口通畅系统开发规范,输入输出接口通畅
– 业务允许关联系统间存在异步时延业务允许关联系统间存在异步时延
6060
接口集成—示例
• 某企业的资产条码打印
– 背景背景
• 企业的自有资产都在企业的自有资产都在ERPERP系统中系统中
• 系统数据库完全封装,但可指定的数据导出系统数据库完全封装,但可指定的数据导出
• 企业想用系统中的数据打印资产标签企业想用系统中的数据打印资产标签
• 系统未提供该功能系统未提供该功能
– 方案方案
• 导出指定数据,外挂一个小程序打印导出指定数据,外挂一个小程序打印
6161
接口集成—XML规范
–接口文件定义复杂,难以读懂,开发调试需要接口文件定义复杂,难以读懂,开发调试需要
花费大量时间和人力,稳定性和可扩展性都受花费大量时间和人力,稳定性和可扩展性都受
到影响。到影响。
–数据文件通常依赖于固定的数据格式,这些格数据文件通常依赖于固定的数据格式,这些格
式虽然是规范的,但需要依赖于固定的数据库式虽然是规范的,但需要依赖于固定的数据库
环境,这限制了集成的通用性和开放性。环境,这限制了集成的通用性和开放性。
– XMLXML((Extensive Markup LanguageExtensive Markup Language)扩展标记)扩展标记
语言消除了这些麻烦。语言消除了这些麻烦。
6262
XML范例
项目推进会项目推进会任鹏松任鹏松
业务周例会业务周例会陈刚陈刚
会议名称会议名称召集人召集人
<Column ss:StyleID="s27" ss:Width="36"/>
<Column ss:StyleID="s28" ss:AutoFitWidth="0" ss:Width=""/>
<Row ss:Index="2">
<Cell ss:StyleID="s23"><Data ss:Type="String">召集人</Data></Cell>
<Cell ss:StyleID="s23"><Data ss:Type="String">会议名称
</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">陈刚</Data></Cell>
<Cell><Data ss:Type="String">业务周例会</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">任鹏松</Data></Cell>
<Cell><Data ss:Type="String">天项目推进会</Data></Cell>
</Row>
6363
数据复制-概念
• 数据复制的目的是为了保持数据在不同数据库间的一致性,数据复制的目的是为了保持数据在不同数据库间的一致性,
而数据库可以是同一厂商也可以是不同厂商的(异构的),而数据库可以是同一厂商也可以是不同厂商的(异构的),
甚至可以是采用了不同模型和管理模式的数据库。甚至可以是采用了不同模型和管理模式的数据库。
• 数据复制的基本要求是其必须能够提供一种数据转化和传数据复制的基本要求是其必须能够提供一种数据转化和传
输的基础技术(基于消息机制的传输处理中间件),以屏输的基础技术(基于消息机制的传输处理中间件),以屏
蔽不同数据库间数据模型的差异。蔽不同数据库间数据模型的差异。
• 数据复制服务的基本原理:在两个或多个数据库之间设置数据复制服务的基本原理:在两个或多个数据库之间设置
一个软件中介(复制服务器),在一边,数据从源数据库一个软件中介(复制服务器),在一边,数据从源数据库
中被抽取,而在另一边,数据被导入目标数据库。中被抽取,而在另一边,数据被导入目标数据库。
6464
数据复制-应用场合
–数据复制常常用于应用系统的业务规则比较复数据复制常常用于应用系统的业务规则比较复
杂或数据结构比较复杂但具有相同或相似的数杂或数据结构比较复杂但具有相同或相似的数
据属性的数据集成,如组织结构内下级向上级据属性的数据集成,如组织结构内下级向上级
的数据同步汇总或者移动计算设备的数据同步的数据同步汇总或者移动计算设备的数据同步
等等。等等。
–一般来说,源数据库和目标数据库最好来自统一般来说,源数据库和目标数据库最好来自统
一厂商,需要复制的数据库可以用不同的标志一厂商,需要复制的数据库可以用不同的标志
进行隔离(如地区、销售商等)。进行隔离(如地区、销售商等)。
–针对客户性能需求的不同,复制服务可以提供针对客户性能需求的不同,复制服务可以提供
秒级、分钟级、小时级的服务。秒级、分钟级、小时级的服务。
6565
数据复制–场景示例
• 某全国性的超市连锁的业务记录同步
– 背景背景
• 连锁店使用同一系统连锁店使用同一系统((数据结构相同数据结构相同))
• 业务实时性要求高,无法使用网页等实时连接手段业务实时性要求高,无法使用网页等实时连接手段
• 需要每天能将数据汇总,形成统一的数据库需要每天能将数据汇总,形成统一的数据库
– 方案方案
• 设定基于数据库功能的同步功能,每晚由系统启动设定基于数据库功能的同步功能,每晚由系统启动
无人执守的同步进程。无人执守的同步进程。
6666
数据仓库技术-概念
概念:概念:将多个数据库和数据模型集成为一种统一的数据库视将多个数据库和数据模型集成为一种统一的数据库视
图的方法。图的方法。
描述:描述:在分布的数据库和应用之间放置一个中间平台层(数在分布的数据库和应用之间放置一个中间平台层(数
据仓库系统),该层与每一个后台的数据库用其自带的接据仓库系统),该层与每一个后台的数据库用其自带的接
口相连,并将分布的数据库映射为一种统一的数据模型,口相连,并将分布的数据库映射为一种统一的数据模型,
这种数据模型只在中间件中存在。应用就可以应用该数据这种数据模型只在中间件中存在。应用就可以应用该数据
模型库去访问需要的信息。同时,该中间件也可以通过将模型库去访问需要的信息。同时,该中间件也可以通过将
相关数据映射和导入实体数据库,进行数据库更新。相关数据映射和导入实体数据库,进行数据库更新。
优点:优点:将多种数据类型表示为统一的数据模型,支持信息交将多种数据类型表示为统一的数据模型,支持信息交
换,它能够通过一个良好定义的接口访问企业中任何相连换,它能够通过一个良好定义的接口访问企业中任何相连
的数据库,也提供了一种利用统一接口解决面向数据的应的数据库,也提供了一种利用统一接口解决面向数据的应
用集成的方法。用集成的方法。
6767
数据仓库-定义
•是企业面向主题的、集成的、稳定的、不
同时间的数据集合,为企业的应用系统提
供统一的、规范的所需信息。
• 数据仓库系统是解决信息技术发展中存在
的拥有大量数据,而其中有用信息贫乏的
综合解决方案。
6868
数据仓库的特性
• 面向主题:面向主题:数据是由业务主题组织的,而不是由客户总数数据是由业务主题组织的,而不是由客户总数
或者其它关键因素(也许是组织的正确方法,例如,事务或者其它关键因素(也许是组织的正确方法,例如,事务
数据)组织的。数据)组织的。
• 集成:集成:数据是作为一个整体进行存储的,而不是以可能有数据是作为一个整体进行存储的,而不是以可能有
不同结构或组织方式的文件集合存储的。不同结构或组织方式的文件集合存储的。
• 非易失:非易失:数据保持不变。按计划添加新数据,但是依据规数据保持不变。按计划添加新数据,但是依据规
则,原数据不会丢失。则,原数据不会丢失。
• 随时间而变化:随时间而变化:时间量度明确地包含在数据中,使得随时时间量度明确地包含在数据中,使得随时
间的趋向和变化可以用于分析研究(许多数据仓库还包含间的趋向和变化可以用于分析研究(许多数据仓库还包含
地理空间维)。地理空间维)。
6969
数据仓库-结构图示
7070
数据仓库-形成过程
7171
数据仓库-要素
1. 数据分级(数据分级(Data StagingData Staging))
–– 数据分级是指从分布式源数据库进行数据提取、转换、数据分级是指从分布式源数据库进行数据提取、转换、
净化、加载的过程。净化、加载的过程。
–– 11)提取()提取(ExtractExtract)从源数据库读取源数据的过程;)从源数据库读取源数据的过程;
–– 22)转换()转换(TransformTransform)将源数据转换成为符合数据仓库)将源数据转换成为符合数据仓库
的内部结构格式的初始目标数据的过程;的内部结构格式的初始目标数据的过程;
–– 33)净化()净化(CleanseCleanse)对初始目标数据进行数据过滤和验)对初始目标数据进行数据过滤和验
证得到目标数据的过程;证得到目标数据的过程;
–– 44)加载()加载(LoadLoad)将目标数据添加到目标数据源的过程。)将目标数据添加到目标数据源的过程。
7272
数据仓库-要素2
• 22、汇总(、汇总(SummariesSummaries)是一类程序,它针对目标数据预先)是一类程序,它针对目标数据预先
计算出象总额、平均值等常用聚集函数的值随着数据的加载计算出象总额、平均值等常用聚集函数的值随着数据的加载
一起添加到数据仓库中,当然,这不是必须的。一起添加到数据仓库中,当然,这不是必须的。
• 33、元数据(、元数据(MetadataMetadata)是)是““有关数据的数据有关数据的数据””,可以分为,可以分为
管理元数据、业务元数据和操作元数据,它可以告诉用户数管理元数据、业务元数据和操作元数据,它可以告诉用户数
据仓库有什么、来自何处、所有者、安全访问授权等信息。据仓库有什么、来自何处、所有者、安全访问授权等信息。
• 44、数据仓库数据库(、数据仓库数据库(Data Warehouse DatabaseData Warehouse Database)指数据)指数据
仓库中明细数据(原子数据)和汇总数据,由于它不考虑数仓库中明细数据(原子数据)和汇总数据,由于它不考虑数
据事务存储而考虑数据查询分析,所以其设计原则不同于事据事务存储而考虑数据查询分析,所以其设计原则不同于事
务数据库,一般采用星型数据库设计方法务数据库,一般采用星型数据库设计方法
7373
数据仓库-与业务数据库对比
特性特性 业务记录数据库业务记录数据库 数据仓库数据库数据仓库数据库
易变性易变性 动态动态 静态静态
通用性通用性 当前的当前的 历史的历史的
时间维时间维 暗指暗指 明确可见的明确可见的
粒度粒度 原始的、详细的原始的、详细的 详细的、可汇总的详细的、可汇总的
更新更新 连续的、随机的连续的、随机的 定期的、计划的定期的、计划的
任务任务 可重复的可重复的 不可预期的不可预期的
灵活性灵活性 低低 高高
性能性能 要求高性能要求高性能 可接受低性能可接受低性能
7474
4 应用集成
概念
11、应用集成概念、应用集成概念
22、、 中间件技术的分类中间件技术的分类
主流的中间件技术介绍
3. 3. OMG CORBAOMG CORBA
. Microsoft .NETMicrosoft .NET
. J2EEJ2EE
7575
概念-数据集成的问题
• 数据集成不能完全支撑业务数据集成不能完全支撑业务
–– 11、应用系统供应商处于商业市场的考虑或者知识产权保护、应用系统供应商处于商业市场的考虑或者知识产权保护
的原因,往往不原意提供数据集成的技术手段,而是提供应的原因,往往不原意提供数据集成的技术手段,而是提供应
用程序接口(用程序接口(APIAPI)方式来实现系统集成,这种情况在)方式来实现系统集成,这种情况在
WindowsWindows平台下尤为明显。平台下尤为明显。
–– 22、基于企业内存在大量的应用系统,这些都是企业长期管、基于企业内存在大量的应用系统,这些都是企业长期管
理知识和经验的积累,在充分利用现有资源和保护投资的前理知识和经验的积累,在充分利用现有资源和保护投资的前
提下更加希望实现应用系统之间的功能交互。提下更加希望实现应用系统之间的功能交互。
–– 33、基于企业内部存在大量的应用系统,这些应用系统造成、基于企业内部存在大量的应用系统,这些应用系统造成
了大量功能的冗余,即相似的行为功能却具有不同人机界面,了大量功能的冗余,即相似的行为功能却具有不同人机界面,
造成操作者认知模型结构的混乱和复杂化,因此需要通用实造成操作者认知模型结构的混乱和复杂化,因此需要通用实
现功能交互来减少冗余,简化操作者的认知模型。现功能交互来减少冗余,简化操作者的认知模型。
7676
概念-应用集成定义
• 应用集成是遵循规范的开放标准,并用技术手段应用集成是遵循规范的开放标准,并用技术手段
通过系统间的功能交互,实现之间的信息交互。通过系统间的功能交互,实现之间的信息交互。
• 应用集成的技术要求:应用集成的技术要求:
–– 11)能提供应用间的互操作性,即实现应用间的信息交)能提供应用间的互操作性,即实现应用间的信息交
互;互;
–– 22)能提供分布式环境中应用的可移植性,即应用物理)能提供分布式环境中应用的可移植性,即应用物理
分布的无关性;分布的无关性;
–– 33)能提供分布式环境中应用访问的透明性,减少应用)能提供分布式环境中应用访问的透明性,减少应用
集成编程的复杂性。集成编程的复杂性。
7777
概念-策略
• 所有信息系统、业务环境,都在趋向于支持各种规所有信息系统、业务环境,都在趋向于支持各种规
范及标准,这是异构系统间实现应用集成的基础。范及标准,这是异构系统间实现应用集成的基础。
• 应用集成是根据企业特性,通过分析并形成方案,应用集成是根据企业特性,通过分析并形成方案,
并付诸实施,对系统的各个环节进行调整,使之使并付诸实施,对系统的各个环节进行调整,使之使
到业务目标的项目过程。到业务目标的项目过程。
• 要实现系统的应用集成,系统必须遵守一个公共的要实现系统的应用集成,系统必须遵守一个公共的
体系结构体系结构————公共的开放式标准,这是建立开放式公共的开放式标准,这是建立开放式
系统最直接的途径。系统最直接的途径。
7878
概念-早期标准
早期的标准制定主要集中在:早期的标准制定主要集中在:
11、实现标准化应用程序接口(、实现标准化应用程序接口(APIAPI););
22、建立支持互操作的标准化协议,使系统之间能够进行对、建立支持互操作的标准化协议,使系统之间能够进行对
程序和数据的相互访问,历史上曾形成了形形色色的各类程序和数据的相互访问,历史上曾形成了形形色色的各类
标准和规范,如标准和规范,如ISOISO的的OSI—RMOSI—RM(七层模型)等。(七层模型)等。
33、很多标准和规范只是解决了一些单一领域的开放性问题,、很多标准和规范只是解决了一些单一领域的开放性问题,
为了建立一个统一的、开放性的、实现分布式应用互操作为了建立一个统一的、开放性的、实现分布式应用互操作
的应用集成环境,必须构建一个能够表达分布的应用构件的应用集成环境,必须构建一个能够表达分布的应用构件
之间互操作的通用模型,该模型应该使分布式计算涉及到之间互操作的通用模型,该模型应该使分布式计算涉及到
的所有方面都具有的所有方面都具有““开放性开放性””,包括通信协议、应用编程,包括通信协议、应用编程
接口、人机接口等等。接口、人机接口等等。
7979
概念-中间件技术
• 中间件是位于平台中间件是位于平台((硬件和操作系统硬件和操作系统))和应用之间的通用服和应用之间的通用服
务,这些服务具有标准的程序接口和协议。针对不同的操务,这些服务具有标准的程序接口和协议。针对不同的操
作系统和硬件平台,它们可以有符合接口和协议规范的多作系统和硬件平台,它们可以有符合接口和协议规范的多
种实现。种实现。
• 中间件是在计算机的中间件是在计算机的OSOS之上,支持软件开发、运行的软件,之上,支持软件开发、运行的软件,
能够使应用软件相对独立于应用系统环境,为各种分布式、能够使应用软件相对独立于应用系统环境,为各种分布式、
跨平台的应用建立起可用的平台,把分散的系统和资源组跨平台的应用建立起可用的平台,把分散的系统和资源组
合在一起,支持应用软件系统间的集成。合在一起,支持应用软件系统间的集成。
• 中间件具有标准的程序接口和协议,通常提供了通用工具中间件具有标准的程序接口和协议,通常提供了通用工具
的的APIAPI。。
8080
概念-中间件技术-2
二层架构的缺点 ?
8181
中间件的技术分类
• 远程过程调用中间件
• 消息中间件
• 对象请求代理
• 事务处理监控
• 其他专用中间件:数据库中间件、CTI ……
8282
RPC-1
•远程过程调用是一种广泛使用的分布式应
用程序处理方法。一个应用程序使用RPC来
“远程”执行一个位于不同地址空间里的
过程,并且从效果上看和执行本地调用相
同。
8383
RPC-2
• 特点:
– RPC RPC通讯是同步的。通讯是同步的。((采用线程可以进行异步采用线程可以进行异步
调用调用 ) )
– RPCRPC为为c/sc/s分布式计算提供了有力的支持分布式计算提供了有力的支持
–通常需要一些网络细节以定位通常需要一些网络细节以定位server server
– ServerServer端通常必须保持可用状态端通常必须保持可用状态
8484
消息中间件-1
• MOM指的是利用高效可靠的消息传递机制
进行平台无关的数据交流,并基于数据通
信来进行分布式系统的集成。通过提供消
息传递和消息排队模型,它可在分布环境
下扩展进程间的通信,并支持多通讯协议、
语言、应用程序、硬件和软件平台。
•产品:IBM的MQSeries
8585
消息中间件-2
•特点
异步运行异步运行
结构支持:一对一、一对多、多对一,使得系统的结构更灵活。结构支持:一对一、一对多、多对一,使得系统的结构更灵活。
程序与网络复杂性相隔离程序与网络复杂性相隔离
8686
对象请求代理
•随着对象技术与分布式计算技术的发展,
两者相互结合形成了分布对象计算,并发
展为当今软件技术的主流方向。
8787
事务处理监控-1
• 背景背景
–– 最早出现在大型机上,为其提供支持大规模事务处理最早出现在大型机上,为其提供支持大规模事务处理
的可靠运行环境。的可靠运行环境。
–– 随着分布计算技术的发展,分布应用系统对大规模的随着分布计算技术的发展,分布应用系统对大规模的
事务处理提出了需求,比如商业活动中大量的关键事事务处理提出了需求,比如商业活动中大量的关键事
务处理。务处理。
–– 事务处理监控界于事务处理监控界于clientclient和和serverserver之间,进行事务管理之间,进行事务管理
与协调、负载平衡、失败恢复等,以提高系统的整体与协调、负载平衡、失败恢复等,以提高系统的整体
性能。性能。
–– 它可以被看作是事务处理应用程序的它可以被看作是事务处理应用程序的““操作系统操作系统””。。
8888
事务处理监控-2
• 价值价值
–– 进程管理,包括启动进程管理,包括启动serverserver进程、为其分配任务、监控进程、为其分配任务、监控
其执行并对负载进行平衡。其执行并对负载进行平衡。
–– 事务管理,即保证在其监控下的事务处理的原子性、一事务管理,即保证在其监控下的事务处理的原子性、一
致性、独立性和持久性。致性、独立性和持久性。
–– 通讯管理,为通讯管理,为clientclient和和serverserver之间提供了多种通讯机制,之间提供了多种通讯机制,
包括请求响应、会话、排队、订阅发布和广播等。包括请求响应、会话、排队、订阅发布和广播等。
8989
基于HTTP协议的模型示意
9090
主流的中间件标准
•不同组织/公司的标准及技术
– 11))CORBACORBA的的CCMCCM;;
– 22))MicrosoftMicrosoft的的COM/DCOMCOM/DCOM;;
– 33))Java BeanJava Bean和和EJBEJB
9191
CORBA – OMG
OMG(Object Management Group)
是由800多个信息系统供应商、软件开发者和
用户共同构成的国际组织,建立于1989年,
致力于将对象和分布式系统技术集成为一
个可相互操作的统一结构,通过建立行业
指导和对象管理规范为应用开发提供公共
的框架。
9292
CORBA – 标准历程
公共对象请求代理体系结构公共对象请求代理体系结构CORBACORBA是是OMGOMG提出的一提出的一
套进行标准化分布式计算的体系结构。套进行标准化分布式计算的体系结构。
11、、19901990年发布了年发布了OMAOMA(对象管理体系结构);(对象管理体系结构);
22、、19921992年发布了年发布了;;
33、、19961996年发布了年发布了;;
44、、19981998年年22月发布了月发布了;;
55、、19991999年发布了年发布了;;
9393
CORBA – 要素
• CORBACORBA((Common Object Request Broker ArchitectureCommon Object Request Broker Architecture))
这是标准化分布式对象计算的基础,是一种标准规范,它的基础是这是标准化分布式对象计算的基础,是一种标准规范,它的基础是OMAOMA。。
• 对象管理体系结构对象管理体系结构OMAOMA((Object Management ArchitectureObject Management Architecture)是)是
OMGOMG提出的异构环境下对分布式对象进行管理的体系结构,它包提出的异构环境下对分布式对象进行管理的体系结构,它包
括:括:
–– 11)对象请求代理)对象请求代理ORBORB((Object Request BrokerObject Request Broker))
–– 22)对象服务()对象服务(Object ServicesObject Services))
–– 33)公共设施()公共设施(Common FacilityCommon Facility))
–– 44)域接口()域接口(Domain InterfaceDomain Interface))
–– 55)应用接口()应用接口(Application InterfaceApplication Interface))
9494
OMA要素间关系
9595
CORBA 规范
• 11、、CORBACORBA对象模型(对象模型(CCMCCM))
它提供了对象概念和术语的有组织的表达,定义了分布它提供了对象概念和术语的有组织的表达,定义了分布
计算模型,该模型体现了对象的关键特征:计算模型,该模型体现了对象的关键特征:
–– 11)与对象相关的概念:对象、请求、对象的创建和销)与对象相关的概念:对象、请求、对象的创建和销
毁、数据类型、接口、操作、属性;毁、数据类型、接口、操作、属性;
–– 22)与对象实现相关的概念。)与对象实现相关的概念。
• 22、、IDLIDL和和GIOPGIOP
• 33、、 CORBA ORB CORBA ORB结构模型结构模型
9696
IDL & GIOP
– IDLIDL和和GIOPGIOP是是CORBACORBA两个非常重要的概念,分别两个非常重要的概念,分别
实现了程序开发语言的无关性和解决了分布式计实现了程序开发语言的无关性和解决了分布式计
算对象的异构性。算对象的异构性。
–接口定义语言接口定义语言IDLIDL((Interface Definite Interface Definite
LanguageLanguage)描述客户调用和对象实现提供的接口,)描述客户调用和对象实现提供的接口,
屏蔽了各种开发语言之间的差别;屏蔽了各种开发语言之间的差别;
– GIOPGIOP是是ORBORB的内部传输协议(的内部传输协议(IIOPIIOP是是GIOPGIOP在在
InternetInternet上映射协议),可以实现跨平台的通讯;上映射协议),可以实现跨平台的通讯;
9797
ORB模型
9898
ORB 的部署
11、根据需求编写符合、根据需求编写符合IDLIDL语法规范的接口定义文件;语法规范的接口定义文件;
22、利用、利用IDLIDL编译器,将接口定义文件编译成桩文件和骨架文件;编译器,将接口定义文件编译成桩文件和骨架文件;
33、编写客户程序,静态或动态调用对象(桩调用、、编写客户程序,静态或动态调用对象(桩调用、DIIDII););
44、从骨架中派生出具体的对象实现类,编写实现具体功能的、从骨架中派生出具体的对象实现类,编写实现具体功能的
代码,使用代码,使用BOABOA或或POAPOA实现、注册类;实现、注册类;
55、编译、连接。、编译、连接。
9999
ORB-BUS的总体架构
Web浏览器
IDL文件
IDL/Java编译器
客户
Applet
IDL桩 IDL构架
服务器
Java ORB Java ORB
客户端 服务器端
图 5-3 ORBUS 系统总体结构
对象
对象
对象
IIOP引擎
客户
Application
IIOP引擎 网络
ORB域守护进程
100100
.NET体系
• COMCOM是是MicrosoftMicrosoft公司制定并颁布的一种不依赖于公司制定并颁布的一种不依赖于
任何编程语言的构件对象模型,任何编程语言的构件对象模型,COM+COM+是以是以COMCOM
为基础的新一代技术,在为基础的新一代技术,在COM+COM+的基础上,的基础上,
MicrosoftMicrosoft将多年积累下来的技术精华集合起来形将多年积累下来的技术精华集合起来形
成了一个完整的、多层结构的企业应用总体方案成了一个完整的、多层结构的企业应用总体方案
——Windows DNA——Windows DNA,使得,使得WindowsWindows成为真正的企成为真正的企
业应用平台。业应用平台。
• 在上述技术发展的前提下,在上述技术发展的前提下,MicrosoftMicrosoft推出了推出了
Microsoft® .NETMicrosoft® .NET体系结构。体系结构。
101101
.NET体系-WebService
一个能够使用一个能够使用XMLXML消息访问服务组件的消息访问服务组件的Interface, Interface, 这个这个InterfaceInterface描述了一组可访问描述了一组可访问
的操作。的操作。
- - 由由SOAP+WSDLSOAP+WSDL包装的包装的ObjectObject
- - 适应松散耦合的网络环境,可通过适应松散耦合的网络环境,可通过WebWeb访问,手段是访问,手段是SOAP MessageSOAP Message
- - 服务的行为、输入服务的行为、输入//输出都可使用输出都可使用WSDLWSDL描述描述
关键技术:关键技术:
SOAP SOAP –– XML XML格式的消息交换协议格式的消息交换协议
消息消息//文档交换协议文档交换协议
Web Web服务对象的面向对象的访问界面服务对象的面向对象的访问界面
WSDL WSDL –– 基于基于XMLXML的组件的组件描述描述
UDDI UDDI –– 可通过可通过WebWeb访问的注册中心访问的注册中心
使用使用SOAP MessageSOAP Message来访问来访问
WSFL WSFL –– Web Service Web Service间工作流描述间工作流描述
102102
COM/DCOM/COM+
COMCOM对象是由对象是由WindowsWindows系统平台直接支持并注册的二进制代码对象,它系统平台直接支持并注册的二进制代码对象,它
实现了面向对象的基本特征以及语言无关性、访问透明性和可重用性的实现了面向对象的基本特征以及语言无关性、访问透明性和可重用性的
特征。特征。
DCOMDCOM是是COMCOM的扩展,采用的扩展,采用DCOMDCOM协议以及远程代理服务对象进行远程调协议以及远程代理服务对象进行远程调
用的用的COMCOM。。
COM+COM+是在原先是在原先MTSMTS基础上发展起来的,是基础上发展起来的,是COMCOM、、DCOMDCOM和和MTSMTS的集成。的集成。
为为COMCOM调用提供了一种新的基于调用提供了一种新的基于MSMQMSMQ的通信方法,的通信方法,COM+COM+提供监听提供监听
(Interception)(Interception)结构,使得结构,使得COMCOM只有在需要时介入。只有在需要时介入。 同时,同时,COM+COM+为创为创
建建
高伸缩性的分布式企业应用提供了多种服务高伸缩性的分布式企业应用提供了多种服务————事务处理、安全服务、事务处理、安全服务、
并行处理、消息队列以及负载平衡等其它相关服务。并行处理、消息队列以及负载平衡等其它相关服务。
103103
Windows的DNA结构
104104
Microsoft® .NET结构
11、、Microsoft® .NET Microsoft® .NET 是是 Microsoft XML Web services Microsoft XML Web services 平台,平台,XML WebXML Web
services services 允许应用程序通过允许应用程序通过 Internet Internet 进行通讯和共享数据。进行通讯和共享数据。
22、、.NET .NET 框架是用于生成、部署和运行框架是用于生成、部署和运行 XML Web services XML Web services 和应用程序的多语言和应用程序的多语言
环境,它包含以下三个主要部分:环境,它包含以下三个主要部分: 公共语言运行库、统一编程类和公共语言运行库、统一编程类和。。
33、、Web Service Web Service 把组件技术和把组件技术和webweb绑定在一起。绑定在一起。
•• 一方面提供组件的接口黑盒功能,另一方面不需要用一方面提供组件的接口黑盒功能,另一方面不需要用RPC (DCOM)RPC (DCOM)、、
RMI(JAVA)RMI(JAVA)、、IIOP(CORBA)IIOP(CORBA)等等object-model-specialobject-model-special协议,而是用常用的协议,而是用常用的webweb协协
议和数据格式。使用议和数据格式。使用XMLXML格式、格式、SOAPSOAP报文格式,报文格式,SOAPSOAP绑定在绑定在httphttp协议上,因协议上,因
此不必担心网络中的防火墙,也就不存在此不必担心网络中的防火墙,也就不存在tunnelingtunneling问题;问题;
•• Web Service Web Service 通过通过XMLXML的的WSDLWSDL文档来进行自描述,与文档来进行自描述,与WindowsWindows注册表无关,注册表无关,
从而避免了从而避免了COMCOM组建部署时版本冲突的问题。组建部署时版本冲突的问题。
•• Web Service Web Service 使组件技术延伸到更广泛的使组件技术延伸到更广泛的internetinternet领域,从而可以获得更大范领域,从而可以获得更大范
围的代码复用(例如围的代码复用(例如),进行更快捷的分布式应用开发,创建具),进行更快捷的分布式应用开发,创建具
有更高伸缩性的企业级应用。有更高伸缩性的企业级应用。
105105
.NET体系结构-1
106106
.NET结构的部署
基于基于Windows DNAWindows DNA或者或者.框架,建立由框架,建立由COM+COM+和和Web Web
ServiceService组成的企业应用集成环境,业务逻辑有三种部署方组成的企业应用集成环境,业务逻辑有三种部署方
式:胖客户、瘦客户和零客户。式:胖客户、瘦客户和零客户。
11、胖客户:在本地部署了用户界面,主要业务逻辑和本地数、胖客户:在本地部署了用户界面,主要业务逻辑和本地数
据库。单元的据库。单元的I/OI/O数据流要与服务器交换,所以在服务器上数据流要与服务器交换,所以在服务器上
只部署少数业务逻辑,如:数据收发,转换,消息管理等只部署少数业务逻辑,如:数据收发,转换,消息管理等
等。等。
22、瘦客户:在本地部署了用户界面和少数的业务逻辑。多数、瘦客户:在本地部署了用户界面和少数的业务逻辑。多数
的业务逻辑要通过的业务逻辑要通过DCOM/IIOP/RMIDCOM/IIOP/RMI等方式远程调用服务器等方式远程调用服务器
上部署的上部署的COMCOM组件或者组件或者Web ServiceWeb Service组件。组件。
33、零客户:浏览器客户端,界面表现层以及全部业务逻辑都、零客户:浏览器客户端,界面表现层以及全部业务逻辑都
部署在服务器端。部署在服务器端。
107107
.NET结构的部署
108108
Java-- J2EE 的基础
JAVAJAVA的特点:的特点:
•• 简单简单(Simple)(Simple):容易编写程序,不需要长时间的训练,而能满足现代:容易编写程序,不需要长时间的训练,而能满足现代
的需求。的需求。
•• 面向对象的面向对象的(Object-Oriented)(Object-Oriented)
•• 分布式的分布式的(Distributed)(Distributed)::
•• 健壮的健壮的(Robust)(Robust)::
•• 安全的安全的(Secure)(Secure)::
•• 结构中立的结构中立的(Architecture Neutral)(Architecture Neutral):一般而言,网络是由很多不同机:一般而言,网络是由很多不同机
型的机器所组合而成的,型的机器所组合而成的,CPUCPU和作业系统体系结构均有所不同;因此,和作业系统体系结构均有所不同;因此,
如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,
JavaJava的编译器产生一种结构中立的目标文件格式的编译器产生一种结构中立的目标文件格式(Object File Format)(Object File Format)
;这使得编译码得以在很多种处理器中执行。;这使得编译码得以在很多种处理器中执行。
109109
J2EE 概述-1
11、、J2EE J2EE 平台概述平台概述
• J2EEJ2EE平台是基于平台是基于javajava技术的,不依赖于硬件平台技术的,不依赖于硬件平台
和操作系统。和操作系统。
• J2EEJ2EE是一种规范,最初由是一种规范,最初由SunSun开发,现在由开发,现在由Java Java
Community Process(JCP)Community Process(JCP)控制,是一个开放的平控制,是一个开放的平
台得到大量厂商的支持,不同厂商提供了符合规台得到大量厂商的支持,不同厂商提供了符合规
范说明的各种实现方法范说明的各种实现方法
• J2EEJ2EE主要针对于构件多层分布式网络应用系统,主要针对于构件多层分布式网络应用系统,
增强系统的可扩充性,伸缩性增强系统的可扩充性,伸缩性
110110
J2EE 概述-2
22、、J2EEJ2EE价值地位价值地位
J2EEJ2EE平台是一个可以给平台是一个可以给ITIT机构、应用开发者和产品供应商带来以下好处:机构、应用开发者和产品供应商带来以下好处:
•• 供应商可以开发运行在支持供应商可以开发运行在支持J2EEJ2EE平台的任何系统之上的产品。不需要额外的平台的任何系统之上的产品。不需要额外的
工作,他们的产品就可以运行在多种系统平台上工作,他们的产品就可以运行在多种系统平台上
•• 团队团队ITIT开发者会从可移植性组件技术开发者会从可移植性组件技术
•• ITIT开发者可以专注于支持业务处理的需求,而不需要花时间去创造内部的应用开发者可以专注于支持业务处理的需求,而不需要花时间去创造内部的应用
架构。由应用服务器处理一些复杂问题,如多线程、事务和生命周期管理。架构。由应用服务器处理一些复杂问题,如多线程、事务和生命周期管理。
•• 采用采用J2EEJ2EE平台可以保护公司的投资,因为它是一个工业标准,而不是某个供平台可以保护公司的投资,因为它是一个工业标准,而不是某个供
应商特有的产品。应商特有的产品。
•• J2EEJ2EE平台把应用在物理上清晰、有逻辑性地分成多层,因此,自然满足了多平台把应用在物理上清晰、有逻辑性地分成多层,因此,自然满足了多
层应用地需求。层应用地需求。
•• 开发者可以创建自己的开发者可以创建自己的J2EEJ2EE平台组件,也可以从快速发展的第三方市场获得平台组件,也可以从快速发展的第三方市场获得
这些组件。因此大大缩短开发周期。这些组件。因此大大缩短开发周期。
111111
J2EE体系结构
112112
J2EE的关键技术
• Java Server Page(JSP)
• Servlet
• Enterprise JavaBeans(EJB)
113113
J2EE的关键技术-1
• Java Server Page(JSP)
–服务器端脚本语言服务器端脚本语言
• JSPJSP页面内容在向客户端传送时先在服务器端处理页面内容在向客户端传送时先在服务器端处理
•服务器编译服务器编译JSPJSP中的中的JavaJava代码生成代码生成Java ServletJava Servlet
•类似的语言有类似的语言有Active Server PagesActive Server Pages
114114
J2EE的关键技术-2
• Servlet
– JSPJSP被请求时由应用服务器编译成被请求时由应用服务器编译成JSP ServletJSP Servlet
–如果如果JSPJSP已经被装载在内存中,应用服务器将不已经被装载在内存中,应用服务器将不
编译该编译该JSPJSP,而是直接执行,而是直接执行JSP ServletJSP Servlet
• Servlet的特征
–是在服务器端运行的是在服务器端运行的JavaJava程序程序
–完全运行于服务器端的完全运行于服务器端的web server web server 中中
–平台独立平台独立
115115
J2EE的关键技术-3
• EJB EJB
–– EJB EJB是开发和配置基于组件的分布式商务应用程序的一是开发和配置基于组件的分布式商务应用程序的一
种组件结构。用种组件结构。用EJBEJB结构开发的应用程序是可伸缩的、结构开发的应用程序是可伸缩的、
事务型的、多用户安全的。这些应用程序可能只需编事务型的、多用户安全的。这些应用程序可能只需编
写一次,然而可以在支持写一次,然而可以在支持EJBEJB规范的任何服务器平台上规范的任何服务器平台上
配置配置
–– EJBEJB包含以下内容包含以下内容
•• EJB EJB 服务器服务器
•• EJB EJB 容器容器
•• EJBEJB类类 和实例和实例
•• EJBEJB本地接口和本地接口和EJBEJB远程接口远程接口
116116
EJB各组成间的关系
• EJB EJB 服务器服务器
–– 是是EJBEJB容器的运行母体容器的运行母体
–– 提供一些系统服务:如事务,安全服务等提供一些系统服务:如事务,安全服务等
• EJB EJB 容器容器
–– 管理管理EJBEJB类和实例类和实例
•• 生成调用生成调用beanbean的代码的代码
•• 创建、初始化和销毁创建、初始化和销毁beanbean
•• 管理持久对象管理持久对象
–– 提供提供EJB ServerEJB Server的服务给的服务给beanbean
• EJB EJB 类的实例类的实例 Bean Bean,包括:,包括:
–– 会话会话Bean(Bean(有状态有状态//无状态无状态))
–– 实体实体BeanBean
–– 消息消息BeanBean
117117
EJB的部署
EJBEJB部署部署
每一个每一个EJBEJB组件必须包含一个组件必须包含一个
部署描述文件,该文件声部署描述文件,该文件声
明需要明需要EJBEJB容器的哪些服务。容器的哪些服务。
例如,可以用部署描述来例如,可以用部署描述来
指定事务处理要求、安全指定事务处理要求、安全
性要求、持久性要求等。性要求、持久性要求等。
客户端代码,如
Servlets或
applets
Enterprise
Beans
Home对象
EJB对象
Remote
接口
Home
接口
EJB容器/服务器
返回EJB
对象引用
生成一个
新的EJB对象
生成一个
EJB对象
118118
EJB的开发工具
• 开发环境开发环境 Jbuilder (Visual Age Jbuilder (Visual Age、、JDevelop)JDevelop)
• 平台软件平台软件 Weblogic (Webspher Weblogic (Webspher、、JBOSS)JBOSS)
• 数据库数据库 Oracle Oracle 、、DB2DB2、、MSSQL)MSSQL)
119119
5 业务应用集成/工作流
• 业务/系统流程的重组(BPR)
• 基于工作流的实现(WF)
120120
介绍—概念
• 实现企业多个应用系统构件之间的协同,将孤立实现企业多个应用系统构件之间的协同,将孤立
的应用过程集成起来,形成一个面向需求的、协的应用过程集成起来,形成一个面向需求的、协
调的、高度伸缩性的、集成的企业信息系统。调的、高度伸缩性的、集成的企业信息系统。
–– ““面向需求面向需求””
–– ““协调协调””
–– ““高度伸缩性高度伸缩性””
–– ““集成的集成的””
• 工作流系统的价值:工作流系统的价值:定义工具、执行服务和任务定义工具、执行服务和任务
表管理器,都是为业务过程、人员的操作动作提表管理器,都是为业务过程、人员的操作动作提
供支持。供支持。
121121
介绍—目标
–– 11、实现符合业务流程需求的信息交互,这也是系统集成的、实现符合业务流程需求的信息交互,这也是系统集成的
根本目标;根本目标;
–– 22、满足企业实施并行工程(、满足企业实施并行工程(CECE)和经营过程重组()和经营过程重组(BPRBPR))
的扩展需要;的扩展需要;
–– 33、充分利用已有资源,通过实现已有应用系统的集成和封、充分利用已有资源,通过实现已有应用系统的集成和封
装保护企业过去在信息化建设上的投资;装保护企业过去在信息化建设上的投资;
–– 44、实现应用逻辑和过程逻辑的分离及过程建模与具体数据、、实现应用逻辑和过程逻辑的分离及过程建模与具体数据、
功能的分离,支持在不修改功能的前提下,通过修改过程模功能的分离,支持在不修改功能的前提下,通过修改过程模
型来完成集成系统功能的改变,以提高企业的灵活性和反应型来完成集成系统功能的改变,以提高企业的灵活性和反应
能力。能力。
122122
介绍—局部的例子
•有工作流能力的工具
– Task monitor Task monitor
– SQL Server DTS SQL Server DTS
任务:任务:
•定义启动规则定义启动规则
•定义动作的组合定义动作的组合
123123
介绍—工作流机的片断
124124
实现--思路
•思路:用系统的工作流管理,实现业务模
型的搭建
•步骤
– 梳理企业的业务流程梳理企业的业务流程(BPR)(BPR)
– 以信息系统的能力以信息系统的能力//视角优化,形成模型视角优化,形成模型(BPR)(BPR)
– 分别实现各个组成部分分别实现各个组成部分 ( (应用集成应用集成EAIEAI))
– 用工作流工具用工作流工具//定制开发,将模块组合。定制开发,将模块组合。
125125
实现--阶段划分
126126
实现—图例说明
业务流程定义业务流程定义 模型设计、对象的生成模型设计、对象的生成 代码的生成、业务实施代码的生成、业务实施
127127
实现—角色
128128
业务流程集成系统的建设
• 过程建模
• 模型的优化(略)
• 流程中的人机交互
• 以工作流系统为核心的运行模型
129129
过程建模
• 建立阶段:完成经营过程的计算机化定义;建立阶段:完成经营过程的计算机化定义;
–– 根据过程目标和系统约束条件,将系统内的活动组织为适当的经营根据过程目标和系统约束条件,将系统内的活动组织为适当的经营
过程。过程。
• 完成工作完成工作
–– 11)准确描述企业的经营过程,供流程分析和优化(如)准确描述企业的经营过程,供流程分析和优化(如BPRBPR)使用;)使用;
–– 22)支持在不同的组织和信息系统间共享经营过程知识,便于实现)支持在不同的组织和信息系统间共享经营过程知识,便于实现
企业基准工程和企业动态联盟;企业基准工程和企业动态联盟;
–– 33)根据设计的企业过程模型进行相应的功能构件配置,实现按照)根据设计的企业过程模型进行相应的功能构件配置,实现按照
过程的横向集成(企业内集成),而不是按照企业的职能部门进行过程的横向集成(企业内集成),而不是按照企业的职能部门进行
集成,利用这种柔性的过程集成满足企业核心价值流的需求;集成,利用这种柔性的过程集成满足企业核心价值流的需求;
–– 44)支持开发新的经营过程,满足企业动态结构变化。)支持开发新的经营过程,满足企业动态结构变化。
130130
人工交互
•工作流系统中,需人工干预部分,包括:
– 11)模型定义,创建、修改和发布企业的业务过)模型定义,创建、修改和发布企业的业务过
程的模型;程的模型;
– 22)根据工作流任务管理器提供的任务项,完成)根据工作流任务管理器提供的任务项,完成
具体的业务处理工作(即应用的人工部分);具体的业务处理工作(即应用的人工部分);
– 33)过程运行状态监控,可以挂起、唤醒、终止)过程运行状态监控,可以挂起、唤醒、终止
某个过程实例的执行,以及对过程活动状态进某个过程实例的执行,以及对过程活动状态进
行人工干预,保证过程顺利进行等等。行人工干预,保证过程顺利进行等等。
131131
工作流运行模型
132132
常见工作流产品
–– 根据工作流任务表管理器的任务传输方式,可以划分根据工作流任务表管理器的任务传输方式,可以划分
为四类:为四类:
–– 11)基于文件的工作流系统,有)基于文件的工作流系统,有IBMIBM的的FlowMarkFlowMark,,
FileNetFileNet的的Visual WorkFloVisual WorkFlo等;等;
–– 22)基于消息的工作流系统,有)基于消息的工作流系统,有NovellNovell与与FileNetFileNet合作开合作开
发的发的EnsembleEnsemble,,KeyfileKeyfile的的KeyflowKeyflow等;等;
–– 33)基于)基于WebWeb的工作流系统,有的工作流系统,有Action TechnologiesAction Technologies的的
Action Works MetroAction Works Metro,,UltimusUltimus的的UltimusUltimus;;
–– 44)群件与套件系统,它采用上述三种的混和传输方式,)群件与套件系统,它采用上述三种的混和传输方式,
一般是一个完整的应用开发环境,有一般是一个完整的应用开发环境,有IBMIBM的的Lotus NotesLotus Notes
,,MicrosoftMicrosoft的的OfficeOffice和和ExchangeExchange等。等。
133133
工作流实现模式
–工作流管理系统客户端应用是指一般用户完成工作流管理系统客户端应用是指一般用户完成
任务表管理器分配的任务或者活动的功能,任任务表管理器分配的任务或者活动的功能,任
务表管理器可以由工作流管理系统提供,也可务表管理器可以由工作流管理系统提供,也可
以由用户自行开发,任务表管理器的实现方法以由用户自行开发,任务表管理器的实现方法
有:有:
– 11)基于主机方式模型;)基于主机方式模型;
– 22)基于共享文件模型;)基于共享文件模型;
– 33)基于电子邮件模型;)基于电子邮件模型;
– 44)基于过程调用和消息传递模型。)基于过程调用和消息传递模型。
134134
B2Bi
• B2BiB2Bi((Business to Business IntegrationBusiness to Business Integration))
• - - 企业和企业之间的应用集成企业和企业之间的应用集成
• 典型应用典型应用
• - - 协同产品开发协同产品开发
• - - 计划、预测的协同计划、预测的协同
• - - 采购管理采购管理
• - - 订单管理订单管理
• - - 库存协同库存协同
135135
EAI/B2Bi
•企业信息化建设的最终目的就是实现
整个企业内部外部完整的协同.
• B2Bi是企业和企业之间的应用集成,主
要用于企业供应链群落的整合.
E- Enterprise Intergration Collaboration
企业内部信息化建设企业内部信息化建设 EAIEAI建设建设 B2BiB2Bi建设建设
136136
EAI / B2Bi 示意
EAIEAI服务服务
CRMCRM
SCMSCM
ERPERP
B2BiB2Bi应用应用
国际大供应商、国际大供应商、
大客户、大代理大客户、大代理
中小代理、中小供应中小代理、中小供应
商、直销客户商、直销客户
端到端端到端
销售人员销售人员
代理协同代理协同
客户订单等客户订单等
采购人员采购人员
供应商管理供应商管理
采购订单管理采购订单管理
B2BiB2Bi服务服务
门户网站门户网站
PDMPDM
137137
6 回顾
• 层次
• 步骤
138138
应用集成的层次回顾
技术集成
•开发环境 J2EE、.NET
•技术标准 XML、HTTP
•接口标准 JCA、DCOM
数据集成
•统一的元数据标准
•数据共享、数据同步
应用系统集成
•系统互操作
•跨系统应用
•应用接口集成
业务流程集成
•BPM
•工作流管理
实
施
难
度
加
大
实
施
难
度
加
大
实
现
可
替
代
性
提
高
实
现
可
替
代
性
提
高
139139
步骤
•业务模式分析
•企业现状分析
•确定集成策略
•确定集成技术架构
•统一元数据标准
•分析关键集成点
•制订实施计划
•分步骤实施
•不断优化
140140
问题强调
•统一标准(元数据、接口、协议)
•集成层次(数据、应用、业务)
• ROI分析
•业务决定IT
141141
交流与沟通
陈刚
Mob: 13910218050
Email: stormch@
谢 谢
142142
mailto:stormch@