论企业应用集成
-集成ERP/PDM/E-mail
[摘要]
本文讨论了某公司的应用系统集成项目。某公司为了应对市场变化的需要,决定把公司几个主要的应用系统ERP系统,PDM系统,E-mail系统集成在一起,系统集成完成后,ERP系统可以与PDM系统交换数据,大大减少了重复工作。通过ERP系统与E-mail系统的集成,可以把ERP出来的报表自动发送给相关人员。我作为该项目的主要负责人之一,担任了系统分析和设计的工作,通过分析需求,设计三层体系结构,选择合适的平台等措施使项目能顺利完成。在项目实施过程中,我发现XML作为新的WEB开发语言,应是今后选择的一个方向,并且企业应用集成是一个不断发展的过程。
[正文]
企业的应用集成(EAI)是指在企业范围内将多个应用系统的过程,软件,标准和硬件集成起来,使其成为无缝运作的整体。目前企业应用集成正越来越受到人们的重视。我在2004年1月参加了公司应用系统集成项目,作为项目的主要负责人,我担任了系统分析和设计的工作。项目首先是和相关部门的用户一起讨论系统集成的内容,用户希望完成系统集成后能提供给什么样的功能和服务。确定了这些需求后,就进行软件开发平台的选择和集成方案的设计。最后进行开发测试。测试完成后上线正式使用。整个项目用了五个月的时间完成,在2004年6月交付使用。 该企业的信息化程序比较高,主要的应用系统有:ERP系统,实施了物流和财务模块,把公司的采购,财务集成到了一起;PDM系统,产品的设计和开发在该系统上进行;E-mail系统,主要是收发内部和外部的电子邮件。但是,随着企业的发展和市场竞争的激烈,问题也逐渐暴露出来。因为三个系统是独立的,没有数据的交换和共享,这样,大量相关的数据不得不重复输入。像PDM系统负责产品数据的的维护。当一个产品的BOM (Bill of material, 物料清单)成熟后,要把该B0M导入到ERP系统。因为两个系统没有关联,这样就需要安排人员专门负责数据的录入,往往要加班加点,且容易出错,很不利于产品快帯地生产并推向市场。为此,要考试应用集成,把企业的这些“信息孤岛”联系起来实现信息的交流。我在分析了企业应用系统的现状后,分以下几个歩骤来实现该企业应用集成。
一、仔细研究有的系统之间的关系,确定要集成的内容并考虑实现的方法
首先是是ERP系统和PDM系统的数据的交换,要求在PDM系统开发出来的B0M下达后,要自动导入ERP系统。因为两者针对的是BOM,结构是一致的,实现两者的数据集成,只需定义统一的数据接口和格式即可。其次是E-mail系统和ERP系统的集成。用户希望有ERP系统批准的采购订单能自动发送给供应商而不必手工要从ERP系统中下载下来整理后再发给供应商。驻外地的销售人员要求能毎天收到关于成品库存的E-mail.通过分析,发现公司用的E-mail 系统是 Microsoft Exchange Server.而 Exchange 提供了与外界的 API 接口,只要照接口规定的格式填写,如发件人,收件人,信件标题,内容等,进行填写的文件,转遇到了Exchange Server后,Exchange Server就可以把将其发送到指定的收件人邮箱。利用这一功能,可以在ERP上开发接口程序,下载符合要求的文件到Exchange Server上实现E-mail自动发送。
二、设计企业应用集成的体系结构
为了避免传统的点到点的系统集成的缺点,我提出了三层的系统集成体系结构,即把企业应用系统分成表示层,中间层和企业信息系统层(包括数据系统),企业信息系统层由该企业的ERP系统,PDM系新E-mail系统组成,它们通过一个面向消息的中间件来实现数据的交换。中间层主要实现应用的业务逻辑和各种服务支持,它可以访问企业信息系统层运行且与应用相联系的数据和函数。比如前面说的ERP系统与PDM的数据交换,ERP系统与E-mail 系统的接口就在中间层实现。数据从底层进入中间层,在这一层完成数据交换和集成的功能。这样通过中间层就可以实现三个系统数据的共享。客户层则包括不同类型的客户端应用,之前三个系统都是C/S结构,各自有自己的客户端程序运行在个人计算机上,集成后,要开发出基于WEB的客户端程序,统一界面,方便访问。实现B/S与C/S共享。这样,通过中间层实现不同系统的协调工作和对企业各种事务活动的支持,屏蔽了低层的接口和技术细节,使数据能方便地交流。
三、选择合适的应用集成平台
目前,可作为开放式企业应用集成的规范和平台的主流技术有两种:一种是微软公司的COM 规范和Windows .NET平台,另一种是SUN公司的EJB规范和J2EE平台。在平台的选择上我进行了反复的比较,最后选择了 J2EE平台。因为J2EE平台的开放性与支持异构性,可移植性,支持的广泛性。对企业现有遗产系统的继承性和技术优势等。更重要的是它具跨平台的功能。公司的ERP系统是运行在HP Unix服务器上的,PDM系统用的则是Microsoft NT操作系统,E-mail是Microsoft的Exchange Server,这些应用使用不同的操作系统和平台,而微软的.NET只能用在Windows的操作系统的。所以基于公司的实际,J2EE平台是合适的选择。选择J2EE平台存在的问题在于,一是成本相对比较高。二是公司的IT人员对JAVA还不熟练。为此,我在确定选用该平台后,先了解该平台的软件构成,只购买了我们需要的开发软件,从而节省了成本。对JAVA则安排了几次培训,使IT人员能很快地上手用JAVA开发程序。
四、应用集成方案的实践
在J2EE平台上,我通过JAVA在业务逻辑层的开发,实现了以下的业务流程。首先,在PDM系统的产品结构成熟后将会有一个下达的动作,然后BOM数据通过中间层的处理自动导入到ERP系统,这能过之前已定义好的接口规范和数据格式可以很容易地实现。ERP接收到产品结构数据后,即可以运行MRP产生采购订单和生产订单,投入产品的生产。此外,通过业务逻辑层,在ERP系统上下达P0后,采购订单的数据会自动传到Exchange服务器,然后通过E-mail自动发送给供应商。产品库存的数据也可以从ERP系统解析成 E-mail发给驻外地的销售人员。该应用系统集成后,用户不必再加班加点在地在ERP系统中维护产品数据,并且保证了 ERP的产品结构与PDM中的是一致的。由于实现了 ERP与E-mail系统的集成,用户也不用担心哪张P0没有发送给供应商了。 项目上线后,满足了用户的需求,运行半年多来,系统基本稳定,大大提高了工作效率,得到用户和管理层的肯定。但也存在着一些问题。在项目实施的后期,我们发现用JAVA编写代码效率比较低,运行速度慢,并且取数据还是不太方便。于是引入了 XML技术进行数据的抽取,组织和表现,結果大大増加了开发的效率。通过该项目我认识到XML将会是今后WEB开发和实现企业集成的主要技术之一。此外,现在仅是实现了 PDM系新ERP系统的集成,之后随着企业的发展,ERP将运行在更开放的平台上。会从企业的内部应用转为一个连接到WEB上的分布式应用系统。即ERPII,这将是以后的发展方向。