基于 Eclipse RCP 的复合应用开发,第 1 章

来源:developerWorks 中国 作者:扈 晓炜
  

本书第一部分分析现有信息系统开发方法及其问题,介绍复合应用的概念、实例、需求分析、设计方法和实现技术。第二部分详细介绍用 Eclipse 技术实现复合应用的基本方法。第三部分介绍企业级复合应用平台的需求和 IBM 对应的产品 Lotus Expeditor 和 Lotus Notes 8,和在这些平台上进行企业级复合应用设计、开发、部署。本书可供具有基本信息系统开发经验的人员了解复合应用系统的需求、设计、实现和运行技能,以及如何应用企业级复合应用平台设计开发复杂的企业级复合应用系统。第 1 章首先介绍当前信息系统技术的现状,企业中信息系统不断增加产生的不能适应企业发展要求的问题,然后介绍复合系统的基本概念和应用实例。

在此我们推出了本书的前言和第 1、5 章供大家在线浏览。更多推荐书籍请访问 developerWorks 图书频道。

图书信息 书名:基于 Eclipse RCP 的复合应用开发
作者:扈晓炜、蒋建民、刘大力、徐秀丽编著
出版社:电子工业出版社
出版日期:2008 年 5 月
ISBN:978-7-121-06124-0
购买: 中国互动出版网、当当网、卓越网

推荐章节:

  • 前言和目录
  • 第 1 章:复合应用系统概念
  • 第 5 章:作为桌面复合应用平台的 Eclipse RCP

 

更多推荐书籍,请访问developerWorks 图书频道。

欢迎您对本书提出宝贵的反馈意见。您可以通过本页面最下方的建议栏目为本文打分,并反馈您的建议和意见。

如果您对 developerWorks 图书频道有什么好的建议,欢迎您将建议发给我们。

1.1 企业单一业务信息系统方法与问题

目前多数企业开发信息系统的目的是使某(几)个业务处理流程自动化,可以称之为单一业务信息系统。由于企业业务处理和数据的相关性,当企业中单一信息系统数量不断增多时,产生了数据不一致和用户使用不方便的问题。相关信息系统数量的增加产生系统集成的要求。目前主要有数据集成和应用集成两种方法。这些方法可以暂时缓解信息系统数量增加与提高企业运行效率的矛盾,但并不能完全解决相关问题。随着企业信息系统的不断发展,目前的系统开发和集成技术已经不能适应企业业务发展对信息系统的要求,需要新的信息技术突破。

1.1.1 面向流程的单一业务系统

从范围和目标看,目前企业信息系统项目一般可以分成业务应用系统项目和信息系统集成项目。业务应用系统项目以特定业务或部门的流程和业务功能为主线进行需求分析和开发。如订单处理系统以订单流程中的订单生成、审批、付款、结单业务操作为单位进行设计和开发;公文处理系统以企业公文处理流程中的起草、编写、审批、传阅和存档处理为单位进行设计和开发。大型信息系统项目可能跨越多个业务流程,含有多个子系统。如 ERP 可以包含财务、生产管理、物流等多个子系统。每个子系统处理相关业务流程。

这样开发的系统着眼于企业当前各个细化的流程和岗位操作,以及数据处理的自动化和计算机化。这种方法适合业务流程和组织结构稳定、企业岗位分工较细、较明确的业务组织及其系统。如针对银行储蓄所的柜员系统。它为柜员提供各个业务操作界面,如图 1-1 所示,使所有业务信息得到计算机统一存储和自动化处理。用户操作时所有信息来自后端核心业务应用系统和用户的输入。柜员岗位的人员大部分工作时间只使用这个应用。这种业务系统称为单一或独立业务系统。


图 1-1. 单一业务应用系统界面
单一业务应用系统界面

1.1.2 单一业务信息系统架构

单一业务信息系统的主要功能是对输入的数据进行处理、存储和输出。经过几十年的发展,信息系统经过了主机,小型机 / 工作站,客户机 / 服务器,Web 阶段,目前企业信息系统是多种结构混合的阶段。应用界面一般由功能选择(菜单、导航栏)和主操作界面组成。随着信息技术的发展规律,信息系统结构和用户操作界面经历了很大变化,开发方法也经过了非结构化、结构化、面向对象等多个阶段,但这类信息系统的基本思想和开发模式没有变化。

每个业务信息系统应用从结构上都可以分成界面处理、业务逻辑处理和数据处理三部分。分别围绕特定业务操作相关的人机交互操作,数据处理和存储进行。在信息系统技术的不同发展阶段,各部分代码所处的机器及其开发方法不同,但整个系统的逻辑结构基本一致。图 1-2 中列出了从早期主机 / 小型机终端应用,PC 的客户机 / 服务器技术,到目前 Web 应用技术的基本架构,可以看到不同技术信息系统部署的物理结构和信息处理的逻辑结构之间的关系和区别。


图 1-2. 信息系统架构发展的各个阶段
信息系统架构发展的各个阶段

1.1.3 业务系统增加带来的集成需求

传统的系统开发方法在企业中留下了各式各样的信息系统。 一个银行中可以有储蓄、贷款、收费、支付、外汇、统计、信用卡、电话银行、客户服务、会计财务、人事、绩效管理、审计、协作办公文档等十几甚至几十个信息系统。随着企业信息系统数目不断增加,开发某个新的业务系统时经常需要其他信息系统中的数据和处理逻辑。业务系统增多还带来许多使用和管理的不方便。如用户需要记住很多账号和口令,经常需要手工将一个系统的数据转入另一个系统。针对这些问题提出系统集成项目的需求,要求提高用户操作的效率,减少和消除企业不同信息系统中的数据不一致问题。

有些用户或开发商试图每隔若干年对企业信息系统进行全面更新,但这种方法在实践中常常由于涉及企业资金问题和投资回报而得不到认可。现实中绝大多数企业的信息系统是随时间推移不断开发和投入使用的。因此业务信息系统数量增加产生的集成需求,在不断发展的企业中将长期存在。在现代经济中,不断发生的企业合并也使这种要求更加强烈。

1.1.4 应用集成与数据集成

企业各个业务所涉及的信息相关性使企业的信息系统及其处理的数据具有相关性。当企业有了一些系统后,后续系统开发项目中,都有使用某些现有应用中的数据和处理逻辑的要求。针对这种要求,一般用如图 1-3 所示的数据集成和应用服务集成结构实现。后续应用(应用 2)可以通过数据集成层或应用集成层访问以前开发应用(应用 1)提供的服务。但用户所看到的界面仍然是针对新系统处理的某个业务操作的。在现代扁平化的企业中,每个员工可能涉及多种业务流程。这种集成方法使有些用户所面对的信息系统数量不断增加。而新的后续应用需要考虑集成更多的数据和处理,使保持信息一致性的工作量越来越大。


图 1-3. 单一业务系统开发中的数据集成与应用集成
单一业务系统开发中的数据集成与应用集成

在图 1-3 中假设“应用 1 ”是一个现存的信息系统,“应用 2 ”是新开发的业务信息系统。由于在开发“应用 1 ”时几乎不会考虑以后开发的“应用 2 ”的需求,所以在开发“应用 2 ”时很难通过数据或应用集成直接重用“应用 1 ”的程序。实际项目中需要很多设计和开发工作才能实现对已有数据的抽取和对处理的包装,才能使新的应用可以利用已有应用的数据,同时保证不影响原有应用系统的运行。

