银行业CRM软件技术.docx

上传人:小飞机 文档编号:1676493 上传时间:2022-12-13 格式:DOCX 页数:38 大小:1.27MB
返回 下载 相关 举报
银行业CRM软件技术.docx_第1页
第1页 / 共38页
银行业CRM软件技术.docx_第2页
第2页 / 共38页
银行业CRM软件技术.docx_第3页
第3页 / 共38页
银行业CRM软件技术.docx_第4页
第4页 / 共38页
银行业CRM软件技术.docx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《银行业CRM软件技术.docx》由会员分享,可在线阅读,更多相关《银行业CRM软件技术.docx(38页珍藏版)》请在三一办公上搜索。

1、第1章 银行业CRM软件技术本章对涉及建设银行CRM系统的核心软件技术进行慨要讲解,并对一些功能进行了比较分析,有助于银行进行软件选型。1.1 XML技术 XML技术作为互联网的种子技术是建设CRM的一个重要支撑技术。1.1.1 XML介绍 XML是Extensible Markup Language的简称,即“可扩展标记语言”,是由 W3C组织于1998年 2月制定的一种通用语言规范,是专为Web应用而设计的 SGML 2 (Standard Generalized Markup Language)的一个优化子集。同SGML类似, XML是一种元标记语言,使用者可按需创建新的标记, XML的

2、可扩展性就在于此。这些标记通过 XML DTD(Document Type Defi n ition,文挡类型定义)来加以定义。DTD是一系列关于元素类型(Element Type),属性(Attributes), 实体(Entities)和符号(Notations)的定义。它定义了文档所需的标记,比如可在文档里使用的元素类型,这些元素之间的可能的联系,还可能声明元素的属性,属性是元素的“元数据”,而不是元素包含的内容。另外,一个实体就像是一个缩写,被当做一些文本或一些数据的缩写来使用。而符号描述某一类事物(例如图像)的数据内容,它定义怎样翻译某类对像的比特流。XML文档可以在它的文档类型声明

3、(Document Type Oeclaration)里声明该文档遵循某个XMLDTD。1.1.2 XML语法 1.1.2.1 XML文档的组成 XML文档包含由XML标记和字符数据组成的文本。它是一个有固定长度的有序字节的集合,并遵守特定的约束。它可能是或者不是一个文件。例如,XML文档可能。l 存储在数据库中l 由CGI程序在内存中瞬间创建l 由几个相互嵌套的不同文件组合而成l 不存在于自身的文件中但是如果把一个XML文档看做一个文件也是可以的,只要记住它可能并不是存在于硬盘上的真实文件。XML由称为“实体”的存储单元组成,每个实体包含文本或者二进制数据,但不能同时存在。文本数据由字符组成

4、,二进制数据用于图片和小程序等类内容。用一个具体的示例说明就是,一个含有标记的原始HTML文件是一个实体而不是文挡。一个HTM文件加上所有使用标记嵌入的图片就组成一个文档。在本章和后续几章中我们只针对由一个实体构成的简单的XML文档,即文档本身。而且这些文档只包含文本数据,不包含诸如图片小程序一类的二进制数据。这些文档能够完全独立被, 理解而无须读取其他文件。换句话说,它们是独立存在的。这种文档通常在它的XML标头中含有一个值为yes的standalone属性,如下所示。? xml version =“1.0” standalone=“yes”? 外部实体和实体引用用于组合多个文件和其他数据源

5、以创建一个独立的XML文挡。这样的文挡如果不引用其他文件就不能进行句法分析。这些文档通常在XML声明中含有一个属性值为no的standalone属性。? xml version =“1.0” standalone=“no”? 1.1.2.2 实体引用实体引用是指分析文档时会被字符数据取代的置标。XML预先定义了5个实体引用,列在表 6-1中。实体引用用于XML文档中的特殊字符,否则这些字符将被解释为置标的组成部分。例如,实体引用<;代表小于号(),否则会被解释为一个标记的起始部分。表 6-1 XML预定义的实体引用实体引用所代表字符&;<;";“&qpos;XML中的实体

6、引用与 HTML中不同,必须以一个分号结束。因此 >;是正确的实体引用写法, >是不正确的。未经处理的小予号()同表示“和”的符号(&)在一般的 XML文本中往往被分别解释为起始标记和实体引用(特殊文本是指 CDATA段,将在后面讨论)。因此,小于号同“和”号必须分别编码为 <;和 &;。例如,短语“Ben & erry s New York Super Fudge Chunk Ice Cream”应当写成 Ben &;erry s New York Super Fudge Chunk Ice Cream。大于号、双引号和撇号在它们可能会被解释成为置标的一部分时也必须编

