软考高级之系统架构师之企业应用集成EAI

news2024/9/28 21:22:47

概述

在企业信息化建设的过程中,由于缺乏统一规划和总体布局,往往形成多个信息孤岛。信息孤岛使数据的一致性无法得到保证,信息无法共享和反馈,需要重复多次的采集和输入。信息孤岛是企业信息化一个重要的负面因素,其主要原因既有技术因素也有管理因素,还有业务流程和标准方面的因素。如何将众多的信息孤岛联系起来,以便让不同的系统乏间交互信息,是当前很多企业都面临的一个问题。

此时集成技术应运而生,集成包括软硬件及网络的集成,软件层次的集成技术——企业应用集成(Enterprise Application Integration,EAI)。

EAI技术可以消除信息孤岛,它将多个企业信息系统连接起来,实现无缝集成,使它们就像一个整体一样。EAI是伴随着企业信息系统的发展而产生和演变的,企业的价值取向是推动EAI技术发展的原动力,而EAI的实现反过来也驱动企业竞争优势的提升。

包括表示集成、数据集成、控制集成、应用集成等,适用于大多数实施电子商务的企业及企业之间的应用集成,在做数据集成前必须首先对数据进行标识并编成目录。数据集成是白盒集成,表示集成和控制集成是黑盒集成。

EAI所连接的应用包括各种电子商务系统、ERP、CRM、SCM、OA、数据库系统和数据仓库等。从单个企业的角度来说,EAI可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。

平台

企业集成平台是一个支持复杂信息环境下信息系统开发、集成、协同运行的软件支撑环境,包括硬件、软件、软件工具和系统。基本功能包括:

  • 通信服务:提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无需关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求
  • 信息集成服务:为应用提供透明的信息访问服务,通过实现异种数据库系统之间数据的交换、互操作、分布数据据管理和共享信息模型定义(或共享信息数据库的建立),使集成平台上运行的应用、服务或用户端能够以一致的语义和接口实现对数据(数据库、数据文件、应用交互信息)的访问与控制
  • 应用集成服务:通过高层应用编程接口来实现对相应应用程序的访问,这些高层应用编程接口包含在不同的适配器或代理中,它们被用来连接不同的应用程序。这些接口以函数或对象服务的方式向平台的组件模型提供信息,使用户在无需对原有系统进行修改(不会影响原有系统的功能)的情况下,只要在原有系统的基础上加上相应的访问接口就可以将现有的、用不同的技术实现的系统互联起来、通过为应用提供数据交换和访问操作,使各种不同的系统能够相互协作
  • 二次开发工具:集成平台提供的一组帮助用户开发特定应用程序(如实现数据转换的适配器或应用封装服务等)的支持工具,其目的是简化用户在企业集成平台实施过程中(特定应用程序接口)的开发工作
  • 平台运行管理工具:企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台应用运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,以及其中的关键数据的定期备份等功能来维护整个服务平台的系统配置及稳定运行。

分类

表示集成

表示集成,也称为界面集成,这是比较原始和最浅层次但又是常用的集成。将用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中,统一入口。其模型如图
在这里插入图片描述
表示集成是黑盒集成,无须了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。表示集成通常应用于默下几种情况:

  • 在现有的基于终端的应用系统上配置基于PC的用户界面
  • 为用户提供一个看上去统一,但是由多个系统组成的应用系统
  • 当只有可能在显示界面上实现集成时

表示集成的实现是很简单的,也是很不彻底的,只是一层外装修,而额外多出来的集成界面也将可能成为系统的性能瓶颈。

数据集成

应用集成和业务过程集成的基础。把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。ETL、数据仓库、联邦数据库都可视为数据集成。