随着项目中数据和应用集成要求不断增加,又出现了专门的集成技术和项目。它试图提供企业信息系统的整体服务层 API 和数据框架,以达到减少每个项目中数据和应用集成工作的目的。如图 1-4 所示,这种集成项目试图为企业各个信息系统前端提供一个中间层,来提供各种业务、流程和数据服务。中间层可以是传统的消息总线或现在的企业服务总线(ESB)。由于历史上的应用很难满足这种集成所要求的接口,因此在实践中更多地用于新应用的开发和大规模系统改造。这种方式的集成需要抛弃一些传统应用。


图 1-4. 企业数据和应用服务集成
企业数据和应用服务集成

1.1.5 特殊数据集成

随着企业数据类型和数据量的增加,针对特定种类的数据集成得到广泛应用。如针对 Web 网页内容集成的 RSS,它采用 XML 文件来描述一种框架,该框架将源自多个网站的 Web 内容组合在一起。还可以进一步将多个频道组合放在一个 OPML 文件中。特定的 RSS 阅读器或网站通过读取这些框架文件的内容,为用户提供访问这些内容的单一接口。这样用户可以通过单一应用(阅读器)或网址访问多个来源的信息。

下面为一个频道 XML 的示例。这个频道包含两个 Item 的内容简介和指向具体 Web 内容的连接。内容的集成层次可以不断提高,例如,用 OPML 将若干频道的描述放在一起,可以通过工具从某个集成点深入访问各个数据源。

<?xml version="1.0"?> <rss version="2.0"> 
	   <channel> 
	      <title>Liftoff News</title> 
	      <link>http://liftoff.msfc.nasa.gov/</link> 
	      <description>Liftoff to Space Exploration.</description> 
	      <language>en-us</language> 
	      <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate> 
	      <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate> 
	      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
	      <item> 
	          <title>Star City</title>    
	        <link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link> 
	         <description>How do Americans get ready to work with 
	         Russians aboard the International Space Station? 
	         They take a crash course in culture, language and protocol at Russia's 
	         &lt;a href="http://howe.iki.rssi.ru/GCTC/gctc_e.htm" 
	         &gt;Star City&lt;/a&gt;.</description> 
	         <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate> 
	      </item> 
	      <item> 
	      <description>Sky watchers in Europe, Asia, and parts of Alaska and 
	      Canada will experience a 
	    &lt;a href="http://science.nasa.gov/headlines/y2003/30may_solareclipse. htm" 
	      &gt;partial eclipse of the Sun&lt;/a&gt; on Saturday, 
	      May 31st.</description> 
	     <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate> 
	     <guid>http://liftoff.msfc.nasa.gov/2003/05/30.html#item572</guid> 
	      </item> 
	   </channel> 
	 </rss>

这种针对特定数据的集成方式可以暂时缓解企业应用和数据集成的压力。但各种传统数据类型(数据库,文档)和新兴数据类型(Blog,Wiki)在增加,企业中应用数量也在不断增加,由此带来的数据不一致的问题反而更加严重。

1.1.6 企业中众多的工具软件

除了各种业务信息系统之外,许多员工特别是知识工作者,在工作中还需要使用一些独立的软件工具。如 Office 套件,即时通信工具(QQ,MSN),CAD 工具,统计软件等。这些工具所需的输入数据及处理的结果常常需要人工转入某个业务信息系统。一些企业要求开发围绕这些工具软件的信息系统以提高员工工作效率,减少 IT 维护工作。但是由于这些独立工具软件本身在不断更新、升级,各个工具应用需要部署到各台个人计算机上,企业管理这些工具软件的成本甚至会超过管理许多业务信息系统。

为了提高工作效率,企业用户一般希望这些商业工具软件可以与业务系统连接。如当业务系统发生事件要求用户进行干预时,发送一个 QQ 消息,使用户及时了解事件进展,并通过这个消息直接进入对应业务系统的操作界面进行处理。工具软件的增多使它与信息系统的数据一致性和互操作性问题不断增加。

1.1.7 企业信息系统不断增加的趋势及问题

随着竞争的激烈化和成本压力的增大,单一业务信息系统开发、集成和使用方式所面临的问题日趋严重。企业的员工经常需要涉及多个业务流程工作。但由于历史的原因,这些流程往往由不同的应用系统进行处理。因此,要求每个用户学习使用多个信息系统。这种趋势随着企业的知识化在不断增强,同时激烈的市场竞争环境要求企业不断改变流程和组织结构,来保证生存和发展。随着信息系统带来的自动化和企业成本的压力,以及自我服务的趋势要求企业雇员使用更多的系统,完成原来由其他部门(特别是后勤部门)员工完成的部分工作。从而达到减少非生产部分成本的目的。所有这些企业员工需要了解和使用的信息系统不断增加,导致企业在信息系统的开发和管理上的投资越来越多,但系统和软件的不断更新使花费的收益减小。

在传统系统需求分析和设计过程中,一般假定完成业务操作所需要的数据由人工输入或从后台(其他系统)取得。由于资金、技术力量等限制,企业信息系统开发是在相当长的时期内逐步完成的。因此很多在系统开发时只能由人工找到的数据,随着企业系统增加,逐渐可以在某个新系统中找到,而旧系统仍然需要人工输入。这使用户经常提出升级、更新已有系统的要求,使系统的生命期维护费用不断增加,但这仍然难以满足用户要求, 以至不得不重新开发。

各个信息系统开发的独立性和分离性, 造成各个系统的界面和数据的分离。员工需要在切换工作任务,甚至在完成单个任务的过程中切换系统进行操作。企业业务数据本质是相关的,在完成复杂任务时经常要求相互参照,因此员工需要自行在各个系统间寻找完成任务所需要的数据和操作界面。比如在合同管理系统中起草合同时,需要访问产品管理系统中的产品规格,客户管理系统查找客户的地址、银行账号等。用户为了完成不同任务,需要登录和使用不同的应用。这些要求增大了员工的工作量和操作出错的可能性。

由于传统开发过程中界面、处理和存储的开发是以独立系统为出发点的,这种系统与其他系统的集成在 API 调用和共享数据访问上进行,所以很难在其他应用中直接使用已运行系统的界面。要想实现从一个系统到另一个系统的数据传递,需要大量编程以保证数据和处理逻辑的一致性。在数据层和应用层面的系统集成方法,不会改变前端界面针对个别业务操作和流程的现状。因此很少重用以前系统的功能代码,无法提高系统的开发效率。

传统方法开发和购买的信息系统和商业软件彼此独立,要求员工对各个系统及其与业务的关系有很深的了解,在日常工作时,可以综合使用多个信息系统和工具。当企业在流程调整和组织变更时,企业和员工需要在了解和学习信息系统的使用上花费更多精力,这样就提高了企业变革的成本。

从提高员工工作和企业的运行效率的角度,用户希望新技术建立的系统可以为员工提供对多个信息系统的单一操作界面,避免人工切换及切换时的登录、场景更新等准备工作,减少人工在不同系统和软件间的传递操作;从提高企业流程效率的角度, 希望可以使员工及时得到重要工作的提示,以便及时切换操作,高效地完成业务处理。





1.2 复合应用系统概念

复合应用是针对上一节提及的现有企业单一系统开发方法的问题,以及现代企业和市场竞争发展对信息系统的更高要求,而提出的前端界面系统集成思想、技术和系统开发方法。复合应用技术是对现有系统开发和集成技术的补充。

1.2.1 复合应用基本思想

复合应用的英文原文为 Composite Application 。国内有多种译法,如“混杂应用”,“组合应用”和“复合应用”。本书采用“复合”这个词。复合应用是多个单一业务应用和各种工具软件在使用界面上的集成。它有以下两个方面的复合含义。

