转载

再谈SOA项目实施(9.13)

对于SOA和ESB类项目实施工作,在前面很多文章都提交谈到过,今天再结合我们实际项目来谈下SOA项目实施的一些关键点,

对于SOA实施往往是对实施经理很重要的一个综合能力锻炼,涉及到业务,技术,项目管理,沟通协同都多方面能力的综合,而不是单一技术能力。

对于SOA实施,前面我们专门整理过SOA实施方法论和标准规范的文档,同时对于SOA实施工作,我们将其细化为一个标准的服务实施关键阶段活动,工作步骤,输入输出Excel清单。这个清单类似项目管理里面的关键WBS工作任务分解,它比你排实施计划更加重要,原因在哪里?你只有搞清楚一个项目实施工作究竟要做哪些事情,这些事情存在哪里前后依赖,你才可能知道如何去排计划,如何去执行,如何去监控。

进行一个项目实施,你必然要给甲方,特别是关键的业务系统厂商进行项目实施方法论,工作分工边界,各类服务接入和消费规范的材料宣贯,目的就是大家一开始就搞清楚分工边界,给标准规范和模板做事,在多方之间形成一个共同标准。这个材料是你必须要理解清楚的,这个理解不是指在技术和实现上,而是在道理上理解明白。举例来说OSB类服务和JMS类服务有啥差异你要理解明白,为啥OSB类服务我们叫服务消费,而对于JMS类服务同时存在服务消费和服务订阅,那服务消费和服务订阅是啥区别,是否搞明白了,你必须要自己基于场景把这些基础点搞明白;再比如我们说MFT文件传输,整个实施过程究竟是如何的?为啥有些MFT打头的服务提供了SOAP WS服务接口,而有些根本就没有提供?这些问题点都没有涉及到具体的MFT配置和技术底层,但是你必须从基本道理上搞明白,否则在你脑袋里面就是浆糊一团。

把一件事从基本道理上想明白,想透,是我们展开实施工作和去跟别人讲的基础。

再回来说我们关键工作步骤那个Excel,这个Excel基本上把我们关键的实施工作活动,每项工作需要什么样的输入,产生什么样的输出,采用什么样的模板,有无指导书可参考都说清楚了,这个Excel就是你展开后续实施工作的关键。对于该Excel中的任何一项工作你不仅要了解具体如何去做,同时更加重要的是要了解为何要做这件事情?这件事情和上下游有啥依赖和约束?

举例来说,对于网络策略收集这件事,你了解如何做很简单,中央组会下发标准的网络策略收集模板,你只需要把收集模板发给需要和集中化系统集成的业务系统厂商进行填写,填写完成后转回中央组进行开通,开通完后跟踪验证情况即可。这是你知道了如何去做一件事。

在这之外,你还必须了解网络策略究竟是啥东西?为啥要去开网络策略?一个业务系统要去访问集成平台提供的服务,这个服务有具体的IP+端口,如果没有开过网络策略那就根本无法访问通,这个会被防火墙拒绝掉,这个网络策略是按照需要控制到IP+端口层面的。那么延伸在问两个问题,比如省公司供应链系统要消费集团集中化合同系统提供的合同查询服务,那么是否需要开通供应链系统到合同系统的网络策略?第二问题,网络策略的单向和双向是啥意思?省公司侧的系统在和集团侧开通网络策略的时候, 什么时候要开通双向策略,什么时候开通单向就可以了?

以上都不涉及到具体的技术细节,全部都是场景-》应对间的匹配模式,这些基本道理必须搞明白。在把计划和标准步骤这两个关键Excel存在的意义说清楚后,我们接着还是再串讲下Excel中的关键活动。

实施范围确定

实施范围确定简单来说就是你要搞清楚省公司侧究竟有哪些省侧自建系统要和集团集中化系统间进行接口对接,即首先搞清楚本次省侧需要接入多少个系统?其次搞清楚每个系统究竟消费哪些服务,是否提供服务,如果要提供接口服务究竟需要提供哪几个。对于服务本身有哪些是OSB类服务,有哪些是JMS类服务,有哪些是MFT类服务。

这些事情咋搞清楚,仍然是通过Excel模板收集,收集回来再进行整理形成清单。

那为什么要做这件事情?很简单你只有搞清楚了哪些系统要对接,具体要提供哪些服务,要消费哪些服务,你才可能去执行后面的准入测试,去跟踪后面的联调测试。只有清楚了有多少系统要对接,你才知道要开哪些系统的网络策略。只有知道了这个系统是只消费,还是既消费又提供接口,你才清楚是开单向网络策略还是双向网络策略。

网络策略开通

对于网络策略开通,前面实际上已经讲过了,这里要注意的是对于OSB,JMS和MFT类服务往往涉及到不同的网络策略。那么原因在哪里?对于文件传输走SFTP,有可能是准备的独立服务器,而且是启用的独立的端口。这些往往都需要开通不同的网络策略。这个是我们在收集和整理网络策略的时候要注意的。

对于网络策略开通,要注意即使是单向网络策略,也需要省侧和集团侧同时走网络策略开通工单去开通,各自去开通各自的,两边都开通了整个网络才能够打通。因此对于策略开通后,就需要进行开通验证,如果验证有问题,最麻烦的是排查,因为集团侧也要排查,省侧也要排查,这个是网络策略开通过程中跟踪的一个重点。

服务实施

