BAM是什么
BAM,Business Activity Management,是Garnter首先提出的,目前广泛被使用在各个IT服务提供商的一个术语名词,在ITSM领域,这种术语层出不穷,常见的BSM,Business Service Mangement,之外,还有开始耳熟能详的BTM,Business Transaction Management,等等。但BAM是一个很容易让人误会的词,有多容易误会,我先讲一个真实的故事。下文中的客户,和提供商都是行业有名有姓的,来头比较大的,居然也有这么晕。
2009年的某天,销售打来电话,说需要我们给某客户提供一个BAM的方案,我说BAM是什么,我能有什么帮助,销售说不清楚,和架构师联系,也是含糊其辞,最后大家打着飞的,在杭州回合,次日,来到客户会议厅,架构师给客户讲了半天的IBM BSM的方案是怎样怎样,现在看来,原来都不知道BAM是做什么,更夸张的(其实一点也不难理解),客户也不知道,迷惑的听了一上午,随着我们的思路一起讨论。最终,可能也不了了之。回头去看这此交流,结论是居然所有与会者都不知道BAM是干什么的。
由于项目的需要,开始学习BAM,但很快发现了一个现象,当从google中搜索“IBM BAM”,我们得到的方案,全部来自WebSphere家族或者FileNet,搜索“Oracle BAM”全部来自对应的中间件家族,搜索HP BAM,其方案和MS的BizTalk是很紧密结合的(HP自Oracle收购sun后,与其分道扬镳,开始和MS合作)。这说明什么?业界的BAM方案,不属于ITSM范畴,而是和业务流程紧密联系的中间件平台。
那么,BAM的核心概念到底在哪个环节?如果读Garnter(Gartner overview of BAM, Definition (PDF)),和百科上的解释,BAM的外延很广,和BSM也有大量的重叠部分,即基础的IT资源,已经IT服务的管理监控,并且所谓的业务活动(Business Activity)也是构建在业务应用之上,而业务应用也是构建在,诸多的IT服务之上,IT服务构建在IT基础框架(中间件,数据库,OS,网络,硬件……)之上,而不同之处在于:在业务活动层面,对业务活动的过程进行管理和监控。
在现行很多BSM解决方案中,Tivoli产品所能直接覆盖只能是低下三层,业务应用,容器,基础平台。对于BSM而言,低下三层都可以被看作对业务请求直接或者间接的支持,都可以通过TBSM来建立映射模型,但对于业务活动的监管,则必须依赖业务流程平台数据支持,这就是为什么我们搜索出来的BAM放来都绑定中间件产品的原因,并且,那些产品也必定不可能是通用方案,因为这一层和业务流程平台的实现紧耦合。换句话说,BAM更应该是业务流程平台实现的一个附属物。
举个例子说明,BAM应该展示出来的应该是这样一个试图:
比如,在电信业,一个欠费停机业务,包含若干子业务,当我们执行一个欠费停机操作的过程中,涉及到若干子业务的操作,而这些子业务是否都正常的,执行,并最终完成整个计费停机业务是客户所需要从中知道的核心信息,如果不正常,客户可以:跟踪业务活动的状态,查看业务活动的进展,并向下追溯到与业务活动相对应的业务应用的执行情况,以及业务应用所使用的IT资源……
而这部分——并向下追溯到与业务活动相对应的业务应用的执行情况,以及业务应用所使用的IT资源……,就和BSM同源了。这个层面之上,关于业务活动的追踪和管理,监控等等,应该才是BAM的核心概念。