1)将若干传统独立应用在同一界面上集成,并且相互联动,构成更复杂的应用组合。这种组合为用户提供一个复合优化的单一工作界面。为某个业务处理同时操作多个应用的组合界面,称为应用组合或工作空间。一个应用组合中的各个应用可以相互传递数据和操作,协同完成一个业务处理。

2)将若干应用组合根据某种框架进一步复合,这个框架可以根据用户当时业务的要求动态展现某个组合应用,协调多个应用组合的展现和操作内容。这些组合应用进一步组合成为一个完整的复合应用,满足用户同时处理多种业务的要求,以及信息操作系统完成所有业务处理的要求。一个复合应用系统的逻辑架构如图 1-5 所示。

图 1-5 复合应用系统逻辑架构


图 1-5. 复合应用系统逻辑架构
复合应用系统逻辑架构

如图 1-6 所示,在复合应用中,原来的独立应用表现为应用组合中的应用构件。它们可以独立开发和部署,并与其他应用一起形成应用组合。独立应用中的界面部分可以作为构件参与组合。复合应用中,界面与后台处理和数据的联系与独立应用方式一样,与后端的连接可以采用各种已有的技术以适应各种已有的系统架构。为了提高开发和运行的效率,可以利用现有应用集成技术,为整个复合应用系统开发处理接口和数据中间层接口。复合应用中的构件与传统单一系统中的构件的不同在于前者功能更加完整,可以在遵循框架接口的前提下,独立开发、部署和更新。任何现存的单一应用系统和工具软件都可以作为复合应用的构件。如各种企业业务系统(ERP,CRM,PDM,电子商务等),应用软件工具(办公软件 Office,图形设计软件 CAD,电子邮件,即时通信),协作系统(企业文档管理,电子会议软件等)。


图 1-6. 复合应用与传统应用的关系
复合应用与传统应用的关系

复合应用主要指界面应用或应用界面部分的集成。界面与后端服务可以保持原有的方式。不论是传统的专用通信协议,还是开放的数据库和应用访问协议或者 Web 服务都不影响前端复合。各个应用构件可以访问各自的后端系统和数据,也可以访问集成的企业服务层和公共数据。

在现实中,特别是采用复合应用的初期,每个应用组合中的应用数可能较少,甚至只有一个应用。这是目前业务应用的功能分解不够的原因。对企业业务和复合应用技术的有了一定的了解之后,开发者就能充分实现应用空间和组合管理,给最终用户、系统开发者、管理者和企业带来的好处。

1.2.2 复合应用系统的类型和开发

开发复合应用是开发新应用构件与已有应用构件在特定框架下的组合过程。首先要根据业务需求确定系统整体功能,包括整体框架和各个组合应用的功能,然后决定应用组合的方法:包括有多少个应用组合,各个应用组合间的关系,每个组合中有几个应用,各个应用的布局,相互数据与操作交互。具体实施时根据需求开发应用构件,并将各个构件组合起来。需要在框架中实现各个应用组合的管理,即各个应用组合的显示次序和切换方法,以及当某个应用组合被隐藏和再次展现时,如何进行现场数据的保持和恢复等。

根据复合平台和可作为构件的传统系统技术、系统结构的不同,复合应用可以分为基于 Web 技术的复合应用和基于富客户端(或称桌面应用)的复合。图 1-7 列出了两种复合应用架构的比较。

桌面复合应用中框架和构件都是在用户个人计算机中运行的本地应用。这些本地应用通过各种网络和应用协议连接后台服务完成各种处理工作。基于富客户端的复合应用可以包容传统客户端和单机应用。本书后面章节所重点介绍的 Eclipse 技术是实现富客户端复合应用的一种方法。


图 1-7. 基于 Web 和富客户端 / 桌面的复合应用
基于 Web 和富客户端 / 桌面的复合应用

图 1-8 为一个典型桌面复合应用的界面的示例。应用界面的右边为用户可以使用的应用组合列表。每个应用组合包括若干 IT 应用,这些 IT 应用可以由不同技术开发,如 Java,Web,.NET 等。各个应用组合间可以有一定的操作关系,例如系统消息界面中可以包含电子邮件、审批、通知、命令等各种消息。用户可以在这个界面中选择某个消息,系统可以转到处理相应消息的应用组合中,并且可以将消息作为参数传给对应组合,使用户可以在一个应用中直接操作与对应业务相关的几个应用,而不需在某个应用中查询之后,

再人工输入到另一个应用之中处理。


图 1-8. 富客户端 / 桌面复合应用的界面示例
富客户端 / 桌面复合应用的界面示例

基于 Web 技术的复合应用是在 Web 应用技术基础上,加入复合层,复合多个 Web 应用的组合。用户通过浏览器使用 Web 复合应用。 Web 复合应用中框架和构件都运行在浏览器中。门户(Portal)技术是实现 Web 复合应用的一种典型技术,如图 1-9 所示。一些厂家专有的 Web 应用复合技术,将在后面的章节中进行介绍。

复合应用系统的开发和生命期与独立业务系统有很大不同。独立应用系统的生命期经过需求、开发、迁移、运行、维护和退出阶段。每个系统的生命期相对独立。复合应用内部每个应用构件都是一个独立的应用系统,都经过上述的生命期全部阶段。复合应用的生命期跨越其复合的各个应用系统。在复合应用的运行期间,其中的各个应用系统可以不断变更、修改和替换。因此复合应用的开发、运行和管理比多个独立应用系统要复杂,要求在统一规划下分步实施和集成。


图 1-9. Web 复合应用的界面示例(Portal 和 Workplace)
Web 复合应用的界面示例(Portal 和 Workplace)

复合应用可以将用户完成一个任务所需的所有应用和信息放在一个界面,以便于用户操作,从而更快、更有效地完成工作。多个操作界面的统一管理,可以为用户在不同任务和工作间的动态切换提供方便、灵活的手段,同时可以使用户在若干任务并行的情况下,及时发现和处理对业务影响最大的任务,并高速度、高质量地完成。

采用复合应用技术,可以使企业各个信息系统项目的实施成为一个在整体规划下的、不断更新和改进的过程,使各个应用系统成为整个系统工程的有机部分,从而提高 IT 系统与整体业务流程的关系,为各个岗位员工提供更完善的服务,提高员工工作效率。

1.2.3 复合应用管理

复合应用管理在多个单一业务应用系统管理基础上提出了更多新的要求,包括管理复合应用中构件的部署、更新和访问控制,统一管理所有用户,定义各个用户可能用到的构件及其组合,当系统增加新构件或升级时,使用户自动使用到更新的功能等。由于将多个独立应用的管理统一起来,在提高管理要求的同时,管理的工作量可以小于各个应用的总和。





1.3 复合应用是 SOA 系统的前端

本节介绍 SOA 系统的概念,说明复合应用是 SOA 思想在系统用户界面的体现。实施复合应用,才能全面实现 SOA 思想的价值。

1.3.1 SOA 概念

SOA 是 Service Oriented Architecture 的缩写,是目前先进的企业信息系统总体架构方法。其基本思想是通过分析将企业业务流程分成若干基本业务处理的组合,并使企业系统架构与业务处理的原子化对应。现代企业要根据战略发展需要和竞争环境,不断改进各个业务及其组合流程,使企业的业务流程最优化,适应企业发展和竞争环境的要求。 SOA 的系统设计使信息系统能够满足这种企业基本业务和流程不断变化的要求。 SOA 的系统架构和开发方法能够在企业流程和业务处理变化时, 快速实现信息系统的相应变化,从而保证企业信息系统在激烈的竞争环境中的最优运行。

