Linux 在 ERP 世界中的应用
企业资源规划 (ERP) 是企业界最新的热门计算机话题。在董事会中,它甚至比互联网更热门。ERP 描述了一类尝试管理企业运营各个方面的计算机系统。图 1 显示了典型 ERP 系统基本结构。请注意,此图是高度概括的;实际的 ERP 实施因供应商而异,甚至因安装而异。正如您从图中看到的,ERP 系统覆盖范围非常广泛,因此它们是非常庞大的软件系统。它们也往往是相对单体的,这是它们的主要卖点。这也是让信息系统工作人员最担心的功能,以及可能让 Linux 用户挠头的功能。
坦率地说,ERP 系统通常作为一种附加品,与一副玫瑰色眼镜一起出售。我与一位在一家大型国际饮料公司工作的人士交谈过,他告诉我该公司是如何被推销 ERP 系统的。一家领先的 ERP 供应商的销售人员带首席执行官参观了一个演示室,投影监视器上显示着公司所有运营和财务的模拟实时图表。销售人员告诉高管们,有了这款产品,他们就可以掌控公司所有的数据。交易在那时就敲定了。现在,几年过去了,预算超支了一大笔钱,公司别无选择,只能完成安装。信息系统员工完全幻想破灭,但显然高管们没有,他们仍在等待神奇的驾驶舱上线。这个故事太典型了。ERP 系统主要在管理层层面销售,而持怀疑态度的信息系统员工除了最狭隘的技术实施细节之外,几乎没有发言权。此外,组建 ERP 系统的过程是一项巨大的工程和承诺,一旦项目开始,就无法在不造成灾难性的财务和运营后果的情况下退出。
Linux 在这个相当陌生的世界中处于什么位置?许多 Linux 专业人士会在他们职业生涯的某个时候发现自己卷入 ERP 安装中,因为 ERP 系统目前销售非常好。但 Linux 让不幸的信息系统专业人士思考一个更根本的问题:是什么促成了整个 ERP 趋势?
如果您回顾计算机软件系统的历史,您会注意到该行业对企业的待遇并不好。传统软件供应商之间的竞争通常涉及为了推广一种数据格式或流程而发起的战争,理由是专有数据格式的成功会加速专有应用程序的市场份额。许多部门购买计算机系统来满足其特定的运营需求。会计部门获得了运行最有效的会计软件的机器和软件。技术支持部门获得了管理来电和问题解决的系统。营销部门通常会购买 Macintosh 用于图形和布局软件。
这些独立的软件包为每个部门提供了足够好的服务,但从商业意义上来说,不难推断出,如果各个部门可以交换数据,真正的生产力提升将会到来。假设质量保证部门可以从技术支持数据中识别出缺陷趋势并加强测试,或者会计部门可以直接从制造资源计划系统中验证原材料的采购订单,这将根据营销部门的销售预测来确定生产多少产品。然而,当首席执行官尝试实施此类交互时,他们很快就遇到了数据格式不同、业务规则冲突和系统物理断开的障碍。当他们向部门系统的供应商寻求帮助时,他们通常没有取得多大进展。每个供应商与外界的每个其他系统集成不仅成本高昂,而且供应商还认为不这样做具有竞争优势。
对软件标准的强烈抗议是最近才出现的现象。从历史上看,软件标准出现得非常缓慢,更多是出于对市场份额的临时联盟的推动,而不是出于对互操作性的任何真正渴望。互操作性的典型解决方案是完全从一家供应商处购买。制造公司对数据交换有非常特殊的需求,因此大约十年前,一些聪明的公司开始向制造商提供一套软件,该软件处理他们运营的各个方面,并确保部门之间的信息兼容。这就是 ERP 的诞生。从那时起,SAP 和 Baan 等先驱企业取得了巨大的增长。从制造业起家,他们现在向几乎所有主要行业销售产品。其他公司也嗅到了利润的味道,纷纷加入 ERP 供应商的行列:来自人力资源领域的 PeopleSoft,来自 RDBMS 领域的 Oracle,以及来自财务系统和商业服务领域的 JD Edwards。
现在,大多数 Linux 用户可能会将这一切视为巨大的矫枉过正:组织无法让部门计算机协同工作,因此他们放弃所有部门计算机,转而支持来自单一供应商的超级系统,这些系统声称可以完成组织的所有数据处理。Linux 用户习惯于标准和软件协作文化,但这些趋势现在才开始慢慢渗透到软件行业的其他领域。
整个 ERP 趋势确实给 Linux 倡导者带来了一些棘手的问题。首先,Linux 渗透到企业通常发生在部门层面,通常是在部门 Web 服务器上。随着越来越多的公司采用 ERP 系统并坚持要求内部和公共 Web 内容馈送到同一个庞大的数据流中,Linux 可能更难在工作场所推广。此外,为了让 Linux 从 Web 服务器转移到应用程序服务器环境,它通常需要与 ERP 模块正面交锋——这是一场 Linux 在政治上准备不足的战斗。
Linux 只是一个操作系统,并且与 UNIX 兼容理论上应该与运行 ERP 系统相差不远,ERP 系统通常具有商业 UNIX 端口。Slashdot.org 和其他地方报道了许多暗示和传言,称各种 ERP 供应商都有在其服务器模块的开发版本在 Linux 上运行。这是意料之中的,并且是继如此多的 DBMS 供应商对 Linux 感兴趣之后的结果,但同样,这并没有解决对于 Linux 社区来说与运行平台同等重要的问题。Linux 的文化,即促进分布式系统、应用程序的狭窄范围以及应用程序之间基于标准的协作,正在受到 ERP 方法的隐秘攻击。这对 Linux 和开源系统倡导者来说是一个非常重要的问题,因为 ERP 供应商几乎与微软一样富有和足智多谋,并且同样渴望推销其专有系统。ERP 供应商继续让客户有吸引力地从他们那里购买所有主要信息系统符合他们的利益。另一方面,Linux 用户通常坚持购买或下载各种软件程序包以用于各种目的,并期望它们能够协同工作。这种冲突在中小企业中最为明显,中小企业是 ERP 供应商的最新目标,但也可能是最有可能从开放和分布式系统方法中获益的企业。这个所谓的“中端市场”由年收入在 2.5 亿美元至 5 亿美元(美元)之间的公司组成。
ERP 供应商正在推行这样一种神话,即企业需要一个运行在机器紧密集群上的庞大系统才能进行有效的计算。互联网只是证明分布式计算可以像高度集中式计算一样高效的最新发展之一。在 Intranet 时代,部门系统越来越可行,这得益于 XML、CORBA 和 LDAP 等互操作性标准。数据库现在几乎都是可靠的 SQL,这是一个比人们想象的更近期的现象,并且许多领域正在为电子数据交换 (EDI) 和其他举措开发表格和流程标准。
毫无疑问;Linux 在企业计算方面确实存在一些明显的缺点。有些只是认知上的,例如 2GB 文件大小限制。当然,这仅适用于 32 位系统,例如 Intel x86 平台。主要的数据库供应商已经知道如何解决此限制,但 Intel 上的 Linux 获得了最多的媒体报道,并且许多具有决策能力的人阅读了评论员的专栏文章,抱怨所谓的限制。即使撇开误导不谈,在系统和服务器设备级别也需要更多的基本流程、标准和驱动程序来实现镜像、冗余和故障转移,因为企业系统必须是万无一失的,即使按照 Linux 的高标准也是如此。英特尔最近对 Linux 的关注为解决此类高可用性问题提供了急需的推动力。
DBMS 供应商也是此过程的重要组成部分。企业计算,无论是使用单一来源的 ERP 还是分布式信息系统,都与数据管理有关。DBMS 供应商可以在将 Linux 调整为“企业级”操作系统方面发挥领导作用。他们的研究人员可以提供内核补丁,并且他们有手段和需要来测试巨大的事务负载。作为真正的开源倡导者,我花一点时间提及 PostgreSQL,这是一个开源数据库。它仍然不支持企业级系统中常见的一些功能,但其功能集非常强大,并且有力地驳斥了那些喜欢将开源工作视为仅适用于业余爱好者的诋毁者。
Linux 并不缺乏特定的应用程序。我们不需要一个小组聚集在一起编写开源资源计划应用程序。Linux 需要的是基本的基础:此类应用程序的基础设施。它目前的势头肯定会吸引许多垂直应用程序的供应商,并且开源模式更好地服务的此类应用程序自然会朝着这个方向发展。例如,Linux 需要中间件和事务处理系统开发人员的关注。这些系统已经足够标准化,可以合理地支持开源项目,并且它们是 ERP 方程的组成部分。另一个重要的领域是业务规则。
ERP 安装如此不稳定的一个原因是它们通常涉及业务流程再造。ERP 系统本身就足够复杂了。如果它们必须涵盖每个企业的所有公司规则、政策和习俗,那么它们的复杂性实际上将是无限的。相反,每个 ERP 供应商都选择了自己的一套“最佳实践”,他们认为最有效的业务规则,并将这些规则写入其系统。如果一家公司想要采用 ERP 系统,它必须将其自身的业务流程改造为 ERP 系统的业务流程。这通常涉及大量的文书工作、培训和测试。许多首席执行官认为他们的公司拥有混乱或不存在的业务逻辑,他们寻求实施 ERP 只是为了再造过程。事实上,这通常是痛苦且资源密集型的。
如果一家公司拥有良好的运营实践,它就不需要经历按照别人的形象改造自身的痛苦。通常,公司独特的业务方法是其竞争优势的一部分。这是分布式计算的有力论据。如果 Linux 要使用这个论据,它将必须提供一个强大的系统来管理业务规则并将它们融入企业系统,如图 2 所示。请注意,一旦分解到部门级别,Linux 就有能力和竞争力来托管所有显示的功能。所需要的是应用程序来填补空白。企业级数据库即将问世,但数据交换管理和执行信息系统是一个更棘手的问题。为了让供应商为 Linux 准备此类系统,可能必须建立一个可靠的业务规则框架。这听起来似乎很容易实现,但在其最纯粹的形式中,它是计算机科学的圣杯之一。从图论到人工智能的研究工作一直在寻找将任意业务规则(甚至只是常识规则)写入计算框架的好方法。一个可以处理企业级计算的系统将需要能够分析业务对象并对其应用各种操作和约束,以及检查先决条件、后置条件和不变量。分布式开发人员(如 Linux 的开发人员)所展示的强大问题解决能力可以在这方面取得进展。
然而,毫无疑问,如果我们决定竞争,我们 Linux 社区的人将面临根深蒂固的行业中巨大的经济利益。与利润直线下降的包装软件相比,ERP 是一项非常有利可图的业务。ERP 系统由编写软件的公司、咨询公司(包括六大会计师事务所的咨询部门)以及惠普和 IBM 等硬件/系统利益集团推动(请参阅“不太可能的盟友”)。这些公司还提供再造和定制服务。疯狂的市场确保顾问通常可以获得每小时 200 到 300 美元的报酬。ERP 安装的总成本从最小的组织(再造工作量最少,通常称为“加速”实施)的 10 万美元到大型跨国公司的 5 亿美元不等。请注意,我提到了关于实施工作的定制。ERP 安装通常需要与从头开始使用现成的 DBMS、中间件和设计工具编写信息系统一样多的定制工作。ERP 供应商鼓励客户尽可能少地定制,以免在 API 更改时破坏一切,但现实情况是,每个企业都有其需要定制的怪癖。
Linux 世界最近的大部分努力都集中在使 Linux 成为可行的桌面替代品。对于现代企业级计算的观察者来说,这几乎像是用错了力气。Intranet 和其他此类发展正在慢慢地将前端变成商品,而真正的力量正在从客户端转移回服务器,尽管服务器不必像大型机那样庞大。Linux 开发人员必须将注意力转向企业级计算和要求它的高管们日益增长的基础设施需求。
许多人会争辩说,Linux 在这个市场上证明自己并不重要,但如果您相信协作计算的优越性,您应该认识到,这种理想有可能被纯粹的错误政治和经济扼杀。如果我们希望数据中心角落里的服务器能够运行 Apache 和 Samba 以外的任何东西,我们可能希望将一些无限的 Linux 能量引导到企业中。
Linux 用户面临着一个有趣的困境。传统上既不让我们感兴趣也不挑战我们的市场领域开始塑造可能影响计算未来的趋势,这既来自文化角度,也来自技术角度。为了确保 Linux 的令人鼓舞的增长以及业务态度对信息技术的相应改善,开发人员最好解决企业计算的一些需求。商业开发人员肯定会填补空白。那么,客户端/服务器运动、更灵活和分散的计算所提供的承诺,将可以稍微减少来自庞大的、单一来源的 ERP 系统的危险。
