基于Little-JIL供应链管理核心过程的研究,本文主要内容关键词为:供应链管理论文,核心论文,过程论文,JIL论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
供应链管理(SCM:Supply Chain Management)是指对以一个企业为核心企业而形成的供应链中物流、信息流、资金流、工作流等,进行合理计划、组织、协调及控制,对实现战略合作伙伴间的一体化管理,使供应链运作过程中涉及的各种费用达到最小,并且在最短的时间内以最低的成本为客户提供最大价值的服务。这种管理方法以客户价值为中心、以贸易伙伴间的密切合作为基础,运用IT(Information Technologies)技术(计算机技术、网络技术等)、人工智能技术以及管理技术等多种现代科学技术进行管理,从而提高整个供应链运行的速度、效益及附加价值,为整个供应链上的相关合作伙伴带来巨大的经济效益。
供应链过程管理已经发展成为一种先进的业务过程管理模式,供应链过程管理改变了企业竞争方式,从企业竞争转变为由核心企业、供应商、制造商、批发商、零售商以及客户所形成的供应链联盟的竞争。诸多大公司的管理经验证明,在供应链管理中如果没有首先执行正确的业务过程,供应链中的运作流程就不可能达到最优化。
2 供应链管理的过程理论
过程是当前的一个流行词汇。它是一种思维方式,且很多种技术都是基于此思维方式。比如,用来为重大决定作智力支持的过程定义、过程仿真。它反映出业务在实施过程中的资源分布,参与者的协同和一些其他的过程要素。
过程理论的基本内容是:实现某特定目标的过程是已定义的(构建模型);质量、成本、进度的控制通过全过程管理实现;过程可以也必须不断改进(优化)。
供应链管理的实质是对贯穿从最终用户到原始供应商的关键业务过程的整合。这些业务过程以客户为中心,为客户以及其他利益相关者提供能够创造价值的产品、服务和信息,并降低供应链上相关企业的交易成本以及提高运作时效。业务是由事件驱动的过程来完成,建立以过程为中心的管理模型,管理向纵向和横向延伸,供应链管理的复杂性强调管理的可视化和模型化。
供应链管理的实施,涉及八大核心过程,如图1所示。这八个过程是:客户关系管理、客户服务管理、需求管理、订单履行、制造流程管理、供应商关系管理、产品的开发和产品商业化、回收管理。
供应链管理八个核心过程的每一过程都有它的战略意义和可操作性,战略意义是指供应链上的相关公司建立并战略性地管理这些过程,可操作性就是指公司执行这些过程。
3 过程的体系结构与描述规格
3.1 过程体系结构和面向服务的架构(SOA)
过程分析与建模,是将一个组织的运行过程分解为一系列的活动流程,对其进行分析、优化、评估和控制,并借助于信息技术,通过工作流管理技术实现业务流程自动化。目前过程分析与建模不仅是管理工程研究的热点,而且已被广泛运用于组织信息化工程的实践之中,成为信息化工程中不可缺少的方法与工具。面对近年来越来越流行的业务过程建模,分析,重组,再造,一旦业务过程被识别出来了,就很容易把它过程化编程,并能够实施部署运行。
一些学者提出了新的业务过程管理体系架构——BPM,BPM(业务过程管理)提供了图形化的方式实现商业活动的自动化和监视,被认为是面向服务架构(SOA)的关键部件,其中工业标准化是关键问题。最初由BEA、IBM和微软共同编写、目前由推进结构化信息标准组织进行评估和修改的BPEL-称作Web服务业务过程执行语言(BPEL)的标准是解决此问题的重要步骤。
3.2 过程的元模型与描述规格
图2 Little-JIL的step结构及控制流
图2是Little-JIL的step的图形表示,在step顶端的小圆圈是连接父step接口。如果小圆圈是实心的,那么说明它有本地声明的引用,如参数和资源,否则为空心圆。小圆圈下面是step名,左侧的小三角叫做先决条件标。如果该step的先决条件存在则小三角是实心的,而且会有一条边连向它的先决条件。右边的另一个相似的三角形叫做后置条件,也有一条边连接其后置条件。在step的里面,从左到右,首先是控制流图标,定义了子step的执行顺序,然后是异常捕获步图标。连接图标的边都是可以标注。
3.3 Web Service与过程封装复用
在BPEL所支持的面向服务的架构(SOA)下是重组WEB服务,那么过程的封装与发布就显得尤为重要。所谓Web服务,就是将企业封装好的业务过程作为一种服务注册并发布。这种服务可以集成到任何遵循SOA架构组装的系统中。
过程封装与复用是过程语言诞生的一大使命。在同一供应链内的不同企业有很多业务过程是完全相同的,比如客户追踪、订单追踪、产品生命周期追踪,在细节参数可配置的前提下,很多公司的业务过程都是相似的。目前是每个公司都要投入大量的人力物力来实现自己的系统。如果能将业务过程包装成业务组件,实现同一业务领域内的复用,不但能够加快业务过程部署速度,提高业务系统的稳定性和可靠性,更能整合资源,降低企业运营成本。
3.4 过程分析背景和简介
现代质量工程学者认为:产品质量的改进来自于对产品生产过程的改进,而非测试和检验。对业务的过程研究有如下一些方面:过程需求分析、过程定义、过程设计、过程改进、过程编程、过程仿真、过程度量和过程评估。
另外,对于过程定义需要解决以下问题:如何描述过程约束,对过程作资源分配,如何管理过程产物,如何对过程异常做控制,如何表现过程的自改进,过程生命周期。
Little-JIL就是专门为解决以上问题而设计出的过程编程语言。它从其它的过程语言中吸取了agent协作结构,遵循简洁、精确而又富有表现力的设计原则。
4 Little-JIL过程编程
Little-JIL是一种用来编写协作过程代码的、可执行的具有正式且图形化的语法和严密定义的语义规则的高级语言。Little-JIL的核心是“step”,是过程的焦点,并提供对过程控制、数据、异常控制流程、执行代理和资源分配的控制机制。step被组织成静态层次,但可以有可支持递归和并发的高层次动态执行结构。
Little-JIL主要基于两种假设:第一个是从其它的过程语言中分离过来的协作结构,依赖于对资源、结果和议程管理的独立系统,Little-JIL提供了丰富的控制结构;第二个假设是过程,是由知道如何执行特定任务的agent在协调的支持下执行的。根据这一点,每一个Little-JIL的步都有一个执行它的特定agent(人或者自动执行)。
4.1 Agent运行和step机制
Little-JIL是一种代理协作语言。Little-JIL程序描述了使agent能够执行一个过程的协作和交流。
Little-JIL的agent是用Little-JIL语言描述的过程中能够自管理的实体,它是执行过程的一个片断的专家。agent可以是人或者是自动agent(系统)。
Step是Little-JIL程序的基本单元。step是分派给一个agent的工作集合,也可以被分解为子step。每一个Little-JIL的程序都有一个代表整个过程的根step。根据描述过程的需要,根step会被分解为多级。所以,一段Little-JIL的程序是一棵由不同类型的step组成的树。
在step图标的右侧有一个X,它代表了step具有异常捕获的能力。连接在这个X上的是所有被定义来进行异常捕获的step。每一个捕获者本身都是一个step,并且有评注说明它是用来捕获哪一种异常的。标在连接父step与捕获step的连接线上的标示代表了捕获异常的类型。
Little-JIL语言的一个重要特点是可以定义控制流。总共有四种非叶子step类型,分别叫做:顺序步、并行步、尝试步和选择步。顺序步的子step是按照从左到右的顺序执行。并行步的子step可以以任意顺序执行,包括并发执行,这取决于代理在执行时的选择。尝试步会尝试着从左到右逐个去尝试执行它的子step,其中任何一个成功执行都会认为该尝试步成功完成。最后,选择步只允许选择并执行一个子step,一旦选定agent就只执行选定的子step。
4.2 Step的资源和中间产品定义
图3 step的过程资源和中间产品定义
正如上文所述,一段完整的Little-JIL程序还包括中间产品和资源去完善这种step间协作的定义,如图3。中间产品包括:数据项、文件或者在父step和子step间传递的访问机制。这为step提供了执行过程中所需的信息,并且可以携带过程执行的结果给父step。
agent如何执行任务与按照过程指定的step协作的定义是分离的。而过程执行的产物受agent的行为影响,而这些行为反过来都是在资源模型内定义的。因此,过程的产物是受影响于其他资源在过程执行的不同的点上绑定为不同step的agent。
5 供应链管理过程建模研究与实践
本文就供应链管理八大核心过程中的客户关系管理以及订单履行的过程建模进行研究。客户服务管理过程是企业面向客户的窗口,是管理有客户关系管理过程的团队制定产品及服务协议的关键环节。该过程的目的是提供一个唯一的客户信息来源,如产品供货情况、发货日期以及订单执行情况等。客户服务管理以及订单履行需要一个实施系统来迅速地对客户询查等要求做出响应,并且加速下单过程。
我们现在为某运输公司的出租车运营模拟一套客运物流系统。此系统的使用者主要有三类:
客户:可以进行网上约车;
派发员:监测自动订单派发过程,进行手动订单派发;
司机:定时汇报地点或者执行订单的概况。
本文主要引入了订单自动派发和订单跟踪过程的业务过程作为过程样板进行研究。
5.1 订单自动派发业务过程的活动图描述
图4 自动派发活动图
如图4所示,自动订单派发是基于订单本身所属业务区来选择当订单出车时间时其所属区的活动司机和车辆。业务区划的概念是:每一个预定租车的订单都会要求车辆到某地去接客户或货物,而接货地的邮政编码在系统中是被划分为不同的组,每一组邮政编码就是一个业务区。
从车辆的角度来说,每一辆在运行中的车都会每隔一小时汇报自己当前行驶到了哪一个业务区。这个操作是司机手动完成的。
从订单角度来看,每一个订单都有一个生效时间,就是说如果订单要求3月28号9:00去前门接货,那么实际上该订单是在3月28号8:00生效。所谓生效,就是为订单自动或手动的寻找符合要求而又成本最低的车辆。所以订单一旦生效,客户就不能再取消订单,或者取消收费。
所以自动订单派发就是订单生效的过程。这个过程中首先要解决的第一步是如何发现那些已得到了生效时间订单。第二步就是在订单所在业务区选择司机,这个选择首先是根据司机每隔一段时间的汇报区域,在当前区域内按照先来后到的顺序选择司机。
如果自动选择的司机拒绝接受此订单或者没有在一个限定时间内回复发送给他的订单,就认为他拒绝了订单,自动选择就会再一次启动去选择司机,一直到有司机接受订单或者最后也没有司机接受。自动选择失败后,派发员就会手动去选择司机如果没有合适的,他就会强制要求某一个司机接受。
自动派发订单的业务逻辑就是如上所述,可见主要的复杂点就集中于活动司机选择。使用活动能够清晰展现各个功能模块间的关系,表现出系统的功能范畴和外部依赖接口。
5.2 使用Little-JIL进行业务过程建模
图5 自动派发订单过程图
图6 订单追踪过程
在上面的描述中阐述了该公司客运物流系统的多个组成部分,也对多个功能点做了阐述。接下来展示如何使用Lit-tle-JIL的来支持快速建立过程原形、仿真并对过程进行分析。
一个用Little-JIL编写的自动订单派发过程如图5所示。
以“自动派发订单”作为根Step,对派发过程中的各个子step作分解,首先可以得到一系列的step,这个分解有如倒立的树枝。每一个叶子step代表一个具体的业务片断,而非叶子step代表一个子过程。子过程之间的先后关系由父step来定义,比如step“选择司机”就是一个选择性step,无论“自动选择区域内活动司机”成功执行还是“手动选择司机”成功执行,父过程“选择司机”都是成功执行。而异常“没有司机”,是说明子过程在查找活动司机列表时得到的是空列表,而这个异常的处理类型是“重新开始”,所以父过程会重新启动,直到成功执行。
从agent资源的分配来看,step:“手动选择司机”的圆圈是实心的,说明它使用了本地资源,而它的agent定义为:“dispatcher”(图5中未显示);而step:“自动选择区域内活动司机”为空心,表明它不依赖外部代理。
通过对这个的过程分析可以看出,Little-JIL能够很好地展现任务执行流程和用户角色的参与(活动图的优点),也能很好地体现功能范围和功能键的关系。
图5也完好地反映了过程中的异常处理流程,所以Little-JIL过程编程又弥补了传统建模方法的缺陷。
5.3 使用Little-JIL进行订单追踪过程建模
图6展现了订单追踪过程,在这张图中有两个用圆圈标示出的step。他们是在前面的自动订单派发过程建模中就已经定义的子过程。而在订单追踪过程中可以直接复用。
Little-JIL鼓励并支持这种复用,而这对于一门过程编程语言来说非常重要。因为过程是经常变化的,这种变化在现实世界里被叫做“重组”,既然是重组,很多过程片断就是不变的,只是片断间的关系和片断的顺序发生了变化。所以在这一点上Little-JIL真实反映了过程的特性。
6 结束语
使用Little-JIL建立供应链管理过程模型速度非常快,又兼有全面易用语法定义规则,在良好的开发工具和运行环境支持下,Little-JIL作为一种过程定义语言在易于过程封装、复用上的特点必然会让它在未来SOA框架下,对定义供应链管理过程发布为web service具有强大优势和广阔的使用前途。
模型建立后,结合当前过程能力的强项和弱项,提出其下一步的工作计划,对过程的进一步改进、对过程能力评估并给出过程评估的参照点以及供应链管理过程的绩效评价作深入的研究。