7、码。但是,养成全部编码的习惯要比努力推测一个特定的应用是否会被解释为置标容易得多。实体引用也能用于属性值中。例如。 1.1.2.3 CDATA 在大多数情况下,出现在一对尖括号()中的是置标,不在尖括号中的是字符数据。但是有一种情况例外,在 CDATA段中所有文本都是纯字符数据。看起来与标记或者实体相似的仅仅是它们各自相应的文本。XML处理器无论如何是不会解释它们的。CDATA段用于需要把整个文本解释为纯字符数据而并不是置标的情况。当有一个包含许多、&或”字符而非置标的庞大文本时,这是非常有用的。对于大部分C和Java源代码,正是这种情况。如果想使用 XML写有关 XML的简介, CDATA段

8、同样非常有效。例如,在一个文本中包含许多小的 XML代码块,而正在使用的字处理器又不能顾及这些情况。但是如果把本书转换为 XML,用户将不得不很辛苦地用 <;代替全部小于号, &;代替所有“和”字符。如下所示。<;?xml version = “1.0” standalone = “yes”? >;<;GREETING>;Hello XML! <;/ GREETING>;为了避免这种麻烦,可以使用一个CDATA段表示一个不需要翻译的文本块。CDATA段以结束,例如。! CDATA “ Hello XML! 惟一不许出现在CDATA段中的文本是CDATA的结束界

9、定符 。注释可能会出现在CDATA段中,但不再扮演注释的角色。也就是说两个注释标记和包含在它们之间的全部文本都将显示出来。因为不能出现在CDATA段中,所以CDATA段不能嵌套。这使得使用XML写有关的CDATA段相对困难些。如果需要的话,必须去掉项目符号,并使用 <;、&;和实体引用。CDATA段不常需要,一旦需要时,它是非常有用的。1.1.2.4 标己标记能够区分XML文件与无格式文本文件。标记在XML文档中以结束,而且不包含在注释或者CDATA段中。因此, XML标记有与HTML标记相同的形式。开始或打开标记?1t;开始,后面跟有标记名。终止或结束标记以该标记结束。1.标记名每

10、个标记都有一个名称。标记名必须以字母或下划线 C)开始,名称中后续字符可以包含字母、数字、下划线、连字符和句号。其中不能含有空格(经常用下划线替代空格)。下面是一些合法的XML标记。 以下是句法不正确的XML标记。 结束标记与起始标记同名,只是在起始尖括号后加了一个/。例如,如果起始标记是,那么结束标记是。下面是前面所提到的合法起始标记所对应的结束标记。 XML名称是大小写敏感的。在HTML中的和是同一个标记,可以结束一个标记,但在XML中却不行。下面所示的并不是我们讨论过的合法起始标记所对应的结束标记。 2.空标记许多不含数据的HTML标记没有结束标记。例如,有、或标记。一些页面作者在所列的

11、项目后面确实会包含标记,一些HTML工具也使用标记。但是HTML4.0标准特别否认了这一点的必要性。同HTML中所有没有被公认的标记一样,一个不必要的的出现对交付的输出没有任何影响。这在XML中不是问题。XML的总体观点就是在分析文档时允许发现新的标记。因此没有识别的标记就不会被简单地忽略。而且XML处理器一定能够判明以前从没出现过的一个标记有没有结束标记。XML区分带有结束标记的标记,而不带结束标记的标记称为空标记。空标记以斜杠和一个结束尖括号(/)结束。例如,或。目前的Web浏览器处理这种标记的方法不一致,如果希望保持向后的兼容性,可以用结束标记来代替,只要在两个标记之间不包含任何文本。例

12、如。 1.1.2.5 属性在前面内容中讨论过,起始标记和空标记可以随意地包含属性。属性是用等号(=)分隔开的名称一数值对。例如。Hello XML!在此标记有一个LANGUAGE属性,其属性值是English。标记有一个SRC属性,其属性值为WavingHand.mov。1.属性名属性名是宇符串,遵循与标记名同样的规则。这就是,属性名必须以字母或下划线(_)开始,名称中后续字符可以包含字母、数字、下划线、连字符和句号。其中不能含有空格(经常用下划线替代空格)。同一个标记不能有两个同名的属性。例如,下面的例子是不合法的。 属性名是区分大小写的。SIDE属性与side或Side属性不是同一个属性,