为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成,其模型如图
在这里插入图片描述
有很多不同的中间件工具可以用于数据集成。例如,批量文件传输,即以特定的或是预定的方式在原有系统和新开发的应用系统之间进行文件传输;用于访问不同类型数据库系统的ODBC(Open DataBase Connectivity,开放数据库互连)标准接口:向分布式数据库提供连接的数据库访问中间件技术等。通常在以下情况下,将会使用数据集成:

  • 需要对多种信息源产生的数据进行综合分析和决策。
  • 要处理一些多个应用喜人需要访问的公用信息库。
  • 当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。

相对而言,数据集成比表示集成要更加灵活。但是,当业务逻辑经常发生变化时,数据集成就会面临困难。

控制集成

也称为功能集成、应用集成、API集成,是在业务逻辑层上对应用系统进行黑盒集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加附加的代码来实现。控制集成是黑盒集成,其模型如图
在这里插入图片描述
实现控制集成时,可以借助于远程过程调用、远程方法调用、面向消息的中间件、分布式对象技术和事务处理监控器来实现。控制集成与表示集成、数据集成相比,灵活性、复杂度更高。表示集成和数据集成适用的环境下,都适用于控制集成。但是,由于控制集成是在业务逻辑层进行的,其复杂度更高一些。而且,很多系统的业务逻辑部分并没有提供API,这样,集成难度就会更大。

业务流程集成

也叫过程集成,超越数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。

业务流程集成不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部的应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理,它包括应用集成、B2B集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。

其他

其他集成:

  • 消息集成:适用于数据量小、但要求频繁地、立即地、异步地数据交换场合
  • 共享数据库:实时性强、可以频繁交互,数据的交换属于同步方式
  • 文件传输:适用于数据量大、交换频度小、即时性要求低的情况

集成模式

市场上主流的集成模式有3种,分别是:

  • 面向信息的集成技术

在数据集成层面、信息集成技术仍然是必选的方案。信息集成采用的主要数据处理技术有:数据复制、数据聚合、和接口集成等。其中接口集成仍然是一种主流的技术。通过一种集成代理的方式实现集成,即为应用系统创建适配器作为自己的代理,适配器通过其开放或私有的接口,将信息从应用系统中提取出来,并通过开发接口与外界系统实时交互。而加入适配器的结构支持一定的标准,将极大的简化集成的复杂度,并有助于标准化,这也是面向接口集成方法的主要优势来源。标准化的适配器技术可以使企业从第三方供应商获取适配器,从而使集成技术简化。

  • 面向过程的集成技术

实际上是一种过程流集成的思想,不需要处理用户界面开发、数据库逻辑、事务逻辑等。而只是处理系统之间的过程逻辑,与核心业务逻辑相分离。
在结构上,面向过程的集成方法在迷信爱那个接口的集成方法之上,定义另外的过程逻辑层;而在该层的底层,应用服务器、消息中间件提供支持数据传输和跨域过程协调的基础服务。对于提供集成代理、消息中间件以及应用服务器的厂商来说,提供用于业务过程集成是对其产品的重要扩展,也是目前应用集成市场的重要需求。

  • 面向服务的集成技术

基于SOA和web技术的应用集成,是业务集成技术上的一次重要变化,被认为是新一代的应用集成技术。集成的对象是一个web服务或者是封装成web服务的业务处理。web服务技术由于是基于最广为接受的、开放的技术标准,支持服务接口描述和服务处理的分离、服务描述的集中化存储和发布、服务的自动查找和动态绑定以及服务的组合,称为新一代面向服务的应用程序的构件和应用系统集成的基础设施。

企业信息集成

指企业在不同应用系统之间实现数据共享,即实现数据在不同数据格式和存储方式之间的转换、来源不同、形态不一、内容不等的信息资源进行系统分析、辨清正误、消除冗余、合并同类,进而产生具有统一数据形式的有价值信息的过程。企业信息集成是一个十分复杂的问题,按照组织范围来分,分为企业内部和外部信息集成。按集成内容,企业内部的信息集成一般可分为以下四个方面:

  • 技术平台集成
  • 数据集成
  • 应用系统集成:实现不同系统之间的互操作,使得不同应用系统之间能够实现数据和方法的共享
  • 业务过程集成:使得在不同应用系统中的流程能够无缝连接,实现流程的协调运作和流程信息的共享。

