基于SOA思想的农产品质量追溯系统架构

时间:2022-07-10 06:41:41

基于SOA思想的农产品质量追溯系统架构

摘要:分析了农产品质量追溯系统的业务流程与功能模块,介绍了面向服务体系架构及其特点,构建了基于SOA(Sevice—oriented Architecture)思想的农产品质量追溯系统,并对系统架构中的服务设计进行了描述。

关键词:面向服务架构(Sevice—oriented Architecture,SOA);农产品质量追溯系统;业务流程;服务设计

中图分类号:TP315 文献标识码:A 文章编号:0439—8114(2012)19—4369—05

随着生活水平的提高和安全意识的加强,农产品的安全性越来越得到人们的关心和重视,特别是近年来发生的食品安全事件,严重影响了消费者对农产品的消费信任和农产品的国际竞争力[1]。近几年各级政府为建立农产品质量安全可追溯体系做了大量工作并颁布了相关法规和标准,很多研究机构和学者也开展了食品可追溯系统的研究[2—4]。但是,农产品供应链具有参与方众多,结构松散,不确定因素多,业务流程和核心数据不稳定等特点,传统的信息追溯系统已经不能满足要求,建立可通过服务调用满足不同种类农产品追溯的信息管理系统,提高追溯性能非常重要。该文通过对农产品质量追溯系统进行研究,提出了基于SOA(Sevice—oriented Architecture)思想的系统架构,将农产品种植、加工、储存、运输、销售等环节分解成相对独立的服务,使追溯流程变得更加弹性和灵活,能够快速响应农产品多变的需求,建立“从农田到餐桌”的全程信息追溯技术体系。

1 系统研究

1.1 系统目标

农产品质量追溯系统的建立是为了实现农产品生产过程的规范性和质量安全的可追溯性。根据系统记录的信息可追溯农产品在不同生产流通环节所处的空间位置、农产品状态、投入品信息及相关责任者。系统以条码技术、网络技术和数据库技术为支撑,以各项目建设单位采集的生产数据为基础,围绕“企业生产、质量检测、政府监管、消费者查询”四条主线,对农产品种植、加工、运输、销售等环节进行剖析,对农产品的种植环境、农事活动、销售状况等实施电子化管理,构建适用于不同种类农产品、能根据企业生产流程灵活定制的农产品质量追溯系统,实现对上市农产品“源头可追溯、流向可跟踪、原因可查明、信息能查询”的总体目标,从而达到提高农产品安全和质量的目的。

1.2 系统业务流程设计

农产品质量追溯系统的设计,以具有一定规模的农场或生产企业进行产品生产、销售所采用的供应链模式为基础。企业在实施追溯系统前,系统实施人员通过对企业的种植、管理、收获、运输、包装及销售等生产流程进行剖析,根据企业的实际生产需求,为企业量身定制追溯系统;企业通过条码、RFID等技术采集追溯链的底层信息,将种植、收购、加工、包装、物流等环节采集的生产流程数据进行汇聚,形成追溯链并向农垦数据中心上报可追溯数据;农垦数据中心在企业上报的数据基础上进行数据有效性检验,政府监管部门可通过农垦数据中心的数据进行投入品使用、问题产品等指标分析并对产品进行检测,消费者通过网站、语音、短信等方式查询。系统业务流程设计如图1。

1.3 系统功能模块设计

农产品质量追溯系统为生产者、消费者和监管者提供了一个信息交互平台。系统提供农产品追溯、预警分析、认证监管和产品真伪鉴定等功能。信息服务以子系统形式依次在各实体间传递,设计开发了6个子系统:企业定制子系统、数据采集子系统、企业数据汇总子系统、企业追溯数据处理子系统、消费者查询子系统和政府监管子系统(图2)。

定制子系统用于农产品生产流通环节个性化信息(如生产流程、采集内容等)的定制,使追溯系统能够更好地适应各种复杂的生产流程,进行信息的采集、处理、查询和统计。个性化定制主要包含农产品种植、生产、加工、销售等过程的定制;投入品、加工设备、储存、运输、销售等过程采集信息的定制;字典结构定制;查询信息、监管信息定制;用户特殊处理的定制。

数据采集子系统用于整个追溯链底层信息的采集和基础数据管理。信息采集主要包含字典维护、信息采集、数据上传至企业中心服务器等模块。

企业数据汇总子系统用于将种植、储存、运输、销售等各个采集点采集到的数据进行汇聚,产生追溯链,并将数据打包上报,是企业向农垦数据中心上报数据的惟一出口。主要包含接收采集点数据并汇总,数据校验、产生追溯链及消费者查询信息,数据打包上报、归档等模块。

