TIBCO中国胡长城谈:中国企业工作流应用

2024-01-18 03:58

本文主要是介绍TIBCO中国胡长城谈:中国企业工作流应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过InfoQ中国的一个好友的介绍,很巧的约到了胡长城,一个企业工作流管理方面的技术专家。目前胡长城是TIBCO中国研发中心的高级软件工程师。通过与胡长城的聊天感到,虽然EAI和BPM在国内软件领域只是一个垂直的细分市场,但是确折射出了中国企业软件市场的一些现状。本文是采访全记录。特别感谢胡长城用自己宝贵休息的时间,通过邮件回答了这次访谈的话题。

 

1, 您好,请先向我们的网友简单做一下自我介绍自己好吗?
 我的网名是“银狐999”,目前就职于TIBCO中国研发中心,负责tibco administrator server底层组件的维护。
 我的工作经历即简单又复杂。简单是因为近五年来,我几乎都在围绕着Workflow相关的技术在发展;而复杂则是更换了好几家公司,从事过电子政务领域,数据集成领域、业务基础软件平台、协同办公平台等多方面的工作。
 我是个很Open的人,这得益于早期javaunion论坛上那帮伙伴,他们的无私奉献让我明白了,开放的技术交流才能让我们学得更多,懂得更多。所以这几年来,我一直坚持写技术心得,写工作流研究心得,并将他们无私的公开在我的主页和Blog上。

2,现在谈到企业流程管理,经常会出现EAI、WF、BPM这些关键词。您做为这方面的专家,请解释一下它们之间的关系以及不同好吗?
 EAI我想是比较容易理解和区分的,全称是企业应用集成(Enterprise Application Integration)。目前EAI更多的是基于消息中间件服务(企业消息总线Information Bus),利用多种适配装置完成分散的、分布式的应用的整合。目前比较流行的ESB概念,和EAI是有一定融合的,但ESB更多的是站在业务流程服务的角度,而不单单是消息或应用。

 Workflow和BPM之间的区别是比较含糊的。所以在国外,一般不用Workflow去表示工作流应用。Workflow只是用于表示“工作流技术(Workflow Technology)”及这个领域范畴,而用“Process”来表示流程。
 我们所熟知的工作流管理联盟组织(WfMC),目前几乎也只是提BPM,其流程描述语言XPDL也是一直采用Process这个元素的。

 上面的说法似乎是过于专业化了一点。那让我们回顾到上个世纪九十年代,诞生了“Process Reengineering”这个概念,单那个时候只是一阵风,因为技术跟不上,所以大多都只停留在管理层概念。而在九十年代,workflow技术和应用却蓬勃发展,可谓是百家争鸣,蒸蒸日上。
 2000左右,工作流技术应用已经非常成熟,数据集成,应用集成也发展迅速。随之也推动了业务过程管理、整合、统计、优化等方面的应用需求。在这样一种市场需求下,必然需要一个含义更广泛、更偏管理和应用性的概念来服务于客户,这就诞生了“BPM”这个概念。
 如果Workflow是早期人们为了解决“办公自动化”“流程自动化”而诞生的应用技术和解决方案的话;那么BPM则是为了“对全局性的业务分析、整合”,以及“能够基于这些分析提供对上层管理决策的支持”的一种应用技术和解决方案。

 事实上,如何去描述业务过程“Business Process”,一直还是个争论不休的话题,也因此存在几种标准。主要是以WfMC为代表的XPDL,OASIS为代表的BPEL,OMG为代表的BPMN和BPDM。
     虽然描述过程“Process”的标准并不一样,但是围绕过程定义、过程仿真、过程执行、过程监控、过程分析、过程优化这几个方面为核心的BPM Solution,这一方面各家几乎都是相同的,只是实现技术不同。

3,工作流管理主要可以帮助企业解决什么样的问题呢?
 可以帮助企业更清晰、更灵活的管理业务流程。
 
4,目前,国内企业工作流管理应用环境的特点是什么?
 目前国内的工作流应用还依然围绕电子政务和协同办公的审批类流程应用为主。当然,也存在一定的商业化业务性流程,比如这两年比较火热的物流领域的仓储管理流程等。