数据集成
为了完成应用集成和过程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行表示并编成目录,另外还需要确定元数据类型,保证数据在数据库系统中的分布和共享。

数据集成的模式包括:

  • 数据联邦
  • 数据复制模式
  • 基于结构的数据集成模式

控制集成
这种集成能够为两个应用中的数据和函数提供接近实时的集成。应用集成在底层的网络集成和数据集成的基础上,实现异构应用系统之间应用层次上的互操作。

应用集成的主要模式包括:

  • 集成适配器模式
  • 集成信使模式
  • 集成面板模式
  • 集成代理模式

集成技术

不同分类下有不同的技术

表示集成

EP

企业门户,Enterprise Portal。
分类

  • 企业网站:注重单向信息传递,缺乏互动
  • 企业信息门户:EIP,把各种应用系统、数据资源和互联网资源统一集成到企业门户之下
  • 企业知识门户:EKP,企业网站的基础上增加知识性内容
  • 企业应用门户:EAP,实际上是对企业业务流程的集成。它以业务流程和企业应用为核心,把业务流程中功能不同的应用模块通过门户技术集成在一起
  • 企业通用门户:集以上四者于一身

EP实施的关键问题

  • 单点登录SSO
  • 业务流程整合
  • 个性化配置
  • 与企业应用系统的集成
  • 知识转化

应用集成

有5类

Web Service

Web服务,简称WS,随着Internet应用逐渐成为一个B2B应用平台,应用集成所面临的问题也日益突出:各种构件之间的“战争”、各种编程语言之间的“战争”、防火墙的阻挡、互操作协议的不一致等。Web服务定义一种松散的、粗粒度的分布计算模式,使用标准的HTTP/S协议传送XML表示及封装的内容。

Web服务的典型技术包括:

  • SOAP:Simple Object Access Protocal,用于传递信息的简单对象访问协议
  • WSDL:Web Services Description Language,用于描述服务的Web服务描述语言
  • UDDI:Universal Description Discovery and Integration,用于Web服务的注册的统一描述、发现及集成
  • XML:用于数据交换

Web服务的主要目标是跨平台的可操作性,适合使用WS的情况:

  • 跨越防火墙
  • 应用程序集成
  • B2B集成
  • 软件重用

在某些情况下,Web服务也可能会降低应用程序的性能。不适合使用Web服务的情况如下:

  • 单机应用程序
  • 局域网上的同构应用程序

J2EE架构

J2EE(Java 2 Platform Enterprise Edition)是由Sun公司主导、各厂商共同制定并得到广泛认可的工业标准。业界各主要中间件厂商如IBM、Oracle都在积极地促进该标准的推广和应用。完整的J2EE技术规范由4部分组成:J2EE平台、J2EE应用编程模型、J2EE兼容测试套件、J2EE参考实现。J2EE应用服务器运行环境包括构件(Component)、容器(Container)及服务(Services)三部分。构件是表示应用逻辑的代码;容器是构件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。

.NET架构

微软的.NET是基于一组开放的互联网协议而推出的一系列的产品、技术和服务。.NET开发框架在通用语言运行环境基础上,给开发人员提供完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。.NET开发通用语言运行环境(Common Language Runtime)处于.NET开发框架的最低层,是该框架的基础,它为多种语言提供统一的运行环境、编程模型,大大简化应用程序的发布和升级、多种语言之间的交互、内存和资源的自动管理等等。基础类库(Hase Class Library)给开发人员提供一个统一的、面向对象的、层次化的、可扩展的编程接口,使开发人员能够高效、快速地构建基于下一代互联网的网络应用。

工作流

国际工作流管理联盟,Workflow Management Coalition,WfMC给出的定义,工作流是一类能够完全或者部分自动执行的业务过程,它根据一系列过程规则,使文档、信息或任务能够在不同的执行者之间传递和执行。工作流是一种能够实现过程集成的技术。

