【IT168 专稿】
面向服务的架构(SOA)将为IT带来新的革命。为什么呢?因为SOA拥有真正实现重用的潜力。多年来,各公司一直都在讨论重用的话题,但从没有任何真正能够完全实现重用的实例。你可能会问:“为什么SOA能取得以往所无法企及的成功?”这是因为SOA的标准、非常好的实践和治理模型已经成熟,完全可以在实际工作中实现重用了。
根据定义,SOA是一个架构。同时,SOA也是一种IT方法,能够帮助企业解决业务上遇到的重大难题。并且,SOA收回成本的速度也很快。实际上,SOA有许多快速收回投资成本的商机,其速度甚至快得让人惊讶。比如,许多企业并没有意识到在各个部门和应用之间的重复过程的数量是如此之多,以至浪费大量的费用。如果计算一下这些由冗余或重复功能造成的成本浪费及损失的收益,你就会知道相对于管理多个可能互相抵触或者重复的功能,集中式的服务有多大的优越性。
最近几十年来,企业变得越来越复杂化。兼并、整顿、全球化竞争、业务外包、合作等因素使得任何一个公司都要用到大量的应用。如果一个企业的所有应用都是在一个总方针指导下进行开发的,那么情况可能会有所不同。但是,通常的情况是这些应用都是各自独立开发,然后在将来的某一天,它们开始需要互相合作。结果就是,这些公司要维护多个IT系统,而这些系统却无法集成到一起。
SOA为这些企业提供了一个可以循序渐进地进行的方式,避免因为复杂的工作可能带来的混乱。下面将简单介绍的两个已经帮助许多公司走向SOA成功之路的项目。并且,值得一提的是,这些项目在仅仅几个月的时间里就产生了相当可观的商务业绩。
使用SOA提供标准服务和业务过程的公司,其IT价值也会成倍地增长。如果每个客户、供应商、业务伙伴都对应唯一的视图,各个具体的业务需求也都对应唯一的业务过程,那么企业就能更顺利地运行业务,把更多的精力投入到增加业务价值上,而不是消耗在应付IT基础设施的问题中。过去有个比较流行的看法,认为重用的价值就是消除重复开发和维护。然而现在大多数人公认的是,重用的价值主要体现在使业务过程标准化。下面用两个项目来具体介绍企业如何快速实现SOA的价值,为将来的IT系统扩展与企业发展打下坚实的基础。
项目1:SOA与零售业
某零售商预计SOA将为其带来2000万美元的收入,其中包括创建一个服务中心作为唯一的配货信息源。
许多企业在市场上遇到阻碍就是因为他们无法有效地实现客户期望。比如,某家服务公司受客户委托要派一名业务代表到客户家里解决一个问题。收到这个委托的时候,公司可以承诺该业务代表将在八小时的工作时间内到达。这意味着时间并不是很确定。这样,就有可能出现这种情况:当客户在家里等了整整一天后,公司打电话通知这位客户,说该业务代表今天无法抵达,需要另行约定时间。这种对顾客期望的管理不善可能导致客户体验下降,甚至使客户流失到竞争对手那里。这种情况很有普遍性,并且对于任何依赖服务质量来维持业务的企业来说都是非常重要的因素。
在零售业中,成功的零售商应该能够完善地管理、满足甚至超越顾客的期望。不管是商品的质量、维持必须的库存或是迅速地处理定单,都应该以高期望值为目标。配货日期应该准确,并且不管由于什么原因而使配货日期发生变化的时候,都应该通知客户。这样,零售商就产生了部署SOA产品的需求。
零售商的业务链包含了多个系统,每个系统都能更新配货日期。因此,如果有人在其中一个应用上改变了配货日期,定单处理系统可能无法对信息进行一致的更新。结果就是,配货日期改了,而客户没有及时收到通知。因为这些异构系统无法互相交流更新的信息,而客户代表就得花费大量的时间查看多个定单管理系统来回答客户的咨询,或处理客户因为没有按时收到货物而提交的投诉。由于信息的滞后和及时通知客户的能力匮乏,使得客户与雇员都很受困扰。
解决方案就是一个集中式的配货日期服务。这样,当配货日期发生变动的时候,业务实现系统就会通过零售商的企业服务总线(ESB)向这个事件驱动的服务发送一个配货变动通知。从而,定单系统数据库(以及其它任何使用此服务的系统)就能随时获得及时更新。这使得售后服务人员能够更快、更准确地响应并处理客户的问题。
零售商的配货日期服务是一个通过ESB进行管理的SOAP over HTTP服务。当前业务实现系统的WebSphere MQ接口通过ESB连接到各个新服务。为了支持WebSphere MQ与SOAP之间的消息传输,需要为服务开发一个消息传输中介。所有从WebSphere MQ接口发来的业务实现系统的请求都经由此传输中介进行从WebSphere MQ到SOAP的转换。然后SOAP请求被发送到配货日期服务。用于开发ESB的产品可以提供所有从WebSphere MQ到SOAP的转换支持,因此无须由编程实现转换,最大程度地减少了开发时间并能节省资源。这种设计方法同时实现了发布-订阅的功能,其中配货日期服务是在ESB上发布的。通过这些订阅-发布功能,其它的系统也可以订阅同一服务,因此也能得到配货日期变动的通知,并进一步促进组件的重用。这种订阅-发布模式也能使所有非独立系统获得同步通知。
以上是一个简单的SOA项目。所有的工作——创建两个集中式的服务和一条ESB总线——只需要4位开发人员4个月的努力。但对业务的影响却是巨大的。客户不会再错过配送日期或收到错误的配送信息,由于配送引起的订单取消的数量也将减少。更重要的是,由于零售商能够满足客户的配送需求,客户也会重复下单,从而为零售商带来更多的利益。