目前 SOA 在实现后端服务的灵活集成上取得了很大成功。其主要技术手段是以 Web Service 技术实现基本业务处理服务。通过管理这些服务的系统,如 ESB(Enterprise Service Bus 企业服务总线),实现各个业务处理的动态更新、组合。界面部分通过服务管理系统提供的发现、组合和调用服务访问各个业务处理。通过服务管理实现各个业务处理的灵活变更、组合,从而满足业务变化的要求。

但目前许多项目的前端仍然是针对该项目的特定业务操作需求的。采用前述的应用服务或数据集成模式,其结果仍然是用户面临众多的应用前端,当业务和流程发生变化时,需要较大的工作量修改前端应用,用户也需要不断的学习。

1.3.3 SOA 思想在复合应用使用中的体现

SOA 的思想是使企业信息系统与业务系统一致。当企业组织结构和业务流程由于各种原因变化时,信息系统可以随之快速改变。

复合应用把每个单元业务操作定义为应用构件,针对当前的组织业务流程,定义完成各个业务操作的应用构件组合。每个岗位所面临的复合系统表现为该岗位所需要的所有组合的集合。当企业组织结构和业务流程发生变化时,可以方便地增加、修改针对业务的应用组合。并根据新的岗位职责动态分配相应的组合集合。

1.3.2 SOA 思想在复合应用架构中的体现

真正实现信息系统的 SOA 化需要将 SOA 的思想应用到信息系统的全部环节,包括前端界面和后端服务。复合应用是 SOA 思想在应用系统前端,即用户界面部分开发的应用体现。其核心思想与复合服务思想相对应,以完成基本业务操作的应用界面作为界面单元,将完成一个完整业务处理所需的各个业务处理界面通过界面服务和展示管理提供给用户。当某个业务或业务组合需要变化时,可以在界面服务管理中更新界面的定义。当用户再次访问系统时,系统可以自动提供更新后的界面和界面组合。图 1-10 表现 SOA 系统的界面与后端服务的结构和关系。


图 1-10. SOA 系统的界面和后端服务管理
SOA 系统的界面和后端服务管理

复合应用中的各个应用构件对应各个基本业务操作界面。各个应用组合对应企业的业务组合,为某个员工提供的所有应用组合则是针对该员工的复合应用或者 SOA 系统,包括该员工所有业务处理所需要的应用组合,以及对这些组合的协调和管理功能。

因此在复合应用中的应用构件技术相当于后端服务中的 Web Service 技术。这种技术使各个业务应用作为服务单元完成基本业务单元操作。相对后台 SOA 通过 ESB 进行服务的动态组合,复合应用在界面层通过复合框架进行组合,提供动态、可组合的完整业务处理所需的前端操作界面。

复合应用为实现 SOA 系统前端提供技术基础。建立真正满足企业业务及其变化要求的 SOA 系统,则依赖于对企业业务的深入理解,以及对 SOA 分析方法的掌握。用复合应用技术实现应用单元的正确划分和组合,并在系统运行时不断监控、分析和调整系统的界面组合,从而满足业务流程、组织结构和业务处理变化灵活组合的要求。

复合应用可以更完整地实现 SOA 思想给 IT 管理带来的好处。通过对系统用户界面构件的统一管理,可以在 IT 系统频繁变化的要求下实现系统的灵活性、可靠性和可用性,满足企业各类用户对 IT 系统的全面要求。





1.4 复合应用的应用实例

本节通过银行网点系统,调度系统,企业员工桌面管理系统等实例,介绍复合应用技术在企业实际信息系统中的应用,增加读者对复合应用的感性认识。从这些应用我们可以看到,复合应用不仅可以用于传统独立业务应用系统,也可以用于更能适应高级知识用户的面向角色的信息系统,以及集成多种应用的企业综合信息系统。由于本书侧重桌面复合应用技术,所选实例均为桌面复合应用。其基本形式和原理也同样适合 Web 复合应用。

1.4.1 银行网点系统

柜员是银行网点的价值所在,银行的营业完全通过柜员的业务操作实现。因此银行网点系统以柜员系统为核心,传统柜员系统以基本业务操作为核心。 随着历史的发展形成了储蓄系统、消费信贷、电话收费、水电收费等多个应用系统。随着银行业务不断变化,新的业务系统不断出现。受到技术和资金限制,大多数应用采用终端主机方式,少数应用采用图形界面,但这些仍然是独立业务应用。柜员在处理不同业务时需要在各个应用间切换,相应的统计、安全也是在各个应用内进行。网点的管理人员不能随时了解各个柜员和网点整体的业务处理状况,影响了整体的工作效率。当理财等对信息系统要求较高的柜员业务不断增加时,各个独立业务系统不能相互联系。因此,为柜员提供高效的整体工作界面的需求日益突出。

采用复合应用技术的网点系统,针对柜员和网点经理的工作特点设计相应的复合应用框架,使其容纳相应岗位的所有应用,对特定业务提供相应应用的组合,提高工作效率并减小差错。利用复合应用的集成能力,可以将早期的字符终端应用、客户机服务器应用、单机应用和现在的浏览器应用集成为综合柜员复合应用和经理复合应用,从而节省 IT 开发和管理费用,提高业务工作效率。

图 1-11 为采用复合应用技术的银行网点柜员系统中的银行业务界面示例。系统的左边为应用组合选择栏,根据业务要求,分为基本业务应用、中间业务应用、人事应用。基本业务应用组合是柜员的主要工作界面,中间业务应用用于处理各种中间业务(电话、水、电)收费。人事应用组合包括:假期、通知、报销等非业务应用。


图 1-11. 采用复合应用技术的银行网点系统之柜员基本业务
采用复合应用技术的银行网点系统之柜员基本业务

网点系统中的网点经理系统,除包括柜员的所有应用组合外,还包括业务进度、审批等应用组合。当出现审批要求时系统自动提示有待审批项目,点击后自动进入审批应用。通过组合将各个业务的审批放在一个界面,可以方便、及时地完成审批操作。

1.4.2 物流企业调度系统

在物流企业里,调度工作是充分利用企业运输工具和仓储,保证各种物品高效快速运送到目的地,实现企业高效运转的关键。在调度过程中,需要随时了解货物、运输工具、财务、仓库和各种人员的状态。对新的运输请求和各种意外事件,需要及时处理,并相应地修改运输计划和下达调度指令。由于历史原因,企业的财务、仓库、车 / 船队管理及营业系统都是独立开发和运行的。这些系统中的数据重叠,为了保持一致,需要各个系统的操作人员相互联系。当企业试图精简管理层次、提高调度效率时,就会面临某些调度员使用多个系统的问题。

采用复合应用可以用最小的成本,最快的速度开发并在使用中不断改进调度系统,使其实现运输的最优化。通过集成客户管理、仓库管理、人事管理、车 / 船队管理等应用界面,使调度人员随时了解各种资源的状况,并可以不断调整以实现动态优化。通过集成即时通信、IP 电话等协作工具,调度员可以随时与其他工作人员联系,保证了解情况和下达指令的时效性。通过集成运输模拟软件可以方便地进行运输计划的修正和评估。

图 1-12 为采用复合应用的调度系统的图形化状态和计划界面。当企业需要更换计划软件或某个软件部分时,只需更换对应构件部分,就可以保持整个调度系统的完整性和运行的连续性。


图 1-12. 采用复合应用的调度系统的图形化状态和计划界面
采用复合应用的调度系统的图形化状态和计划界面