13、因此以下例子是合法的。 2.属性值属性值也是字符串。如下面所示的 LENGTH属性,即使字符串表示的是一个数,但还是两个宇符7和2,不是十进制数的72。 如果编写处理XML的代码,在对字符串执行算术运算之前必须把它们转换为一个数。与属性名不同,对属性值包含的内容没有任何限制。属性值可以包含空格,可以以一个数字或任何标点符号(有时单括号和双括号除外)开头。XML 属性值由引号界定。与HTML 属性不同, XML 属性值必须加引号。大多数情况下使用双引号,但是如果属性值本身含有个引号,就需要使用单引号。例如:如果属性值中含有两种引号,那么其中不用于界定字符串的一个必须用合适的实体引用代替。通常替换

14、两个,这种方法很管用。例如:1.1.2.6 XML 文档规则尽管可以根据需要编写标记,但XML 文档为了保持结构完整必须遵循定的规则。如果一个文挡不是结构完整的,大部分读取和显示操作都会失败。事实上,XML规范严格禁止XML句法分析器分析和解释结构欠妥的文档。正在执行操作的分析器惟能做的是报告出错。它不会修改错误,不会做最大的努力显示作者想要的东西,也不会忽略不当的结构欠妥的标记。它所能做的是报告错误和退出。这样做的目的是为了避免对错误的兼容性的竞争。这种竞争已使得编写HTML 语法分析程序和显示程序变得非常困难。因为We浏览器承认畸形的HTML,而Web页面设计者不会特别尽力确保他们的HTM

15、L正确无误。事实上,他们甚至利用个别浏览器中的错误达到特殊的效果。为了正确显示被大量安装的HTML页面,每个新的 Web浏览器必须支持已有的 Web浏览器的每一个细微差别和各自的属性。用户将放弃任何一种严格执行 HTML标准的浏览器。正是为了避免这种遗憾,XML处理器才只接受结构完整的XML。为了使一个文档结构完整,XML文档中的所有置标和字符数据必须遵守前几节中给出的规则。而且有几条关于如何把置标和字符数据相互联系起来的规则。这些规则总结如下:(1)文挡的开始必须是XML声明。(2)含有数据的元素必须有起始标记和结束标记。(3)不含数据并且仅使用一个标记的元素必须以/结束。(4)文档只能包含

16、一个能够包含全部其他元素的元素。(5)元素只能嵌套不能重叠。(6)属性值必须加引号。(7)字符和&只能用于起始标记和实体引用。(8)出现的实体引用只有&;、<;、>;、&apos;和";。这 8条规则稍加调整就能适用于含有一个DTD的文档,现在请仔细看这些用于没有 DTD文挡的规则。1文档必须以 XML声明开始下面是 XML1.0中独立文档的 XML声明。如果声明出现,它绝对是该文件最开头部分,因为 XML处理器会读取文件最先的几个字节并将它与字符串? XML的不同编码做比较来确定正在使用的字符串集( UTF-8、大头(高字节先传格式)或者小头(低字节先传格式 )。除去看

17、不见的字节顺序记号,在它之前不能有任何东西,包括空格。例如,下面一行用于 XML的开始是不能接受的,因为在该行的前面有多余的空白。 XML确实允许完全省略 XML声明。通常不推荐这样做,但这样做有特殊的用途。例如,省略 XML声明,通过连接其他结构完整的XML文档有助于重新建立一个结构完整的 XML文档。2.在非空标记中使用起始和结束标记如果忘了结束 HTML的标记,Web浏览器并不严格追究。例如,如果文档包含一个标记却没有相应的 标记,在标记之后的全部文档将变为粗体。但文档仍然能显示。XML不会如此宽松,每个起始标记必须以相应的结束标记结束。如果一个文档未能结束一个标记,浏览器或移交器将报告

