SOA与大型主机并不是绝对对立的矛盾面,而是可以通过一些方法在碰撞中融合。本文将结合四个实际案例来讲解如何处理。

惋惜的是,许多公司现已着手建立一个可称为“偶尔架构”的架构,而这些公司的体系都现已具有逾越10年的寿数。这个架构就像一碗意大利面条,每一根面条代表一个体系,而一切这些面条的每一个交织点都代表了这些体系之间的一个集成点。这个偶尔架构是运用了RPC、FTP音讯行列以及许多其它集成技能阅历多年时刻才发展起来的。可是,这个架构十分复杂,并且很难进行简略的替换或重写操作。

那么,你为什么还要关怀这个早已过期、难以操作并且软弱、粗陋的主机体系呢?由于你是一个Java/J2EE开发员,你每天都要和Web服务、BPEL进程办理器和ESB打交道。而《软件开发》杂志的一次查询标明,“……47%的SOA运用中都有主机运用的踪迹。”这意味着在一个SOA项目中,你大概有50%的几率要和旧主机体系打交道。

SOA很简略被炒过头,并且常常被IT供货商们捧作软件架构的“圣杯”。可是,在这个“旧财物现代化”的环境下,SOA集成架构能够把一个旧体系引进到互联网、Web2.0以及一切以网络为根底的***的IT架构中。然后,用不了多久,你就能够经过网页来拜访一个旧体系了。这正是SOA相对其它旧体系集成技能的***优势。你的上市时刻是以周为单位的,而不是月或年。咱们现在生活在一个重视时刻短且需求取得即时满意的年代里;咱们不再需求早报,由于咱们从网络上得到所需的信息。咱们的现代化旅程要能够反映这些改变。因而许多旧财物的现代化项目挑选了SOA集成作为***阶段。

旧财物的SOA集成:主机上的集成点

开端之前,咱们先来看看SOA运用主机体系的几种方法。咱们能够运用各式各样的旧组件。旧组件是指主机上的详细的逻辑、显现和数据,是事务用户需求拜访的部分。咱们不能只看集成点,还要了解挑选旧组件或拜访方法的原因:

◆出现层——即一般所说的“绿屏”。这是一个体积巨大的非智能终端机,是与主机体系进行双向交互的仅有方法。包含主机3270或VT220(DEC)传输设备、iSeries传输设备(5250)等。

为什么运用、数据等上面要有出现层?由于这些运用源都是无法运用的。也或许是其它原因,比方由于安全或约束性要素形成的无法直接拜访,或许运用中没有相应的流程或SQL。SOA仅仅工作主机运用并将显现、菜单和字段以服务的方法出现出来。这种做法很简练,速度也很快,并且最重要的是很便利。

◆运用——运用服务的完结并不是简略地把处理进程封装为Web服务。这包含体系功用的各个方面,也包含CICS/IMS事务、Natural事务、IDMS与ADS/O会话、COBOL程序和批处理程序等。它也包含事务规矩、数据验证逻辑和其它事务的一部分的事务处理进程。

为什么要集成以运用为根底的旧体系?运用是大部分体系的中心。它包含显现、事务逻辑、事务规矩、作业流、安全和旧体系的全体功用。主机体系上的事务是IT用户与体系交互的方法。因而,当你想重复运用旧体系上的既有功用,运用运用层便是最合理的一种方法。这种方法使你能够运用当时运用一切的行为(规矩、事务处理流程、逻辑和安全)而无需在敞开的体系上从头创立。

◆数据——旧体系上的数据能够是相关的或无关的。大多数状况下,旧体系上会有一个无关的数据存储,比方要害字文件、网络数据库或分级文件体系。在对旧体系上的数据进行读写操作的时分,SOA集成层将运用SQL这种简略易行的方法来拜访一切的数据源。这一点很重要,由于许多企业或许更倾向于运用依据SQL的集成而不是依据SOA的数据集成。IT架构决议了在敞开体系数据库中运用SQL句子比引进一套完好的SOA设备要简略得多。

为什么是数据?由于这是准确性的本源。它是你所需求的信息的贮存之处。假如你运用了别的三个组件的任何一个,那么它们终究必定导致你需求一个数据存储。因而,让你一切的服务都以数据为根底便是水到渠成的了。有时分,安全和加密等方面的原因或许会使这儿无法完结。还有时分,你需求先完结事务逻辑、事务规矩、或许转化才干继续数据方面的作业。可是,假如上面这些还无法进行,那么直接开端数据源的作业也是个不错的挑选。