图 1-12 采用复合应用的调度系统的图形化状态和计划界面

1.4.3 员工个人计算机管理系统

个人计算机可以安装各种软件。企业希望员工使用指定软件完成指定工作。对员工计算机的严格管理是保证企业资产不被滥用的基本前提。个人计算机软件的丰富性和使用复杂性,使手工管理企业中大量个人计算机的成本超出 IT 管理预算。针对管理费用问题的一种解决方法是采用 Web 应用,消除在客户机上部署应用的需要。这种方法可以在一定程度上解决问题。但企业的很多应用由于界面和响应速度的要求,需要在个人机上安装运行。在高性能的个人机上只运行浏览器对企业来说,也是一种浪费。

采用复合应用技术可以实现个人计算机上各种软件及其使用的集中管理,包括采用各种技术开发的业务应用,如邮件、即时通信等协作软件,以及文档工具等桌面软件。使用复合框架可以根据员工的业务操作要求,将这些应用组合成更方便的应用组合。当需要进行特定工作时,自动启动所有对应的应用,并按预先定义使各个应用的显示内容符合相应的工作要求。图 1-13 为编辑办公文档时的复合应用。在编辑文档的同时,用户可以随时了解其他业务状况,在不同工作界面间切换。


图 1-13. 编辑办公文档时的复合应用
编辑办公文档时的复合应用

采用复合应用管理员工计算机时,企业可以根据各个业务操作设计相应的应用组合,再根据各个岗位的责任和应完成的业务决定每个员工可以使用的组合。每个岗位的所有可用组合,就是针对这个岗位员工的复合应用。当员工登录计算机后,系统直接启动对应的复合应用,展现该员工可以使用的各个应用组合。当员工职位变化时,通过在企业管理服务器上改变其岗位设置,系统会自动在相应计算机上部署相应的复合应用框架和构件,从而实现各种应用的自动管理,方便应用系统的使用和管理。

员工在使用图 1-13 中的复合应用时,可以在进行业务操作时自己决定何时使用哪个应用组合。在左边的选择框中选择对应组合。在更完善的桌面管理方案中,可以加入工作任务管理功能模块,将工作类型与相应应用组合对应,统一列出各个待完成的工作任务。当员工选择某个工作任务时,复合应用框架可以自动判断任务类型,切换到相应的应用组合。

1.4.4 医生工作站

目前医疗行业的信息系统大多是针对单一业务处理和流程的孤立信息系统。如财务管理、医嘱管理、病历、检查申请和结果、放射和影像、药房系统等系统。这些系统由不同的企业在不同的时期使用不同的技术开发,存在信息分散和不一致的问题。这些问题增加了医务人员的工作量和病人处理的流程,阻碍进一步提高医疗质量,并增加医疗成本。这种系统模式不能适应目前政府监管和医疗信息开放的要求。

医务人员要求信息系统可以提供方便、统一的工作界面,以提高工作效率、减少工作差错、提高医疗质量。医院管理人员希望信息系统在完成基本流程管理、保证财务处理的基础上,可以辅助医疗知识总结,为医院质量管理,以及医院和政府对医疗成本的管理提供充足信息,发现最佳治疗方法并及时推广。政府希望医疗系统可以提供全面的疾病信息,为政府决策提供依据。广大病人希望为病人提供全面的医疗知识服务。

医务人员的工作是高知识性工作。除了日常诊疗工作外,还需要不断进行有针对性的学习和研究工作。目前的医疗主要依靠医生用孤立的应用,手工收集资料并结合实际工作内容进行学习和总结。得到的知识存在于各人的大脑中,难于验证、共享和传授。

通过对各种需求和现有技术的分析,可以确定聚合应用是解决问题,满足各方面需求的最佳技术。下面以医生工作站为例说明聚合应用在医疗系统中的应用。医生工作站是医院信息系统的前端。采用聚合应用可以为门诊和医生提供综合各个信息系统的工作界面。不仅包括各种流程处理的集合(如日常病人的诊治),还可以聚集和处理各个系统相关的医疗和费用信息形成完整的医疗记录,用于医疗风险和质量管理,以及知识学习、积累等目的。图 1-14 是一个采用聚合应用技术的医生工作站的设计架构。


图 1-14. 采用复合应用技术的医生工作站设计
采用复合应用技术的医生工作站设计

这个复合系统针对医生的各项日常工作设计不同的应用组合,以提高医生工作效率,收集完整医疗记录,保证各种医疗流程及其管理。在医生工作站的应用组合中,“日常工作”组合针对医生最主要的日常工作——诊疗处理,以病历处理为核心提供一个使用各个系统的界面,包括病人和财务管理系统(HIS),化验申请和结果系统(LIS),申请和查看 X 光和超声结果的影像系统(PACS),处方和开药的药房系统,医嘱下达和执行系统等,还有对诊疗和信息处理的提示和参考,如根据症状和检验结果的诊断提示,根据病人历史结合诊断的用药提示,根据病人财务状况的提示等。

图 1-15 是图 1-14 所示聚合应用中“门诊 / 住院日常”工作组合的人机界面实例。左边为病人管理系统,显示该医生当前负责的病人。医生可以选择某个病人进行诊疗处理。中心位置为病历编辑器,展现当前病人的病历记录。医生在这里输入病人的症状、诊断等记录。右边为其他医疗系统的窗口。如 HIS,LIS,PACS, 药品提示,医疗路径建议等。医生在病历编辑器中可以直接产生对其他系统的操作命令,(如申请检验项目),并可以直接从其他系统中提取相关信息作为病历的内容。各个系统独立运行,对应系统完成病历编辑器分配的任务,当发现病历编辑器中的内容需要更新时,自动提示医生进行操作。如药品提示系统可以定时扫描病历内容,动态地或者在提交病历处方时提示可能的问题。


图 1-15. 采用复合应用技术的医生工作站操作界面
采用复合应用技术的医生工作站操作界面

医生在诊疗活动中,可以通过复合应用使各个应用展现各方面的相关信息。这些信息需要综合起来供以后处理、参考和其他人员使用。相对各个信息系统操作各自的数据库,复合应用同时产生综合医疗和事务处理记录,但需要数据复合作为当时工作内容的记录。在本例医生工作站系统中,采用基于标准的 ODF(Open Document Format 开放文档格式)文件作为信息复合的载体。在医生工作站中使用 ODF 文档存储从各个系统得到的每个病人的综合医疗记录,产生的 ODF 文件就成为包括诊疗过程中所有医疗信息的综合医疗档案。其中信息的复合程度可以根据应用的复合程度变化。从只包括基本症状、诊断、处方到包括治疗结果,甚至各项花费的详细财务信息。理论上越详尽的复合数据可以为医疗质量管理、知识总结和后续应用提供越多的素材和越高的潜在应用价值,但数据的复合程度取决于应用的复合程度和系统处理能力。如可以将财务系统加入医生工作站,但要求不影响或者可以提高医生的工作效率和诊疗质量。这是在复合应用设计时需要权衡的问题。

为了实现数据聚合,需要一种可以容纳从各个系统得到的数据的集合。不同信息系统中的数据可以分为关系数据库,非结构和半结构文本,结构文本(XML)和各种图像及其他多媒体数据。 ODF 文档是基于 XML 的开放文档格式,是多个内容和格式文件的 zip 集合。可以将上述各种形式的数据集中到一个文件中,作为数据复合的载体。其中的 XFORM 数据可以与数据库或 XML 文件进行方便的交换。图 1-16 为 ODF 文件的片段,其中包括一个 XFORM 数据记录,可以看出其结构与标准 XML 非常类似。采用 ODF 的另一原因是其具有多种开源(如 Open Office)和商业编辑器(IBM Lotus Symphony),可以方便地进行二次开发,以实现客户化编辑功能,从而为医生提供真正高效的病历操作界面。


