企业级SOA中如何重用遗留的C/S应用

2009-11-04 02:33杨家微
企业导报 2009年7期
关键词:遗留服务化应用程序

杨家微

一、重用C/S应用主要原则

由于历史的原因,一些信息化不够充分的企业往往建设了不少业务系统,这些业务系统基本上都是C/S应用。在新的SOA技术架构中重用这些业务系统是一个比较重大的工作,需要根据实际情况,设计出复用、集成这些原有系统的方法。需要满足如下原则:

1.着重规划。对于旧有业务系统的复用、集成需要有整体的规划,是合理、有效复用、集成旧有业务系统的前提,也是实施SOA最为基础的一步。有了规划,才能去选择现有条件下最适合的技术和工具,最后用这些技术和工具实现这些业务系统的复用。

2.从局部到整体。SOA让企业可以搭建一个松藕合的平台,但是SOA不可能一蹴而就,在企业内部规划、实施SOA是一个长期的过程。在企业内部实施SOA时总是先从部门级开始,从最关键的业务开始,然后慢慢扩充到其他业务、其他部门,到最后实现整个企业的SOA。设计出来的复用集成方式必须满足这种小步快跑式的SOA实施方式。

3.有破有立。由于已经建设的业务系统比较多,采用不同的技术架构开发,在实施SOA时,需要考虑到复用集成时的各种情况,提供符合条件的复用集成方式。一些太落后的系统可以考虑推倒重来,对于那些还能继续应用的系统,需要提供包装、升级到新的技术架构的解决方案;对于那些太过于封闭的旧有技术架构,要考虑如何用最新的集成手段来将它开放成服务,加入到新的SOA体系中来。

二、重用遗留C/S应用的几种方式

在一个企业内部实施SOA 并是简单的把原来的业务系统全部拆掉后重建,理想的做法是在一个企业目前正在使用的应用、系统和资产中确定可重用的、高价值的业务系统,采用 SOA 的理念、原则、方法和技术来标准化这些任务,使他们可以在企业内部得到重用。重用已有的应用程序和系统是非常明智的决策,可以减少企业在实施SOA时的资金投入,且重用现有业务系统不会对现有业务造成太大的冲击,可以显著降低企业实施SOA时的风险。

这些现有业务都已经经过了长时间的运营,是公司拥有的最宝贵且经过验证和时间考验的资产,重用原有的业务系统还可以大幅度加速 SOA 项目的实施进度。相应的研究结果显示:重用原有业务系统的开销比从头构建这些业务系统需要的费用少五倍。由于这些遗留系统已经过了严格的实践的检验,其维护开销也会减少。根据实施SOA时企业内部IT项目建设的阶段和原有遗留系统的实际状况,我们需要采取不同的策略来集成原有代码:

1.系统服务化。这种方式是指直接将原有系统的源代码通过SOA技术架构发布为服务,在新的体系结构中直接复用。

2.系统架构升级。这种方式是指采用新的体系架构升级原有C/S业务系统,或者是将该系统中需要新增加的功能基于新的体系架构重建,或者在该系统使用寿命达到标准后重新创建该系统。

3.系统集成。这种方式是指通过系统集成的方式使用原有代码,达到业务重用的目标,如实施SOA时直接采用采用EAI、ESB等技术集成那些遗留下来的C/S应用。

4.遗留系统拆分。这种方式是指在SOA实施过程中,直接利用原有C/S应用,达到业务系统重用的目标,只是需要将遗留系统拆分成更小的系统,以满足服务拆分的需要。如在实施SOA过程中直接采用业务系统调用的方式,直接启动原来的C/S应用,让用户使用。

5.其他方式。根据实际情况,我们可能还需要提供其他的重用方案,如直接使用那些还具备使用价值的、比较独立的业务系统,或者是采用以上三种方式的混合形式来达到系统复用集成的目标。

三、代码服务化

采用代码服务化的好处是服务接口由所公开的遗留资产定义,不需要进行分析来设计接口规范。由于新服务可以在与包装的现有资产相同的平台上运行,没有必要添加新基础设施。能省略接口定义和分析,要处理的平台更少,这样部署周期就会更短,风险也更小。采用代码服务化方法时需要重点考虑如下事项:

