编者注:OASIS是一个不以盈利为目的的国际组织。OASIS最核心的工作就是讨论、制定和推广ODF(开放文档格式)和SOA(面向服务的体系架构)等开放标准。自1993成立至今,OASIS已经在100个国家拥有超过5000名参与者,这些参与者代表了超过600个组织和个人会员。
此次参加OASIS会议,一方面了解了OASIS组织和所做的工作,另一方面与各位同行进行了广泛的交流。通过此行自己感觉收获不小,不仅对SOA,对标准有了更多的认识,也认识和熟识了不少朋友,尤其感受到大家都有一起合作做好事的愿望,都期望把长风联盟做得更好,更好的发挥联盟的作用。在此行程中有不少个人感想,现尽自己所能写一点个人的感受供大家参考。
l 关于SOA
最近在国内SOA是一个热门话题,IT厂商极力宣传SOA,用户也热衷于说要采用SOA。SOA确实是一个很好、很新的技术架构,但它并不能解决目前一切的现存问题。
通过参加OASIS会议以及与大家的交流,对SOA是什么,可以做什么有了更多地了解。从字面上看SOA(面向服务的架构)强调的是服务,在此服务是指具体的业务(功能)。使用SOA,业务人员可以直接通过使用业务的语言进行问题思考和交流,可以(在不同的业务合作伙伴间或部门间)精确的描述业务目标,这样可以更容易的建立新的业务系统。但前提条件是已经存在业务服务,或准备开发新的业务服务。
SOA有一些重要特点,包括:松耦合,可灵活支持业务流程重构,广泛应用标准。这使得SOA更适用于业务系统间的互操作和整合,适用的主要应用场景包括:企业应用集成(EAI),电子商务(B2B),电子政务(可以实现委办局或部门间的信息共享和协同工作)。对于一个单个的应用系统SOA并不一定是一个最好的解决方案,但这些单个的应用系统可以成为SOA中的一个重要的服务。
通过OASIS会议的各种发言和欧美同业者的交流,可以发现欧美国家也还在探讨SOA可以带来什么好处?可以解决什么问题?如何推广和使用SOA。SOA的实现还不是很完善,应用案例也不是很多,还没有到达大面积普及阶段,仅仅处于摸索发展阶段。
从国内各家技术的发展可以说是和欧美国家同步发展,对于SOA的应用既有风险又有巨大的机会。对于SOA这样新兴的技术(框架)还处于发展初期,很多东西不成熟,对于初期使用的系统还是有一点风险的,但SOA这个技术应用得好也是国内软件发展的一个巨大机遇。对于平台提供和应用开发厂商可以站到SOA技术的最前沿,在市场上有更多的竞争力,对于用户也可以获得SOA带来的好处(新系统可以快速推向市场,业务过程可以更容易变更以适应业务的变化,服务的复用和标准的采用可以节省成本)。为了抓住这个大好的发展机会,也需要多方的密切合作(包括平台厂商,应用开发商和用户),这样才能更好地应用好SOA。对于SOA的应用还使IT企业在满足实际应用需求的过程中,有更多自主创新的机会。
对于用户需要更多地了解SOA,需要理解这是一个正在发展中的技术,也需要贡献出实际的应用需求。对于技术提供商(包括平台厂商和应用开发厂商),需要积极跟踪最新的技术,企业建需要更多交流和合作,同时需要更确切地了解用户需求,以开发出稳定可靠的产品。
对于SOA的应用还有些问题需要关注:首先应用好SOA需要以业务为驱动,是为了解决实际业务问题,而不应该以技术为驱动,为了SOA而SOA。能够实际解决业务问题。需要解决业务与IT之间的关系。其次SOA是一个架构,它并没有确定具体的实现方案,对于SOA的应用模式可以有很多种,可以有不同的技术实现,如简单的应用Web Service技术,应用ESB(企业服务总线)技术,或是通过XML表单来进行互操作。对于一个企业级的SOA实现,安全性,可靠性,可扩展性这些非功能属性还是很重要的。
l 我国SOA实践的一些经验
中国用户对于SOA应用的需求是多种多样的,然而所谓“万变不离其宗”,从形形色色的应用案例中,我们可以总结出很多共同之处。在这里,我想通过我们的一个具体成功案例来探讨国内SOA实践的一些特点和我们得到的一些经验。
这是一个政府部门的电子政务项目,用户的总体希望是实现一个符合SOA的企业应用集成(EAI)平台以满足该部门目前信息共享和将来业务扩展的需要。首先,本质上来说,用户要实现的是一个企业应用集成系统,而且其中数据集成的需求占了相当大的比例。另一方面,用户的应用系统建设时间长短不一,使用网络主机环境各异,使用软件实现方式各异,各个系统在数据和流程冗余度边界无法明确,系统由不同的集成商设计、开发,各类关键数据归属问题有待确定等等,一系列的难点摆在用户面前。。显然,SOA在企业应用松耦合集成方面具有独有的优越性和先进性。但是对于SOA能够为用户带来什么样的具体的好处,以及具体如何实现SOA才能够发挥其优点,还很模糊。
从东方通(TongTech)实施的SOA应用的案例来看,通过SOA解决传统的数据/信息整合问题,还是需求量占第一位的需求。这一块大体上属于企业信息整合的范畴;其次是企业应用或应用服务的整合。大体上是传统的EAI的范畴;目前较少有涉及复杂的服务编排、服务流程自动化的应用需求,这一块是较靠后的需求。事实上,这与东方通提出的、企业信息系统实施的BOA(面向业务架构)技术架构提出的应用技术需求层次的分析是相一致的,从BOA的架构可以看出,SOA与传统技术(传统技术包括传统的消息中间件,交易中间件,应用服务器,EAI等)是很好的互补,共同完成对于用户应用系统的支撑。SOA可以建立一个总体框架,可以连接服务,可以将服务进行编排处理。但服务是需要依靠传统技术来解决的。有些服务也需要有可靠传输,可以通过SOA连接,这时SOA就需要传统技术作底层的支撑。
l 我们的建议
相信在今后几年内,无论国外、国内,SOA将在更大的范围内得到广泛应用。东方通作为IT厂商,我们面临更多的责任。首先,SOA不是一个口号,实施SOA更不是一件容易的事情。如何将SOA的理念落到实处,使用户的系统成为一个真正符合SOA的系统并且将来能够发挥出高度可复用,易于扩展,快速开发等优势,这些都需要我们凭借自己在该领域的知识和经验,和用户、伙伴一同努力。其次,业务集成从来不是买来个产品就完了的事情, 整合业务系统或者通过现有系统建立新的业务系统,这些都需要全面规划,这就需要有一个方法论加以指导,需要进行咨询顾问的工作。而且,国内项目的一些特有情况还会给实施增加更大的难度,比如需求不确定并且容易失去控制。这些问题也是我们应当为用户分担与解决的。在实际项目中,咨询服务在这些方面起到了不可替代的作用。我们的咨询团队的表现得到了用户的好评,用户认为我们的服务在很多关键地方帮了大忙。
对于用户来说,其最重要的是解决目前的各类问题,在SOA技术还没有大幅普及之前,可以采用下面的策略:使用SOA的概念方法进行系统总体规划,若希望尽快建立系统又需要稳定可靠技术作支撑,则可以先采用传统各类技术实施,新建系统可以采用SOA技术,并逐步把传统技术完成的内容打包接入SOA架构,形成一种松耦合、符合标准的全SOA应用模式,使得传统技术与SOA技术有机结合。
我们相信在很长历史阶段中SOA技术与传统中间件技术两者将并肩前行。