第五章-应用集成技术概述要点课件_第1页
第五章-应用集成技术概述要点课件_第2页
第五章-应用集成技术概述要点课件_第3页
第五章-应用集成技术概述要点课件_第4页
第五章-应用集成技术概述要点课件_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章应用集成技术概述应用集成的意义应用集成的主流技术常用软件开发工具面向对象技术应用系统的三(多)层结构模型中间件技术组件技术6/11/20231桂林电子科技大学5.1应用集成的意义历史1、企业在内部信息化时重点强调一些孤立的管理或业务问题,缺乏整体体系结构的设计,往往是各个职能部门可以任意选择开发技术和开发方案,这导致各个应用程序之间协同工作能力十分有限。2、程序供应商由于对应用程序开发过程理解的制约,缺乏开放性的统一规范或者其它商业原因,一些应用程序在开发时很少或根本没有考虑与其它系统互联的问题,可扩展性比较差。更为可怕的是,一些应用程序的技术文档或者源程序已经丢失或残缺不全。第五章应用集成技术概述6/11/20232桂林电子科技大学现状1、由于企业信息化历史的原因导致了企业内一个个“信息孤岛”的出现,这些信息孤岛中的应用程序很可能包括企业关键的业务处理。据统计,一个大型企业中拥有1000多个信息孤岛,超过5000个独立应用程序的情况并不少见;2、用新系统替换已有的系统来整合企业信息孤岛的作法并不是一个很好的建议。一方面对旧系统已经投入了很多的时间和金钱,而且还包含了大量的知识经验,另一方面很少有公司能够对所有的业务流程提供完整的详细文档,开发新系统需要更多的时间和金钱,因此企业在保护以前的投资和继承以前管理经验的前提下,很难作出这样的投资决策。5.1应用集成的意义6/11/20233桂林电子科技大学发展1、企业管理者把信息系统看成提高企业管理水平和效率,实现企业利润最大化的工具,愿意对它进行投资,同时为了保持持续的竞争力,企业需要不断地对其信息系统的功能进行扩展和改进。2、充分利用企业现有的应用程序,集成为一个统一的、开放的、可扩展的以及稳定可靠的企业信息系统,符合企业管理、发展(企业兼并)和投资的要求。这就是EAI(企业应用集成),从系统集成商的商业角度来看,这就是EAI的市场需求和竞争优势。3、企业的全球化,企业兼并,电子商务的应用和发展,为EAI提供了推动力。5.1应用集成的意义6/11/20234桂林电子科技大学

EAI的目标:1、使得企业具有一个标准的、统一的、开放的应用继承信息系统,建立企业的信息门户;2、实现企业内保留的原有应用程序、数据源和新增的应用程序、数据源之间的信息共享、数据通信、功能交互,无限制的分享数据和业务过程;3、通过EAI这个使能器对企业的业务过程进行重组、再造,转变企业的经营管理理念,加快资金流转,全面提高企业的运作效率、管理效率和管理水平,实现系统的管理目标,提高企业的综合竞争力;4、通过构建这样一个集成的、面向客户的、高度伸缩性的信息系统为企业信息化的进一步实施打下坚实的基础。5.1应用集成的意义6/11/20235桂林电子科技大学5.2应用集成的主流技术常用软件开发工具面向对象技术应用系统的三(多)层结构模型中间件技术组件技术第六章应用集成技术概述6/11/20236桂林电子科技大学5.2.1常用软件开发工具1、以Micosoft为首的应用集成技术:

ASP+IIS应用技术2、以Sun为首的应用集成技术:

JavaBeans应用技术

J2EE:iPlanet与SunONE3、XML技术5.2应用集成的主流技术6/11/20237桂林电子科技大学1.Microsoft产品Microsoft作为全球第一的软件开发厂商,它的软件开发工具也相当出色,主要有VisualC++,VisualJ++,VisualBasic,VisualInterDevMicrosoftVisualStudio.NET用于创建下一代应用程序的理想而又现实的开发工具。作为快速创建和集成XMLWeb服务和应用程序的单一综合工具,VisualStudio.NET在改善操作的同时极大地提高了开发人员的效率。

VisualStudio.NET是唯一一个从一开始就是为XMLWeb服务创建的开发环境。通过允许应用程序通过Internet沟通和共享数据,XMLWeb服务使业务能够从Internet转换为用于集成和传送它们的核心商业价值的真正平台。VisualStudio.NET和XMLWeb服务提供简单、灵活、基于标准的模型,允许开发人员从新的和现有的代码汇编应用程序,而与平台、编程语言或对象模型无关。5.2应用集成的主流技术6/11/20238桂林电子科技大学2.Borland产品Borland世界最优秀和历史悠久的软件开发工具厂商,主要产品有:C++Builder,