(1)服务使用者需要与旧有系统的服务定义建立联系,而旧有系统在很多情况下的最初设计都不是按照面向服务的方式来设计的。

(2)这种重用方式假定现有应用程序平台提供了对服务调用的最新技术的支持。

(3)这种实现模式会给系统带来服务消息处理的压力。

四、系统架构升级

采用系统架构升级的方案中,我们在现有应用程序功能和服务之间引入构件层,所有需要被服务化的原有系统,都遵循先被构件化,然后被服务化的过程。构件可以提供服务和实际实现之间的抽象,封装了对原有系统的所有操作,同时提供了更多的灵活性。使用构件有如下好处:

(1)可以在不影响服务使用者的情况下更改现构件的业务逻辑实现。这些构件可以方便地进行扩展,以封装数据和信息构件,为数据或信息服务提供外观层,对于服务使用者来说,这些服务是透明的。

(2)可以在构件层进行系统和功能的组装和编排,构件服务使用者的影响很小或者没有影响。

(3)可以将服务部署在与现有应用程序不同的基础设施上,现有应用程序的基础设施通常针对服务的特定处理要求进行了硬编码。

这种重用模式体系结构有自己的特点。

(1)它允许服务与业务保持紧密一致,但并不一定直接映射到现有应用程序接口的服务接口定义。

(2)可以支持使用 SOA 的原则和最佳实践来以正确的粒度级别设计服务和接口,与此同时,这也会增加服务定义的设计工作。

(3)引入构件层后,设计工作会比直接将应用程序公开为服务更为复杂,可能会涉及到使用适配器或连接器技术来与应用系统进行连接。

五、系统集成

在采用系统集成方式重用原有C/S应用时,原有信息系统本身作为服务提供者而独立存在。它提供的服务被整合到新的技术架构中。系统集成模式的主要优势在于,可以不需要花很多时间为服务定义开发实现构件,由服务提供者直接提供这些服务及其接口,这可以大幅度降低SOA实施时间。服务消费者可以很容易的根据不同的业务场景在服务提供者之间进行切换。整合集成模式体系结构需要重点关注的事项:

(1)必须恰当地定义服务的服务级别协议,确认被整合的应用系统能够提供满足要求的服务。

(2)系统和系统之间通过服务调用完成交互,如果是在非局域网环境下,需要考虑到安全的问题,如增加防火墙等。

六、遗留系统拆分

在遗留的C/S应用中,会存在一些非常独立的系统,他们和其他的系统之间不存在什么联系,甚至也不需要交互,只是需要根据不同的人提供不同的权限或者是更小的调用域,这个时候我们就可以采用遗留系统拆分的方式来直接利用这些C/S应用。遗留系统拆分模式的主要优势在于,可以不需要花很多时间为来处理服务化、接口等内容,而只需要简单的利用遗留的C/S应用,将它拆分成更小的应用即可。这可以大幅度降低SOA实施时间。遗留系统拆分模式体系结构需要重点关注的事项:

(1)系统本身应该是非常独立的,完成相对独立的业务,和其他系统之间不存在太多的交互。

(2)必须恰当地定义拆分的标准,以满足可被重复利用的可能性。

(3)必须考虑如何调用这些遗留的技术路线。

通过灵活应用本文中提出的代码服务化、系统架构升级、系统集成和遗留系统拆分四大方法,可以比较容易的重用这些遗留下来的C/S应用,降低企业实施SOA的成本和风险,缩短企业实施SOA的周期,让企业能够更快速、更安全的在企业内部实施SOA战略,进入到主流的SOA实践中来。

猜你喜欢
遗留服务化应用程序
制造企业服务化程度、服务化模式和服务化收益研究
许林涛作品
删除Win10中自带的应用程序
基于单片机控制的小孩遗留小汽车内智能安全装置
制造业服务化发展战略研究
天龙,遗留六百年的传奇
制造服务化发展战略
制造业服务化对提升制造型企业创新能力的作用研究
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序