图 1-16. ODF 文件的 XFORM 数据内容片段
ODF 文件的 XFORM 数据内容片段

医生工作站复合应用中的各个系统在界面上需要满足复合应用框架对系统接口的要求,才能实现各个应用之间的数据交换。上述实例采用了后续章节中介绍的基于 Eclipse RCP 的集成框架,实现了 Java,C++,C#,Web 等不同应用系统的集成操作。使采用不同技术实现的各个业务系统复合成为一个整体的应用。





1.5 复合应用系统的生命期

了解信息系统生命期所有阶段需要完成的工作任务,检查对应任务所需要的技术和产品是否能确实实现任务要求,是验证相应信息技术和产品完整性、可行性的有效方法。本节简单介绍复合应用生命期中各个阶段的特点。读者学习以后各章的技术和产品时,可以对照相应生命期的任务,深入体会技术和产品与需求的关系。系统的生命期也可作为复合应用的一个知识框架,使读者将相关知识融会贯通。

1.5.1 信息系统生命期

任何信息系统的生命期一般都可分为项目建议、可行性分析、立项、需求分析、系统设计、开发、测试、迁移上线、系统运行维护、系统更新、系统终止等阶段。复合应用系统和独立信息系统一样,包括所有上述的管理和技术活动阶段。其项目管理活动(项目建议、可行性分析、项目资金管理,系统开发、实施、运行管理)与独立项目一样是顺序实行的。由于复合应用可以包括若干独立应用构件,每个独立应用可以单独立项进行需求分析、设计开发和部署运行,因此复合应用系统生命期可以跨越若干独立信息系统项目。

在开发独立业务应用时,一个系统的立项、可行性分析、需求分析及实现都限制在预定的某个或某类业务流程内,如订单、人事、财务系统等。与其他系统的连接(数据和处理逻辑)通过接口或集成项目实现。由于工期和成本的限制,一般不必考虑与其他系统联合运行产生的问题。在复合应用的生命期中,各个系统常常处在各自生命期的不同阶段,这些系统的联合运行是复合应用开发和运行管理需要特别注意的地方。

在满足业务处理的要求下,一个信息系统的生命期越长,系统开发的效益成本比就越高,员工熟练程度也就越高。经过适当的设计和实施,复合应用系统可以通过对其内部组合的不断修改有效地延长整个信息系统的生命期。

1.5.2 复合信息系统的生命期

复合应用的方法使大系统的建立可以分解为大系统框架指导下的,若干小系统(构件)的实现和组合,提高了系统的灵活性,缩短了整体和修改项目的开发周期,从而可以更好地适应不断变化的业务和组织流程要求。 这个大系统的范围可以超过当前一般单一业务系统的规模,因此需要从更广泛的角度考虑系统内容和相互关系,使系统可以更好地支持业务流程及其优化。

复合应用所涉及的业务范围和信息系统,比各个独立应用系统广泛得多。例如采用复合应用的银行网点系统不仅需要考虑基本柜台业务,还要考虑人事、资产管理等网点各个员工可能涉及的所有业务信息系统功能。为了给网点员工提供多个应用的最佳组合,在复合应用生命期的各个阶段需要考虑整体框架与整体业务和组织的对应关系,以及整体框架中的各个独立应用的完整性和统一性。每个应用构件可以作为独立项目管理。每个构件在特定复合应用中使用的不同阶段也有不同特点。这个将在 5.6 节进一步介绍。

复合应用不仅适合为用户提供含有多个业务应用整合价值的综合业务系统,也适用于传统独立业务系统。以复合应用思想和技术实现的业务系统,具有使用更加方便、开发更加迅速的特点。这种状况下其生命期与传统系统类似。但其中的框架和构件都可能重用,因此有可能使系统不断变化, 从而延长其生命期。复合应用的生命期包括其框架的生命期和各个构件的生命期。框架生命期不一定要长过构件生命期,好的构件可以在多个复合应用框架中使用。

1.5.3 复合信息系统的需求分析和系统定义

复合应用的需求分析,包括系统所涉及的组织及其各个业务的整体要求和具体要求。复合应用在传统业务系统注重业务操作本身数据处理的基础上,强调通过多种应用的集成使用户能够实现高效的业务处理。因此在需求分析阶段不仅要了解业务处理本身,还要了解提供优化业务处理所需要的信息,进一步要了解一个业务流程中各个员工所负责业务的相互关系,以及每个员工所涉及的不同业务间的关系,了解如何使每个员工高效、高质量地完成所有相关业务,并使企业业务流程整体得到优化。通过分析的结果可以定义出权衡用户工作效率,企业组织和业务流程优化,开发成本 / 工期,以及现有系统限制的复合应用系统。

以银行网点系统为例,从提升网点效能的目的出发,网点系统要考虑如何给柜台人员提供整体操作界面,以方便切换业务处理操作,在复杂业务(理财、保险)处理时,如何根据不同业务和人员的技能,提供足够的信息,实现业务的优化处理。复合系统要定义已有的各种业务系统如何集成到统一的工作界面,从而减少操作步骤、提高操作质量。

1.5.4 复合信息系统的设计开发与测试

作为可以满足企业和市场竞争变化要求的信息系统技术,复合系统的设计和实现重点在于灵活的整体框架,集成各种应用构件和对应用构件的管理控制,以及数据接口和运行管理环境,充分利用已有业务系统作为应用构件并以最小的成本快速实现强大而丰富的信息处理功能。

SOA 和面向角色的分析设计是复合系统需求分析和系统设计的主要方法。本书第二章详细介绍复合应用的需求分析和系统定义方法。第三章介绍开发复合系统需要的各种技术和工具。第四章将详细介绍复合应用的整体框架与应用构件的组合和关系设计,以及应用构件本身的设计。

复合应用系统的测试与传统单一业务系统测试有很大不同,分为框架测试,构件测试和复合应用集成测试。当某个构件或框架部分更新后, 需要测试更改部分与其他部分的整合性。

1.5.5 复合信息系统的部署与运行管理

运行是信息系统生命期中最长的一个阶段。如果在需求和开发时考虑不周,则这个阶段会缩短很多,使整个系统生命期显著缩短。因此在需求和设计时应该认真分析和考虑该阶段的要求和问题,使系统生命期更长。

复合应用系统的运行阶段与传统信息系统有很大不同。其整合性使系统运行期跨越多个应用及其复合的运行期,具有天然的长运行周期特点。因此更要重视系统运行期的管理,争取延长系统生命期。

复合应用的管理是在各个应用管理基础上的综合管理,包括应用管理、用户和安全管理、数据管理、用户问题处理等。

应用管理是运行期间对复合系统中的框架和各个构件的部署、更新、访问控制管理。应用管理的灵活性与所选用的技术和框架设计有很大关系。在复合系统的运行过程中,工作框架和应用构件可以为适应业务和竞争变化的要求不断改进。如果应用管理能适应多种框架和构件的要求,则可以方便管理并使整个系统生命期延长。

用户管理包括管理业务用户的加入、修改和删除。由于各个构件系统可能拥有自己的用户管理系统,复合系统需要管理所有可能涉及的用户操作和安全控制。

复合应用中的数据管理分布在各个应用当中。在每个应用自身的数据管理基础上,要考虑多个应用之间的数据相关性,使复合应用中的应用构件数据保持一致。