企业追溯数据处理子系统是自动等候程序,运行在农垦数据中心服务器。将企业上报的追溯数据进行解包、校验并更新数据库,便于消费者和监管者使用。

消费者查询子系统为农产品终端消费者提供网站、短信、电话语音查询,了解农产品的产地、加工日期等信息,实现质量追溯的基本需求。

政府监管子系统提供问题农产品、投入品的追溯与跟踪,确定问题产品的流向;对问题产品的影响范围作出评估,包括对不合格投入品、生产环境等可能影响到其他农产品的质量作出预警;对投入品使用进行监管,包括投入品使用情况分析、统计及投入品生产商、销售商的信息管理。

企业定制子系统、数据采集子系统和企业数据汇总子系统主要面向生产企业,采集追溯数据形成追溯链。监管子系统面向政府及职能部门,提供检测、管理数据。消费者可以通过网站、语音、短信等方式对农产品进行全方位追溯。根据农产品追溯码将生产、监管、检测和消费等环节连接在一起,一旦发现问题,能够通过溯源技术进行有效控制,保障了消费者的合法权益,同时系统实施提高了生产企业管理的信息化、标准化水平,有利于企业扩大生产经营规模,提高生产效率。

2 基于SOA思想的系统架构设计

2.1 面向服务架构

面向服务架构(Service—oriented Architecture, SOA)并不是一种专门的技术或开发方法,它只是一种系统开发和动作的指导思想[5]。基于SOA架构的应用系统可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。它屏蔽了不同平台、编程语言、操作系统和硬件架构之间的差异。在这种模式下,一个应用或部分应用是一种服务,可以被重用和共享[6]。服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯。

SOA结构模型一般由服务提供者、服务使用者和服务注册中心三部分构成(图3)。服务提供者将自己的服务和接口合约到服务注册中心,以便服务使用者发现和访问。服务注册中心包含了可用服务的存储库,提供一种让服务提供者与服务使用者交流的方法;服务使用者通过服务注册中心查询服务,通过传输绑定服务,并执行服务功能。

与传统架构相比,SOA让整个IT环境变得更富有弹性,通过借助现有的应用来组合和产生新服务,提供给企业更好的灵活性来构建应用程序和业务流程,最大程度地减少系统的耦合,提高可重用性,实现了和其他外部系统的信息沟通,达到了无缝集成的效果。

2.2 系统架构设计

基于SOA思想的农产品质量追溯系统将农产品供应链的业务流程和功能以服务的形式存在,和数据采集层的信息处理交互,并向追溯信息汇聚、查询层提供服务,通过数据库进行数据通讯。目标是不能让流程逻辑硬编码至下层应用中,使各个应用系统分开维护,通过调用对方的服务,有利于针对业务需要与需求的变化快速修改业务流程和功能。这样能够使业务流程更加流畅,系统功能更加强大,并且提供一个灵活、方便的流程集成机制。系统的总体架构分4层:用户交互层、业务逻辑层、服务提供层、数据应用层[7](图4)。

用户交互层将根据不同的用户需求和权限提供不同的客户端界面,这些界面可以以桌面应用程序或网页的形式存在,通过HTTP和SOAP协议访问。客户端界面为用户提供调用业务逻辑层服务的接口和输入调用参数的接口。通过对客户的需求进行分析,为不同类别的用户提供相应服务的调用接口界面。服务调用对用户来说是完全透明的,用户只需根据界面提供的接口和功能说明提供相应的参数即可,服务执行结束后结果将自动返回。

业务逻辑层包含了系统的业务流程,是整个系统架构中最重要也是最复杂的一层。追溯系统的健壮性、灵活性和可维护性很大程度取决于该层的设计。业务逻辑层通过响应用户交互层的请求,将复杂的功能和流程简化为服务和服务的组合,通过不同粒度服务之间的相互调用和交互,构造出复杂的业务逻辑和功能,并通过组合、编排将服务绑定成一个流程,作为单独的功能和接口来应用。

服务提供层是体系架构的重要部分,它将系统的流程和功能分割为具体的服务,该层的服务有不同的粒度,服务通过一定的标准来,服务可以被发现或者直接静态绑定,然后被调用,或者可能的话,编排到组合服务中。它集中了数据提供层提供的数据信息和服务提供者提供的服务信息,并将用户提出的服务请求分解成不同的子服务,总的来说,可以被映射成具体系统中的任何功能模块。