◆其它——存储程序和SQL大多分布式运用拜访数据存储的方法。存储程序也为运用功用、代码重用、运用逻辑封装、安全和集成供给了很大便利。

为什么要运用存储程序和SQL?由于你在转向分布式、敞开的体系和联络数据库,而这些技能在这个环境下的体现适当不错。当然也要遭到人力和技能方面的影响。你的敞开体系开发人员有必要了解存储程序,并能熟练地开发它们。

旧财物的SOA集成:四个典型事例

在各种技能期刊上,许多IT剖析师都说过SOA并不是一种产品或计划,而是一个旅程。假如SOA是一个旅程,那么旧SOA财物的现代化则是一个"收拾备用衣服"的旅程。这是由于旧SOA财物的现代化旅程或许会阅历意想不到的弯曲和艰苦,你会遇到事务方针、要害人员和技能发生变化的状况。

咱们将剖析咱们所遇到的一系列常见的旧SOA财物现代化的实例来为你供给经历。在每一个实例的***咱们还会供给一个实践有用的设计计划。

#p#

事例一:企业信息集成(EII)

也称为数据集成、文件同享、信息同享。

问题

咱们当时用于信息集成的主机设备现已很软弱,并且价格昂贵、难以保护。

典型的问题包含没有一致的作业流程、缺少数据质量、数据剖析才干低下、各数据专线都运用特定的传输逻辑、没有实时监控的才干、并且无法灵敏地添加新数据传送专线。

布景

需求与公司内外部的新体系和其它主机体系上开发的新体系同享数据。

简直一切的主机体系都有数据传送专线来传入或传出数据。这些数据专线一般都由一个每日进行一次批处理的作业流程办理体系操控。

动力

从前运用和企业是各自独立的。现在运用与企业之间发生了对信息同享的巨大需求。

解决计划

SOA与大型主机在磕碰中交融  架构 J2EE SOA 第1张

架构概述

旧财物的SOA集成的方针并不是分化当时的事务进程和旧体系。咱们之所以保存了数据专线也是出于这个考虑。要想对数据专线做出哪怕很小的改动也是不或许的,由于:

◆ 假如触及第三方团队,或许乃至是只牵涉到企业内部不受你操控的一个团队,完结这项作业也要花费数月的时刻。

◆即使是内部数据专线也影响着源体系、当时的进程和方针体系,以致即使是很小的一个改动也会发生连锁反应,使这项作业花费数月时刻。

当时的数据专线将继续保存。图表显现了比如Legacy Adapters和Oracle Messaging等技能,事务进程发生改变时能够对其进行调整。

◆ Oracle ESB—Oracle ESB将运用文件或FTP适配器读取平面文件,然后将平面文件转化为一般(规范)XML文件格局。音讯将依据源或数据专线发送到相应的Orcale BPEL进程。

◆Oracle BPEL—这儿是接纳咱们前面评论的作业流与处理进程的当地:

Oracle BPEL将调用Java或Web服务进程进行一切的验证处理。验证进程或许会调用Oracle数据库并依据数据库里的数据验证信息。

验证之后即进行特定文件格局的处理,也便是将“事务规矩”运用到输入数据文件。这个事务处理进程将调用Oracle事务规矩引擎。

惯例过错处理--验证和/或事务规矩处理过错将被发送到过错处理路由。成果填充到BPEL作业表,然后作业人员便能够更正问题文件或记载。

数据持久性Web服务--数据将贮存在Oracle数据库、IMS数据库、和/或Oracle电子商务套件中。

事例二:旧财物的Web使能

亦称为屏幕抓取或接口重连。

问题

咱们的售后服务人员、事务代表、顾客和合作同伴期望能经过网络拜访咱们的体系。为什么不能运用一个接口一起更新旧体系和Oracle体系呢?

旧"绿屏"技能有许多约束。其间一个很大的问题是这些技能不是很直观。你有必要拜访多个屏幕或体系才干得到所需的信息,也不支撑点击操作。别的,许多时分用户或许需求运用多个体系来查询或更新相同的或相似的数据。

布景

用户期望能在任何当地任何时刻得到他们想要的数据。用户还期望他们的旧体系能和新的Oracle环境交融。

一个需求用户查询多个体系、然后更新多个体系的事务进程会大大地下降作业功率,并且很或许导致数据不一致。

动力

