ERP系统的架构
从架构角度上说,第一个ERP软件包最初是在大型计算机环境中编写的。在这个系统设置中,大型计算机代表大脑,另外用户通过所谓的“哑终端” 只能访问和输入数据。由于哑终端仅是键盘和终端的组合,它自身无法处理信息。
个人电脑的功能现在已足够强大来承担一部分过去只能由大型计算机处理的任务。当个人电脑与更大型的电脑(大型计算机,小型计算机,或者个人电脑服务器)结合在一起时,这个系统被称之为客户端/服务器平台。
“客户端/服务器”意味着在两台电脑之间分配作业处理。 “客户端”是指桌面上的电脑,它可执行显示和一些逻辑功能(如:Windows图形用户界面);而“服务器”是指更中枢的电脑,它包含数据库和应用程序(参见下图)。
现在,很多公司普遍选择客户端/服务器架构或分布式计算机系统,主要出于以下几个原因。首先,用个人电脑取代哑终端可以提高计算能力。图形处理是高度的CPU密集型操作,因而不适于在中枢电脑上执行。因此,必然要把这些操作转给个人电脑。其次,由于可能使用分布式数据库,整体系统速度提高。此外,与使用大型计算机系统相比,硬件成本大幅下降。
客户端/服务器实施的主要策略是两层模式,三层/多层模式,以及因特网/企业内部互联网应用模式。层级概念为不同种类的架构归类提供了方便。图1说明了二层和三层模式的不同之处。
在二层模式中,客户端设备与单个服务器相连。服务器通常控制中枢数据库,而客户端控制用户界面。两者的主要区别在于服务器应对多个不同客户端的请求,而客户端针对单个服务器发出信息请求。为了提高多用户效能,数据由专用数据库管理。
二层模式设计通常通过使用数据服务器进行集中控制和管理的方法来实现业务逻辑定位。设计人员会确定在客户端和在服务器端实施的处理逻辑量。如果大多数作业在客户端电脑中处理,这被称之为“胖客户端”应用模式。反之,“瘦客户端”应用模式指在服务器端处理大多数作业。
三层应用模式在二层主从模式中(Two-tier)加入了第三个程序,通常是一个数据库,服务器用它来存储数据。业务逻辑被拆分到多个计算机上,以改进可靠性和分摊处理负载。在三层模式中,客户端设备控制用户界面和一些处理逻辑,而应用服务器管理企业数据库。这个模式有助于管理版本发布和企业业务规定。现在大多数顶尖的ERP应用系统都是在三层架构模式的基础上搭建的。
三层模式是多层架构的基础。多层架构通过把程序块分布到多个服务器来分解大型应用程序的处理负载。根据定义,多层应用程序可以被分解成存储于多个计算机的多个模块。当这些模块被存储在不同的计算机上时,可优化每台计算机和每个模块,以满足特殊的用途,如:数据库、业务逻辑或用户界面。然后,联网的计算机可与其它计算机和应用系统共享组件,以消除冗余以及进一步优化效能。在一些多层环境中,可以通过重新部署模块来改进远程地点的网络效能,而不会破坏应用完整性。
多层架构允许同时运行不限数量的程序,发送信息,使用不同协议进行通讯,以及同时进行互动。这种架构可支持更强大的、扩展性更强的应用系统,并可为不同的客户提供多种不同的服务。它还包括严重警报功能,这就增加了设计、实施、性能和负荷平衡的复杂性。另外,很多现有的技术使这个情况更加复杂,例如:公用对象请求代理架构(CORBA),enterprise JavaBeans (EJB),分布式公用对象模型(DCOM),以及远程方法调用(RMI)。
总的说,如果使用分布式对象架构可以帮助用户编写运行速度更快的、容量更大的、功能更强大的以及更强健的程序,那么在这方面的努力尝试是值得的。因为客户越来越清楚地认识到架构在供应商快速实施、维护、扩展/定制以及与其它供应商模块进行集成等方面的重要作用,所以近三年开发或升级的ERP产品结合了面向对象的(组件化的)开发环境以及多层架构。