18、一个错误信息,并且不会以任何形式显示任何文档的内容。3.用”/“结束空标记不包含数据的标记,例如 HTML的、和,不需要结束标记。但是 XML空标记必须由 /结束,而不是。例如、和的XML等价物是、和。当前的 Web浏览器处理这种标记的方法不一致。但是如果想保持向后的兼容性,可以使用结束标记来代替,而且不能在其间包含任何文本。例如。 即使这样,Netscape处理 也有困难(它把这两个标记解释为行间距,而不是前面所讲的)。因此,在HTML中包含结构完整的空标记也并非总是可行的。4.让一个元素完全包含其他所有元素一个 XML文档包含一个根元素,它完全包含了文档中其他所有元素。有时候这种元素被称做

19、文档元素。假设根元素是非空的(通常都是如此),它肯定有起始标记和结束标记。这些标记可能使用但不是必须使用root或DOCUMENT命名。例如,在下面的文档中根元素是 GREETING: Hello XML! XML声明不是一个元素,它更像是一个处理指令,因此不必包含在根元素中。类似地,在一个 XML文档中的其他非元素数据,诸如其他处理指令、DTD和注释也不必包含在根元素中。但是所有实际的元素(除根元素本身)必须包含在根元素中。5.不能重叠元素元素可以包含别的元素(大多数情况下),但是元素不能重叠。事实上是指,如果一个元素含有一个起始标记,则必须同时含有相应的结束标记。同样,一个元素不能只含有一

20、个结束标记而没有相应的起始标记。例如,下面的 XML是允许的: n =n +1; 下面所示的 XML是非法的,因为结束标记 放在了结束标记之前。 n = n +1; 大部分HTML浏览器容易处理这种情况,但是XML浏览器会因为这种结构而报告出错。空标记可随处出现。例如。 Oscar WildeJoe Orton 本规则与规则 4联系在一起有如下含义 :对于所有非根元素,只能有一个元素包含某一非根元素,但是元素不能包含其中含有非根元素的元素。这个直接含有者称为非根元素的父元素,非根元素被认为是父元素的子元素。因此,每个非根元素只有一个父元素。但是一个单独的元素可以有任意数目的子元素或不含有子元素

21、。请分析如下所示的清单。根元素是 DOCUMENT元素,它含有两个元素。第一个 STATE元素含有 4个子元素。NAME、TREE、FLOWER和 CAPITOL。第二个 STATE元素含有 3个子元素。NAME、TREE和 CAPITOL。这些里层的子元素只包含字符数据,没有子元素。父元素和子元素 Louisiana Bald Cypress Magnolia Baton Rouge Mississippi Magnolia Jackson 6.属性值必须加引号 XML要求所有的属性值必须加引号,不管属性值是否包括空白。例如。HTML的要求则不是这样。比如,HTML允许标记含有不带引号的属性

22、。例如,下面是一个合法的HTML标记。 惟一的要求是属性值不能嵌有空格。如果一个属性值本身含有双引号,可以使用属性值加单引号来代替。例如。如果一个属性值包含有单引号和双引号,可以使用实体引用 &apos;代替单引号,";代替双引号。例如。7只在开始标记和实体引用中使用和&XML假定最先的是一个标记的开始,&是一个实体引用的开始(HTML也是如此,如果省略它们,大部分浏览器会假定有一个分号)。例如。 A Homage to Ben &Jerry sNew York Super Fudge Chunk Ice Cream Web浏览器会正确地显示该标记,但是为了最大限度的安全,应当避免使用

23、&,用 &;来代替,像下面这样。 A Homage to Ben &;Jerry s New York Super Fudge Chunk Ice Cream 开尖括号()的情况也类似。请看下面很普通的一行 Java代码。 for(int i = 0;i = args.length;i + +)1XML与 HTML都会把。因此该行会表示成。for(int i = 0;而不是。for(int i =0;i =args.ength;i+ +)“= args.length;i + +)|”被解释成一个不能识别的标记的一部分。把小于号写成 <;可以出现在 XML和 HTML文本中。例如

24、。 for(int i = 0;i <;= args.length;i + +)| 结构完整的XML要求把&写成&;,把写成<;,只要不是作为标记或者实体的一部分时都应如此。8.只能使用现有的5个实体引用读者可能已经熟悉了几个 HTML中的实体引用,例如©;为插入版权号,®为插入注册商标号。但是除了已经讨论过的5个实体引用, XML只能使用预先在 DTD中定义过的实体引用。但是现在读者可能还不了解 DTD,如果与字符&出现在文档中的任何地方,其后必须紧跟amp;、lt;、gt;、apos ;或 quot;。所有其他的用法均会破坏结构完整性。1.1.3 XML特点 1