复合应用给企业运行管理部门提供了提高效率和服务水平的机会,对问题处理提出了更高的要求。由于复合应用包含若干独立业务应用,其系统范围比独立应用要广泛。每个业务应用的问题可能影响更多的岗位。因此在修改各个模块时,要统一考虑对复合系统中的其他模块的影响。

良好的复合系统运行需要完善的运行环境与各种监控和管理工具的支持。本书后面章节介绍可能满足复合运行管理要求的产品,包括 Eclipse 和 Lotus Expeditor 技术,以及如何利用它们实现特定的管理功能。

1.5.6 复合应用框架的生命期

复合应用中的框架是根据业务需求实现的多个应用构件组合。它随业务要求变化和应用构件变化而变化。应用框架是复合应用功能的集中体现。其生命期与复合应用本身一致。根据运行和开发工具的能力,框架可以在整个生命期中不断发展变化。有些复合平台只提供固定组合框架。

目前的复合业务框架可以分成两类,工具箱型和工作管理型框架。前者用某种方式给用户提供所有可用的构件或者构件组合列表,用户自己决定选择哪个组合框架执行。后者提供较复杂的框架编程控制能力,开发者可以定义各种用户工作内容和对应的应用组合,可以由框架根据工作内容自动选择构件组合。本书第三章介绍复合应用的技术时,将详细介绍各个应用技术的框架能力。第四章将详细介绍不同类型复合框架的设计和特点。

目前大部分相关技术只提供简单框架的平台。一般技术或产品只提供固定框架或者完全不提供框架,需要开发者或者用户自行组织构件复合。一些更高级的平台提供框架的开发和管理功能,使开发者和用户可以像管理其他应用一样管理复合框架,包括部署、授权、更新等。

1.5.7 复合应用中应用构件的生命期

构件是复合应用中的基本功能部件,要求其具有独立完成某个业务处理的功能,以及与其他构件及框架交互完成更复杂业务处理的能力。复合应用中的每个(界面)构件都可以与其后端处理和数据库一起形成一个有独立生命周期的系统。如复合型银行网点系统的储蓄系统构件,可以是完整的储蓄业务应用改造后的一个构件。在开发复合应用时,应用构件有两种实现方式:一是利用已有系统, 包装成应用构件;二是开发新的应用构件,各个界面构件的后端系统可以与界面紧密相关,也可以独立存在并为多个界面构件服务。

许多复合应用的构件是各个应用系统的前端表现,在满足复合应用整体框架的条件下,可以独立开发、部署和更新。所谓界面独立,包括独立于后端服务和独立于框架。 SOA 的设计思想是通过后端服务化减弱系统前端和后端的关联,提高构件独立能力,达到提高系统灵活性的目的。

随着构件接口和功能的标准化,未来会出现一些商品化构件。一些软件产品可以以构件方式独立销售、使用和更新。构件可以小到时钟、日历这样的小构件,大到 ERP 这样的完整系统。这些构件商品可以应用于不同的复合系统,其生命期则超过部署在特定复合应用中的构件,甚至复合应用的生命期。

复合系统中有些构件属于复合框架的一部分,用于控制各个工作空间的管理和切换,以及为其他构件提供本地服务等。这些构件的生命期与复合应用框架的生命期紧密一致。

为了保证复合应用的使用和管理的完整性,每个构件需要支持复合应用框架对构件的打包和接口规范,使其可以在框架中复合,相互协调完成复杂业务处理。并可以在统一平台上运行和接受应用部署管理。

应用构件的开发可以是对以有系统的简单包装,也可以与一个独立业务应用的开发一样,经过需求分析、设计、实现、测试、部署运行、更新等多个阶段。为了提高效率,一般是对现有应用和工具进行改造。在新业务系统开发时,可以将其加入作为复合应用构件的需求,使企业的系统既可以作为单个系统使用,也可以作为构件,在复合应用中与其他应用一起提供更方便的业务处理。





1.6 实现复合应用系统的技术和工具

任何信息系统的开发设计思想,都需要由某种技术及工具实现,并在这些技术和工具的发展过程中得到不断完善。在实践中,为了在规定时间内,可行和经济地实现满足用户要求的信息系统,需要许多开发、测试和运行管理工具。开发成的系统需要部署在特定运行环境上为最终用户使用,并为管理人员提供监控、数据备份等管理工具。这些工具和运行环境与采用的方法和技术有一定的关系。要想把理论设计变成实际的系统,必须掌握相应的工具。同样要使一个理论和设计被开发者接受,也需要有相应的工具。本节首先简述信息系统技术和工具,然后讨论复合应用系统的实现技术和工具,以及一些相应产品。为后续章节的详细介绍提供一个知识框架。

1.6.1 信息系统技术工具分类

信息系统技术理论及对应工具可以从不同角度进行分类。根据其在系统生命期使用阶段的不同,可以分为需求分析、设计、测试、部署和运行管理技术和工具。按技术所有属性可以分为开放技术和专有技术,商业产品和开源工具。专有技术包括各个厂商自己定义的技术标准和对应工具。按实现的系统架构的用户界面形态,可分为 Web 技术和富客户端技术。

各个理论、方法、技术和产品有一定相关性。一般而言,某种理论由相应的技术和产品在实践中应用,实现信息系统。例如面向对象的思想产生面向对象的 RUP 分析设计方法和编程技术(如 Java,C++),并进一步产生相应的开发和运行环境(Microsoft Studio, MFC 库等)。技术的发展往往从某个人或公司的专门技术和工具开始。有些被市场认可的技术会逐渐成为占市场统治地位的事实标准,例如 Windows 的 .NET 开发平台。有很多人和公司参与相应工具和应用系统的开发。厂商也有可能公开标准使其成为开放标准,例如 IBM 个人计算机。信息系统开发者可以根据客户的要求、项目的需要和自身技术特长采用某种技术,并采用相应厂商的技术工具和产品实现。

目前复合应用理论和技术都处于起步发展阶段,有各种各样的技术和产品,但还没有主导市场的技术和工具。由于对复合应用的理解不同,各种产品的功能和规模相差很大。在实践中需要分析企业具体应用复合的需求,考虑所开发复合应用的特点,选择相应技术和产品。

1.6.2 复合应用的技术和产品

目前许多公司和开发商看到了企业信息系统对复合应用的需求,纷纷在其应用和产品开发设计中有意识地实现某些复合应用的功能。由于对复合应用的理解不同,相应产品的功能和对应的技术有很大差异,下面从几种典型的技术和产品,介绍复合应用技术产品与其他技术产品的不同之处。使读者对复合应用的工具有更明确的认识。

复合应用技术和产品的特点,是定义了复合框架和构件的编程标准,提供框架和构件的开发、运行环境和部署管理工具。开发者可以独立开发并部署框架和构件。用户可以根据自己的需要,选择和修改框架,并部署和使用对应的构件。

目前使用较多的专有 Web 复合技术有 Google Gadget,Firefox Plugin,Wordpress 等,桌面专有技术有 Google 桌面,联众的游戏平台,Eclipse RCP 平台等。其中有些是商业厂商,有些是开源社区提供的。开源社区提供的 Eclipse RCP 平台,可以看作是开放的复合技术平台。

SUN 公司的 Web Start 技术和产品的思想,是将包括前端应用和后端服务的整个系统部署在服务器上,允许用户根据需要,将前端应用下载到本地运行,或者在服务器上运行而在本地显示结果。在这种技术中,应用可以在服务器端集中部署,每个应用还是独立的。这种技术消除了到客户端部署应用的麻烦,但它不能提供各个应用的界面集成,更不用说在应用之间交换数据和为了完成业务而操作协同了。因此它不能称作复合平台。