工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

如果用户的业务流程经常发生改变,那么首先应想到工作流技术。

作用:

  • 整合所有的专门业务应用系统,使用工作流系统构建一个灵活、自动化的EAI(企业应用集成)平台
  • 协助涉及多人完成的任务提高生产效率
  • 提高固化软件的重用性,方便业务流程改进
  • 减少需求转化为设计的工作量,简化维护,降低开发风险
  • 实现的集中统一的控制,业务流程不再是散落在各种各样的系统中。可提高对流程的控制与管理
  • 提高对客户响应的预见性,用户可根据变化的业务进行方便的二次开发

数据仓库

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。首先,数据仓库用于决策支持,面向分析型数据处理;其次,数据仓库是对多个异构数据源(包括历史数据)的有效集成,集成后按主题重组,且存放在数据仓库中的数据一般不再修改。与操作型数据库相比,数据仓库的主要特点如下:面向主题、集成、相对稳定、反映历史变化

共享数据库

共享数据库是一种重要的企业应用集成方式,它通常将应用程序的数据存储在一个共享数据库中,通过制定统一的数据库模式来处理不同应用的集成需求。共享数据库为不同的应用程序提供统一的数据存储与格式定义,能够在一定程度上缓解数据语义不一致的问题,但无法完全解决该问题。在共享数据库集成中,多个应用程序可能通过共享数据库频繁地读取和修改相同的数据,这会使数据库成为一个性能瓶颈。共享数据库集成方式的一个重要限制来自外部的已封装应用,这些封装好的应用程序只能采用自己定义的数据库模式,调整和集成余地较小。

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot结合Vue.js+axios框架实现增删改查功能+网页端实时显示数据库数据(包括删除多条数据)

本文适用对象:已有基础的同学,知道基础的SpringBoot配置和Vue操作。 在此基础上本文实现基于SpringBoot和Vue.js基础上的增删改查和数据回显、刷新等。 一、实时显示数据库数据 实现步骤: 第1步:编写动态请求响应类&#xff1…

由河北吉力宝战略发展规划看中国品牌商业发展新方向

当今时代,一个经济体的发展和崛起背后,往往是一批民族品牌在提供强力的支撑。中国作为全世界最大的发展中国家,在经济建设中取得了举世瞩目的发展成就,各个行业涌现出一批优秀的国民品牌。 随着高质量发展成为各行各业的广泛共识…

docker alpine:3.16 root权限安装Anaconda3-2020.07-Linux-x86_64和jdk

首先查看系统版本: rootfv-az454-287:/tmp# uname -a Linux fv-az454-287 5.15.0-1046-azure #53~20.04.1-Ubuntu SMP Mon Aug 28 14:17:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux rootfv-az454-287:/tmp# grep NA /etc/os-release NAME"Ubuntu" PRETTY_NAME&q…

笔记本电脑没有麦克风,声音无法找到输入设备

新买的电脑没有扬声器,电脑声音没有输入设备,在开腾讯会议的时候才发现竟然有这个问题。 网上找原因,哎,找了一大堆每一个靠谱的 这让我想起来上次电脑没有热键的问题,所有问题的终极解决方案,都在源头那里…

加密算法总结

数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几…

如何给我们项目中的node_modules里面的包打补丁

背景 我们项目所依赖的一个包因为版本问题,可能在低版本的情况下,会出现报错。我们希望能patch这个错误。 // shopee-rn/nebula import { reportUIError } from shopee/react-native-sdk;useEffect(() > {if (!__DEV__) {reportUIError(); // shope…

node_modules/XXX/index.js:XXX;XX ||= XXX?.[level];SyntaxError: Une

这个语法是 ECMAScript 2021的语法 还挺新的 对node版本要求会比较高 这里这个 icon || this.options.icon?.[level];意思就是 如果this.options.icon [level] 拿得到值 就等于它 否则 如果拿不到 icon 就等于自己 要解决这个问题 一个是你可以提高node版本 但我不建议 还是…