25、.提供了一套跨平台、跨网络、跨程序语言的数据描述方式各行各业的人都可以针对自己的需求定义所要的文件格式,并且以 XML文件当做数据交换的标准格式。2.着重于数据结构的描述,使得数据结构化至于数据的显示可以搭配适当的格式,将数据结构与数据显示分隔开来,可以简化 XML文件的复杂度,也使得 XML的应用更加宽广,如数据显示的多样性和个性化以及应用的灵活性、扩展性。3.提供精确和更有意义的搜索在网络庞大的信息中,用户需要的不是搜索出的一堆“垃圾”,而是精确的有意义的信息。在 XML中,数据可被 XML标注惟一的标志。没有 XML,搜索软件必须了解每个数据库是如何构建的。例如,有了 XML,书就可以很

26、容易以标准的方式按照作者、标题、ISBN序号或其他的标准分类,搜索就变得十分方便。4.开放的标准XML基于的标准是为 Web进行过优化的。微软和其他一些公司以及 W3C中的工作组正致力于确保 XML的互用性,以及为开发人员、处理人员和不同系统的浏览器的使用者提供支持,并进一步发展 XML的标准。XML包括一套相关的标准:可扩展标志语言(XML)标准;XML名域标准;文档对像模式(DOM)标准;可扩展类型语言(XSL)标准;可扩展链接语言 (XLL)标准和XML指针语言(XPOINTER)标准等。5.本地计算和处理 XML格式的数据发送给用户后,用户可以用应用软件解析数据并对数据进行编辑和处理。

27、使用者可以用不同的方法处理数据,而不仅仅是显示它。XML文档对像模式(DOM)允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器就能进行。分离使用者观看数据的界面,使用简单灵活开放的格式,可以给 Web创建功能强大的应用软件,这些软件原来只能建立在高端数据库上。6.可扩展 XML是设计标记语言的元语言,而不是 HTML这样的只有一个固定标记集的特定的标记语言。正如 Java让使用者声明他们自己的类, XML让使用者创造和使用他们自己的标记而不是 HTML的有限词汇表。可扩展性是至关重要的,企业可以用 XML为电子商务和供应链集成等应用定义自己的标记语言,甚至特定的工业界一起来定义该领域

28、的特殊的标记语言,以创建在该领域内信息共享与交换的基础。7.灵活 HTML很难发展,因为它是格式、超文本和图形用户界面语义的混合,要同时发展这些混合在一起的功能是很困难的。而XML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。在XML中,可以使用样式表,如XSL 3(Extensible Stylesheet Language,可扩展样式表语言)和 CSS(Cascading Style Sheets,层叠样式表 ),将数据呈现到浏览器中。另外,XML文档之间的超链接功能由独立的 XLL 4(Extensible Linking Language,可扩展链接语言)来支持。所有这

29、些方面都可以互相独立地改进并发展。所以, Web用户所追求的许多先进功能在 XML环境下更容易实现。8 自描述 XML文档通常包含一个文档类型声明,从而 XML文挡是自描述的,不仅人能读懂 XML文档,而且计算机也能处理。XML文档中的数据可以被任何能够对 XML数据进行解析的应用所提取、分析、处理,并以所需格式显示。XML表示数据的方式真正做到了独立于应用系统,并且这些数据能重用。所以 XML适合开放的信息管理。因为它的自描述性,文档里的数据可以由XML能使的(XML-aware)应用来创建、查询和更新,跟处理传统的关系型数据库、面向对像数据库里的数据类似。XML甚至还能用来表示那些以前不被

30、看做文档但是对传统的数据库来说又过于复杂而难以处理的数据。所以, XML文档被看做是文档的数据库化和数据的文档化5。9.简明除上述特性以外, XML还具有简明性。它只有SGML约20%的复杂性,但具有 SGML提供的约 80 %的功能,同完整的 SGML相比,XML简单得多,易学、易用并且易实现。另外,XML的诞生也吸收了人们多年来在Web上使用 HTML的经验,正如 HTML开辟了一种计算机用户能浏览 Internet文挡的途径, XML将成为人们读和写的世界语。所有这一切将使 XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、提供商和编程语言。它将为数据交换带来新的机遇。1.2

