企业应用集成
陈刚
1 前言
企业对应用集成的需求
应用集成的目标
应用集成的作用示例
企业对应用集成的需求-1
问题
企业独立信息单元不断增长,彼此缺乏关联
信息时效
重复操作
准确性
……
成为企业的业务、决策能力的短板
企业对应用集成的需求-2
原因
业务推动信息建设
业务群间水平、能力存在差距
信息需求紧迫程度的差异
信息系统本身的实施能力所致
技术规范
项目自身的管理/文档缺失等…
企业对应用集成的需求-3
如何解决
革命性的:推倒重来/一揽子方案
改良性的:逐一分析,据优先级给出方案
企业对应用集成的需求-4
企业的根本需求
用投入产出符合企业能力的方案,使信息系统成为企业利益最大化的工具
解决眼前问题的同时,不能成为新的弧岛。
应用集成的目标
为企业打造统一、规范、开放的骨干应用
实现企业业务需求下,各信息应用、系统间不同层次的信息共享、数据通讯
以应用集成为契机,触发企业的业务流程重组(BPR)、优化,信息与业务水平得到同时的提高,为企业的未来奠定稳固的基础。
应用集成的作用简介
企业间
异行间信用卡在ATM上的互通
超市与供货商间的EDI(电子数据交换)
企业内
酒店各部门间消费的统一结算
直销企业的网上订单到送货的后台过程。
2 概念
1、信息系统相关概念
支撑系统应用的不同层次技术介绍
网络/硬件基础设施/操作系统 (略)
网络应用环境
数据库
4. 各种商业应用软件 / 管理系统
系统在业务中的应用
开发工具
集成技术概念
7. 多层次系统集成
8. 应用集成
信息系统概念
定义
分类
体系结构
层次
组成
信息系统
定义
信息系统是用信息化手段将业务逻辑固化的,是人、设备、应用软件、操作环境、业务流程的集合体。
信息系统是管理理念、整合实施水平的体现。
分类
1、管理信息系统按应用区分
数据分析、决策支持
业务操作的系统支持
后台数据/事务处理
分类
2、按交互形式
标准应用程序:IE/窗口/字符界面
报表/图表
无交互的系统:订单处理、工作流……
部件/组件 ……
体系结构-概念
概念
体系结构,指信息系统的每个组成部分之间的相互关系,包括:层次、拓朴结构、布局、接口、边界等;组成部分包括:硬件、软件、数据、操作规程、文档、参与的人员等。
体系结构-1
按系统的操作端区分
主机/终端模式
集中式文件资源共享
对等网
客户/服务器(C/S)
浏览器/服务器(B/S)
静态的页面
由服务器解释脚本
由中间层支撑的B/S结构
体系结构-2
按拓朴结构区分
点状
线状
星型
网状
体系结构-3
按计算模式区分
集中式计算
分时共享
资源共享
客户端/服务器模式
分布式计算
胖客户/服务器结构
三层或更多层的结构
其它结构
信息系统的层次
信息系统层次结构
信息系统层次结构是按照互连、互通、互操作的开放式系统思想对信息系统应用层次进行划分的结构模型。
信息系统层次划分
1、物理层——硬件产品、网络设备;
2、操作系统层——系统软件;
3、工具层——DBMS、中间件、网络工具等;
4、数据层——数据模型;
5、功能层——功能模型;
6、业务层——管理模型;
7、表示层——人机交互。
信息系统组成
网络、硬件基础设施、操作系统
网络应用环境:OA平台/信息安全
数据库
平台工具/中间层
应用软件 / 应用系统
业务应用
网络应用环境
Intranet/Internet 基础服务
信息安全
网络基础服务
Intranet/Internet 基础服务
域名(DNS)服务
Web(WWW)服务
FTP文件服务
电子邮件服务(Email)
其它服务:群件、工作流工具……
网络基础服务-DNS
分布式层次数据库
提供域名和数据的映射
域名 IP地址
域名 计算机名
IP地址 域名
树状的名字系统
网络安全
密码技术与密钥管理
证书
数字签名
智能IC卡技术
安全套接字(SSL)
数据库
数据库系统概述
数据库分类
发展现状
典型产品的介绍
数据库概述
数据库
词义:原始及加工数据的集合
产品包含:数据库 + 管理工具 + 开发接口
数据库分类
关系型数据库
文件型数据库
非结构化数据库
多媒体数据库
专用、工程数据库
数据库发展情况-1
发展阶段
第一阶段(70年代),可说是一套对表的有限命令集。例:DBASE
第二阶段(80年代) SQL面世了
第三阶段(90年代) 加强了数据库的整体安全性、管理、提供了事务处理等功能
数据库发展情况-2
运行环境的演变
第一阶段,在小、中、大型机上运行的RDBMS一般为多用户系统。微机上为单用户版本
第二阶段,开始出现跨平台的产品,数据库开始支持网络并发操作…
第三阶段,产品追求开放性、可移植、可连接、可伸缩
数据库发展情况-3
产品构成的变化
早期的产品主要提供数据定义、数据存取、数据控制等基本的操作和数据存储组织、并发控制、安全性完整性检查、系统恢复、数据库的重新组织和重新构造等基本功能。这些成为RDBMS的核心功能。
第二阶段的产品以数据管理的基本功能为核心,着力开发外围软件系统,比如FORMS表格生成系统、REPORTS报表系统、MENUS菜单生成系统等。这些外围工具软件,就是所谓的第四代应用开发环境,他们大大提高了数据库应用开发的效率。
典型产品介绍
Microsoft SQL Server
Oracle
IBM DB2
Sybase SQL Server
Microsoft SQL-Server
兼容性:微软的解决方案
可移植性:仅提供IA架构WINDOWS平台产品
可联结性:支持较多的协议
高生产率:第三方软件非常多
Sybase公司是1984年成立的,属于后起之秀。他推出了支持企业范围的“客户/服务器体系结构”的数据库。Sybase把“客户/服务器数据库体系结构”作为开发产品的重要目标。Sybase System 是其主导产品,支持企业内部各种数据库应用需求,如数据仓库、联机事务处理、决策支持系统和小平台应用等。
MS SQL Server是购买Sybase公司1987年推出的Sybase SQL Server, 又称为大学版INGRES的第三代产品,所以他们实质是一样的。
ORACLE
兼容性:Oracle产品采用标准SQL,有很好的产品兼容性
可移植性:Oracle在非常宽广的应用范围内提供了全系列产品
可联结性:支持较多的协议
高生产率:提供了多种开发工具
DB2
特点
DB2数据库核心又称作DB2公共服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能。
DB2核心数据库的特色有:支持面向对象的编程; 支持多媒体应用程序
Sybase SQL-Server
特点:在80年代中期出现的产品。至今占有相当的市场份额
较新的产品 Adaptive Server,集成了Server、Anywhere 等,提供了单一的编程模型
开发工具:PB、PD、PJ、P C++
软件-概念
软件是由人设计和建造的产品。
包括:
1、执行时提供希望功能和性能的指令;
2、使得程序能够适当地操作信息的数据结构;
3、描述程序的操作和使用的文档。
应用软件的特征
1、软件是被设计开发的,而不是传统意义上的被制造的,它是工程化的产品;
2、软件不会“磨损”;
3、虽然软件产业正在向基于构件的组装前进,大多数应用软件仍然是定制的。
商用软件的分类
1、系统软件
2、工具软件
3、商业软件
4、工程和科学计算软件
5、嵌入式软件
6、人工智能软件
7、个人软件
8、专用软件
9、管理信息系统(MIS)
业务应用
CRM
SCM
PDM
ERP
WEB网站
OA(邮件+内部主页)
基础网络设施(LAN或WAN)
企业MIS的骨架层次
业务应用
管理系统的来源
产品化的MIS软件 + 配置/个性化调整
优点:有成功案例,实施快速,适于”克隆”
缺点:造价与产品的“名气”成正比,定制调整有限
定制开发
优点:完全量身定制,可完整支持管理思路
缺点:系统稳定性受实施能力影响
业务应用
发散一下 ? (无正确答案)
定制系统 VS 购买成品 ?
案例背景:某书店想上电子商务,网上卖书 !
开发工具
早期语言:汇编、Cobol、Basic
结构化的工具:C、PASCAL
面向对象的工具:Delphi、C++、VB
支持组件开发的工具:Java、C#
信息系统集成概念
定义
区分层次的信息系统集成
原则
信息系统集成-定义
什么是系统集成?
系统是指为实现某一目标而形成的一组元素的有机集合,而系统本身又
可作为一个元素单位参与多次组合,这种组合过程称为系统集成。
系统集成的关键因素
1、系统集成的交付物仍然是一个系统,符合系统的所有特点;
2、系统集成不是系统间简单的堆积,而是系统间有机的集合。需要利用
系统工程的原理和方法,通过综合、协调使得全局、整体系统指标最优
化。
信息系统集成-定义2
什么是信息系统集成?
信息系统集成是根据应用的需求,将硬件产品、网络设备、系统软件、工具软件以及相应的应用软件等集成为一个具有优良性能价格比的计算机系统的全过程。
区分层次的信息系统集成
系统的层次:在不同层次上,实现之间的互连/互通,使之形成一个整体
1、物理层——硬件产品、网络设备;
2、操作系统层——系统软件;
3、工具层——DBMS、中间件、网络工具等;
4、数据层——数据模型;
5、功能层——功能模型;
6、业务层——管理模型;
7、表示层——人机交互。
信息系统集成的原则
原则
1、开放性——开放标准;
2、结构化——解决复杂系统;
3、先进性——较长的生命周期;
4、主流化——系统可靠性;
5、可行性——资源、进度的约束。
思路
1、深入研究目标系统的特点;
2、开展全面的调研工作;
3、分析问题,根据客户的优先极、难度确定范围
4、制定总体的解决方案。
应用集成概念-1
企业应用集成的分类
1、体系结构间的集成(横向)
2、体系结构内的集成(纵向)
应用集成概念-2
横向集成
长期、稳定的集成
随机的集成
应用集成概念-3
纵向集成
单一层次的集成:(应用环境……集成)
数据集成
应用集成:平台工具/中间层
3 数据集成
概念
方法
数据共享
接口集成
复制
数据仓库
数据集成概念-定义
数据集成:是共享或者合并来自于两个或更多应用的数据,支持更多企业应用的过程;
数据集成的目的:是运用一定的技术手段将系统中的数据按一定的规则组织成为一个整体,使得用户能有效地对数据进行操作;
数据集成处理的对象:系统中各种异构分布数据库中的数据;
数据集成的目标:是达到应用之间的信息共享、数据通讯。
数据集成概念-适用场合
数据集成经常是应用集成最简单、直接的途径。
数据集成通常通过使用基本文件I/O或者标准数据库呼叫来实现,不需要复杂的技术体系。
适于实现成本较低、进度安排比较容易、所需开发技能不高的集成解决方案。
目前流行的DBMS都提供数据集成的工具。
数据集成概念-不适用场合
1、不适于安全性/完整性规则要求高的应用:
由于绕过应用程序的安全性检查,可能导致的数据破坏;
存取控制的变化可能会打开新的安全漏洞;
数据输入输出可能把敏感的数据发布到共用网上;
2、不适于接口、业务规则复杂的应用:
拥有很多复杂数据结构的大型商业应用
数据结构没有正式书面文件支持的应用
面向交易的应用(如银行业或会计方面应用)
存有敏感的个人数据和商业机密的应用等
在提供数据集成方案,时要做认真的分析。
数据共享-方法
方法
新扩展的应用通过一定的安全和事务机制直接访问另外一个应用的数据库来实现数据集成。
数据共享-优缺点
优点:
是最简单的方法,通常也是最有效的方法。
实时数据同步、结构完全相同
缺点:
容易造成数据一致性和完整性的破坏
结构变化时,所有外挂需要一起调整
数据共享-适用场合
适用于
1、同一软件供应商的产品功能扩展
2、有详细技术文档的产品功能扩展
不适用于
数据重要性程度较高,
没有详细技术说明文档的数据集成。
数据共享-例子
酒店系统结帐台服务员收银统计表开发
背景
酒店已经有了支持业务操作的全套管理系统
收银部想统计每个收银员的日收银对比
软件系统的文档很全
方案
开发一个基于数据库的,独立于主MIS的统计程序
接口集成
描述
利用系统提供的各种接口(文件接口、导入导出函数)进行数据集成的方法。
是目前应用最广的数据集成方法。这种通过接口抽象的方法提供了集成不同类型应用的高效率,也是面向接口集成的主要优势。
文件接口通常采用的格式有文本文件、数据文件、XML文件或其它自定义文件。
利用应用系统的导出函数生成接口文件,通过其它系统的导入函数打开接口文件并读取数据,接口文件的传输可以是磁盘、磁带、光盘、Extranet、Internet等各种介质。
接口集成-优缺点
优点
通常对相关联的系统无不良影响
关联系统间界限明确,层次清晰
缺点
接口定义过程需精准
变更时调整工作量大
有时效问题
大量的数据传输需要额外的介质,增加了风险
接口集成-适用场合
适用于:
系统开发规范,输入输出接口通畅
业务允许关联系统间存在异步时延
接口集成—示例
某企业的资产条码打印
背景
企业的自有资产都在ERP系统中
系统数据库完全封装,但可指定的数据导出
企业想用系统中的数据打印资产标签
系统未提供该功能
方案
导出指定数据,外挂一个小程序打印
接口集成—XML规范
接口文件定义复杂,难以读懂,开发调试需要花费大量时间和人力,稳定性和可扩展性都受到影响。
数据文件通常依赖于固定的数据格式,这些格式虽然是规范的,但需要依赖于固定的数据库环境,这限制了集成的通用性和开放性。
XML(Extensive Markup Language)扩展标记语言消除了这些麻烦。
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>
数据复制-概念
数据复制的目的是为了保持数据在不同数据库间的一致性,而数据库可以是同一厂商也可以是不同厂商的(异构的),甚至可以是采用了不同模型和管理模式的数据库。
数据复制的基本要求是其必须能够提供一种数据转化和传输的基础技术(基于消息机制的传输处理中间件),以屏蔽不同数据库间数据模型的差异。
数据复制服务的基本原理:在两个或多个数据库之间设置一个软件中介(复制服务器),在一边,数据从源数据库中被抽取,而在另一边,数据被导入目标数据库。
数据复制-应用场合
数据复制常常用于应用系统的业务规则比较复杂或数据结构比较复杂但具有相同或相似的数据属性的数据集成,如组织结构内下级向上级的数据同步汇总或者移动计算设备的数据同步等等。
一般来说,源数据库和目标数据库最好来自统一厂商,需要复制的数据库可以用不同的标志进行隔离(如地区、销售商等)。
针对客户性能需求的不同,复制服务可以提供秒级、分钟级、小时级的服务。
数据复制–场景示例
某全国性的超市连锁的业务记录同步
背景
连锁店使用同一系统(数据结构相同)
业务实时性要求高,无法使用网页等实时连接手段
需要每天能将数据汇总,形成统一的数据库
方案
设定基于数据库功能的同步功能,每晚由系统启动无人执守的同步进程。
数据仓库技术-概念
概念:将多个数据库和数据模型集成为一种统一的数据库视图的方法。
描述:在分布的数据库和应用之间放置一个中间平台层(数据仓库系统),该层与每一个后台的数据库用其自带的接口相连,并将分布的数据库映射为一种统一的数据模型,这种数据模型只在中间件中存在。应用就可以应用该数据模型库去访问需要的信息。同时,该中间件也可以通过将相关数据映射和导入实体数据库,进行数据库更新。
优点:将多种数据类型表示为统一的数据模型,支持信息交换,它能够通过一个良好定义的接口访问企业中任何相连的数据库,也提供了一种利用统一接口解决面向数据的应用集成的方法。
数据仓库-定义
是企业面向主题的、集成的、稳定的、不同时间的数据集合,为企业的应用系统提供统一的、规范的所需信息。
数据仓库系统是解决信息技术发展中存在的拥有大量数据,而其中有用信息贫乏的综合解决方案。
数据仓库的特性
面向主题:数据是由业务主题组织的,而不是由客户总数或者其它关键因素(也许是组织的正确方法,例如,事务数据)组织的。
集成:数据是作为一个整体进行存储的,而不是以可能有不同结构或组织方式的文件集合存储的。
非易失:数据保持不变。按计划添加新数据,但是依据规则,原数据不会丢失。
随时间而变化:时间量度明确地包含在数据中,使得随时间的趋向和变化可以用于分析研究(许多数据仓库还包含地理空间维)。
数据仓库-结构图示
数据仓库-形成过程
数据仓库-要素
数据分级(Data Staging)
数据分级是指从分布式源数据库进行数据提取、转换、净化、加载的过程。
1)提取(Extract)从源数据库读取源数据的过程;
2)转换(Transform)将源数据转换成为符合数据仓库的内部结构格式的初始目标数据的过程;
3)净化(Cleanse)对初始目标数据进行数据过滤和验证得到目标数据的过程;
4)加载(Load)将目标数据添加到目标数据源的过程。
数据仓库-要素2
2、汇总(Summaries)是一类程序,它针对目标数据预先计算出象总额、平均值等常用聚集函数的值随着数据的加载一起添加到数据仓库中,当然,这不是必须的。
3、元数据(Metadata)是“有关数据的数据”,可以分为管理元数据、业务元数据和操作元数据,它可以告诉用户数据仓库有什么、来自何处、所有者、安全访问授权等信息。
4、数据仓库数据库(Data Warehouse Database)指数据仓库中明细数据(原子数据)和汇总数据,由于它不考虑数据事务存储而考虑数据查询分析,所以其设计原则不同于事务数据库,一般采用星型数据库设计方法
数据仓库-与业务数据库对比
可接受低性能
要求高性能
性能
高
低
灵活性
不可预期的
可重复的
任务
定期的、计划的
连续的、随机的
更新
详细的、可汇总的
原始的、详细的
粒度
明确可见的
暗指
时间维
历史的
当前的
通用性
静态
动态
易变性
数据仓库数据库
业务记录数据库
特性
4 应用集成
概念
1、应用集成概念
2、 中间件技术的分类
主流的中间件技术介绍
3. OMG CORBA
4. Microsoft .NET
5. J2EE
概念-数据集成的问题
数据集成不能完全支撑业务
1、应用系统供应商处于商业市场的考虑或者知识产权保护的原因,往往不原意提供数据集成的技术手段,而是提供应用程序接口(API)方式来实现系统集成,这种情况在Windows平台下尤为明显。
2、基于企业内存在大量的应用系统,这些都是企业长期管理知识和经验的积累,在充分利用现有资源和保护投资的前提下更加希望实现应用系统之间的功能交互。
3、基于企业内部存在大量的应用系统,这些应用系统造成了大量功能的冗余,即相似的行为功能却具有不同人机界面,造成操作者认知模型结构的混乱和复杂化,因此需要通用实现功能交互来减少冗余,简化操作者的认知模型。
概念-应用集成定义
应用集成是遵循规范的开放标准,并用技术手段通过系统间的功能交互,实现之间的信息交互。
应用集成的技术要求:
1)能提供应用间的互操作性,即实现应用间的信息交互;
2)能提供分布式环境中应用的可移植性,即应用物理分布的无关性;
3)能提供分布式环境中应用访问的透明性,减少应用集成编程的复杂性。
概念-策略
所有信息系统、业务环境,都在趋向于支持各种规范及标准,这是异构系统间实现应用集成的基础。
应用集成是根据企业特性,通过分析并形成方案,并付诸实施,对系统的各个环节进行调整,使之使到业务目标的项目过程。
要实现系统的应用集成,系统必须遵守一个公共的体系结构——公共的开放式标准,这是建立开放式系统最直接的途径。
概念-早期标准
早期的标准制定主要集中在:
1、实现标准化应用程序接口(API);
2、建立支持互操作的标准化协议,使系统之间能够进行对程序和数据的相互访问,历史上曾形成了形形色色的各类标准和规范,如ISO的OSI—RM(七层模型)等。
3、很多标准和规范只是解决了一些单一领域的开放性问题,为了建立一个统一的、开放性的、实现分布式应用互操作的应用集成环境,必须构建一个能够表达分布的应用构件之间互操作的通用模型,该模型应该使分布式计算涉及到的所有方面都具有“开放性”,包括通信协议、应用编程接口、人机接口等等。
概念-中间件技术
中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
中间件是在计算机的OS之上,支持软件开发、运行的软件,能够使应用软件相对独立于应用系统环境,为各种分布式、跨平台的应用建立起可用的平台,把分散的系统和资源组合在一起,支持应用软件系统间的集成。
中间件具有标准的程序接口和协议,通常提供了通用工具的API。
概念-中间件技术-2
二层架构的缺点 ?
中间件的技术分类
远程过程调用中间件
消息中间件
对象请求代理
事务处理监控
其他专用中间件:数据库中间件、CTI ……
RPC-1
远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。
RPC-2
特点:
RPC通讯是同步的。(采用线程可以进行异步调用 )
RPC为c/s分布式计算提供了有力的支持
通常需要一些网络细节以定位server
Server端通常必须保持可用状态
消息中间件-1
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。
产品:IBM的MQSeries
消息中间件-2
特点
异步运行 结构支持:一对一、一对多、多对一,使得系统的结构更灵活。 程序与网络复杂性相隔离
对象请求代理
随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。
事务处理监控-1
背景
最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。
随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。
事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。
它可以被看作是事务处理应用程序的“操作系统”。
事务处理监控-2
价值
进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。
事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。
通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。
基于HTTP协议的模型示意
主流的中间件标准
不同组织/公司的标准及技术
1)CORBA的CCM;
2)Microsoft的COM/DCOM;
3)Java Bean和EJB
CORBA – OMG
OMG(Object Management Group)
是由800多个信息系统供应商、软件开发者和用户共同构成的国际组织,建立于1989年,致力于将对象和分布式系统技术集成为一个可相互操作的统一结构,通过建立行业指导和对象管理规范为应用开发提供公共的框架。
CORBA – 标准历程
公共对象请求代理体系结构CORBA是OMG提出的一套进行标准化分布式计算的体系结构。
1、1990年发布了OMA(对象管理体系结构);
2、1992年发布了;
3、1996年发布了;
4、1998年2月发布了;
5、1999年发布了;
CORBA – 要素
CORBA(Common Object Request Broker Architecture)
这是标准化分布式对象计算的基础,是一种标准规范,它的基础是OMA。
对象管理体系结构OMA(Object Management Architecture)是OMG提出的异构环境下对分布式对象进行管理的体系结构,它包括:
1)对象请求代理ORB(Object Request Broker)
2)对象服务(Object Services)
3)公共设施(Common Facility)
4)域接口(Domain Interface)
5)应用接口(Application Interface)
OMA要素间关系
CORBA 规范
1、CORBA对象模型(CCM)
它提供了对象概念和术语的有组织的表达,定义了分布计算模型,该模型体现了对象的关键特征:
1)与对象相关的概念:对象、请求、对象的创建和销毁、数据类型、接口、操作、属性;
2)与对象实现相关的概念。
2、IDL和GIOP
3、 CORBA ORB结构模型
IDL & GIOP
IDL和GIOP是CORBA两个非常重要的概念,分别实现了程序开发语言的无关性和解决了分布式计算对象的异构性。
接口定义语言IDL(Interface Definite Language)描述客户调用和对象实现提供的接口,屏蔽了各种开发语言之间的差别;
GIOP是ORB的内部传输协议(IIOP是GIOP在Internet上映射协议),可以实现跨平台的通讯;
ORB模型
ORB 的部署
1、根据需求编写符合IDL语法规范的接口定义文件;
2、利用IDL编译器,将接口定义文件编译成桩文件和骨架文件;
3、编写客户程序,静态或动态调用对象(桩调用、DII);
4、从骨架中派生出具体的对象实现类,编写实现具体功能的代码,使用BOA或POA实现、注册类;
5、编译、连接。
ORB-BUS的总体架构
Web
浏览器
IDL
文件
IDL/Java
编译器
客户
Applet
IDL
桩
IDL
构架
服务器
Java ORB
Java ORB
客户端
服务器端
图
5
-
3 ORBUS
系统总体结构
对象
对象
对象
IIOP
引擎
客户
Application
IIOP
引擎
网络
ORB
域守护
进程
.NET体系
COM是Microsoft公司制定并颁布的一种不依赖于任何编程语言的构件对象模型,COM+是以COM为基础的新一代技术,在COM+的基础上,Microsoft将多年积累下来的技术精华集合起来形成了一个完整的、多层结构的企业应用总体方案——Windows DNA,使得Windows成为真正的企业应用平台。
在上述技术发展的前提下,Microsoft推出了Microsoft® .NET体系结构。
.NET体系-WebService
一个能够使用XML消息访问服务组件的Interface, 这个Interface描述了一组可访问的操作。
- 由SOAP+WSDL包装的Object
- 适应松散耦合的网络环境,可通过Web访问,手段是SOAP Message
- 服务的行为、输入/输出都可使用WSDL描述
关键技术:
SOAP – XML格式的消息交换协议
消息/文档交换协议
Web服务对象的面向对象的访问界面
WSDL – 基于XML的组件描述
UDDI – 可通过Web访问的注册中心
使用SOAP Message来访问
WSFL – Web Service间工作流描述
COM/DCOM/COM+
COM对象是由Windows系统平台直接支持并注册的二进制代码对象,它
实现了面向对象的基本特征以及语言无关性、访问透明性和可重用性的
特征。
DCOM是COM的扩展,采用DCOM协议以及远程代理服务对象进行远程调
用的COM。
COM+是在原先MTS基础上发展起来的,是COM、DCOM和MTS的集成。
为COM调用提供了一种新的基于MSMQ的通信方法,COM+提供监听
(Interception)结构,使得COM只有在需要时介入。 同时,COM+为创建
高伸缩性的分布式企业应用提供了多种服务——事务处理、安全服务、
并行处理、消息队列以及负载平衡等其它相关服务。
Windows的DNA结构
Microsoft® .NET结构
1、Microsoft® .NET 是 Microsoft XML Web services 平台,XML Web
services 允许应用程序通过 Internet 进行通讯和共享数据。
2、.NET 框架是用于生成、部署和运行 XML Web services 和应用程序的多语言环境,它包含以下三个主要部分: 公共语言运行库、统一编程类和。
3、Web Service 把组件技术和web绑定在一起。
一方面提供组件的接口黑盒功能,另一方面不需要用RPC (DCOM)、RMI(JAVA)、IIOP(CORBA)等object-model-special协议,而是用常用的web协议和数据格式。使用XML格式、SOAP报文格式,SOAP绑定在http协议上,因此不必担心网络中的防火墙,也就不存在tunneling问题;
Web Service 通过XML的WSDL文档来进行自描述,与Windows注册表无关,从而避免了COM组建部署时版本冲突的问题。
Web Service 使组件技术延伸到更广泛的internet领域,从而可以获得更大范围的代码复用(例如),进行更快捷的分布式应用开发,创建具有更高伸缩性的企业级应用。
.NET体系结构-1
.NET结构的部署
基于Windows DNA或者.NET框架,建立由COM+和Web Service组成的企业应用集成环境,业务逻辑有三种部署方式:胖客户、瘦客户和零客户。
1、胖客户:在本地部署了用户界面,主要业务逻辑和本地数据库。单元的I/O数据流要与服务器交换,所以在服务器上只部署少数业务逻辑,如:数据收发,转换,消息管理等等。
2、瘦客户:在本地部署了用户界面和少数的业务逻辑。多数的业务逻辑要通过DCOM/IIOP/RMI等方式远程调用服务器上部署的COM组件或者Web Service组件。
3、零客户:浏览器客户端,界面表现层以及全部业务逻辑都部署在服务器端。
.NET结构的部署
Java-- J2EE 的基础
JAVA的特点:
简单(Simple):容易编写程序,不需要长时间的训练,而能满足现代的需求。
面向对象的(Object-Oriented)
分布式的(Distributed):
健壮的(Robust):
安全的(Secure):
结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
J2EE 概述-1
1、J2EE 平台概述
J2EE平台是基于java技术的,不依赖于硬件平台和操作系统。
J2EE是一种规范,最初由Sun开发,现在由Java Community Process(JCP)控制,是一个开放的平台得到大量厂商的支持,不同厂商提供了符合规范说明的各种实现方法
J2EE主要针对于构件多层分布式网络应用系统,增强系统的可扩充性,伸缩性
J2EE 概述-2
2、J2EE价值地位
J2EE平台是一个可以给IT机构、应用开发者和产品供应商带来以下好处:
供应商可以开发运行在支持J2EE平台的任何系统之上的产品。不需要额外的工作,他们的产品就可以运行在多种系统平台上
团队IT开发者会从可移植性组件技术
IT开发者可以专注于支持业务处理的需求,而不需要花时间去创造内部的应用架构。由应用服务器处理一些复杂问题,如多线程、事务和生命周期管理。
采用J2EE平台可以保护公司的投资,因为它是一个工业标准,而不是某个供应商特有的产品。
J2EE平台把应用在物理上清晰、有逻辑性地分成多层,因此,自然满足了多层应用地需求。
开发者可以创建自己的J2EE平台组件,也可以从快速发展的第三方市场获得这些组件。因此大大缩短开发周期。
J2EE体系结构
J2EE的关键技术
Java Server Page(JSP)
Servlet
Enterprise JavaBeans(EJB)
J2EE的关键技术-1
Java Server Page(JSP)
服务器端脚本语言
JSP页面内容在向客户端传送时先在服务器端处理
服务器编译JSP中的Java代码生成Java Servlet
类似的语言有Active Server Pages
J2EE的关键技术-2
Servlet
JSP被请求时由应用服务器编译成JSP Servlet
如果JSP已经被装载在内存中,应用服务器将不编译该JSP,而是直接执行JSP Servlet
Servlet的特征
是在服务器端运行的Java程序
完全运行于服务器端的web server 中
平台独立
J2EE的关键技术-3
EJB
EJB是开发和配置基于组件的分布式商务应用程序的一种组件结构。用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。这些应用程序可能只需编写一次,然而可以在支持EJB规范的任何服务器平台上配置
EJB包含以下内容
EJB 服务器
EJB 容器
EJB类 和实例
EJB本地接口和EJB远程接口
EJB各组成间的关系
EJB 服务器
是EJB容器的运行母体
提供一些系统服务:如事务,安全服务等
EJB 容器
管理EJB类和实例
生成调用bean的代码
创建、初始化和销毁bean
管理持久对象
提供EJB Server的服务给bean
EJB 类的实例 Bean,包括:
会话Bean(有状态/无状态)
实体Bean
消息Bean
EJB的部署
EJB部署
每一个EJB组件必须包含一个部署描述文件,该文件声明需要EJB容器的哪些服务。例如,可以用部署描述来指定事务处理要求、安全性要求、持久性要求等。
客户端代码,如
Servlets或
applets
Enterprise
Beans
Home对象
EJB对象
Remote
接口
Home
接口
EJB容器/服务器
返回EJB
对象引用
生成一个
新的EJB对象
生成一个
EJB对象
EJB的开发工具
开发环境 Jbuilder (Visual Age、JDevelop)
平台软件 Weblogic (Webspher、JBOSS)
数据库 Oracle 、DB2、MSSQL)
5 业务应用集成/工作流
业务/系统流程的重组(BPR)
基于工作流的实现(WF)
介绍—概念
实现企业多个应用系统构件之间的协同,将孤立的应用过程集成起来,形成一个面向需求的、协调的、高度伸缩性的、集成的企业信息系统。
“面向需求”
“协调”
“高度伸缩性”
“集成的”
工作流系统的价值:定义工具、执行服务和任务表管理器,都是为业务过程、人员的操作动作提供支持。
介绍—目标
1、实现符合业务流程需求的信息交互,这也是系统集成的根本目标;
2、满足企业实施并行工程(CE)和经营过程重组(BPR)的扩展需要;
3、充分利用已有资源,通过实现已有应用系统的集成和封装保护企业过去在信息化建设上的投资;
4、实现应用逻辑和过程逻辑的分离及过程建模与具体数据、功能的分离,支持在不修改功能的前提下,通过修改过程模型来完成集成系统功能的改变,以提高企业的灵活性和反应能力。
介绍—局部的例子
有工作流能力的工具
Task monitor
SQL Server DTS
任务:
定义启动规则
定义动作的组合
介绍—工作流机的片断
实现--思路
思路:用系统的工作流管理,实现业务模型的搭建
步骤
梳理企业的业务流程(BPR)
以信息系统的能力/视角优化,形成模型(BPR)
分别实现各个组成部分 (应用集成EAI)
用工作流工具/定制开发,将模块组合。
实现--阶段划分
实现—图例说明
业务流程定义
模型设计、对象的生成
代码的生成、业务实施
实现—角色
业务流程集成系统的建设
过程建模
模型的优化(略)
流程中的人机交互
以工作流系统为核心的运行模型
过程建模
建立阶段:完成经营过程的计算机化定义;
根据过程目标和系统约束条件,将系统内的活动组织为适当的经营过程。
完成工作
1)准确描述企业的经营过程,供流程分析和优化(如BPR)使用;
2)支持在不同的组织和信息系统间共享经营过程知识,便于实现企业基准工程和企业动态联盟;
3)根据设计的企业过程模型进行相应的功能构件配置,实现按照过程的横向集成(企业内集成),而不是按照企业的职能部门进行集成,利用这种柔性的过程集成满足企业核心价值流的需求;
4)支持开发新的经营过程,满足企业动态结构变化。
人工交互
工作流系统中,需人工干预部分,包括:
1)模型定义,创建、修改和发布企业的业务过程的模型;
2)根据工作流任务管理器提供的任务项,完成具体的业务处理工作(即应用的人工部分);
3)过程运行状态监控,可以挂起、唤醒、终止某个过程实例的执行,以及对过程活动状态进行人工干预,保证过程顺利进行等等。
工作流运行模型
常见工作流产品
根据工作流任务表管理器的任务传输方式,可以划分为四类:
1)基于文件的工作流系统,有IBM的FlowMark,FileNet的Visual WorkFlo等;
2)基于消息的工作流系统,有Novell与FileNet合作开发的Ensemble,Keyfile的Keyflow等;
3)基于Web的工作流系统,有Action Technologies的Action Works Metro,Ultimus的Ultimus;
4)群件与套件系统,它采用上述三种的混和传输方式,一般是一个完整的应用开发环境,有IBM的Lotus Notes,Microsoft的Office和Exchange等。
工作流实现模式
工作流管理系统客户端应用是指一般用户完成任务表管理器分配的任务或者活动的功能,任务表管理器可以由工作流管理系统提供,也可以由用户自行开发,任务表管理器的实现方法有:
1)基于主机方式模型;
2)基于共享文件模型;
3)基于电子邮件模型;
4)基于过程调用和消息传递模型。
B2Bi
B2Bi(Business to Business Integration)
- 企业和企业之间的应用集成
典型应用
- 协同产品开发
- 计划、预测的协同
- 采购管理
- 订单管理
- 库存协同
EAI/B2Bi
企业信息化建设的最终目的就是实现整个企业内部外部完整的协同.
B2Bi是企业和企业之间的应用集成,主要用于企业供应链群落的整合.
E- Enterprise
Intergration
Collaboration
企业内部信息化建设
EAI建设
B2Bi建设
EAI / B2Bi 示意
EAI服务
CRM
SCM
ERP
B2Bi应用
国际大供应商、大客户、大代理
中小代理、中小供应商、直销客户
端到端
销售人员
代理协同
客户订单等
采购人员
供应商管理
采购订单管理
B2Bi服务
门户网站
PDM
6 回顾
层次
步骤
应用集成的层次回顾
技术集成
开发环境 J2EE、.NET
技术标准 XML、HTTP
接口标准 JCA、DCOM
数据集成
统一的元数据标准
数据共享、数据同步
应用系统集成
系统互操作
跨系统应用
应用接口集成
业务流程集成
BPM
工作流管理
实施难度加大
实现可替代性提高
步骤
业务模式分析
企业现状分析
确定集成策略
确定集成技术架构
统一元数据标准
分析关键集成点
制订实施计划
分步骤实施
不断优化
问题强调
统一标准(元数据、接口、协议)
集成层次(数据、应用、业务)
ROI分析
业务决定IT
谢 谢
交流与沟通
陈刚
Mob: 13910218050
Email: stormch@