JBuilder,Delphi,

Kylix(DelphiforLinux)

5.2应用集成的主流技术6/11/20239桂林电子科技大学

BorlandC++Bilder5.0

BorlandC++Bilder5.0是Interprise(Borland)公司推出的基于C++语言的快速应用程序开发(RapidApplicationDevelopment,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C++融合的产物。C++Builder充分利用了已经发展成熟的Delphi的可视化组件库(VisualComponentLibrary,VCL),吸收了BorlandC++5.0这个优秀编译器的诸多优点。C++Builder结合了先进的基于组件的程序设计技术,成熟的可视化组......

5.2应用集成的主流技术6/11/202310桂林电子科技大学

Delphi7StudioBorland软件有限公司2002年8月29日发布Delphi7Studio。它以对新近出现的Web服务的全面支持,集成化模型驱动开发与对Microsoft.NET框架的预览能力为主要特征。使用Delphi7Studio,上百万的Delphi开发者可以在不放弃他们原有的工作与Windows平台的技术情况下开发他们的基于.NET的技术,为.NET准备应用程序。

Borland用Delphi7Studio首次开辟了通往.NET的独立道路,它应用于Windows平台上的跨平台的快速应用程序开发环境。Delphi7Studio的特征还包括企业应用程序设计与分发,它允许开发者利用企业应用程序开发方法,通过新的UML设计器与模型驱动结构技术来更快地将概念转换为产品。5.2应用集成的主流技术6/11/202311桂林电子科技大学Delphi7Studio的新特征与优点:1、企业应用程序MDA开发:通过允许开发者在应用程序设计与分发的全过程中复用一个应用来加速开发过程,同时显著地减少代码量与开发时间。2、RAD可视化Web开发:既允许开发者使用Delphi7Studio环境来可视化地建立Web应用程序,也允许其使用应用程序模式框架来显式地处理会话管理以减少通用服务器端的开发任务。3、为Linux内建跨平台支持:Delphi7Studio将与Delphi语言版本的BorlandKylix3共同发布。Kylix3是第一个为Linux操作系统快速建立数据库,GUI,Web,Web服务应用程序的高性能的可视化的集成开发环境4、EnterpriseClassReporting能力:允许开发者建立跨平台的,有助于确定应用程序运行效率的报表。5、WindowsXP应用程序:Delphi7Studio包括了对WindowsXP主题的支持,允许开发者建立使用WindowsXP用户界面主题的应用程序。6、多层应用程序分发:允许开发者无缝地将单层与客户机/服务器应用程序扩展为多层应用程序而无需额外的运行费用要求

5.2应用集成的主流技术6/11/202312桂林电子科技大学

KYLIX--Windows和Linux之间的桥梁

KYLIX是INPRISE/BORLAND公司15年以来最重要的项目。软件制造商BORLAND在三月中旬正式推出了KYLIX,其也是LINUX平台上第一个集图型用户界面(GUI),INTERNET/WEB及数据库应用开发于一体的快速开发工具(RAPIDAPPLICATIONDEVELOPMENTRAD)。

KYLIX提供了一个包含可视化,双向工具的集成开发环境,内建一个全新的高速的编译器,能够编译LINUX原生C,C++和DELPHI开发语言,并且可以实现LINUX版本的BORLANDVCL结构,帮助DELPHI及C++BUILDER用户由WINDOWS平台向LINUX平台移植。KYLIX将支持REDHATLINUX、CORELLINUX以及其它LINUX版本。

5.2应用集成的主流技术6/11/202313桂林电子科技大学3.Sun产品

Sun作为Sun工作站和Solaris的制造者,Java的发明者,拥有Forte

系列开发工具,ActiveState从事脚本语言的商品化,包括Perl,Python,Tcl

5.2应用集成的主流技术6/11/202314桂林电子科技大学ASPN

在开放源码编程方面颇有建树的ActiveState公司2001年04月推出了全新的ActiveState程序员网络(ActiveStateProgrammerNetwork,ASPN)。将为程序开发人员提供各种开发工具和开发经验,确保程序开发既快又好。

ASPN包括:面向Perl和Python的Komodo集成开发环境,面向PHP,Tcl

以及XSLT的集成开发环境面向Perl,Python,XSLT的VisualStudio.NET综合套件;

O‘Reilly在线技术指导资料

Python演示代码;

ActivePerl,ActivePython,ActiveTcl二进制发行版本5.2应用集成的主流技术6/11/202315桂林电子科技大学

Jbuilder产品:实际上包含了在Java集成开发环境中所需要的一切东西。由于Jbuilder和几种单独的源代码处理产品是集成在一起的,所以它就能够支持多种Java开发工具包版本。对于JavaDoc的支持是无可挑剔的:Jbuilder软件能够自动为你生成JavaDoc文件。Jbuilder软件中的CodeComplete程序代码以及帮助提示是最一流的产品,并且,它能够和你所见过的任何一款微软产品相媲美。class浏览器能够在你编程时自动进行更新工作,向你展示出你的应用软件结构,甚至包含那些匿名的以及内部的class。所有的这些都是在你构建一个软件的时候自动完成的。

5.2应用集成的主流技术6/11/202316桂林电子科技大学4.GNU产品

GNUlinux

上的C语言编译器的开发者

。GNU是GNU'sNotUNIX的递归缩写。它是自由软件基金会的一个项目,该项目的目标是开发一个自由的UNIX版本,这一UNIX版本称为HURD。尽管HURD尚未完成,但GNU项目已经开发了许多高质量的编程工具,包括emacs

编辑器、著名的GNUC和C++编译器(gcc

和g++),这些编译器可以在任何计算机系统上运行。所有的GNU软件和派生工作均适用GNU通用公共许可证,即GPL。GPL允许软件作者拥有软件版权,但授予其他任何人以合法复制、发行和修改软件的权利。5.2应用集成的主流技术6/11/202317桂林电子科技大学5.2.2面向对象技术1.什么是面向对象技术面向对象技术:解决信息领域内所遇到问题的方法。例如:面向对象的分析(Object-OrientedAnalysis)面向对象的设计(Object-OrientedDesign)面向对象的编程(Object-OrientedProgramming)

在面对较复杂的系统,可以将它作为一个对象来进行分析。这个系统(解决某个问题的全套解决方案)作为一个对象,可以由多个部分组成。同样,这个对象也可以由多个对象组成。对于同类的事物,可以由一个对象来表示。可以灵活而高效,大大减轻设计人员的工作量,简化实际的模型。5.2应用集成的主流技术6/11/202318桂林电子科技大学2.面向对象的分析实例在关系型数据库的设计当中,可以把一个元组当作对象,给它定义一组操作方法。这些方法将适用于所有元组,从而我们不必在更大的范围内去细致的考虑不同的元组(如判断一个元素是否合法):因为它们有一组公共的面向本身的方法,它们“自己”可以“解决”自己的问题。更上一层的对象可以是一个表、视图等。表对象在元组对象的基础上又有它们自己的方法,如增加、删除等。从这个层面上讲,它也只需要做“自己”的事情,因为有元组对象的支持,它无须去考虑像元素是否合法这类事情。5.2应用集成的主流技术6/11/202319桂林电子科技大学3.面向对象的方法上面所讨论的可以说是面向对象的分析方法。在具体的设计过程当中,还应该采用适当的方式。因为面向对象的思想固然很先进,如果做得不好的话,同样不能达到预期的效果。这主要表现在处理对象与对象的关系上没有做好,对象与对象的层次不分明。如上面所举得关系型数据库得例子,如果在元组层面上的对象过多地考虑一个表对象的因素,或一个表层面上对象过多地考虑一个元组对象的因素,甚至去考虑元素层面上的因素,这些都不是好的面向对象的设计方法。5.2应用集成的主流技术6/11/202320桂林电子科技大学首先,运用面向对象的思想进行系统分析。

仔细划分系统的各个部分,明确它们之间的层次关系,然后将各个部分作为一个对象进行功能上的分析。例如:要设计一个用户界面,它可能由几个主要的窗体组成:主窗体MainFrame、功能性子窗体FunctionFrame以及对话对话框Dialog。其中,MainFrame中可能还包括菜单、工具条、文本框、状态条等Windows组件。对于要完成一些重要功能的组件,我们可以单独将它作为一个对象看待,在具体的实现中,用单独一个类来表示。而一些并不是很重要的、只是在过程中需要用到的组件,就可以将它们集成到其他对象中去。要明确每个对象自己的任务——不要让它有缺陷,也不能越殂代庖。各个对象之间的关系通过过程、内容、功能等耦合来实现。5.2应用集成的主流技术6/11/202321桂林电子科技大学其次,运用面向对象的思想进行系统设计。

其实在真正做好了系统分析的工作之后,进行设计就比较轻松了。这段时间只要进一步确定各个对象的功能以及各个对象之间的关系。为了能够更好地帮助明白各个对象之间的关系,可以利用一些工具将这些组件的关系表示出来,统一建模语言(UniformedModuleLanguage,UML)就是这样的一种好东西。它不仅可以现在帮助开发人员了解整个系统,也为以后的维护工作提供一个档案文件,给以后工作提供巨大方便。5.2应用集成的主流技术6/11/202322桂林电子科技大学5.2应用集成的主流技术面向对象分析与设计示意图6/11/202323桂林电子科技大学再次,编码的应用

在搞软件开发时,编码不是最重要的。分析、设计才是最重要的。也许当我们接受了一些更先进的思想之后,会更加理解这一点了。希望我们中国的软件开发人员能应用面向对象的思想开发出具有国际竞争力的优秀软件。5.2应用集成的主流技术6/11/202324桂林电子科技大学5.2.3应用系统的三(多)层结构模型1.应用系统三(多)层结构模型背景

在数据业务日趋复杂、数据传输量快速增长、并发数据猛增的情况下,以前的C/S两层结构存在处理速度慢、跨平台能力弱、系统性能/价格比低、不能扩展到WEB上等缺点,已经不再能满足当今和未来的需要。因而出现了三(多)层结构模型。

5.2应用集成的主流技术6/11/202325桂林电子科技大学2.应用系统三(多)层结构模型

多层体系结构框架例子:多层体系结构是在三层结构的基础上提出来的,三层结构技术将原来两层结构中客户端的大量事务处理逻辑或数据库服务器上的存储过程放到中间层来实现,从而减轻了客户端和数据库服务器端的负荷,并统一和规范了业务开发、管理和维护。

5.2应用集成的主流技术6/11/202326桂林电子科技大学2.应用系统三(多)层结构模型(续)

系统将中间层适当地分成三层(数据操作层、对象层和业务逻辑层)以便更好地组织整个系统的开发并最大限度地实现组件的可重用性和可扩展性,形成了一种多层的结构体系。体系中每一层所需的服务和数据都只来源于自己的下一层,并且只为自己的上一层提供服务和数据,而且每一层的都采用组件模块的方式进行扩展,这样使得系统的可维护性大大增强。5.2应用集成的主流技术6/11/202327桂林电子科技大学3.结构模型各层的主要功能与任务客户端应用层:客户端的任务就是接受用户的输入并向中间层发送事务处理请求,得到中间层的返回的结果后将任务执行结果或执行情况向用户反映。该层属于接入层。业务逻辑层:业务逻辑层提供了较高层次的事务处理与相关应用,实现了较为复杂的功能以供客户端调用。业务逻辑层的所有服务都来源于对对象层的调用,所有由业务逻辑层触发的处理请求,都将被分割为各种原子逻辑处理,传递到对象层进行处理。5.2应用集成的主流技术6/11/202328桂林电子科技大学3.结构模型各层的主要功能与任务(续)对象层:对象层是对系统涉及的业务逻辑进行归类和剖析,使用面向对象分析方法进行合理抽象后得到的各种实体的集合,这些对象包含的原子业务逻辑作为不可分的单元为业务逻辑层提供了基础。数据操作层:数据操作层是在对大客户管理系统中所涉及的数据表进行深入透彻的分析,进行归类的各种数据库操作的集合,该层包括了对数据库连接的管理功能。数据库服务器:数据库服务器端只提供数据的存储及访问,和一些大运算量的数据计算。这样使得系统与数据库管理系统产品的相关性大大减低,系统显得更为灵活和易于移植。5.2应用集成的主流技术6/11/202329桂林电子科技大学4.多层结构体系特点:从根本上为系统提供了一个扎实可靠的技术框架,将业务逻辑在中间层实现。有以下优点:

(1)业务逻辑集中实现,易于升级和更改;(2)大量的客户端对数据库的请求集中起来,进行排队后再向数据库服务器进行数据请求,可以大大减少对数据库服务器的压力;(3)一个好的中间件软件还可以实现对数据请求的负载均衡,避免出现某些服务器很忙而另一些则很空闲的情况。5.2应用集成的主流技术6/11/202330桂林电子科技大学5.2.4中间件技术1.中间件的概念

中间件是基础软件的一大类,属于可复用软件的范畴。为了直观地把握中间件的基本概念,可以将网络和系统软件之上、应用系统之下的“广袤疆域”都视做中间件领域。中间件被概括地理解为起承上启下作用的应用支撑平台。应用的多态性、系统软件的复杂性,都需要依赖各种类型的中间件在其中运筹、调和。中间件的核心作用是通过管理资源和网络通信,为各类分布式应用软件共享资源提供支撑。广义地看,中间件的总体作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

5.2应用集成的主流技术6/11/202331桂林电子科技大学5.2应用集成的主流技术中间件的位置6/11/202332桂林电子科技大学2.中间件的主要功能

◆负责客户机和服务器间的联接和通信;

◆提供客户机与应用层的高效率通讯机制;

◆提供应用层不同服务之间的互操作机制;

◆提供应用层与数据库之间的联接和控制机制;

◆提供一个三层结构应用开发和运行的平台;

◆提供一个应用开发框架,支持模块化的应用开发;

◆屏蔽硬件、操作系统、网络和数据库;

◆提供交易管理机制,保证交易的一致性;

◆提供应用的负载均衡和高可用性;

◆提供应用的安全机制与管理功能。

5.2应用集成的主流技术6/11/202333桂林电子科技大学3.中间件的分类从应用类别来看,中间件可以分为三大类:

◆数据类(DataIntegration):

用于数据的存取、转换和增值,此类中间件用于构建以数据为中心的应用;

◆处理类(ProcessIntegration):

把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用;

◆分布式构件类(DistributedComponents):支持构件式应用,是未来应用的发展方向。

5.2应用集成的主流技术6/11/202334桂林电子科技大学5.2应用集成的主流技术中间件的应用实例6/11/202335桂林电子科技大学3.中间件的模式◆消息传输模式:将数据从不同的源发地采集到一起或转发,包括数据标记、加密、队列和审核等;

◆事务协调模式:支持应用事件及交易管理;

◆应用构件模式:支持构件式应用,是网络化应用的发展趋势。

5.2应用集成的主流技术6/11/202336桂林电子科技大学4.中间件的发展趋势:

中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下三种发展趋势:

规范化

构件化和松耦合

平台化

5.2应用集成的主流技术6/11/202337桂林电子科技大学5.2.5组件技术1.组件技术概念

组件或者构件技术是应用级别的集成技术,其基本思想是将应用软件分解成为一个个独立的单元,将软件开发的过程转变成为类似于“搭积木”的搭建过程,通过组装不同的软件组件单元来实现软件的集成。按照组件技术的观点,应用软件的开发就成为各种不同的组件的集成过程。5.2应用集成的主流技术6/11/202338桂林电子科技大学2.CORBA技术CORBA是通过对象请求代理结构的缩写,作为一种应用级的互联标准得到了广泛认同和应用。一般CORBA有两层意思:对象管理组织OMG提出的分布式对象体系结构标准,按这种体系结构开发的中间件产品。5.2应用集成的主流技术6/11/202339桂林电子科技大学CORBA技术主要特征:(1)在CORBA环境下应用系统间的互联是以对象或程序的调用方式进行的,这样就可以做到系统间实时互操作,这类环境有很强的互操作能力。原则上,一个系统内部能够完成的操作,在系统之间通过CORBA都可以实现。(2)CORBA的面向对象的特点还保证了各对象的封装性和内部细节的隐蔽性。这不仅可以简化各种功能的使用,还提高了系统的安全性。5.2应用集成的主流技术6/11/202340桂林电子科技大学CORBA技术主要特征(续):(3)CORBA比较适合于分层结构的的应用集成,由于电子商务系统的体系结构本身就是一种多层的结构,所以这一技术比较适合核心业务逻辑的应用程序的集成。此外,由于目前应用服务器大多提供CORBA接口,这样利用CORBA技术完成应用程序和平台之间的无缝链接也比较容易。5.2应用集成的主流技术6/11/202341桂林电子科技大学3.EJB和J2EEEJB是SUN公司倡导的基于JAVA的组件构架,定义了一个集成的编程模型和标准的API接口,是实现服务器端应用服务的组件。在EJB之后,SUN提出了J2EE,定义了一个一致的环境,以支持企业级别应用的集成,确保应用的可移植性,在SUN的J2EE规范当中,J2EE被定义为一个多层次的服务开发平台,总共包括4个组成部分,其核心是J2EE应用开发模型和J2EE平台。(1)J2EE应用编程模型:一个标准的开发多层结构,客户端的开发标准;(2)J2EE平台:是J2EE应用的标准宿主平台,包括一流的API和策略的集合;(3)J2EE兼容性测试工具。5.2应用集成的主流技术6/11/202342桂林电子科技大学J2EE应用编程模型:模型分成三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论