如果前期了解过SOA完整的服务实施方法论,一定就清楚服务实施中有一个关键,就是业务系统双方,集成平台完全都是遵循相同的服务规范,WSDL和XSD契约文件进行工作,我在SOA和集成平台扫盲文章里面也强调多次,这个契约文件是确保三方后续能够集成在一起的基础。

那么服务实施工作有个重点就是中央组会整理好最新的服务规范文件,WSDL和XSD文件包,会统一下发给各个省,那么我们省侧就需要将服务规范和WSDL文件及时的下发和通知到省侧自建系统。同时中央组在分发文件的时候都会标记清楚本周究竟修改和变更了哪些接口服务,哪些接口服务会变更WSDL,哪些不会变更。(问题,变更WSDL和不变更WSDL的区别在哪里?),因此我们下发规范文件的时候,也需要在正文里面给省业务说清楚每次的变化情况。

对于服务实施工作,本身又存在OSB,JMS和MFT三类,这三类一定要搞明白。

对于OSB类最简单,就是传递的SOAP Web Service接口服务。对于OSB服务存在两种情况,一个是省侧消费集团集中化系统提供的服务,一个是省侧需要提供该服务。对于消费类服务很简单,因为各个测试环境我们这边服务已经部署上线在运行中了,省侧只需要在网络策略开通后,根据WSDL契约开发好服务消费端,然后我们去跟踪接口联调即可;其次就是省侧提供,首先我们要搞清楚哪些服务需要省侧提供,其次就是省侧提供了这些服务后,我们要先进行准入测试,测试通过后再将省侧提供的服务提供给中央组进行路由服务配置和封装。

注意:省侧提供的服务,到了集成平台发布的服务都变为集成平台提供的路由服务,省侧提供的服务本身在集成平台发布的服务目录里是看不到的,这个道理大家自己去想明白。

对于JMS类的,在前面我就强调过一个是消费,一个是订阅,一定要搞清楚。举例来说。对于JMS分发币种服务,这个服务本身是一个Web Service服务。这个服务的消费方式本次集中化建设的MDM系统,而省侧需要接收集团分发的数据,通过什么方式接收呢?是通过JMS订阅端程序,注意这个不是去调用WS服务,而是监听集成平台的JMS服务器获取消息。

如何监听JMS服务器,这就涉及到需要订阅JMS消息的业务系统进行JMS监听端的配置,里面会给省侧系统分配ClientID客户端IP和账号,给出监听地址等。这些信息需要省系统按要求配置。同时对于JMS订阅端如何写,我们有标准的Java参考代码,这个参考代码也可以发给省侧系统进行参考。

但是其中的关键仍然是搞清楚JMS类服务和OSB类服务的区别究竟在哪里?这个一定要想明白。

对于MFT类文件传输服务,首先根据PPT材料搞明白两种方式,一个是通过调用WS服务触发,一个是定时触发,对于MFT服务名称里面有Inquire字样的就是会通过WS服务触发,如果没有就是定时触发。其次对于文件传输完成后,设置要配置一个传输完成通知服务,这个服务是接收文件的目标系统可选的一个服务,如果选择了就要去实现该服务,我们把服务地址配置到我们MFT里面去,如果没有就不用做。

MFT实施在PPT材料里面有详细的分解步骤和活动,里面关键的还是通过MFT收集模板进行MFT用户名密码,根目录。然后提交给中央组统一规划文件路径,规划完的路径由各省实施跟踪省系统按要求建立目录结构。在建立完成后,中央组会进行MFT传输服务的配置。

测试和接口联调跟踪

注意根据原来的SOA服务实施方法论,我们要做准入测试和联调测试,而现在新的实施分工是,我们只做准入测试,联调测试我们只是排联调测试计划,并按计划跟踪联调测试执行进展即可。

对于准入测试而言,对于省侧消费的服务接口,中央组早就做完了准入测试而且已经在测试环境部署到位,所以这块和省侧没有关系。而省侧只需要做的事情就是对于省自建系统提供的接口服务进行准入测试,这个直接先测源服务地址即可,做完准入后再将地址提交给中央组进行路由服务配置。

对于联调测试,首先要制定联调测试计划,这个是分系统到每个服务粒度的,简单来说一个省有10个系统,如果每个系统消费50个集中化侧的服务,那么实际上就有500个联调点,那么这500个点都需要进行联调测试跟踪。所有接口服务联调进度跟踪,省系统在接口联调过程中出现的常见问题的解决,联调进展情况的日报汇总反馈,这块往往才是工作量最大的一部分工作。对于省侧一般这些工作会集中化在1个月完成,这1个月要挺住后面基本就轻松了。在接口联调完成后,每个业务系统打印一张接口消费联调结果单,业务系统项目经理或接口人签字确认即可。

对于测试还有一个工作就是SOA管控平台的UAT测试,这块我们的测试用例,操作手册,环境都已经准备好,省侧要做的就是管控平台的操作和功能培训,然后跟着业务系统接口人,甲方信息化接口人签字确认即可。

以上就是整个实施工作大思路的梳理,每个阶段,每个活动,每个步骤都想清楚,项目明白来龙去脉,了解清楚前后工作项间的关系,了解清楚各类实施的差异,基本上再进行现场实施管理和实施工作基本就没有问题了。

原文  http://blog.sina.com.cn/s/blog_493a84550102xt4j.html
正文到此结束
Loading...