世界经济一体化浪潮席卷全球,我国钢铁制造企业面临前所未有的机遇和挑战。在这样的大环境下,利用信息化提升企业的综合竞争能力,是在激烈的市场竞争中应对挑战的必然选择。笔者在总结所在企业信息化取得阶段性成果和成功经验的同时,发现由于不注重信息化规划的统一性和持续性,在外包或者自主研发过程中,外包公司或者内部项目组可以自由选择开发语言、系统架构,导致系统整合困难,加大了后期维护的难度,从而在信息化实施过程中形成了很多个孤立甚至功能重叠的系统,在解决信息孤岛的同时又产生了新的“信息孤岛”。此外,还使得信息化实施团队忙于掌握各种开发语言、系统架构,导致开发的信息系统参差不齐,对信息化实施团队的技术积累和业务知识沉淀也造成了不利影响。要解决上述问题,除了加强信息化整体规划外,拥有一个平台统一、架构合理、能覆盖钢铁企业信息化大多数业务需求、开发者易上手且开发工作量少、使得信息化实施人员能将精力集中在业务功能实现上的软件二次开发平台也是必不可少的支撑。
1方案选择
在软件开发领域,C/S(Client/Server)与B/S(Browser/Server)是最基本的2种系统架构。其中C/S架构出现相对较早,它具有人机交互强、存取数据安全、响应速度快等优点,缺点是维护成本高、升级困难。随着技术的发展,后来出现的B/S架构克服了C/S架构的一些缺点,它具有客户端机器要求低、维护成本低、升级方便等优点,但相对C/S架构而言,又存在着人机交互弱、响应速度慢等缺点。曾几何时,B/S架构将逐步代替C/S架构的观念大行其道,随着时间的流逝,B/S架构不仅没有替代C/S架构,反而形成了对C/S功能的某种回归,比如富客户端技术。而C/S架构通过多层设计、免安装及组件远程自动更新等技术,大大缓解了它维护成本高、升级困难的不足。因此,笔者认为这两种基本架构本质上没有优劣之分,而是应该根据应用领域的不同特点,采用最合适的架构。钢铁行业作为一个典型的流程制造行业,信息系统按照与实际生产结合的紧密程度大致可分为生产型与管理型两类系统。其中生产类系统一般对人机交互、响应速度要求较高,也往往会跟设备打交道,B/S架构的系统难以满足要求,因此C/S架构的系统是不二选择。而管理类系统一般侧重于信息的查询、发布、分析统计或者实时性不强的管理性业务的操作,如信息录入、流程审批等,从系统的扩展、升级、后期维护等方面考虑,B/S架构的系统是更适宜的选择。既然钢铁企业信息化两者不可或缺,那么开发一种结合C/S架构和B/S架构两者优点的新型体系架构的软件二次应用开发平台,对满足覆盖钢铁企业信息化大多数业务需求,能够快速开发成熟、高效、稳定的软件应用系统至关重要。
2平台介绍
为此,笔者提出并实现了一种适合钢铁行业信息化的软件二次开发平台,特性如下:
a.支持C/S架构和B/S架构,不仅可以单独实施C/S架构的系统或者B/S架构的系统,还可以实施C/S+B/S混合架构的系统。
b.服务端跨平台,满足各种规模系统的服务器部署要求。
c.支持多种主流数据库,如Oralcle、SqlServer、Mysql等。
d.架构松散耦合,具备全面的扩展性,符合SOA思想。
e.快速开发应用软件,少写源代码或不写源代码。
f.平台风格、图片、远程通信、DLL调用等通过配置文件实现,系统灵活易维护。
平台基于DOTNET, J2EE开发技术,总体架构如图1所示,平台采用C/S +)3/S混合模式。
图1平台总体架构
服务端采用J2EE开发,轻松实现跨平台部署,作为服务提供者发布运行在服务器上,主要负责业务逻辑实现及数据库连接管理,如:权限管理,数据库增、删、查、改操作,ERP接口服务等。对于平台内部系统采用Hessian协议实现C/S系统Client和Server之间、B/S系统Weh和Server之间的通信;对于非平台内部架构的系统则可通过Hessian协议或者WebService协议实现服务调用或者数据交互。由此可以看出,平台架构是一种分布式、符合SOA思想的架构,具备全面的扩展性。相比WebService, Hessian更简单、快捷,采用的是二进制RPC协议,通讯效率快一个数量级以上,因而选作实时交互性要求高的平台内部架构的核心远程调用协议。同时,非平台架构内的信息系统,推荐使用Hessian,但如果交互性要求不高,则WebService , Hessian都可以选择,这样便大大加强了平台的灵活性。
C/S架构平台逻辑上由展现层、业务层、数据层组成。展现层与业务层通过Hessian实现远程交互,业务层与数据层通过Spring提供的数据库连接池实现交互。其中,展现层(Client)采用DOTNET技术,适合于各种生产型系统,尤其是实时交互性要求高或需要跟各种设备、工控系统进行交互的系统,如视频监控、集中计量、检化验、MES等。由图1可以看出,C/S架构平台采用了多层设计,再加上免安装及组件远程自动更新技术,大大缓解了C/S架构维护成本高、升级困难的不足。
其中组件远程自动更新技术是指C/S架构平台采用组件设计技术,平台除自动更新引导模块及平台核心模块为可执行exe程序外,系统各业务功能模块以DLL形式存在,除自动更新引导模块不可自动更新外,平台其他组件均可实现远程自动更新,而自动更新引导模块只是进行组件版本的比较及下载更新,不存在变动可能,因此C/S架构平台客户端基本只需要实施部署一次,从而减少了后期维护工作量。
B/S架构平台逻辑上由Web层、业务层、数据层组成。Web层与业务层通过Hessian实现远程交互,业务层与数据层通过Spring提供的数据库连接池实现交互。其中Web层跟服务端一样采用J2EE技术,适合各种人机交互相对简单的中、小规模管理型系统,如:门户网站、配置管理、查询统计、客户关系管理等。
总之,平台通过预置大量基本操作、业务功能、标准组件、界面模板(如权限管理,对数据的查询、新增、修改、删除,对报表的打印、预览、导出、图表分析等),极大地缩短了软件系统的开发周期,降低了软件开发成本。此外,由于平台架构统一设计且平台风格、图片、远程通信、DLL调用等均可通过配置文件实现,从而大大加强了平台的灵活性和可维护性。
3具体应用
软件二次开发平台目前已成功应用于多个项目,下面以采用C/S + B/S混合结构的某钢厂无人值守远程集中计量系统为例,简要阐述平台的实际应用情况。
无人值守远程集中计量,即要实现计量信号进人计量大厅、称重现场无人值守,而由司磅员在计量管控大厅远程监控计量,那么不可避免首先要满足人机交互的实时性,其次系统需要具备与各种设备打交道的能力,如计量仪表、摄像头、红外对射、读卡机、道闸等等。因此对于计量相关功能,采用C/S架构平台实现。
无人值守远程集中计量实施后,随着现场纸质单据的取消,一个取代纸质单据、能提供计量信息查询的系统也是必不可少的。由于需要查询计量相关信息的用户既有企业内部单位,又有企业外部单位,用户有很大的不确定性,采用C/S架构对于后续的维护是不可能完成的任务,因此查询系统采用B/S架构实现。
系统的网络拓扑结构示意图如图2所示。
图2网络拓扑结构图
图2中:Client指C/S系统的客户端,Browser指B/S系统的浏览器端;B/S服务器部署的是B/S系统的Web端;服务器1和服务器2为双机热备,部署的是C/S系统和B/S系统的、以服务提供者模式提供功能调用的服务端;服务器3部署的是独立于计量系统、同样采用本平台实现的SAF接口系统,计量系统与其他业务系统一样,凡是与SAP交互的业务都通过调用SAP接口系统提供的统一接口服务实现,保证企业核心系统和业务的安全。与此同时,其他业务系统也可以通过部署在服务器1或者服务器2上的服务端提供的服务实现与计量系统的交互。
4结束语
本文设计并实现了一种C/S架构与B/S架构相结合的钢铁行业软件二次开发平台,与现有大多数软件二次开发平台相比,该平台架构松散藕合,具备全面的扩展性,符合SOA思想;服务端跨平台,可以根据系统规模的大小,选择部署不同类型的服务器;功能设计组件化、模块化,再加上可配置、可扩展、快速开发的特性,大大节省了开发成本和系统后续的维护成本,提高了系统的统一性、通用性和灵活性,为企业信息化的进一步深入实施提供了有力的技术支撑。本文虽仅列举该平台在钢铁行业中的成功应用,但其应用范围绝不仅限于此,完全可推广至其他行业,为相关行业的信息化建设提供有益的参考和借鉴。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/