31、 EAI技术 EAI提出的目标是为了系统之间更好地交换数据,这对于和许多既有系统进行衔接的CRM来说非常有意义。1.2.1 EAI介绍银行在面临信息化需求时,最直接的方式是采购或自行开发系统以适应需求。久而久之在银行内部将会有许多为了不同目的而建置的信息系统,这些系统使用的操作系统平台、程序开发语言及信息传递标准可能不同,更不能相互整合在一起。有鉴于此,一个将大部分银行内部所必需的系统整合解决方案一-EAI应运而生。EAI(Enterprise Application Integration企业应用集成)是一种全新的战略解决方案。为了要与企业内部甚至于将外部各独立的系统整合起来,其主要的功能在

32、于解读并转换来自异质系统间不同应用程序的数据,它导入统一的工作流程借以整合这些应用程序间的协同运作,提供了数据格式转换,同步或异步的自动流程处理。除此之外,导人 EAI还有增强传统系统(legacy systern)的效能,除了让封闭的系统能与 Windows平台上的应用程序整合,尤其是互联网上的电子商务,还可增加异质系统上数据的使用率。它利用通用的中间件(middle ware)融合了银行已有应用软件、商业封装式应用软件以及新代码三方面的功能。目前几乎每个银行中都有一些自己的应用程序和数据库, EAI提供一种方法使现有的应用程序和数据库能够适用于新的环境,发挥新作用,使得新加入的数据和资源能

33、够和原有的资源一起协调工作。中间件能提供独立于应用程序的服务,用来协同各种应用程序工作,可以把它理解为实现这些服务的软件产品。在EAI中间件出现以前,银行总试图用专门的方法来实现应用程序的集成,但是,由于问题越来越复杂、规模越来越大,这些方法很快就被淘汰。基于中间件的 EAI从以下几个方面降低了应用软件集成的复杂程度。(1)封装应用程序功能的机制。因此应用软件的功能可以作为服务提供给其他应用程序。例如,账户应用程序既能进行开户服务,也能提供转账服务。(2)应用程序共享信息的机制。例如,一个银行里的许多应用程序需要共享客户信息,而独立开发的应用程序很少以相同的方式组织、安排这些共享信息, EAI

34、中间件能够在应用程序交换信息的过程中翻译和转换数据。(3)应用程序协调银行流程的机制。例如, EAI中间件能够管理预定的工作流,也可以在业务流程环境中通过良好定义的方式由某一应用程序向其他应用声明事件。由于EAI几乎不需要改变现有的遗留应用程序或封装式应用程序,而且很少需要扩展程序或定制接口,因此在开发新的应用程序时,EAI相当引人注意。EAI使用现有应用程序编程接口(API)和数据库。在没有API的特例中,EAI使用屏幕截取技术,通过应用程序的用户接口模仿普通用户,从而实现对应用程序的访问。屏幕截取是将显示在终端用户机器上、基于字符的屏幕的特定位置上的数据进行复制。EAI的最终目的是让企业简

35、单、快速地集成不同的应用程序。通过合理应用 EAI,银行能利用现有资源来提供新的产品和服务,增进与客户、服务商和其他相关利益集团的联系,更新操作。另外,由于采用标准集成方式取代种类繁多的专用集成设计, EAI大大简化了银行应用程序间的互连。更重要的是,由于用先进的技术基础结构作开发基础,所以只要 EAI基础结构准备就绪,基于 EAI的新应用程序就能比传统方式开发的应用程序更快地投入使用。正是具备了这些新性能, EAI提高了企业的竞争力。1.2.2 EAI集成方法实现 EAI有很多种不同的方法,下面介绍最典型的几种集成企业信息系统和企业应用的方法。1.2.2.1 两层的客户端一服务器方法这种方法

36、是基于两层的客户端-服务器模型,是一种典型的不基于 Web的应用。在基于 Web的应用产生之前,这是一种广泛采用的方法,但是现在已经较少采用了。用这种方法,一个EIS提供一个适配器,这个适配器定义了一个供访问EIS数据和函数的API,一个典型的客户端通过这个API访问通过适配器暴露出的数据和函数。适配器实现对与 EIS的通信支持和提供访问EIS数据和函数的支持。适配器与EIS之间的通信使用 EIS专用的协议,这个协议还提供安全和事务处理功能,如图 4-1所示。图 4-1两层的客户端服务器方法一个资源适配器与一个特定的 EIS相连,但是一个 EIS可以提供多个适配器供多种客户端访问 EIS。因为