咱们看到网络用户的年纪十分年轻化。并且供给更好的运用接口的技能多年从前就现已老练了。

解决计划

SOA与大型主机在磕碰中交融  架构 J2EE SOA 第2张

架构概述

这个事例的要害是接口。所以咱们选用了Oracle WebCenter和/或JSP/JSF。开端的时分咱们能够挑选运用JSP和/或JSF坚持开发的简练并灵敏布置。在更老练的阶段能够运用JSF来开发JSR-168 portlet,并用Oracle WebCenter或其它相似技能进行布置。

#p#

事例三:旧体系运用数据搬迁制造卸载陈述

也称为旧操作数据存储、陈述现代化、事务智能整合。

问题

IT说:咱们的旧陈述设备现已花费了几百万美元,还积压了六个月的陈述单。

用户说:我手上现已有100多张条纹报表,但我依然无法依据这些信息做出决议计划来。

布景

用户需求不同格局与标准的信息。他们还期望能简略地做一些特定条件和假定条件场景。

许多以主机为中心的企业常常要在每张电子表格上都做一遍出售猜测。

动力

在主机上做陈述是一笔巨大的开销,而事务用户一般还无法得到他们做决议计划时所需求的信息。因而企业常常发现他们的用户运用Excel、SQL或其它桌面东西自己生成陈述。这样就形成了数据在整个企业的涣散仿制。

解决计划

SOA与大型主机在磕碰中交融  架构 J2EE SOA 第3张

架构概述

在Oracle Bam体系中,终端用户和决议计划拟定者都能实时检查传入陈述体系的***信息。终端用户决议计划拟定者能够依据***的音讯拟定实时决议计划。不管是每分钟读取的数据量削减,或是用户陈述的呼应时刻发生改变,只需材料读取速度变慢,IT办理部门立刻就能收到正告信息。

能够运用BPEL编列传入Oracle数据库的信息流。BPEL能够依据传入时刻或详细文件的传入或继续寻觅可读取的数据来规划数据读取。

Oracle数据集成器(ODI)供给了一个能够快速地批量读取数据到Oracle陈述数据库的方法。经过它能够拜访数据转化、数据收拾和数据办理服务。ODI是彻底支撑Web服务的,任何ODI组件都能够被Oracle BPEL、Oracle ESB或其它任何Web服务使能东西或产品运用。

事例四:端对端SOA

也称为软件即服务,旧财物的SOA集成。

问题

这个旧体系真是一个“黑盒子”。向内部输入信息是一件适当吃力的工作,而要从中获取信息则更让人头痛。而我对其间工作的事务进程也一窍不通。

布景

你的主机体系现已无法让你理解事务是怎么工作的。旧体系难以保护、改进或许为内外部客户添加新服务(发布产品)。

动力

用户集体要求能够实时对信息进行处理并能够立刻得到成果。体系的信息集成接口简直以周为单位发生改变,而新的交易同伴乃至期望能每天与你坚持联络而不是一个月才联络一次。体系接口需求依据状况进行定制,这样内部高层用户能够看到一切信息,出售人员只能看到相关的出售数据,顾客只能看到他们自己的数据和订单,这样公司办理人员能够实时地取得事务的***状况陈述而不是只能看到几个星期从前的状况陈述。

解决计划

SOA与大型主机在磕碰中交融  架构 J2EE SOA 第4张

架构概述

已然咱们要为用户供给定制的视图,那么WebCenter或相似的技能明显便是最简略并且最有用的挑选了。

BAM在这儿发挥着适当重要的效果,处理量添加时更是如此。BAM能够在单个屏幕上监控一切的事务进程和服务。

就像ESB被用来从其它体系集成数据并供给集成总线相同,在这儿ESB也被用来接纳两种不同格局的文件并一致进行处理。

总结

阿伯丁(Aberdeen)集团从前说过:“运用SOA集成旧体系上的旧运用的安排现已逾越了那些运用其它方法的安排。他们的旧财物集成项目具有更高的功率、更高的灵敏性和更低的本钱。”尽管这仅仅IT剖析公司的一家之言,可是它确确实实地标明晰SOA集成在企业旧财物现代化中的重要性。由于更快的(以月为单位而不是年)旧财物的SOA集成不只能带领一个安排进入21世纪,它还能答应客户自行进行集成并供给一致的事务进程和更灵敏的IT根底设备。

转载请说明出处
知优网 » SOA与大型主机在磕碰中交融

发表评论

您需要后才能发表评论