centos 部署 xray

目录 1、部署 xray 2、部署测试靶场 jdk8 安装 tomcat 部署 3、测试 基础 web 扫描 GET 请求的扫描: POST 请求的扫描 参数和选项说明 1、部署 xray 选择最新的 xray 社区版下载 Releases chaitin/xray GitHub 解压后运行: ./xray_linux_a…

公司用什么软件监控员工工作状态的?(如何监控员工上班电脑的工作情况?)

在现代的商业环境中,管理和监控员工的工作内容是至关重要的。为了确保员工的工作效率和质量,公司需要使用一些工具来监控他们的工作进程。以下是五款实用的监控员工工作内容的软件,其中包括了洞察眼MIT系统。 洞察眼MIT系统 洞察眼MIT系统是…

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著作——2023学生开学季辉少许

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著作——2023学生开学季辉少许

go语言 反向代理

实现简单的http反向代理 还没有加入负载均衡 新手推荐 下游服务器代码 package mainimport ("fmt""io""log""net/http""os""os/signal""syscall""time" )type RealServer struct {Addr str…

uniapp解决scroll滑动之后被u-sticky挡住的问题

问题&#xff1a;页面触底加载之后&#xff0c;回到头部&#xff0c;顶部数据被遮挡 将<swiper class"swiper-list"></swiper>上的swiper-list样式高度调整成90vh <view class"main"><u-sticky bgColor"#fff"><u-…

PRT(Precomputed Radiance Transfer【2002】)原理实现

声明 本文源自对Games202课程&#xff0c;作业2的总结。 参考 手把手教你写GAMES202作业&#xff1a;GAMES202-作业2&#xff1a; Precomputed Radiance Transfer&#xff08;球谐函数&#xff09;GAMES 202 作业2Games202课程个人Blog 课程总结&#xff1a;Games202(P6、P7…

C++ - 异常介绍和使用

前言 我们在日常编写代码的时候&#xff0c;难免会出现编写错误带来程序的奔溃&#xff0c;或者是用户在使用我们编写的程序时候&#xff0c;使用错误所带来程序的奔溃。 在C 当中 可以对你觉得可能发生 错误 的地方在运行之前进行判断&#xff0c;发生错误可以给出提示。 C…

JOSEF约瑟 智能电流继电器KWJL-20/L KWLD26 零序孔径45mm 柜内导轨式安装

KWJL-20智能电流继电器 零序互感器&#xff1a; KWLD80 KWLD45 KWLD26 KWJL-20 一、产品概述 KWJL-20系列智能剩余电流继电器&#xff08;以下简称继电器&#xff09;适用于交流电压至660V或更高的TN、TT、和IT系统&#xff0c;频率为50Hz。通过零序电流互感器检测出超过…

TS编译器选项compilerOptions指定编译ES版本和模块化使用规范

compilerOptions是TS的编译器选项&#xff0c;主要在tsconfig.json文件中用于对ts编译为js文件时进行配置 "compilerOptions" : { 配置项 } 一、target指定ts被编译的ES版本 {// compilerOptions 编译器选项"compilerOptions": {// target 用来指定ts被编…

寻找AI-Native创业者

亲爱的科技探险家们和代码魔法师们&#xff1a; 未来的钟声已经敲响&#xff0c;预示着一场极度炫酷的虚拟现实游戏即将展开。从初期简单的智能识别&#xff0c;到设计师级别的图纸设计&#xff0c;生成式AI技术&#xff08;Generative AI&#xff09;以其独特理念和创新模式重…

基于springboot+vue的在线购房(房屋租赁)系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Java21的新特性

Java语言特性系列 Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java18的新特性Java19的新特性Java20的新特性Java21的新特性Java22…

Java下打印直角三角型(另一个方向)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) {int num 5;for (int i 0; i < num; i) {for (int j 0; j < i; j) {System.out.print("-");}for (int j 0; j < num - i; j) {System.out.print("*");}S…