37、 EIS适配器的关键是它们的可重用性, EISs或独立的软件提供商(ISVs)试图采用广泛使用的编程语言开发适配器,并且暴露-个客户端编程模型以便实现最大限度的重用。一个EIS可能提供一个适配器的-种简单形式,在此,一个适配器映射一个API,这个API对应特定EIS的一个可重用的标准API。通常这样一个适配器被开发成一个库(Library)。当开发成一个库时,应用开发者能够用同样的编程语言实现访问适配器就像他开发应用程序一样,并且对EIS不用进行修改。例如:一个Java应用开发者能够用-个基于Java的适配器用Java编程语言写的适配器,实现访问一个基于非Java语言或平台的EIS。EIS适配

38、器的更复杂形式还能够做跨不同的组件模型、分布式计算平台和架构的自我适应。例如:个 EIS可以开发一个具有与EIS进行远程通信的分布式适配器,这种类型的适配器暴露一个基于组件模型架构的客户端编程接口。还有一种类型的适配器可能为客户端应用开发者暴露一个基于数据的编程接口等。1.2.2.2 使用同步适配器一个适配器可以暴露客户端应用与EIS 之间的同步或者异步模式的通信,图4-2 表示了使用同步通信模式设计的适配器。为这种方法设计的适配器在客户端应用与EIS之间提供了一个同步的请求-回答通信模式。图 4-3使用异步适配器同步造配器是如何工作的呢?来看下面一个例子,一个适配器定义了一个API,它包括一

39、个可以被应用调用的远程函数。这个远程函数创建一个在EIS中可以接收的项目。当一个客户端应用需要与EIS 交互以创建一个可接收的项目时,它在EIS中调用这个远程函数。客户端应用初始化调用后等待回应,直到函数调用完成并且返回它的答复给调用者,答复包含了在EIS 中执行的函数的结果。这种交互被认为是同步的,因为在函数在EIS 中执行时,调用函数的客户端同时在等待其执行结果的返回。有一种形式的同步适配器允许在一个应用和一个EIS之间实现双向的同步通信,这种适配器使EIS同时能够调用应用中的函数。1.2.2.3 使用异步适配器异步适配器为应用集成提供了另一种方法,图4-3 表示了这种集成形式中的通信。让

40、我们还是利用客户端应用调用远程函数以创建可以在EIS中接收的项目作为例子。在异步适配器的通信中,客户端应用调用远程函数以在EIS 中创建一个可以接收的项目,客户端应用进行远程函数调用,然后立即返回继续自己的过程处理或者其他任务的执行。远程函数被发送到EIS,EIS作为一个分开的异步调用处理函数调用并返回一些结果信息给客户端应用,客户端应用在接到结果返回的通知后再接收和处理结果。源适配器分派从EIS 到客户端应用的异步调用。在此必须记住的重要一点是,远程函数在EIS中执行时,客户端应用并不挂起自己的过程处理,相反,它继续执行自己的过程处理,在调用后的某个时候再接收EIS的通知。此外,一个EIS

41、能够异步的激活或调用一个客户端应用。图4-3 使用异步适配器1.2.2.4 基于队列的方法异步的基于消息的通信也能够用来集成企业应用和 EISs。有两种形式的异步消息:基于队列的消息传递和发布-订阅的消息传递。一个消息代理可能提供以上方式中的一种消息传递。图 4-4表示了基于消息队列的通信。基于消息队列的通信也叫点到点的消息传递,它包括一个应用发送一个消息到一个消息队列中。在基于队列的通信中,一个队列作为相互通信的应用之间的一个缓冲器,与发送方和接收方相互独立。发送方发送消息到这个队列中,接收方从同一个消息队列中接收消息。图 4-4使用一个消息队列实现 EIS集成1.2.2.5 发布一订阅方法发布订阅方法与基于队列方法的工作方式不同。在发布一订阅的消息传递中,有几个消息发布者和多个消息订阅者,发布者发布自己的消息,订阅者订阅它们感兴趣的特定主题的消息,还有一个分离的发布-订阅工具,它作为一个集成点,发布者发布消息到这个集成点,这个集成点将这些消息传递给订阅者。图 4-5表示了发布一订阅的消息传递。图4-5 使用发布一订阅系统进行EIS 集成下面是发布-订阅的消息传递方式的工作机理。一个发布消息的应用发布关于特定主题的消息,多个应用可以接收这个主题的消息,发布一订阅工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号