SaaS模式助力企业零件库系统设计与开发

0 引言

随着新产品设计制造技术的不断发展,零件的设计趋势朝着标准化、系列化的方向发展。统计资料表明,在典型订单产品中,50%左右的零/部件属于标准件与外购外协件,40%左右的零/部件属于典型的变型零/部件,而10%左右的零/部件属于全新零/部件。

伴随着制造企业敏捷化和全球化的发展趋势,企业中更多的零/部件将由供应商提供。零件库能够通过零件信息的大范围共享,显著地提高零件的重用程度,企业能方便地利用标准件和通用零件快速设计和制造产品;专业化零件供应商能有效地推销自己的产品,扩大批量,降低成本。

中小企业实力有限,很难承担建立零件库的软、硬件费用。基于此,本文开发了面向多用户的零件库系统。系统采用的SaaS第4级成熟度模型,具有水平扩展性。用户通过租用系统空间管理零件,改建立零件库为租用零件库,这样可以为中小企业节省大量费用。SaaS模式零件库对于中小企业宣传和销售零件有很大的帮助,此种方式可以大大降低企业信息化的门槛。

1 SaaS模式简介

软件即服务(Software as a Service,SaaS)是一种通过Internet提供软件的模式。用户不需再购买软件,而改用向提供商租用基于Web的软件。对于中小企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。

独立软件提供商(Independent Software Vendors,ISV)为中小企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务。

SaaS成熟度模型如图1所示,包含4个等级,第1级:用户独立定制实例;第2级:可配置,统一实例;第3级:可配置,统一实例,多用户;第4级:可配置,统一实例,多用户,可扩展。

图1 SaaS成熟度模型

2 零件库应用及采购流程

设计人员通过搜索引擎查找合适的零件,并可以下载零件模型,然后将零件的规格传递给采购人员。采购人员寻找合适的该零件供应商,下订单进行交易。零件库拓扑结构如图2所示。零件采购流程如图3所示。

图2 零件拓扑结构

图3 零件采购流程

3 系统功能分析

系统角色包含:管理员、购买者和零件供应商。管理员负责系统维护方面的工作;购买者可以查看零件和供应商信息,同时也具有订单管理功能。零件供应商通过租用系统将零件保存在本系统零件库内,同时也可以对收到的订单进行操作。系统功能如图4所示。

图4 系统功能

4 系统设计与实现

4.1 系统网络结构

系统采用SaaS第四级成熟度模型,支持系统水平扩展。系统网络结构如图5所示。

图5 系统网络结构

系统采用服务器阵列的方式实现水平扩展;用户登入时通过身份认证服务器进行身份认证。系统通过负载均衡将用户的访问压力分配到不同的服务器上,由于用户登入系统后是具有状态的,系统通过用户状态服务器来保存用户的Session,这样即使用户两次操作被分配到不同的服务器上也没问题。

4.2 系统架构设计

系统采用4层架构来实现,分别是界面层、逻辑层,应用服务层和数据层,同时还包括系统服务功能部分,系统架构如图6所示,各层功能如下。

图6 系统架构

界面层:为用户提供交互界面,由于本系统用户个性化配置需求较弱,所以界面样式只是通过一般技术手段来实现。

逻辑层:负责系统业务逻辑判断,主要包括用户权限、订单管理和零件搜索匹配。

应用服务:将系统的服务统一到此层来实现,主要包括用户、订单管理、零件库、零件模型管理和搜索引擎等。

数据层:系统主要包括两部分数据,一是结构化数据,如用户信息、订单等,此类数据保持在数据库中;二是直接以文件形式保存在文件服务器中的零件模型。除上述业务功能外,系统述包括其他辅助功能,这些功能集中在系统服务中。系统服务确保系统正常平稳地运行。

4.3 零件族分类

零件分类级别如图7所示,零件共分为5个级别。

图7 零件分类级别

零件供应商在添加零件时,需要选择零件所属种类。零件模型文件名也表明了零件的类别。零件命名规则及数据表关联如图8所示。

图8 零件命名规划数据表关联

5 系统关键技术及解决方案

5.1 零件命名规则及数据表关联

零件文件名由16位数字组成。文件名前8位数字对应零件的5个级别,用来标明零件种类;9~13位数字标明零件发布的企业,最后3位数字是该企业发布零件的自增号。

用户在Parts Library表中搜索合适的零件,通过Parts File Name字段来索引零件模型,同时,Parts Library表中的Parts Father ID索引零件供应商。零件文件名、Parts Library表和Providers表的关系如图8所示。

5.2 数据隔离

系统是面向多用户的,用户将零件和订单信息保存在服务器端,数据安全是用户非常关心的问题。数据安全中最主要的是数据隔离。

系统数据按重要性大致可分为两种:安全性要求较高的,如订单;安全性要求较低的,如零件库。对于安全性要求较高的数据,系统采用“共享数据库,分离数据架构”方式保存数据。每个用户享有一个单独的数据架构,这样就将用户数据进行了隔离。

对于安全性要求较低的数据,系统采用“共享数据库,共享架构”方式保存数据,将供应商零件保存在同一个表中,这样用户通过一个表就可以检索到不同供应商的零件,避免跨库检索的麻烦。两种数据隔离方式如图9所示。

图9 两种数据隔离方式

5.3 系统水平扩展性

水平扩展性是指通过增加硬件设备缓解平台访问压力,而不必修改系统架构水平扩展和数据层水平扩展。

5.3.1 服务器层水平扩展

服务器层水平扩展主要是通过负载均衡来实现的。系统将用户身份验证统一到身份验证服务器上,文件服务器和数据服务器采用服务器阵列的方式实现水平自展。用户登入系统后将产生用户状态,必须保证通过负载均衡分配到不同的服务器上后,用户的状态是一致的。本平台将用户状态集中到一台独立的用户状态服务器上,此服务器则来保存用户的状态信息——Session。

5.3.2 数据层水平扩展

系统通过数据库垂直切分来实现水平扩展。数据库垂直切分是指将不同的数据库存放在不同的物理数据库中,从而将数据访问压力分到不同数据服务器上。平台将不同用户的零件集中到个数据库中,即零件库,用户可从个库中检索到不同用户的零件;将订单信息放到另一个数据库,即订单库;用户信息统一到用户库中。将原本同一库中的数据分散保存到不同数据库中即可减少数据服务器的压力,但同时有可能使原本比较简单的数据库操作会变成跨库操作。数据垂直切分如图10所示。

图10 数据垂直切分

5.4 零件三维模型动态显示

为更好地展示零件,系统采用可扩展3D(eXtensible 3D,X3D)实现零件三维模型展示,用户可旋转和缩放零件。

X3D是Web3D联盟推出的新一代网络3D语言标准,它以国际标准VRML97为基础,结合了XML、Java和流技术,具有方便的扩展功能。

零件模型般都是使用工程软件建模的,如:AutoCAD、CATIA、UG等。一般三维建模软件都支持导出X3D格式。在HTML中加载X3D文件代码如下:

用户通过安装了X3D插件的浏览器查看零件三维模型,也可以旋转和缩放零件,零件三维模型显示效果如图11所不。

图11 零件三维模型显示效果

6 结语

鉴于中小企业难以承担建立零件库的费用,本文采用SaaS模式开发了面向多用户的零件库原型系统系统采用X3D直现显示零件三维模型,并且零件检索速度快。中小企业通过租用系统来宣传和销售零件,可以降低企业信息化的门槛。