建模过程的盲点:软件集成中的软知识
Ashvin将沃尔玛作为实践中一个私有交易的实例。“沃尔玛说,其所有的供应商都必须使用这种电子交易系统来与沃尔玛进行交易。然后供应商必须实施特定的一年或一段时间,并准备好通过沃尔玛的交易系统进行交易。这一切仅通过邀请来实现,并且进行集成相对比较容易”。但是Ashvin很快解释了沃尔玛工作的内部系统决定了集成过程,而不是单一的外部方法(如ebXML)。
解决B2B集成难题的另一方面是了解贸易合作伙伴管理(TPM)。TPM是B2B过程的集合,它明确地解决了供应商和厂商交易过程中的工作流和交互问题。TPM还提供一致的方法与商务处理通信。Ashvin说“TPM设计用于解决公司的销售和供应链问题。例如,作为公司怎样在供应链中管理所有不同的贸易合作伙伴?怎样维护他们?怎样与他们进行交易?与他们进行调解的过程怎样?TPM是B2B集成中的一个重要部分”。
建模的重要性
不论您集成了行业标准、开放标准,还是受限于私有交易的体系结构,作为设计人员最终您必须开始定义数据、创建对象,并且开发出管理其余项目的模型。
“这是我最无法忍受的事情,” Ashvin说。“集成项目的一大难题是确定真实的记录和实体存在何处。例如,一家电话公司有十个不同的部门与名为“客户”的抽象对象交互。每个部门组织客户的方式不同,识别客户的方式也不同。对这些不同的部门采用一个通用的定义很难。”
Ashvin最近的电信公司计费系统项目证实了建模是十分复杂的工作。“在知道了客户的地址和位置的前提下我们才能为他们建模。这对所有的部门都适用,在计划过程中所有的商业用户也都适用,但是没有人了解直到我们开始实施它才能起作用。如果您仅通过一个人居住的位置来识别他/她,那么如果他们换了地方该怎么办?你打算获得多条记录,然后通过两个不同的位置识别那个人?这是关于人们的电力计费的系统,因此系统中的问题将影响到人们的日常生活。”
Ashvin的小组最终构建了一个变通方法,经过一夜的努力解决了地址/位置的难题。这种现实世界的实例说明了在实施开始前和整个实施过程中,完全在系统模型上工作非常重要。建模应该是优先考虑的问题,并且应该从尽可能多的角度对工作流和过程检查给予预期时间。Ashvin建议,对于一个历时1年的复杂项目来说,在编写代码前应该花费大约3个月的时间来为工作流和过程建模。
商务过程管理
新的商务过程管理(BPM)工具有助于公司组织模型以及商务过程在应用程序中工作。Ashvin解释道,“BPM是一层说明,它位于集成代码之上。BPM为商务用户提供调整模型和改变工作流的功能。BPM工具是十分图形化的,并且探查代码更改在底层透明地进行—或者至少应该透明地进行。BPM出现的时间尚短,但这些工具为商务用户提供了用图形化方式处理事务的能力,例如改变购买订单的工作流。一个商务用户—并且从事此行的人应该非常具有商业头脑—可以改变PO过程,因此能够通过在BPM工具中改变图形模型在不同的部门中共享PO。”
Ashvin指出,只需使用即取即用的解决方案(如webMethods或SeeBeyond)就可以很好地连接代码,但是应用程序会发展或改变,因此商务用户需要能够管理那些改变并相应地改变商务过程。这就是增加的BPM对集成设计师的增值所在。它允许工作流为商务用户“按订单生产”。
改变准备就绪
设计人员应该意识到,集成涉及人员的程度与涉及J2EE和XML代码的程度是一样的,这一点也很重要。“您必须评估客户对待改变的态度,以及组织可以吸收多少他们的技术,”Ashvin解释道。“如果人们并不想放弃原有的后端,您必须做好准备提供创造性的解决方案。例如,在近期的一个包括CICS后端的项目中,我们对后端只进行了大约20%的修改,其余的我们在用户输入数据后通过创造性的屏幕导航和屏幕抓取进行管理。这延长了不良部分的寿命,但通过抽取该处的逻辑,我们使之继续保存在系统中,同时使其对原有系统的影响降低到最小。”
Ashvin也曾经遇到过有关第一线IT工人的领域问题。“人就是人,他们认为,‘这就是我所属的领域。我曾经做过客户数据库X,但现在另有他人在做。这对我意味着什么?’您不能忽视您丧失了集成项目的所有权。设计人员需要尽早参加商务讨论,并利用该机会减少担心。冲在前面,越早越好。”
设计人员的建议
Ashvin的建议直截了当:“切勿过度设计,特别对于那些第一次进行企业集成的组织。不要推出一组技术后只是引起争议,或者让一个主机工作室去吸收。在您首先推出基本元素(如XML)时,分小块进行。然后推出SOAP XML。接着可能进行Secure XML。然后进行Assemble Assertions,再接着可以进行SOAP服务器系统。不要试图通过同步Web服务开始SOAP XML。这可能太多、太快。
“至于用户,倘若采取适当的方式,告知他们可以为其提供哪些集成工具和过程,则有助于他们接受这种改变。不要以那种软件-销售人员-市场的口吻说话。不要告诉他们这将解决他们的所有问题。帮助他们了解,如果一个用户有两个社会保险代码,集成不会神奇地解决此问题。帮助维持合理的期望值,期望值不要太高。
“毕竟,企业集成是帮助确保客户运营和企业获得效率的一部分。这首先是集成的全部目标。”
注:Ashvin Vellody是位于芝加哥的Cap Gemini Ernst & Young公司加速开发中心的经理。他有超过九年的IT咨询经验,曾经参与过SDLC的所有过程-从技术项目管理、需求定义,到n层系统开发和测试。他是获得项目管理协会(PMI)认证的项目管理专业人员。他的核心能力是使用标准技术(如J2EE、XML和EAI)设计企业范围的EAI和B2B解决方案以解决商务难题。他曾经就职于美国、欧洲和亚洲的金融服务、能源及公共设施,以及客户服务和零售业领域。他目前的主要兴趣是面向服务的体系结构安全性。