5,从个人角度讲,国内的工作流管理的产品他们各自的特点是什么?
 在国内,工作流应用与组织管理是密切不可分,甚至在很多时候,我们可以说,是为组织管理服务的。受到国内的管理更多的偏向于以“人”为本的思想,所以国内的流程存在很严重的“人为影响”,比如“回退”“会签”“回退”“取回”“自由流”“主办辅办”等等特色。
 也正因为这样,国内客户应用需求的差别非常大,单纯和固定的一款工作流产品,很难满足不同领域,不同客户的需求,所以国内的工作流产品更多的不得不依托于项目来生存。也很难短时间发展起来一款或几款非常庞大的产品。

 你让我谈谈我对起步软件的看法,是有些不太好绝对公平的评论的。因为我曾经在思维加速(起步软件的前身)待过。
 起步软件是典型的以技术和产品征服客户的一家软件产品和应用服务提供商。前两年,从早期的纯粹业务技术软件平台产品提供商,转变为多业务产品和服务提供商(当然,目前主要以协同领域为主),是非常成功的转型。而他们早在多年以前就定位于“模型驱动”的产品架构和思路更是具有超越性的,这首先要得益于他们总经理马科先生的超前眼光,也更得益于他们的总工程师宋兴烈的执著和坚韧。
 当然,目前国内偏于应用开发平台的产品已经很多了,处理起步的X3,还有浪潮的loushang,炎黄盈动的AWS,普元的EOS等等。
 
6,许多国际软件巨头比如BEA,IBM,Tibco它们都有涉足这个领域,对于它们的产品,我们国内的产品有哪些优势与不足呢?
 对于这些洋巨头们,我想用一句成语来形容——“高山仰止”。意思是,在BPM、EAI、ESB这几个领域内,我们国内厂商与他们的实力差距太大。当然国内还是有这样的产品,比如东方通的消息产品,西安协同的ESB产品等。
 因为我在TIBCO,所以我就拿TIBCO来说吧。TIBCO最初是以消息服务产品发展起来的,直到目前的以提供EAI、BPM及相关的Solution产品的服务提供商。纳斯达克证券交易所(Nasdaq)的底层信息交易系统就是TIBCO消息产品支撑的。仅在消息服务这一个领域,就是国内产品短时间无法逾越的。
 我们再看看BPM这个领域吧,TIBCO的bpm产品是收购自Staffware,而Staffware早在85年的时候就一直在工作流领域发展。
 
 我不是过于夸大国外厂商的在这个领域内的实力。我的一个PSG部门的同事,每次在客户现场POC之后,总是感慨:“每次在我用TIBCO产品竞标成功之后,我不是喜悦,而是深深的感到国内产品的落后,以及这个领域的近乎空白”。但我只能说,我们在基础技术和核心技术方面,落后的太多太多。
 
 相比较这些国际巨头们,国内厂商的劣质主要表现在:
(1) 研发资金不足。
(2) 理论积累、技术积累和沉淀不足。研发团队的稳定性也是一个问题之一
(3) 国内客户需求和工作流应用还属于基本应用层次,所以很难推动国内厂商投入人力物力来提供产品的定位和应用层次,比如流程监控、分析等等。

 国内厂商的优势在于“业务”和“客户化项目实施”。如果从单纯流程这个角度,我想国内产品的优势则主要在于两方面:
 第一:“客户应用的本地化流程特色”,比如上面提到的“回退”“会签”“回退”“取回”“自由流”“主办辅办”等等特色;
 第二:“本地化组织模型和权限”,国内的组织模型是国外产品很难理解和超越的,这也是为什么国内工作流应用市场,几乎都还是主要被国内自己的厂商占据的一个主要原因之一。
 
7,企业的需要是个性化的,那么通常国内的工作流管理厂商如何满足企业的个性需求?
 国内工作流产品则主要依赖于提供灵活的建模工具,表单工具,对外程序接口(API),可外挂的扩展应用和接口实现等等来满足企业的个性化需求。

8,企业部署一套工作流管理系统遇到的最大的困难是来自技术方面吗?你认为最大的困难在哪里?如何克服?
 我一直有个观点:技术不是最主要的问题。国内应用开发商都是很厉害的,基本上在项目实施过程中,只要客户能够提出基本的需求,技术开发人员总是可以找到解决办法的。

 国内企业实施工作流最大的困难来自于两个方面:
(1) 需求。客户对流程应用的需求很难提的比较清晰和准确。一方面是客户对工作流技术基本理念不清,所以很难准确地阐述应用需求;另一方面,是应用开发商对流程应用的整体性认识不全,系统性不够,所以很难正确的引导客户来分析流程应用和需求。
(2) 合适的流程产品。国内的产品外部相似性很多,但内部细力度的区别却又很多。但是这种细力度的区别是很难通过简单的演示就能够让应用开发商明白的。
 




这篇关于TIBCO中国胡长城谈:中国企业工作流应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618030

相关文章

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程