针对 Web 应用的复合,Web2.0 中的 Mushup 提出了整合不同来源 Web 应用的需求,但目前并没有整体标准。很多 Mushup 是个别网站提出的应用和部件技术。也有许多 Web2.0 技术用作集成某些特定内容,例如前面提到的 RSS 复合。这些单项技术不能实现前面所述的复合应用的整体要求,即整合各种技术应用,为最终用户提供一个简单、高效的使用界面,同时简化企业 IT 的管理。很多 Mushup 的厂商都在试图扩展其功能,达到成为通用复合平台的目标。因此了解目前的 Mushup 技术和产品可以为将来复合应用开发作准备。

Microsoft 的 Smart Client 技术借助 Windows 提供的 COM 组件技术,具有了复合应用的基本能力。但目前没有现成的复合框架和构件的开发和运行工具,需要开发者自己设计并实现相应框架和构件。

1.6.3 基于浏览器的 Web 复合技术

所有 Web 应用都运行在浏览器中。因此可以复合 Web 应用的技术,称为基于浏览器的复合技术。目前有多种技术可以实现用浏览器访问的复合应用的部分要求。如基于 JSR168 标准的 Web 门户(Portal)技术。还有一些针对特定厂商环境和技术的复合技术。如 Google Gadget 定义了 Gadget 标准。开发者可以开发 Web 构件,然后用 JavaScript 组合这些构件形成一定意义上的复合应用。 Wordpress 是一个 Blog 环境。它本身是 Blog 的复合框架,制定了其特定框架下插件结构标准。开发者可以遵从其标准,开发出针对其特定框架的 Blog 功能的插件。用户可以在其专门环境下把构件组合成具有复合特性的 Blog 应用。

目前的 Web 复合技术处于定义构件的接口标准的阶段,还没有成熟的框架标准。在实施复合应用时,主要由应用系统开发者采用编程实现应用组合框架及其管理。因此出现了一些特定应用的框架,但这些框架大多基于非标准的基础编程模型。而基于 JSR168 的 Portal 技术是具有开放标准的复合技术,并得到许多厂商(IBM,BEA)的支持。

第四章将详细介绍当前主要的 Web 复合应用技术,包括 Google Gadget API,Portal 。基于 Web 的复合应用技术目前还处于发展初期,会不断出现新的技术。但目前可用的各个技术和产品都有不同的缺陷,离成为满足企业要求的成熟技术还有距离。因此,复合技术在全面满足企业复合应用方面还有很大发展空间。本节介绍 Web 复合应用的目的,是使读者对第三部分介绍的基于 Eclipse RCP 的桌面复合应用开发的相关背景知识有更全面的了解。

1.6.4 桌面客户端复合技术

虽然目前 Web 应用是各个开发商开发企业信息系统的主要技术,但由于 Web 技术对网络通讯的要求,在企业中总有一些信息系统和最终用户的要求不能得到满足。因此同时支持 Web 应用和运行在个人计算机上的本地应用,是复合应用产品真正实现企业复合应用系统的重要功能。由于桌面应用的复杂性,采用标准化技术实现多种应用的复合是保证复合应用技术、工具和产品实用的基本方法。

本书第一部分的第四章简要介绍 Eclipse RCP 技术并与 Web 技术做对比,使读者对客户端技术有全面的了解。本书第二部分(第 5 章到第 14 章)将详细介绍采用开放的 Eclipse RCP 技术和开源产品,实现复合应用系统各种功能的方法。第三部分介绍企业级桌面复合平台 Lotus Expeditor 和 Lotus Notes 的复合功能。

一般桌面上的应用,可以采用操作系统定义的标准构件进行包装,也可以加入复合框架。在其基础上可以按照框架的要求实现符合框架标准的构件。这样的构件可以与框架中其他构件一起,构成真正满足用户要求的复合应用。

1.6.5 复合应用的运行和管理环境

企业信息系统的复杂性决定了其运行环境和相应管理工具的复杂性。作为新兴的复合应用,相应的企业运行和管理环境也是一样。作为商业产品,它们提供许多特性以满足企业对可靠性、性能、易用性、可管理性等的要求。为了保证产品、技术和系统的延续性,一般采用在现有产品基础上增加对复合应用支持的方法。

企业级运行管理环境一般要提供支持相应开发方法和工具的应用部署、监控和管理工具。其运行环境要支持双机备份、系统切换、数据备份恢复、严格访问控制等企业级可靠性和安全性功能。复合应用的复杂性对企业 IT 管理提出了更高的要求,需要产品提供自动更新和访问控制部署的能力。许多上述传统系统的各方面也有一些新的要求。如复合应用中多个应用中对应的数据同步问题。

本书第三部分详细介绍与 IBM 相关的产品和技术(Lotus Expeditor 和 Lotus Notes)的特性,以及如何用这些产品实现企业信息系统的开发、运行和管理要求。





1.7 复合应用的未来发展

1.7.1 企业信息系统前端的基本形态

复合应用为企业员工和信息系统管理人员的日常工作提供了极大的方便。随着企业在竞争环境中不断强调员工知识化,结构扁平化,低级操作自动化和自我服务不断增加,复合应用技术会逐步成为现代企业信息系统的发展方向。

对企业信息系统的管理人员而言,随着企业信息系统设备和应用的不断增加和复杂化,信息系统管理应用的复合也是减少系统管理成本,提高管理效率的重要方法。

1.7.2 促进企业综合信息系统技术和工具的发展

由于项目实施的顺序性,信息系统技术和企业业务不断发展,使企业的信息系统整体规划流于形式。复合应用系统提供了企业综合系统框架的可能,并成为企业系统整体规划的现实对应。各个应用系统的开发,成为在整体规划下的子系统的开发,从而可以保证各个系统的开发,既考虑到单个系统对应的业务流程自动化和优化,又保证企业整体流程得到相应改进。

由于复合系统的规模和所涉及的范围超过了传统业务应用系统,其发展对信息系统的开发、测试、部署和管理工具都提出了很高的要求。

1.7.3 复合应用在个人家庭信息系统中的应用

目前复合应用的实践基本面向企业信息系统。随着信息系统在个人生活中的应用增加,复合应用技术对个人家庭中的信息应用开发和使用也会有很大帮助。目前个人家庭计算机中多使用单独购买的软件。每个软件完成各自工作娱乐或生活中的特定功能。

随着计算机及其应用的广泛和普及,日常的财务管理(银行账目往来,各种交费),娱乐(游戏、音乐、影视),交流(电子邮件、即时通信)等方面的事情都由某种应用软件实现。当应用数量增加时,每个人同样会面临与企业员工同样的问题。因此也可以采用 SOA 思想,用复合应用方式组合多个软件,协调完成日常生活中的需求。如复合日程管理和游戏应用,方便网络游戏的安排等,以提高生活的效率和质量。





1.8 小结与进一步学习

复合应用是针对企业和个人所面临的信息应用系统不断增加所提出的新技术。其核心思想是将多个信息系统组合起来,针对用户使用的目的和时间提供一个整合的操作界面。了解和掌握复合应用技术需要对现有系统与用户需求有深入的了解,才能真正实现满足客户要求的复合应用系统。(责任编辑:A6)


时间:2009-05-19 08:49 来源:developerWorks 中国 作者:扈 晓炜 原文链接

好文,顶一下
(3)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量