ERP即企业资源计划(EnterpriseResourcesPlanning),是由美国加特纳公司(GartnerGroupInc.)最早于90年代初提出的一种管理理念。它是建立不断发展的信息技术基础之上,利用现代企业的先进管理思想,全面地集成了企业的所有资源信息,并为企业提供决策、计划、控制与经营业绩评估的全方位和系统化的管理平台。传统ERP主要有财务管理、生产管理、供应链等在企业内部使用的系统;软件主要在局域网中以客户机服务器(CS:Client-Server)方式运行,也有少数公司的产品能在Internet上以浏览器服务器(BS:Browser-server)方式运行。随着企业规模不断扩大、竞争更加激烈、管理更加科学,现代ERP包括更多的内容,如CRM(CustomerRelationshipManagement)、电子商务(E-COMMERCE)、办公自动化等。同时要求ERP系统不仅能在局域网上运行,也要能在Internet上运行,以便解决企业与企业、企业与客户之间的协作及远程办公等需要。.net平台是一个功能强大、高效、可扩展的新型的编程环境,提供了生成应用系统所需要的先进技术和支持未来计算的高效开发工具,带来了全新的、快速而敏捷的企业计算能力。利用.net平台,许多过去极端复杂、费时费力、甚至让人望而生畏的开发任务现已经变得非常容易。
文章下面结合笔者的研究成果及实践经验,提出一个基于.net系统平台的先进的新一代ERP技术架构。此架构充分结合了CS结构开发容易、使用方便、效率高等优点,和BS结构易于安装部署维护、在Internet上运行等优点,满足了企业要求ERP系统安全、高效、易用、能在Internet上运行等需要,以及开发商要求系统便于开发的优点。
1技术架构
1.1三层结构
在三层系统结构中,第一层是表示层,主要完成应用系统与用户的交互,负载轻。它通过统一的界面对象(InterfaceObject)访问应用服务器中的业务对象。第二层是业务层,应用系统的业务逻辑主要在此实现,它承受整个系统大多数负载。业务层采用组件对象技术进行开发,使用应用服务器(ApplicationServer)进行管理。业务层中业务组件通过数据库引擎(这里是ADO.nET)访问关系数据库。第三层是数据层,完成数据的存储和管理。
三层结构把整个系统的表示逻辑、业务逻辑、数据库系统分开管理,使得每个层次的任务明确、结构清晰。应用服务器的使用使得大量客户端的情况下改善了性能。由于运行业务逻辑的应用服务器和数据库服务器是集中存放集中管理的,提高整个系统的可靠性、安全性。三层系统中功能逻辑的合理划分使得组件更容易复用,系统更易于集成。此外三层系统中服务器集中进行业务处理,便于系统部署及维护,负载平衡技术保障了随着企业规模扩大系统具有很强的可扩展性、保护了企业投资。
业务层是整个系统最复杂的部分,限于篇幅这里作了许多简化。实体(Entity)指业务活动中所涉及到的物或人的计算机描述,如单据、凭证等,通常表现为数据。从开发角度上讲,实体一般是值对象(ValueObject),可在需要时进行串行化(Serialize)及反串行化操作,以便在网络中传输以及由数据恢复对象。业务活动及其行为可以改变实体的状态,如审核单据等。把这些改变实体状态的业务活动进行抽象化,称其为服务(Service)。服务一般表现为计算和行为,从开发角度上看是数据处理。另外在程序设计中,也把那些为其它模块完成某些功能提供支持的对象,称为这些模块的服务。业务层中业务组件一般表现为服务。界面对象是服务的一种,直接为客户端界面(这里是基于WindowsForm的智能客户端)提供服务,是客户端通过服务器处理业务的门户。起到隔离客户端与服务器、减少客户端与服务器的交互次数以提高性能、简化体系结构的作用。界面对象代替传统的控制类,但它职责更明确、更容易创建和使用。
1.2智能客户端
传统ERP系统计算模型主要有两种,以CS为代表的胖(Rich)客户端模型和以BS为代表的瘦(Thin)客户端模型。前者一般在局域网中运行,效率高、易于开发和使用但不易于部署和维护;后者通常在Internet上运行,效率低、易于部署维护但不易于开发和使用。智能客户端(SmartClient)是一种新型的客户端模型,它结合胖客户端和瘦客户端的优点,克服了它们的缺点成为新一代ERP系统更好的选择。
基于.net的智能客户端模型充分满足了开发人员、维护人员和用户三方需求,结合胖客户端开发用户界面的强大功能与弹性以及瘦客户端的容易部署与维护。智能客户端基于Windows窗体(Forms)技术开发,借助于VisualStudio.net等先进的集成可视化开发环境,开发人员能够非常方便、高效地开发出灵活易用的图形用户界面。它比传统的B/S架构用HTML及脚本写的Web界面更易于用户使用、开发成本也要低的多。系统安装时只要将一个主程序文件下载到本地,直接运行即可,甚至可以直接通过Web访问直接运行。其他应用组件将在需要的时候由主程序自动发现服务器上最新版本的程序集和应用组件,自动下载和更新。解决了CS结构中的部署问题,这也是基于BS架构的ERP的主要优点之一。
在此架构中,客户端主程序文件指应用程序浏览器(ApplicationBrowser),它是一个负责运行、配置及管理应用组件的容器。与应用服务器不同的是,应用程序浏览器负责管理应用组件与用户交互的客户端界面,而应用服务器负责管理应用组件中业务处理部分,即业务组件。当用户完成业务时候,应用程序浏览器根据需要自动从服务器下载最新用户界面(Form或UserControl)组件,用户与界面通过交互完成任务。