数据应用层中存放了与应用程序相关的业务数据和控制数据,这些数据存放在一个或者多个数据库中。各采集点采集到的数据往企业数据中心上报,通过企业中心处理模块对上报的数据进行监控,然后对数据汇总,形成产品追溯数据,再往农垦数据中心上报可追溯数据,供用户查询使用。

3 服务设计

在对服务进行设计时主要是粒度和耦合两个方面的权衡。粒度说明的是服务的大小,可简单理解为服务操作的范围;耦合代表的是服务之间的关系。粗粒度的服务,其操作内容广且杂,而细粒度的服务,操作内容细且简单。采用粗粒度的服务设计,可以减小服务之间的耦合性,但会增加服务的复杂性和维护的难度。采用细粒度服务的设计,可以简化服务实现,但增加了服务数量。服务过细过多,必然有一些服务需要组合才能实现一定的功能,那样会增加服务之间的耦合度。只要其中一个服务发生了变动,就会影响到其他与之相关的服务。为了降低农产品质量追溯系统各个部分之间的耦合性,提高服务可重用性,系统架构时依据农产品生产特点和追溯信息的采集、监管需求,设计了3种类型的服务:基本服务、组合服务和综合服务(图5)。

基本服务是最小粒度的服务,可实现系统最基本的功能。比如数据采集服务提供整个系统追溯信息采集服务,它包括键盘输入、条码读入、RFID读入、IC卡读入以及外部系统数据接口服务等,为系统最细粒度的服务。

追溯系统设计的基本服务包括:①数据采集服务;②数据输出服务;③表单处理服务;④数据通信服务;⑤字典管理服务;⑥追溯码服务;⑦采集点服务;⑧投入品分析服务;⑨检测指标分析服务;⑩短信服务;11 电话语音服务;12 网站服务;13 追溯链服务;14 数据报送服务;15 数据汇总服务。

组合服务由基本服务组合而成,是由某种特定业务进行处理的基本服务组合到一起形成的粗粒度的服务集合。依据农产品企业生产特点和追溯信息采集需求,将系统核心业务服务设计成组合服务,每个组合服务由若干个“基本服务”+“处理逻辑”组合而成。比如投入品使用信息采集服务可对农产品在整个生产过程中所使用的投入品情况进行采集,它由数据采集服务、表单处理服务、数据输出服务、字典管理服务等基本服务加上投入品特有的处理逻辑而构成。

追溯系统设计的组合服务包括投入品使用信息采集服务、追溯源服务等,如表1所示。

综合服务是最大粒度的服务,按照一定的业务流程顺序将组合服务进行合成。对于养殖类生产企业一般可分为养殖服务、收购屠宰服务、销售物流服务。而对应种植类生产企业一般分为种植服务、收购加工服务、销售物流服务。

4 小结

食品安全问题不仅直接与公众健康相关,而且已成为影响中国农业和食品产业国际竞争力的重要因素。建立覆盖农产品从种植到最终消费品各阶段的信息追溯系统,有利于控制农产品质量。该文分析了农产品质量追溯系统的建设目标、业务流程及功能模块,就追溯系统与SOA技术的应用集成进行了研究分析,并在此基础上提出了基于SOA思想的农产品质量追溯系统的架构及服务设计。系统体现了各类农产品不同供应链的需求,实现了对谷物、水果、蔬菜、禽肉、茶叶等农产品的追溯,既满足了消息者对质量信息透明的要求,又为企业进行标准化、信息化管理提供了平台。

参考文献:

[1] 吕 青,王海波,顾绍平.可追溯体系及其在水产品安全控制中的作用[J].渔业现代化,2006(3):7—9.

[2] 白云峰,陆昌华,李秉柏,等.肉鸡安全生产质量监控可追溯系统的实现[J].江苏农业学报,2006,22(3):281—284.

[3] 谢菊芳,陆昌华,李保明.基于.NET构架的安全猪肉全程可追溯系统实现[J].农业工程学报,2006,22(6):218—220.

[4] 杨信廷,孙传恒,钱建平,等.基于流程编码的水产养殖产品质量追溯系统的构建与实现[J].农业工程学报,2008,24(2):159—164.

[5] 李广明. 基于SOA的柔性化农产品供应链信息系统研究[J].安徽农业科学,2010,38(25):14129—14131.

[6] 杨象驰,飞. 基于SOA的邮政物流信息系统规划[J].计算机工程与设计,2007,28(19):4825—4827.

[7] 刘 敏,严隽薇. 基于SOA的网格化制造模式及体系结构[J].同济大学学报(自然科学版),2007,35(2):239—243.

上一篇:四种杀虫剂对茶树假眼小绿叶蝉的防治效果 下一篇:天门冬组织培养条件的优化