第一篇:技术研究总结报告(摘要)
《废副硫铁资源与低温废热一体化综合利用新技术及应用》
技术研究总结报告
一、立项背景
SO2尾气是空气污染的罪魁祸首、是雾霾产生的重要影响因素。硫酸行业废弃的SO2尾气、烧渣与低温废热、肥料行业废弃的H2S尾气的处理是节能减排与资源化再利用的永久主题,是冶炼、化工与建材行业的共性的技术难题,也是关乎生态与民生的社会性问题。
铜陵地区拥有近500万吨的硫铁矿制酸与冶炼烟气制酸、28万吨合成氨产能,年排放SO2尾气约4万吨、烧渣160万吨、H2S尾气3万吨左右、硫酸亚铁近40万吨、可利用低温余热近30万吨。当前,很多的企业着眼于废副利用,都在制酸装置上不同程度地实施着或硫酸亚铁、或H2S尾气的掺烧,目的在于消化处理工业废弃物,因没能系统地进行技术研究,很多都以牺牲经济效益换取废弃物的利用、或是以降低废弃物的回收利用率求得经济补偿。国内外很多单位也在进行尾气SO2回收利用课题研究,为求得达标排放,更多地都是选择氨吸回收,但回收的产品液体硫酸铵市场无法消化,如若以固体产品形式回收,又面临着能耗大幅上升,亏损严重。硫酸烧渣属大宗工业固废,习惯性的处置是作为水泥与建材辅料;或粗放式的再加工应用技术是通行的进行选别分级分类使用。但产率不高(通常在32%左右)、品位较低(一般维持在50%左右)等问题一直是实现高质化应用的技术瓶颈,也是行业研发热点。传统的低温位热能技术是回收干吸工序低温位热能,目前技术与装备完全成熟,已在硫磺制酸装置广泛应用。但对于硫铁矿制酸,由于净化气浓较低、且为近饱和状态,导致低温回收系统产汽率低,不具备经济可行性,目前此技术再硫铁矿制酸装置上尚未得到应用。因此,硫铁矿制酸产生的低温位热能回收技术急需研发。
系统地进行废弃物SO2尾气、H2S尾气、烧渣与低温废热有效利用技术是产业政策的强制性制约、是行业自身发展的内在要求、也是生态建设的社会要求。本项目研发,是依托华兴化工60万吨硫铁矿制酸装置,以精细硫酸盐、高品位铁精矿为目标,对SO2尾气、烧渣、H2S尾气、硫酸亚铁与低温余热的处理技术开展攻关,通过一系列新型技术研发,达到把传统的硫酸装置转化为节能减排与废弃物资源化再利用的装置的目的,实现解决行业关键技术、建设行业示范装置、提升企业经济效益、改善区域生态环境的目标。
二、任务来源
本项目是华兴化工有限公司(简称:华兴公司)根据企业生存发展和行业技术进步中存在的共性关键问题,提出课题,开展研发工作,并取得很好成效。
三、组织研发实施过程
自上世纪九十年代以来,铜化集团一直致力于研究开发硫酸烧渣深加工综合利用课题,尝试了多种工艺方法。但由于技术和市场原因,直到2007年,随着技术成熟和铁资源日益紧缺,才取得突破。2007年5月开始研发与建设,2008年元月华兴公司磁选车间建成投产。
硫酸装置低温位热能回收利用技术于2008年5月首次应用在华兴公司硫酸装置上,在此项目运行三年后,华兴公司向铜陵市科技局申请了专利,2010年11月专利授权。华兴公司硫酸三期于2010年4月开始使用热管锅炉,另一套装置也于2012年5月份建成投产。
2011年8月,硫酸盐项目开始建设,年底从试生产转为正式生产的第一年,由于上半年生产还处于摸索阶段,产能没有释放出来,随着生产工人操作技能提高,生产逐步正常,开车率也逐步提高,当年实现144万元。
四、总体构思与解决方案
1、总体构思
以硫铁矿制酸焙烧炉为基本依托,对H2S尾气与硫酸亚铁等废弃物进行初始处理,创新设计硫、铁资源再加工方法,生产高品质高附加值产品。达到将废物处理过程转化为产品生产过程、在产品生产过程中实现废弃物的资源化利用、及低温余热回收之目的。
2、关键技术与解决方案
(1)硫铁废弃物的初始化处理:通过焙烧炉实施H2S尾气、硫酸亚铁与硫铁矿共混焙烧。通过参数优化与提升,形成“弱氧焙烧—磁选”一体化技术参数体系,达到负价硫的氧化、高价硫的热解、焙烧渣中铁的富集与磁性铁大幅提升之目的;
(2)铁产品品质提升:引用液封效益理论进行料浆输送,避免高温烧渣的空气氧化产生的品质下降;通过研发新型清洗技术,实现陶瓷过滤机对硫酸烧渣分选,达到处理能耗降低、铁精矿低含水量的目的;
(3)SO2尾气新技术高质化利用:通过技术创新与装备改进,实现传统的低档硫酸铵产品的替代;依据SO2气体特征,以冷冻法替代高耗能的加压液化法生产液体SO2产品;设计“阴极石墨---铂(钽)包铜阳极”新装置生产过硫酸铵;
(4)低温位热能回收:研究热管锅炉应用新方法,回收硫铁矿制酸装置低温位热能;
3、项目示意框图
五、技术特征及主要创新点
1、工艺创新
“废副硫铁资源与低温废热一体化综合利用新技术及应用”工艺: 以传统硫酸装置为依托,国内首创了硫化氢废气、硫酸亚铁废渣与硫铁矿同步共混焙烧技术。通过优化焙烧参数(降低焙烧温度,减少炉底风量),利用H2S尾气的还原功能,形成了“弱氧焙烧—磁选—SO2尾气利用”一体化工艺技术,年同步消化硫酸亚铁约1.5万吨、H2S尾气约4200余吨,使焙烧渣中磁性铁增加2倍,实现了副产铁渣高效利用(与原有技术相比,磁性铁产率与品位分别提高5%、3%)。
2、技术创新
(1)SO2尾气制备液体SO2新方法:以通用超重力技术回收SO2尾气为基础,依椐SO2气体在-15℃液化的物性特征,巧妙地设计了以液氨为介质的循环冷冻液化新方法,能耗下降15%,维修成本小、噪音小,达国内领先水平。
(2)陶瓷过滤机清洗技术:通过新型清洗发明专利技术,解决了陶瓷板易堵塞无法清洗的技术问题,首次实现了陶瓷过滤机在硫酸烧渣磁选工艺中的应用,清洗周期与陶瓷板使用寿命优于其他行业的应用效果;通过液固分离的连续化操作,较之传统的固液板框分离方法,产品含水率下降30--45%,能耗下降32%左右,年运行时间提高20%左右。
3、结构创新
(1)“石墨阴极—铂(钽)包铜阳极”新型电极:提出并应用“石墨阴极—铂(钽)包铜阳极”新型电极技术生产过硫酸铵,较之传统的铅阴电极,阴电极使用寿命由三年左右可延长到十年左右,同时还避免了废弃重金属铅对环境的影响;阳电极维修周期由三个月延长到三年,回避了经常拆装造成的铂损失和停产损失;槽电压由5-6v降至4.2-4.5v,降低了电能消
耗;处于国际先进水平。
(2)新型热管锅炉:创造性地设计了热管锅炉设置新思维,通过锅炉设置位置与结构的改进(实用新型专利技术),化解了粉尘对设备的侵害,解决了热管锅炉传统使用方式无法长周期有效运行的技术屏障,行业首家成功实现了焙烧工序低温位热能的回收利用,全部回收利用60万吨硫铁矿装置低位热能(年产低压饱和蒸汽近9.5万吨,相当于年节约标准煤8300吨)。
六、总体性能指标和国内外同类先进技术的比较
1、废副硫酸亚铁与H2S尾气掺烧技术:本项目是目前国内首次开展废副硫酸亚铁、H2S尾气与硫铁矿同步混烧技术研究。
2、SO2尾气综合利用技术
(1)液体SO2制备技术创新:传统法是采用高压液化气态SO2制备液体SO2。能耗高,维修成本高、噪音大,产品品质不高、合格率较低。本项目技术采用循环冷冻液化方法制备液体SO2。能耗低,维修成本小、噪音小,品质好,合格率高达国内领先水平。
(2)过硫酸铵制备技术提升:电极法生产过硫酸铵,阴极采用铅电极,阳极为铂、钛包铜电极,槽电压5-6V左右。由于在生产过程中有铅泥产生,铅电极使用三年左右即需更换,会造成环境重金属污染;同时槽电压高,能耗大;而且,铂、钛包铜电极中的铂易脱落,一般三个月就要停产拆下维修一次,维修工作量大。本项目技术以“阴极石墨---铂(钽)包铜阳极”生产过硫酸铵技术,无杂质产生,一次性使用可达10年以上;以铂(钽)包铜为阳极,一次性使用在三年以上,不仅减少维修工作量,而且减少了因经常拆装造成的铂损失和停产损失,处于国际先进水平。
3、陶瓷过滤机在硫酸烧渣磁选工艺中的应用与清洗新技术:成熟的陶瓷过滤机技术已在国内众多行业得到推广应用。但由于硫酸烧渣Fe3O4的颗粒微细化(与陶瓷过滤板孔径相似)、产生的铁离子易水解、以及活性二氧化硅的存在,使得陶瓷过滤板极易堵塞且难以去除,阻碍了这一低能高效的新型环保在本行业的应用。本项目研发与投入应用之际,目前国内尚没有企业将陶瓷过滤机技术应用于硫酸烧渣磁选工艺。
4、硫酸装置低温位热能回收技术:HRS技术在于吸收浓酸中的热量而生产低压蒸汽,国内外主要用于硫磺制酸工业中,而在硫铁矿制酸中却难以使用,而硫铁矿制酸装置中一吸塔酸浓很难提高到HRS要求值,因而硫酸装置低温位热能一直不能经济地回收。本项目技术通过在焙烧装置应用低温热管锅炉技术,实现了硫铁矿制酸装置低温位热能的有效回收利用。
七、技术成熟程度
1、SO2尾气制备系列精细硫酸盐技术自2011年底投入运用以来,由于上半年生产还处于摸索阶段,产能没有释放出来,随着生产工人操作技能不断提高,生产逐步正常,开车率逐步
提高,当年创造利润144万元。2013生产稳步运行,年生产精细硫酸盐2.61万吨,年销售收入4703万元,利润150万元。
2、硫铁矿“弱氧焙烧与铁硫一体化综合利用新技术”、“磁选铁精矿分离与脱水干燥一体化技术”自2008年元月投入应用以来,装置稳定运行已5余年,年生产铁品位52%以上的铁粉42万吨,年销售收入1.55亿元,年利润2325万元。
3、硫酸生产低位热能回收利用技术自2008年5月投入应用,当年产生55366.5吨低压饱和蒸汽,实现利润412.80万元。6年来,装置稳定正常运行,年产低压饱和蒸汽近9.5万吨,年销售收入近700万元。
八、对社会经济发展和科技进步的意义
本项目的实施,年减排SO2尾气7500吨、H2S尾气约4200余吨,回收硫酸亚铁1.5万吨,回收利用低压蒸汽相当于节约8300吨燃煤,在区域环境空气质量改善、日渐严重的雾霾治理、水体污染减少、废渣堆存土地占用等方面有着重要意义,对生态环境建设具有极大的促进作用,是实施节能减排、发展循环经济的关键任务,取得了工业废副物资源化综合利用技术、经济与社会效益的共赢局面。
九、推广应用情况
本项目技术实施取得成效,项目技术已在自主研发单位铜陵市华兴化工有限公司稳定运行两年;其中热管锅炉与陶瓷过滤机技术已分别在安徽省司尔特肥业股份有限公司、江锂科技有限公司、湖北祥云(集团)化工股份有限公司等单位推广应用。
铜陵市华兴化工有限公司
二○一四年三月
第二篇:火龙果引种及优质丰产栽培技术研究总结报告
红肉火龙果引种及优质丰产栽培技术研究总结报告
火龙果属仙人掌科三角柱属植物,为多年生攀缘性肉质热带、亚热带作物,又名红龙果或仙红果。火龙果果实富含葡萄糖、维生素C及多种矿物质,甜度高、口感好,有营养、保健功能,可预防便秘、护肤养颜、降低血糖和血脂等功效,深受消费者喜爱。
茂名民间有种植火龙果的习惯,但过去只是零星种植,种植品种多为白肉、黄肉品种,果肉味酸、商品价值低。为了丰富我市优稀水果,我水果所与市钜园农业有限公司于2006年联合引进质优品种火龙果—红肉火龙果种植,开展了红肉火龙果引种及早结、优质、丰产栽培技术研究与推广,效果显著。
一、红肉火龙果引种过程
火龙果不同品种果肉色泽不一,有红皮白肉类、黄皮白肉类、红皮红肉类,其中以红皮红肉类最具经济价值,但红肉火龙果要求栽培技术较高。针对这种情况,我水果所科技人员积极开展引进及早结、丰产栽培技术研究,2006年3月20日从台湾引进22000株红肉火龙果苗,分别种植于茂名市水果科技园和钜园农业有限公司。
(一)市水果科技园引种情况
市科技园于2006年3月21日运回2000株红肉火龙果苗回果园种植,于3月21日当天全部种下,苗高约50厘米左右,成活率达100%。2007年5月起全部开花结果,平均单果重510克,平均亩产500公斤,2008年平均亩产1000公斤,2009年平均亩产1500 公斤,以后产量逐年增加。
(二)钜园农业有限公司引种情况
钜园农业于2006年3月21日运回2000株红肉火龙果苗回果园种植,于3月21—22日两天全部种下,苗高约50厘米左右,成活率达100%。当年11月份有12植株开花结果,果实发育期为40天,30天果皮色泽开始转红,平均单果重480克。2007年全部开花结果,平均亩产400公斤,2008年平均亩产850公斤,2009年平均亩产1500公斤,以后产量逐年增加。经济效益非常显著。为了更好地发展红肉火龙果,茂名钜园农业公司与我水果所合作,通过自身种植苗繁育和扩植,目前种植总面积达1000亩,生长正常,发展前景广阔。
二、生物学特性及主要经济性状
(一)植物学特性。
红肉火龙果根系较浅,茎节上长有攀援根,攀援于棚架或其它柱状的支撑物向上生长。蔓茎呈三角状、肉质、青绿色,是其光合作用的主要部位。花似漏斗,花两性,雌雄同体;花萼黄绿色、肉质厚、成鳞片状;花瓣纯白、直立、细长、倒披针形、全缘、先端尖;雄蕊多而细长、花药乳黄色,雌蕊柱头青绿色。果实球形,桨果;幼果期表皮深绿色,随着果实增大而增长,颜色愈变愈深,28-30天后,果皮色泽转变为红色,最后变成紫红色。红肉火龙果自花座果率低,而采用人工授粉,座果率高,丰产性能好。
(二)生长结果习性
红肉火龙果长势强劲,速生快长,枝干长度超过1.2m以上即可 开花结果,因此,很多植株种植当年即可开花挂果。红肉火龙果开花座果能力强,每一枝条上可同时现蕾3-5个,二年生亩产达400千克以上,三年生亩产达850千克以上。
(三)物候期
在茂名地区开花结果期为5-11月,一年可开花结果12-15批。果实发育期30-40天。
(四)果实经济性状
果实球形,果实成熟后变成紫红色。果皮具有卵状而顶端急尖的鳞片,果形大,平均单果质量350-550克,最大750克。果皮薄,果肉红色,硬度中等,肉质细嫩,口感脆甜,风味特佳,耐贮运,可溶性固形物含量13-16%。秋季果实比夏季果实品质好、香味浓。红肉火龙果引种后,生长结果良好,产量逐年增加,开花结果期为每年5月至11月份,品质特色,较耐贮藏,很适合于茂名地区种植发展。
三、红肉火龙果早结、优质、丰产栽培技术
红肉火龙果从台湾引到茂名种植,比茂名原有的白肉、黄肉火龙果更受消费者欢迎,并且品质好、价格高,效益好,部分果农纷纷前来参加学习。从2006年开始课题组对红肉火龙果引种及早结、优质、丰产栽培技术进行系统研究探索,形成了一整套红肉火龙果早结、优质、丰产栽培技术。
(一)建园前准备工作
1、苗木繁育
红肉火龙果的繁育可以采用扦插、嫁接等方法。但由于扦插容 易生根,且保持母本的优良性状,因而生产上多采用扦插方法进行育种。育苗时,结合春季和秋季二次大修剪,选取健壮、无病虫害和浓绿色的老熟枝条从其茎节外截成为20cm左右的苗砧,用适量杀菌剂处理后,放在荫凉通风处倒置3-5天,然后扦插于疏松、透气、湿润的苗床中,深度3-4cm,苗砧经常喷雾保湿。待苗砧30天后长出新根便开始施淡水肥,并保留一个芽点生长,其余的芽点抹除。当根系长至5cm左右时即可移栽种植。
2、制作水泥柱及水泥圈
制作规格为12cm×12cm×210cm的水泥方柱和直径为50cm的水泥圆圈。制作水泥柱前,里面放一条6mm的钢筋,杆顶部设置一段6cm×6cm×10cm的正方柱;另外制作4个穿孔直径为50cm的水泥圈,中间留6cm×6cm×10cm柱孔,便于固定在水泥杆顶部的正方柱上,用作支撑火龙果枝条生长。
(二)栽培管理技术
1、建园(1)选地
红肉火龙果对土壤要求不高,黏壤土、砂壤土都可以种植,但不同土壤对火龙果植株生长和产量会产生不同的影响。排水性良好和富含有机质的微酸性沙质壤土种植,生长最为旺盛,产量最高、品质最好;而排水不良、土壤瘦瘠的黏重土壤上种植,则生长缓慢甚至烂根死树,同时果实小、产量低、品质差。(2)立杆 立水泥柱规格为2.5×2.5m,每亩约100杆;立杆时,地面部份为1.6m,埋入地下0.5m并压实;然后把水泥圆圈固定在水泥柱上方,一柱一圈。
(3)备耕
种植前1-2个月,在水泥柱四方各挖一50×50×50cm的种植穴,每穴施入腐熟的鸡粪15kg(或猪粪30kg)+石灰1kg与土壤1:1的比例混合回填,至离地面20cm处,再回腐熟表土至地面高出20-25cm,待下2-3场大雨土堆沉实后开始种植。(4)种植时间
最佳种植时间在4-6月份进行,此时种植翌年5月后即可开花结果试产。
(5)定植
定植时种苗离水泥方柱25cm左右,水泥柱四方各种一株,即每柱4株;在土墩上挖一深度为6cm左右的种植穴,将种苗放入,把根系舒展开,然后覆盖一层泥土并用土压实,淋足定根水。种植时切忌种苗须根接触有机肥料。
2、幼苗期管理技术(1)肥水管理
幼龄树(1-2年生)以氮肥为主,做到勤施薄施,以促进植株生 长。植后1个月植株长新芽时,开始淋施沤制好的淡水肥,水肥为稀释10倍的粪水+1000倍尿素,每株一勺,离树头10cm处淋施,每隔15-20天一次。植后6个月,以稀释3倍的粪水十800倍尿素(或复 合肥),每株一勺,离树头15cm处淋施(或穴施),每隔25-30天一次。
(2)整型修剪
幼苗期应剪除所有侧芽,每株苗仅保留一个向上生长的健壮枝,以利集中养分向上生长,快速上架。每隔30cm左右用柔软的布条将苗径在水泥柱绑缚一个点,让枝条沿着水泥柱攀缘向上生长。当枝条超过水泥圈10cm时,剪除顶芽,促其分枝,并选留3-4条生长健壮和角度分配较好的新芽生长作为一级分枝,让其沿着水泥圈自然下垂生长。一级分枝长到35cm左右时再截顶芽促其分枝,每枝条保留3-4个芽条让其下垂生长,积累养分,以便提早开花结果。
3、结果树管理技术(1)肥水管理
成年树(2年生以上)以施有机肥为主,化学肥料为辅。每年3月、7月、11月,每株穴施腐熟鸡粪5.0 kg(或猪粪7.5 kg)+花生麸0.5kg+复合肥0.25kg。每批幼果根外喷施500倍磷酸二氢钾、800倍核苷酸或氨基酸等叶面肥,以增加树体养分,提高果实产量和品质。
(2)结果树修剪
结果树每年修剪二次。第一次春季修剪,2-3月时剪除病弱枝、徒长枝和过密枝,以减少养分消耗和促进光照,积累营养,为保留枝条的花芽分化及开花结果打下良好基础。第二次秋季修剪。11月采收结束后剪除挂果多年的老枝条、病虫枝及过密枝,保留分布均匀健 壮的枝条,促进其抽芽、生长、老熟,为来年开花、挂果打下良好基础。
(3)授粉
种植红肉火龙果品种同时,间种了10%的白肉火龙果,以利于品种间自然授粉,提高结实率。红肉火龙果是傍晚开花,清晨闭合凋谢,依靠自然授粉座果率低,果实偏小,产量低。为了提高栽培产量,采用人工授粉,在晚上9:00-10:30开花尚未闭合前,用干净毛笔直接将优质同花或异花的花粉涂到雌花柱头上,以提高座果率。
(4)疏花疏果
红肉火龙果开花次数多,挂果能力强。每年5-11月均能开花结果,多时每个枝条同时现蕾4-6个,最多8个以上,如不进行疏花,最终能成花者也只有1-3个花蕾,大多数花蕾在现蕾7天左右变黑脱落。因此,在现蕾3-5天,花蕾约花生米大时进行疏蕾,以每枝条保留2-3个花蕾为宜。当幼果发育至乒乓球大时进行疏果,每枝条保留1-2个发育饱满、颜色鲜绿、无损伤及畸形而又有空间的幼果生长,其余的疏除,以集中养分,促进果实正常生长发育,提高果实商品率。
4、病虫害防治
红肉火龙果病虫害较少。虫害主要有毛虫、蜗牛和蚂蚁,毛虫和蜗牛采用人工捕捉杀掉,蚂蚁利用杀蚂蚁药防治。在冬季低温季节植株易受冻害,枝条部分出现坏死并现霉斑,用杀菌剂类药物如粉锈宁、甲基托布津等药防治。
5、采收 红肉火龙果发育期为30-40天,当果皮开始转红后7-10天,果 顶盖口出现皱缩,表皮散发光泽即可以采收。而过早采收,内部营养还没有完全转化,影响果实的质量;过迟采收,则果质变软,不利于运输和贮藏。采收时,由果梗部位剪下并附带部分茎肉,采收时注意避免碰撞和挤压造成机械损伤,影响美观。采下的果实用泡沫塑料网袋套住,轻放入塑料箱内,排列整齐,运回仓库分级、包装和销售。
四、项目效益
1、茂名钜园农业果园效益情况
茂名钜园农业火龙果园从2006年种植50亩红肉火龙果,2007年获得总产2万公斤,销售价格11.0元/公斤,产值22万元;2008年获得总产4.25万公斤,销售价格11.2元/公斤,产值47.6万元;2009年获得总产7.5万公斤,销售价格10.0元/公斤,产值75万元;2010年获得总产9.1万公斤,销售价格10.2元/公斤,产值92.8万元;2011年获得总产10.2万公斤,销售价格10.0元/公斤,产值102万元,效益显著。通过种植苗繁育和扩种,目前种植总面积达800亩,生长正常,少部分正在进入试产。
2、社会效益
本项目一方面积极推广种植红肉火龙果,另一方面配套研究红肉火龙果早结、优质、丰产生产技术规程,并进行推广,先后在化州林尘镇、高州 镇、信宜 镇、电白县水东镇等地推广种植5000亩红肉火龙果,推广种植品种生长良好,大部分已开花结果。同时在全市推广红肉火龙果标准化管理,提高了全市的火龙果产量和产值。据不完全统计,通过几年来推广红肉火龙果及配套技术,全市累计增加火龙果产值1.2亿元以上,取得了良好的经济效益和社会效益。对丰富我市水果品种,优化品种结构,提高种植效益有积极的作用。
五、项目发展前景
茂名有零星种植火龙果的习惯,但种植品种多为白肉、黄肉品种,果肉味淡、商品价值低。红肉火龙果以果皮薄,果肉红色,硬度中等,肉质细嫩,口感脆甜,风味特佳,深受人们喜爱。红肉火龙果富含葡萄糖、维生素C及多种矿物质,有营养、保健功能,具有预防便秘、护肤养颜、降低血糖和血脂等功效,是很好的保健食品,既可鲜食又加工提取天然红色素,加工成化妆品。研究表明红肉火龙果适应茂名气候和土壤环境,适合在茂名地区发展,经济效益和社会效益显著,具有广阔的发展前景。
第三篇:工作流技术研究
工作流技术研究(1)(2008-09-10 19:29:14)
标签:工作流管理系统 工作流参考模型 杂谈 分类:工作流
工作流技术从起源到现在已有三十年的发展历史,为了规范工作流技术的管理,1993年成立了工作流管理联盟(WfMC)。WfMC统一了工作流的定义,制定了工作流产品结构和工作流参考模型等一系列的标准。本文针对工作流及其参考模型作简单的介绍。
首先,先了解一下工作流的相关定义。
一、工作流相关定义
定义1 工作流(Workflow):工作流的概念定义很多,其中被广泛引用的是工作流管理联盟关于工作流的定义,该组织为工作流管理系统的相关术语、体系结构及应用编程接口等方而制定了一系列的业界标准。工作流管理联盟给出的工作流定义是:全部或者部分,由计算机支持或自动处理的业务过程,它已根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流是指整个或部分经营过程在计算机支持下的全自动化或半自动化。工作流是企业中各种流的载体,它带动了信息流、物料流、资金流的流动,并决定了它们的流速和流量。通过工作流,考察信息、物料、资金等随过程的变化情况,从而可以方便地对一些关键指标进行跟踪和计算。其文
档、信息或任务可以遵循一组程序上的规则从一个参与者传送到另一个参与者。
定义2 工作流管理:工作流管理(Workflow Management, WFM)是人与计算机共同工作的自动化协调、控制和通讯,在计算机化的业务过程上,通过在网络上运行软件,使所有命令的执行都处于受控状态。在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。
定义3 工作流管理系统(WFMS—Workflow Management System):工作流管理系统是这样的一个系统,详细定义、管理并执行工作流,系统通过运行一些软件来执行工作流,它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的软件工具或应用。这些软件的执行顺序由工作流逻辑的计算机表示形式(计算机化的业务规则——过程定义)驱动。总体来说,实际企业中运作的工作流管理系统,是一个人与计算机结合的系统。
它的基本功能体现在几个方面:
? 定义工作流,包括具体的活动、规则等。
? 遵循定义创建和运行实际的工作流。
? 监察、控制、管理运行中的业务,例如任务、工作量与进度的检察等。
定义4工作流机:为工作流实例提供运行时期的执行环境的软件服务器或引擎。工作流机能处理:
? 解释过程定义
? 控制过程实例—创建、激活、挂起、终止等
? 为过程的活动导航,可能要包含顺序或者平行的操作、最后时间期限、对工作流相关数据进行解释
? 参与者签名和退出
? 确定任务项目,实现用户意图;提供接口,支持用户交互
? 维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传递工作流相关数据
? 提供调用外部程序的接口,连接所有工作流相关数据
? 提供控制、管理和审查功能
工作流机可以控制过程集、子过程、或通过对象类型的范围、及其属性定义好运行范围的实例。在一个由多个工作流机构成的工作流执行服务器中,要把过程进行划分,分配给工作流机。可以按照过程类型来划分,某个工作流机负责控制相应类型过程;按照功能进行划分,某个工作流机负责控制过程的一些部分,这些部分所需要的用户或者资源,都在此工作流机的控制范围内。也可以按照其他的一些机制来划分。
定义5 业务过程(business process):就是活动的集合,这些活动均关联于特定的托付事项(commitment),为过程的产出增值。相对于“工作流”,业务过程是一个更一般化的统称,而工作流这个词,则已经不能仅从字面含义或原理上去理解,它已经被赋予了更深一层的特定含义——专指基于信息技术规划、运作、管理的业务过程。
定义6 自动与协调:“自动”(automate)是工作流的一个特征,但这主要是指它自动进行的特征,而不是说没有人的参与。工作流实际上是一个人与计算机协调的混合过程,在一个实际的工作流中,通常总有些步骤是人完成的。协调是工作流管理的一个目标或者特征,这包括了人与人、人与计算机,计算机软件之间等多种层面的含义。
定义7 监察与控制:监察(Monitoring)与控制(Contorl)是工作流系统的重要功能与特征。这不仅包括对正在发生的业务过程(工作流),还包括它的定义或改
变(比如BPR的过程)。这是工作流系统带给我们的明显好处之一。定义8 标准化:工作流的概念被明确提出并得到重视的同时,人们就认识到了“标准化”在其中的重要性,有关工作流的标准开发和推广,基本是与“工作流”的开发和推广同步进行的。在这方面目前的权威性机构,是“工作流管理联盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已拥有 130 余个成员,成员包括工作流产品的供应者、应用者,有关大学和研究机构和个人,是一个国际性的非赢利组织。定义9 工作流与重规划:从逻辑上,对工作流的关注和研究可以看作是对业务过程重规划(BPR)的一种深化。BPR的观点,要求我们将眼光投向实际业务进行的过程,但这个过程应当是什么样的,怎样分析、构造?工作流就是一个具体的、操作性的答案,它可以令我们从神秘的、难以预测和控制的“头脑风暴式”的“艺术的”业务过程创造,变成解析的、技术的、可控制和预测的工程化过程,如此,才真正体现出
re-engineering 中 engineering 的意义。
工作流与 BPR 的概念,已经被几乎所有的研究者联系在一起研究和应用。在这个领域有一个非常活跃的组织,即国际工作流与重规划协会(Workflow And
Reengineering International Association, WARIA)。
工作流管理系统是一个真正的“人—机”系统,用户是系统中的基本角色,是直接的任务分派对象,他或她可以直接看到计算机针对自己列出的“任务清单”,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样,用户的任务
分派和任务的完成状态,可以被最大程度地计算机化和受到控制。
现在的典型工作流产品是客户—服务软件。而日益增长的重要途径是通过万维网界面,它可以令客户或远程的职员更好地参与。工作流的定义经常是借助于图形化
工具,依照业务过程实例的情况定义相应工作的安排。
二、目标领域
使用工作流管理系统的目的之一是作为企业应用系统集成(EAI)的平台。在当前大部分企业级IT架构中,各种各样的异构(heterogeneous)应用和数据库运行在企业内网中。在这些系统被应用到组织时,都有一个清晰的目标。例如,客户管理、文档管理、供应链、订单、支付、资源计划等等。让我们称这些系统为专门应用(dedicated applications)。每一个专门应用都包含它们所支持业务流程的领域知识。这些专门应用中的自动化流程,被拼装到企业中更大的非自动化流程中。每当一个这样的专门应用安装并投入使用,都会带来涉及其他多个应用的新功能需求。企业应用系统集成(EAI)就是通过使用多个专门应用满足软件新需求的方法。有时,这只需要在两个应用之间提供数据通讯的通道。专门应用将很多业务流程硬编码在软件中。可以这么说,在你购买专门应用时,你是购买了一组固定的自动化业务流程。而工作流管理系统是不必事先知道问题域的相关信息的。工作流系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活(当然你也要花精力编写业务流程的规格化描述)。这就是为什么说工作流系统和专门系统是相互补充的。工作流系统可以用来管理全局的业务流程。如果专门应用支持你所需要的业务流程,那么使用专门应用。在此讨论的工作流系统的第一种使用方式就是:结合所有的专门应用,使用工作流系统构建一个EAI平台。
工作流系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流系统都有一个方便的机制,来生成执行任务的表单。对于专注于ISO 或者CMM认证的组织,采用这种方式使用工作流系统能够显著提高生产率。不用将过程用文字的形式写在纸上,工作流系统使你通过
流程定义建模实现过程的自动化(如使用基于Web的应用)。
工作流系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。在前面我们谈到,专门应用将指定问题域相关的业务流程固化在软件中。开发专门应用的公司也可以将工作流引擎嵌入到他们的软件中。在这里,工作流引擎只是作为一个软件组件,对于应用的最终用户是不可见的。将工作流引擎嵌入到应用中的主要原因是为了重用
(不重复发明轮子)和应用软件的可维护性。
三、工作流参考模型
WfMC定义的工作流参考模型包括若干基本部件和5个基本接口(部件之间的箭头表示部件之间的接口),如图1所示。工作流执行服务器周围的接口是 WAPI(Workflow APIs),通过这些接口可以访问工作流系统的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。在5个接口中的许多功能,都是被2个或更多个接口同时拥有的,因此WAPI可以看作是统一的服务接口,可以交叉使用这5个接口来支持工作流管理功能,而不是单独的使用其中某个接口。
首先,我们粗况的了解一下参考模型中的基本部件,然后再对这些基本部件进行简单分析。
(1)过程定义:负责给出工作流程的定义,并以一定的数据格式提供给工作流引擎解释。
(2)工作流执行服务:工作流管理系统的核心,提供了过程实例执行的运行环境。工作流执行服务借助于一个或多个工作流引擎,激活并解释工作流流程定义,用来创建、管理、执行工作流实例。并同外部的应用程序进行交互,完成工作流过程实例的创建执行与管理职能。
(3)管理和监视工具:负责监控工作流的执行,对工作流管理系统中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等。
(4)工作流客户应用:执行者访问工作流的界面,活动参与者通过这样的应用程序参加工作流活动,获取自己的任务。
(5)工作流引擎:过程定义的解释器,它是工作流执行服务的核心。
(6)被调应用程序:工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。在过程定义中包含这种应用程序的详细信息如类型、地
址信息等。
(7)其他工作流执行服务:在大型的工作流管理系统中,工作流可能需要多个工作流引擎共同完成,甚至需要其他异质的工作流执行服务来辅助完成,这涉及到工
作流管理系统之间的互联。
其中过程定义通常包括一些独立的活动步骤,相关的计算机和用户通过一系列的活动步骤操作或制定规则以管理流程的步骤。
参考模型中定义的五类工作流接口。
(1)接口1(工作流定义转换):工作流服务和工作流建模工具间的接口,包括工作流模型的解释和读写操作。
(2)接口2(客户端应用程序接口):工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用与工作流服务之间的功能操作方法。
(3)接口3(应用程序调用接口):工作流引擎和直接调用的应用程序之间的直接接口。
(4)接口4(工作流机协作接口):工作流管理系统之间的互操作接口。
(5)接口5(管理和监视接口):工作流服务和工作流管理工具之间的接口。
在实际的应用中,很多商用和开源的工作流系统都没有严格遵照这个标准,或者说没有统一。一个原因是WfMC的标准对于很多细节没有明确说明,在实现时各个系统出现了各自的实现。另一个原因是,工作流系统与业务系统关系密切,受业务系统的限制或约束太大,因此支持不同业务的工作流在细节上差异很大,标准不易统一,做
一个通用的工作流系统难度比较大。
3.1过程定义
1过程定义工具(Process Definition Tools)
过程定义是用来创建一个计算机可以处理的形式的过程描述。可能要以形式过程定义语言、对象关系模型、简单的系统、脚本、或者在参与者间进行信息传递的路径集为基础。工作流定义工具,可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户,作为业务过程分析产品一部分,会有其他的组件来负责处理业务过程的分析或者模型,这时,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。有许多不同的工具可以用来分析、建模、描述业务过程;这样的工具有很大的不同从非正式的(铅笔和纸)到成熟的、十分专业。工作流模型不关心这些工具的特性,也不关心在过程建立时期他们是如何交互的。在以前指出过,这些工具可以作为工作流产品的一部分来提供,或者一个单独的产品,例如BPR工具集。
有的工作流产品提供了其自己的过程定义工具,从而过程定义一般是保留在工作流产品范围内的,并且可能或者不能被读/写信息的编程接口所访问。而使用单独的过程定义和执行服务器产品,过程定义能够在不同的产品间进行转换,并可以被其他产品访问。
设计活动和最后的过程模型输出,称为过程定义。在运行时期过程定义可以被工作流机解释。
过程分析工具、建模工具和定义工具,都要有在一个组织结构中模拟过程的能力(尽管这不是工作流参考模型规定必须有的)。如果组织模型集成到了这些工具中,那么过程定义将包含组织相关对象。这些都是与系统相关的控制数据,例如角色:活动者间的关系,可能会在过程执行期间被引用。工作流定义转换(接口 1)
在建模或定义工具与运行时期工作流管理软件间的接口,被称为过程定义导入/导出接口。这个接口的特点是:转换格式和API调用,从而支持过程定义信息间的互相转换。这个接口也支持已完成的过程定义间的互相转换,或过程定义的一部分。例如,过程定义的改变或者活动中属性的改变。
使用标准的过程定义格式有很多好处:
首先,把建立阶段与运行时期环境进行了分离,可以使用一个建模工具来产生过程定义,这个过程定义可以作为很多个不同工作流运行时期产品的输入。从而用户
可以单独地选择建模工具和工作流运行时期产品。
其次,可以为几个工作流机输出过程定义,这几个工作流机合作来构成分布式的工作流执行服务器。
WFMC在此部分作了以下两个方面的工作:
(1)提出了一个元模型,可以用来表示过程定义中的对象、对象间的关系和属性。这个元模型为不同的产品间的过程定义相互转换奠定了基础,并形成了一套转换
格式。
(2)工作流系统间或工作流系统与过程定义产品间的API调用,提供了公共的方法来访问工作流过程定义。访问可能是读、读/写或者只写操作,并且操作标准对
象集合(在元模型中定义的对象集合),或者产品自己的对象集合。
3基本元模型(A Basic Meta-Model)
WFMC开发了一个过程定义的元模型。元模型中定义了基本的对象类型集,来满足简单的过程定义相互转换。或者有开发者具体扩展,或者在增加的功能中定义另
外的一致性级别来增加更多的对象类型。
需要为下边的类型定义特殊的属
性:
工作流类型定义(Workflow Type Definition)
? 工作流过程名
? 版本号
? 过程开始/结束条件
? 安全、审查、控制数据
活动(Activity)
? 活动名
? 活动类型
? 进入动作和离开动作
? 其他约束
转移条件(Transition Conditions)
? 执行条件
工作流相关数据(Workflow relevant data)
? 数据名与路径
? 数据类型
角色(Role)
? 名称与组织实体
? 应用程序调用(Invoked Application)
? 类型和名称
? 执行参数
? 本地或者访问路径
在分布式工作流服务器中,可能要在过程定义时,为每个工作流机分配活动,可以作为活动的一个附加属性。过程定义能影响安全性与管理。定义的交换格式,要支持符号命名方案,这些符号可以映射到工作流执行服务器中的实际名称与地址。这种映射可以使用动态地址定位机制来实现(例如,目录服务器),也可以使用其他的外部过程定义机制实现。也有其他的一些行业在相关的方面作研究,例如过程建模和CASE转换工具;WFMC提出的方法也适用与其他行业,预
先定义适当的转换格式。
4访问过程定义的 API(APIs to access Process Definitions)
用来支持访问过程定义数据的API命令集。希望规范中包含下边列出的通用类型功能。命令集应该提供命令操作表,和操作的对象、属性,包括:
建立会话(Session Establishment)
? 连接/断开参与系统间的会话
工作流定义操作(Workflow Definition Operationis)
? 从过程定义库或者其他资源中,获得工作流过程的名称列表
? 选择工作流过程定义,为更多的对象级操作提供会话句柄
? 读/写上层工作流过程定义对象
工作流定义对象操作(Workflow Definition Object Operations)
? 创建、恢复、删除工作流定义中的对象
? 恢复、设置、删除对象的属性
3.2工作流执行服务
1什么是工作流执行服务器
由一个或多个工作流机构成的软件服务器,用来创建、管理、执行工作流实例。应用程序可能会通过WAPI来与这个服务交互。
在模型中,过程与活动控制逻辑间有一个逻辑上的分离,活动控制逻辑构成工作流执行服务器;过程与应用工具间、与终端用户任务间也有一个逻辑上的分离,应用工具和任务建立起对每个相关活动的处理。这种逻辑上的分离,为制定更多的行业标准提供了机会,也为在工作流程序中集成用户具体的应用工具提供了机会。
使用下边两个接口中的一个,就可以使工作流机访问外部资源:
客户端应用程序接口(The client application interface),通过这个接口工作流机可以与任务表处理器交互,代表用户资源来组织任务。然后由任务表处理器负责,从任务表中选择、推进任务项。由任务表处理器或者终端用户来控制应用工具的活动。
应用程序调用接口(The invoked application interface),允许工作流机直接激活一个应用工具,来执行一个活动。典型的是调用以后台服务为主的应用程序,没有用户接口;当执行活动要用到的工具,需要与终端用户交互,通常是使用客户端应用程序接口来调用那个工具,这样可以为用户安排任务时间表提供更多的灵活性。
在分布式的工作流执行服务器中,每个工作流机控制过程执行的一部分,并与这部分过程中的活动所要用到的用户、应用工具进行交互。在分布式的执行服务器中有公共的名称空间与管理范围的,从而过程定义、用户/应用程序的名称在一致的标准下被处理。分布式工作流系统,在工作流机间采用特殊的协议和信息转换格式,来同步工作流机的操作、过程交换和活动控制信息。也许工作流相关数据也要在工作流机间进行传递。在单一的工作流执行服务器中,这些操作都是由开发商自己定义的。
在工作流机间需要一个标准的交换格式,来实现异种产品间的调用。使用接口4,执行服务器可以把活动或者子过程转移到另外一个(异种)执行服务器中执行。在工作流参考模型中,这被称作“工作流机交互(Workflow Engine Interchange)”。
2过程和活动状态变迁(Process and Activity Transitions)
工作流执行服务可以看作是一个状态变迁机器,过程或者活动的实例在响应外部事件、工作流机负责的控制判断后,其状态发生改变。
下图描述了过程实例的基本状态变迁方案:
在上图中,发生状态转移(用箭头表示)来响应WAPI的命令;过程定义中的转移条件满足,也可能发生状态转移。
初始化(Initiated)—过程实例被创建,包括与过程状态相关的日期、工作流相关数据,但是过程还没有满足条件,不能执行。
运行(Running)—过程实例已经执行,过程中的活动如果条件满足就可以执行。
激活(Active)—过程中的一个或者多个活动已经被执行。
挂起(Suspended)—过程实例被静止,并且过程中的活动不能执行,直到过程返回到运行状态。
结束(Completed)— 过程实例满足结束条件;所有的完成后操作都将被执行(例如记录日志、或者统计信息),并且销毁过程实例。
终止(Terminated)— 过程实例在正常结束前被停止;所有的完成后操作都将被执行(例如记录错误信息、或者恢复数据),并且销毁过程实例。
活动是不能被中断的,例如工作流执行服务器一旦开始了一个活动,就不能挂起或者终止这个活动。这就意味着,只有在所有运行中的活动结束后,并且过程返回到运行状态,才能对过程执行挂起、重启、终止等命令。另外,可能需要把几个活动放在一起作为“原子单元”,这些原子单元要执行就全部被执行完,如果中途出现异常则返回到开始点,重新执行。可中断活动的处理办法和原子活动单元的重新启动能力,需要进一步的考虑,这超出了WFMC的初期工作范围。
忽略那些额外的复杂事物,活动实例的基本状态和转移如下图:
一个活动的基本状态有:
初始化—过程实例中的活动已经被创建,但是还没有激活(例如,活动的进入条件没有满足),并且没有任务需要处理。
激活 —创建好的任务,分配这个活动来处理。
挂起—活动实例被静止,并直到活动返回到初始化状态,才能为其分配任务。
结束 —活动实例执行完成。
当然,一个产品也可以实现一些其他的状态类型,或者使用不同基本状态和转移来代表上图中的状态和转移。参考模型没有指定工作流系统的内部行为,但是状态
转移阐明了,API命令集的影响范围的基本观点。工作流应用编程接口与数据交换(Workflow Application programming Interface & Interchange)
WAPI可以被看作是一套由工作流执行服务器支持的API调用和数据交换集合,这个集合在在工作流执行服务器的边界处,负责与其他资源交互。尽管结构中涉及到了WAPI中的5个接口,但是每一个接口中的许多功能都是公共的(即,同时被2个或者多个接口共同拥有)。
WAPI的主要功能由API调用组成。同时在WFMC也定义了接口间的,数据转换格式,例如过程定义。工作流控制,工作流相关数据和工作流应用数据
工作流执行服务器维护内部控制数据,来确定过程实例或活动实例的状态,并支持其他内部状态信息。这种内部控制数据不能被访问,也不能进行转换。但是有些信息内容是要对外提供的,来响应某些特殊操作(例如,查询过程状态等)。同种工作流执行服务器可能在工作流机间交换这些信息,通过使用具体的内部对话。
工作流控制数据—由工作流管理系统和(或)工作流机管理的内部数据。
工作流管理系统使用工作流相关数据来判断转移条件是否满足,并选择下一个要执行的活动。这些数据能被工作流应用程序访问,这些数据也需要通过工作流执行软件在活动间传递。当在同种环境下进行操作时,如果过程的执行要在2个或者多个工作流中进行,那么这些数据就要在工作流机间进行传递;这个过程可能需要名称映射
或者数据转化。
工作流相关数据—工作流管理系统用来判断过程中状态转移是否可以执行的数据。过程实例中的每个活动中可能都需要进行数据操作。因此,工作流模型必须能够在所有的处理活动间的“情形数据”交换。在一些环境中,可能需要情形数据在不同的工具数据格式间进行转换,例如,把文档从一种格式转成另外一种格式。(有的系统中,数据转换是工作流执行服务器来完成的;有的系统中直接把数据转换定义成过程中的一个活动来执行)
工作流应用程序数据—应用程序的具体数据,并且不能被工作流管理系统访问。
工作流应用程序数据不能被工作流执行软件所使用,只与应用程序或者用户任务的执行相关。就像工作流相关数据一样,在同种执行服务器中应用程序数据会在工
作流机间进行传递,来保证活动的正常执行。
应用程序与其需要用到的工作流相关或应用程序数据间的关系,会在工作流定义中说明。在一些情况下,可能是隐含关系(例如,在一些系统中情形数据会作为活动导航的一部分,传递到下一个活动中),然而在其他情况下(例如访问共享对象存储),就需要明确定义对象的名字和应用程序的访问路径。在参考模型中,把前一种情况
称为“直接数据交换”,后一种称为“间接数据交换”。数据交换(Data Interchange)
工作流相关数据和应用程序数据的交换,都需要访问WAPI,来支持在3个运行时期功能中的协同工作:
? 任务表处理器(Interface 2)
? 应用程序调用(Interface 3)
? 工作流机交换(Interface 4)
本节讲述数据交换的基本原理;提出了API命令集,包括从工作流机中接收/返回工作流相关数据的具体调用;并为直接数据交换和间接数据交换定义了,与上述
API命令集不同的命令集。
由Email驱动的工作流系统是一种典型的应用程序数据的直接交换,这样的系统中,应用程序数据物理地在活动间进行传递。这种情况下,不需要明确定义活动与应用程序数据间的关系;应用程序数据作为标准工作流活动导航的一部分进行传递,并且在应用程序调用时在本地直接与程序相关。需要在活动间提供数据格式转换时,应用程序需要定义与之相关的数据类型,可以作为一个属性来定义(这个属性信息可能存放在软件执行环境中,或者能被整个工作流执行服务器访问,例如地址目录)。这样,使用同种工作流应用程序构造的系统,就能够根据每个应用程序所定义的数据类型进行数据转换。需要采用一些协议来传递和保存数据类型信息,例如使用 X.400 对象标识符,或者Internet mail MIME机制。
一些类型的工作流系统(例如,使用共享文档存储实现的),在活动间不能从物理上传递应用程序数据。在这些系统中,应用程序要使用适当的访问路径才能进行数据访问。这样,必须要有统一的访问路径命名方案,必须是有效的访问权限,并且由激活的过程实例来控制访问权限。在这种情况下,如果需要,在建模时,数据格式转换
也可以作为一个活动。
同种系统中可能使用私有的对象命名协定和访问权限,但是异种系统需要一个公共的方案。在异种系统中,在过程定义时必须包含对应用程序数据对象存储的访问
路径,或者在活动间的导航必须包含访问路径的传递。
同种工作流产品进行协调工作,其必须采用相同的应用程序数据交换方法,或者通过一个网关机制进行协作,网关机制通过适当的协议,可以在两种不同的数据交换方法间进行映射,也可以处理对象命名与数据类型转换的不同。以后还需要对这部分进行细化,但有可能制定一个交换标准,来包含上述的两种情况。
工作流应用程序或相关数据交换的方法,都是通过3个接口来处理的;下边列出了这3个接口:
客户端应用程序接口—工作流相关数据可以包含在任务中。工作流相关数据也可以通过共享的对象存储形式来间接传递。
应用程序调用接口—依靠应用程序调用接口进行数据转换,可能需要在调用服务中把数据包含在具体应用程序协议中。激活的工作流应用程序可以使用,读/写工作
流相关数据的API,或者用这些API来构造通用应用程序代理。
工作流机协作接口—与客户端应用程序接口相似,尽管在不同的系统中支持不同的应用程序数据交换方法,但是网关功能的使用,需要在两种方法间进行映射,也
要处理名称问题。
3.3工作流客户应用:
1工作流客户端应用程序(Workflow Client Applications)
任务表处理器是在需要调用人类资源的活动时用来与终端用户进行交互的软件。任务表处理器可以作为工作流产品的一部分提供给用户,也可以由用户自己开发。在其他情况中,工作流可能要与普通的办公系统进行集成,例如Email,来为终端用户提供一个统一的任务管理系统。这就要求在工作流执行服务器与工作流客户端应用程序
间有一个非常灵活的通信机制,来构建各种可能遇到的运行系统。在工作流模型中,通过客户端应用程序与工作流机间的定义良好的接口进行交互。在这个接口中包含任务表—由工作流机分配给用户的任务序列。最简单的情况是,工作流机访问任务表,来把任务分配给用户;任务表处理器访问任务表,向任务表中添加任务项。有许多不同的产品来实现任务表的交互。
任务表中任务项的激活(例如,启动应用程序,连接工作流相关数据),可能是由工作流客户端应用程序或者终端用户控制的。在工作流客户端应用程序与工作流执行服务器间定义了一系列的方法,用来向任务表中添加任务项、从任务表中删除完成的活动、激活临时挂起的活动,等。
任务表处理器也可以调用应用程序,或者直接调用,或者由终端用户调用。通常希望,任务表处理器的应用程序调用范围能够受到运行环境的限制,尽管这样会给
模型带来通用性的限制,但这种情况是一直存在的。
与任务表相关的部分活动的数据,是任务表处理器用来调用应用程序所必须的信息。当应用程序数据是强类型时,在任务表处理器中要存放一个联接,用来实现程序的调用。在其他情况中,在任务表处理器与工作流机间要进行完全的应用程序名称和地址信息的交换;这时,工作流客户端应用程序也可能实现一些应用程序调用接口(接
口3)中的功能,来获得必要的信息。
任务表中可能要包含一个过程中的几个不同实例的相关任务,或者包含几个不同过程中的一个共同活动项。一个任务表处理器可能要与几个不同的工作流机、几个不同的工作流执行服务器进行交互。(按照每个产品的实现,为每个过程单独维护一个物理上分开的任务表,或者任务表处理器把几个不同的任务表联合到一起,呈现给终端
用户)
因此,客户端工作流应用程序与工作流机间的接口必须十分灵活,来满足下边的几方面功能的实现多样性:
? 过程和活动表示符
? 资源名和地址
? 数据引用和数据结构
? 可选择的通讯机制 工作流客户端应用程序接口(接口 2)
满足上述需求的方法,在标准API集后,可以为从工作流应用程序到工作流机和任务表的访问提供一致的形式,而不管产品的实现特性。
API与其参数可以映射到几个不同的通信机制上,来适应各种不同的工作流实现模型。
WFMC在其文档中,分开发布API规范;下边是对客户端应用程序API使用的一个概述,分成几个不同的功能。提供了对单独或者多个过程活动实例的操作命令,就像任务表一样。
建立会话(Session Establishment)
? 连接/断开参与系统间的会话
工作流定义操作(Workflow Definition Operations)
? 对工作流过程定义名称或者属性的恢复/查询功能
过程控制功能(Process Control Functions)
? 创建/开始/结束一个过程实例
? 挂起/唤醒一个过程实例
? 在过程实例或活动实例中强制一个状态发生改变
? 查询过程实例或活动实例的属性
过程状态功能(Process Status Functions)
? 打开/关闭过程实例或活动实例的查询,设置过滤标准
? 获取过程实例或活动实例的详细信息
? 获取具体过程或活动的详细信息
任务表/任务项处理功能(Worklist/Workitem Handling Functions)
? 打开/关闭任务表查询,设置过滤标准
? 获取任务表中的项目
? 通知选择/重分配/结束一个任务项
? 查询任务项属性
过程管理功能(Process Supervisory Functions)
? 改变过程定义或者它的实例的运行状态
? 改变某种类型的所有过程实例或活动实例的状态
? 为某种类型的所有过程实例或活动实例的属性赋值
? 终止所有过程实例
数据处理功能(Data Handling Functions)
? 恢复/返回工作流相关或应用程序数据
应用程序调用(Application Invocation)
? 上边对功能的概括,为支持任务表处理器对应用程序调用提供了基础。应用程序调用功能的一些命令是与客户端应用程序环境相关的。
? 有些产品可以只实现全部WAPI的一部分;以后会给出进一步的考虑,定义一致性级别,来满足市场中不同的产品间的,不同的协作需要。
3.4被调应用程序:
1应用程序调用(Invoked Applications)
所有的WFM产品都没有足够的逻辑单元,知道如何调用所有的应用程序,这些应用程序存在异种的产品环境中。这就需要,能够处理在所有平台下和网络环境中进行调用的逻辑,并需要能使用公共格式和编码进行应用数据或相关数据传递的方法。
然而,许多工作流系统能够使用了更多受限制的应用程序,特别是那些采用强制数据类型和直接与应用程序相连的系统。在其他情况中,应用程序对操作的调用,可能是通过标准的交换机制来实现的,例如OSI TP协议或者X.400。一些实现使用了“应用程序代理(Application Agent)”,把这些在在标准接口之后的各种方法包含在工作流执行服务器中。也有可能开发“Workflow enabled”应用工具,这种工具使用标准的API集来与工作流执行服务器进行通信,来接收应用程序数据、信号和响应活动事件等。这些API可以被应用工具直接调用;也可以被应用程序代理过过程调用,作为与其他应用程序(不包含任何工作流技术的程序)交互的前端。应用程序调用接口(接口 3)
下边是接口3的结构,“工作流”类型的应用程序或应用程序代理,可以直接使用这个结构。
在简单的情况中,工作流机在本地处理应用程序调用,使用过程定义中的信息来确定,活动的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储在工作流机中,或者与工作流机一同存储在相同的平台下,或者存放在一个独立的网络访问的平台中;过程定义中有足够的应用程序类型和寻址信息(工作流机的特殊需求),来实现应用程序调用。在这种情况下,应用程序命名与寻址的协定是处于工作流机与过程定义之间的。
应用程序调用API的详细语法、语义作为WFMC规范的一部分给出。操作覆盖了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是异步的。API的操作可以是单线程的,也可以是多线程的,后者使用活动ID来区分线程。下边是应用程序调用可以使用的一些命令概括:
创建会话(Session Establishment)
? 连接/断开应用程序会话
活动管理功能(Activity Management Functions)
? 开始活动
? 挂起/恢复/放弃活动
? 活动完成通知
? 信号事件
? 查询活动属性
数据处理功能(Data Handling Functions)
? 提供工作流相关数据
? 提供应用程序数据或数据地址
更复杂的情况,异种工作流机间的协同工作,可能需要在工作流机间传递应用程序调用信息,或者作为运行时期数据交换的一部分,或者通过在过程定义阶段后导
入过程定义来实现。
3.5其他工作流执行服务:
WFMC的一个主要目标是,为不同开发商的工作流系统产品,相互间能够进行无逢传递任务项,定义标准。
工作流产品的特性变化多样。在WFMC的协同工作标准中,没有强迫开发商必须提供一个只面向用户需求的产品或者只考虑协同工作。
WFMC把焦点聚集到,开发多种不同的协同工作框架,这些框架可以操作一系列标准的协调工作,从简单的任务传递到整个工作流系统的协同工作(包括过程定义转换、工作流相关数据交换、通用的界面等)。简单的协同工作,WFMC的协同工作定义将在最初就能支持;而复杂的协同工作,还需要进一步的研究。
尽管可以开发一个非常复杂的协同工作框架,由许多个工作流机构成个执行服务器,但是这种框架不会在近期实现,因为这需要所有的工作流机都可以解释一个公共的过程定义和共享公共的工作流控制数据集,事实上是维护异种工作流机间的一个共享过程视图。现阶段更现实的目标是,能够在运行时期传递过程的某些部分,来支持不
同的执行服务器运行。
WFMC定义了4个协同工作模型:链锁式,子过程嵌套,P2P(Peer-to-Peer),相似同步,包含多种协同工作能力级别
3.6管理和监视工具:
WFMC规范的最后关注的是为管理和监视功能开发公共的接口标准,这样一个开发商的产品就可以用来管理其他工作流机的运行。通过公共的接口,几个不同的工
作流执行服务器可以共享,管理和监视功能。
尽管,过程状态命令在接口定义中已经描述了,但一致认为,在某些行业中需要,进行全部状态监视和提取信息的功能。WFMC提出的接口,是要让用户能够得到工作流运行状态的完整视图,无论是什么样的工作流系统;同时,也希望能提供一套全面的功能集,进行系统管理,包括安全性、控制和权限。
接口中包含WAPI集中的一些具体命令,来操作管理和监视功能。另外,进一步的讨论,期望能够确定在什么范围内,这个接口可以使用现有的协议(如CMIP、SNMP),来设置、恢复管理状态和统计信息(定义在开放MIB中——Management Information Base)
“工作流” 已经成为了一个事实存在的概念和名词,可是到了2007年依然找不到没有能够明确的定义,在互连网上,我们随便在GOOGLE或百度上搜索,找到关于工作流的内容及定义可以说是百家争鸣,是标准、是引擎、是技术、解决方案、是思想、是架构。。到底是什么?
工作流到底是什么呢,对于从事做计算机软件设计的人而言,它是一项技术、是我们为我们的客户提供解决方案框架的一部分;对于从事企业信息化管理的人而言,它是一种思想,是我们降低用户的IT运维成本的一种方法;对于从事软件开发的人而言,它是一个架构,是我们如何利用成熟稳定的接口和组件低成本的开发出适应用户流程变化的应用程序。总而言之,工作流通过技术的手段,融入管理思想、为管理提供“人、事、物、流程、时间、条件”等多维管理能力,帮助用户实现管理目标。
既然今天谈的是“工作流”技术,那文章的重点就是占在技术的角度来讨论工作流,我们可以从以下几个方面来探讨工作流。
1、为什么要使用工作流技术
对于这个问题我们可以从软件企业的解决方案策略、用户运维的成本上及企业信息化规划等几个角度来考虑这个问题。
首先从解决方案提供者的角度来说,我们的CIO/CTO面临的一个很大的压力是在于我们为用户提供的解决方案滞后于我们的用户的商业策略,我们用户总是在变化中发展,商业策略面临着市场、竞争对手的压力而改变,而我们提供的解决方案却不能够快速适应这样的变化。工作流技术使这样的一种解决方案成为可能,同时工作流技术也为用户企业实现企业战略执行提供了实现的平台。
从IT运维的角度来说,目前很多IT公司面临了一种CTO(总体拥有成本)成本比例的变化趋势。因为大部分IT企业或IT部门的IT基础架构的现状,使我们用户运行维护的成本在逐步的升高,研发新能力的成本在逐步压缩,但我们的IT投资始终会变缓,特别是IT运行维护的成本在总体拥有成本中的比例。意味着IT企业和IT部门利益的空间将越来越小,其实我们身边的很多案例里就有很多IT企业被某些项目拖累致倒闭的现象。工作流技术可以脱离开发环境而设计业务流程的特性让企业IT运行维护成本大大的降低,从而提高了IT企业和IT部门的利益空间。
从企业信息规划的角度来说,可以回顾前些年的ERP、进销存、CRM等系统,大部分是管事的,系统主要是记录数据及其关联关系等,是静态为主的,但随着社会的发展与竞争格局的变化,企业的策略越来越需要能随需而动,生产管理活动也始终是“人”参与的活动,很多时候人需要激励、参与、满足、约束、被管理等等才能很好达到管理目标。因此新一代管理系统中协同性、灵活性、扩展性需求相当重要,工作流是提供协同性、灵活性、扩展性的最佳工具。
2、工作流用在哪里
毫五疑问,工作流技术是软件技术,用在软件设计领域,工作流分为业务型工作流和状态型工作流,业务型工作流大部分是要用在管理软件设计领域,为管理软件提供灵活性、扩展性、协同性等特质。帮助企业实现战略管理目标。
常用的工作流应用场景:
企业办公自动化系统
IT服务管理系统
客户服务管理系统
物流揽收调度系统
设备运维管理系统
质量考核监督系统
采购系统。。
3、如何使用工作流及哪些人使用
很多时候工作流是一个看不见摸不着的东西,存在于我们的业务管理系统软件中,至于如何使用、哪些人使用可以从几个方面说明。
工作流引擎是系统功能,是软件本身去使用的,工作流架构是包含工作流引擎使用、接口调用、业务系统应用框架的,是开发人员使用的,开发人员在工作流架构上设计开发包含工作流技术的不同业务领域的软件系统。
工作流平台一般是包含流程设计工具的,由企业流程管理用户去使用,通过工作流平台提供的流程管理工具将企业的战略和制度转化为执行语言。
软件系统普通用户使用的则仅仅是包含企业战略执行语言的业务管理系统。
4、工作流技术的选型
关于工作流技术的选型,对于从事IT工作的人员来说是一个需要非常慎重选择,在这里做些简单的阐述,工作流技术分为两种。一种是业务流程型的,比如我们的一些事件处理、服务流程、物流揽收调度、合同审批、设计审核等,需要工作流引擎根据各种表单的内容来人机交互来自动管理这个过程;另一种是状态机型的,根据一件事情的状态变化而自动进行处理,如工业控制,电路控制管理等。常用于一些工业自动化控制系统等。
我们经常听到有人说工作流引擎可以很快的就配置出一个业务系统出来,自定义表单,自定义流程,自定义报表等等,很快就给用户提供一个完整的业务系统,其实这样的想法是非常理想的,我们在开发我们的业务系统的时候我们会发现我们的业务系统不仅仅是功能的实现,它将面临着各个方面的需求,包括性能,并发处理能力、易用性、一致性及个性化等等,当工作流引擎只能满足60%的需求时,我们的团队将为另外的40%需求付出多少成本。因此在工作流的选型上很重要的一点就是它对于二次开发的支持,及接口的友好特性,同时它能支持我们在工作流基础上设计思路上的延续性。
因此工作流技术的选型不但要考虑工作流引擎本身功能的完整性和稳定性,工作流架构的扩展性、易用性及适应能力,还需要考虑工作流涉及开发人员、企业管理实施人员、企业用户的习惯和易用性等。纯粹的工作流的产品意义并不大,关键是否能很好的帮助企业实现管理目标。
5、工作流技术的应用
E8.Net工作流平台融入了新一代管理软件关注的重点思想,所有功能模块应用将权限体系、工作流引擎体系、表示逻辑体系、管理控制逻辑体系、扩展及个性化接口体系充分结合,从架构的设计上优化企业个性化业务系统实施成本,并通过流程管理工具,为企业实施个性化的企业流程,通过记录、监督、跟踪、回访、分析企业日常事务,持续改善企业管理流程,E8.Net工作流平台开源的开发架构设计过程中充分分析了管理行为中人的特性,基于E8开发的企业流程应用系统提供了事中监督、事后回访、全程跟踪的体系架构,E8工作流引擎功能设计中也充分考虑了流程和环节模型特性、环节行为人群体特性和中国特色,流转过程中基于权限体系提供了人为因素中“主动/被动”异常的解决思路,解决快速实施企业业务流程需求的同时,又提供了人性“非理想”状态下的异常解决方案和防范控制解决方案。
工作流技术在协同办公中的实现
http://www.xiexiebang.com 2008年10月28日 17:04 比特网ChinaByte
一、协同办公(OA)系统简介
协同办公(OA)系统是一套兼具企业信息门户、知识管理、工作流管理、人力资源管理、客户与合作伙伴管理、项目管理、财务管理、资产管理功能的协同商务平台,协同办公(OA)系统是一个数字化的企业应用环境,真正让公司所有的信息都在一个平台上管理,解决信息孤岛问题。协同办公系统本身具有的网状结构,为企业打通所有的信息节点,让企业管理者轻松穿梭在客户、员工、文档等所有的信息节点上,因为协同办公系统为您提供了一张信息网,只要您找到这张信息网中的某个节点,您就可以轻松的以这个节点为中心把企业的整个信息网都提取出来。
同时,协同办公(OA)系统可以与后台的ERP软件集成在一起,将所有利益相关者、企业部门、不同应用系统的信息整合到统一的渠道,并提供统一的界面给用户操作和提取信息,从而实现业务处理和信息获取与共享的一体化,达到内部协同和外部协同,为每一个用户提供一个完全的个性化门户,用户在这个个性化的门户中管理日常的所有事务。
二、工作流管理简介
由于工作流预先定义的特性,已设定的请求可以很容易的遵守相应的规则和实际操作情况。企业可以确信所有的请求都是根据规则和手续来输入和批准的,从而保证企业运作的规范化和透明化。上海泛微软件公司的协同办公(OA)系统中实现的工作流e-Workflow管理可以对内部以及外部业务处理采取电子化管理方式管理,工作流管理是提高组织效率的有效工具。
e-Workflow提供强大的自定义功能,支持企业复杂的工作流设置。企业可对工作流的组成因素包括流程完成需要的阶段、每个阶段的负责人、流转条件,直至相对底层的表单和字段进行自定义,使得工作流的定义完全与企业的政策和实际运营相符合,而不必进行复杂的二次开发。
e-Workflow同时也提供了可定制的浏览和报告的功能,用户可以对工作流的关键信息进行任意的定义以获得特定的报表。e-Workflow的特性可以使用户获得非常灵活和丰富的统计报告以对相关的决策作出支持。
三、工作流管理实现基本功能
1定义任意形式的工作流程
e-Workflow强大的自定义功能可以满足企业对复杂工作流程的定义,包括文档流程和表单流程e-Workflow 与 e-HRM结合对于人员在组织结构中的地位和角色将是工作流设计的基础。
2工作流执行
可设定的对工作流的执行包括提交、批准、退回、拒绝、代理、重新打开、归档等,e-Workflow会根据路由的判定条件和当前节点的执行操作设置工作流的下一目标节点。
固定流程和自由流程的结合
原则上是固定流程,应该一步步走下去,但是在某个节点,加入一个自由流程审批人可以选定下一步的审批人,然后再按照预定的流程走下去。
如:申请者-部门经理-出纳-财务经理,对于大一点的公司,有多个出纳,哪个出纳在岗,就让哪个出纳审,那么就可以把出纳那步设成自由流程,当部门经理审批完后,会自动列出所有的出纳,部门经理选择其中的一个出纳然后提交。
4表单数据自动生成
表单的有些数据,不希望由人工输入获得,e-Workflow可以根据被计算字段、原始数据和计算方法自动得出目标字段数据,并可以此作为下一路由选择的判断条件。
5跟踪和回溯
e-Workflow保留工作流流转过程中的所有信息以供查询。对于文档型的审批,可以保持痕迹。这样审批人能够一目了然知道原稿和审批稿的区别。监控和管理
对于某个模板产生的单据,可以设定监督人和管理人,这样既使他没有审批权,也可以看到该单据,同时发送催办信息。当某个单据因为某种原因需要临时更改流程时,监督和管理人可以修改流程,以避免单据的积压提高工作效率
7自动提醒
对于请求的不同状况,例如新的请求到达、待处理请求、超时未处理请求、客户联系计划、请求递交被处理状况等,系统都设定了多种提醒功能以确保请求的处理不致延误。
8流程自动激活
e-Workflow的一个强大之处就是在于它可以让系统在运作的过程中自动触发请求,并且还可以根据前一个请求的实际状况对下一个触发的请求进行智能选择。
9自动更新数据库
e-Workflow在信息流转的过程中,会自动更新系统原有的相关数据库,这是 e-Workflow 另一个重要的特性体现,通过数据自动更新,避免了二次手工录入带来的工作效率低下和失误的情况,真正实现企业管理和运营的电子化。
10分支选择流
根据上一步的选择,选择不同的分支进行流程执行。如:如果上一步是总经理审批的,会选择一个分支进行流转。如上一步是副总审批的选择另外一个分支进行流转。
11条件流转
以请款单为例:金额小于3000元,审批流程是:普通员工-部门经理。如果金额大于3000元的审批流程是:普通员工-部门经理-总经理,那么在流程定义的时候,需要根据单据的填写值进行判断,系统自动选择流程。
12传阅、归档等的并发流
如有一个流程:申请者-副总经理的一张单子,申请者需要提交副总审批的一张单子,不需要部门经理审批,但是需要让部门经理知晓,称为传阅的并发流。同理有归档或者其它的并发流。这种并发流的特点是一个流程的执行过程中,会产生另外的的流程,互不影响。
13流程门户定义
通过与企业信息门户的结合,e-Workflow实现流程定义的门户化,根据不同的信息门户设定不同的流程。
四、小结
工作流技术的出现和迅速发展为企业先进制造战略的实施提供了重要的技术支持。本文提出了分布式工作流建模工具的设计框架,以 SOA设计模式,通过三层结构的方式很好的实现了工作流建模工具、逻辑、数据、视图的分离,使得系统在可扩展性、可靠性与实用性方面都大大提高。以此为原型开发的泛微e-Workflow工作流管理系统很好的配合了工作流引擎的设计。在实际中的初步应用表明该系统通过分析企业不同类的经营过程,采用有向图的方法对现实的企业活动进行形式化描述,并严格定义组成有向图的各类元素的行为特征,从而明确建立企业经营过程到工作流模型的映射机制.使其与企业现有应用结合形成一个完整的过程体系。责任编辑:胡艳丽 工作流管理技术介绍
2009-11-25 作者:葛志春 来源:希赛网
摘 要:本文主要对工作流技术的起源,工作流的概念,研究的技术的内容及工作流管理系统作了深入的介绍;并对工作流技术在国内外的应用现状及不足作了深入的分析。
关键词:工作流、表单
1、工作流技术应用背景
传统的计算机管理信息系统的主要功能有三个:即信息处理、事务处理与决策支持。信息传递和信息处理构成了企业和行政管理部门的业务工作内容之一,也是计算机信息系统的主要功能之一,它是企业和行政管理部门进行事务处理和决策支持的基础。
当PC机没有作为信息处理工具而出现的时候,纸张是进行日常业务活动不可取代的载体。这种传统的纸张为载体的信息传递与处理方式的效率很低,需要花费相当的人力、物力来完成信息的处理、组织、存储以及查询检索,同时这种方式降低了对客户需求的响应速度,给企业和行政管理部门的生产经营都带来了及不利的影响。在计算机得到了广泛普及、计算机应用水平日益提高的情况下,企业与行政管理单位的工作人员希望能够以一种无纸化的、计算机使能的工作环境来开展日常业务工作。一些企业和行政管理部门因此建立了相应的文件、表单传递系统(Forms-routing applications)用来实现日常表单处理的电子化与自动化。这种简单的文件、电子表单系统可以看作是工作流应用的雏形。
企业的经营过程是由一系列相关的任务组成的;这些任务按照企业的管理规章与业务流程串行或并行的执行,最终完成企业的经营目标。自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,它是企业管理的主要研究内容之一。只不过在没有引入计算机信息系统的支持以前,这些工作是由人工来完成的。随着市场经济的发展,市场竞争的日益激烈,企业要求其业务过程能够进行快速重组;业务过程的不断变化也相应要求信息系统能够快速重组。这样,单靠人工对企业过程进行重组和传统的面向功能的信息化计算机系统已经不能适应现代企业的发展。因此,企业希望有一种能够实现企业快速业务流程重组和业务过程自动化的软件系统。在计算机网络技术和分布式数据库技术迅速发展、多机协同工作技术日臻成熟的基础上于20世纪80年代中期开始提出了工作流的概念。工作流技术的提出与发展为企业更好的实现这些经营目标提供了先进的手段。
随着经营业务的展开企业的物理位置逐渐分散、部门间的协作日益频繁;决策过程的分散性也日益明显,对日常业务活动详细信息的需求也日益提高。因此,企业又要求信息系统必须具有分布性、异构性、自治性。在这种大规模的分布式应用环境下高效地运转相关的任务,并且对执行的任务进行密切监控已成为一种发展趋势。在这种技术背景下,工作流管理系统也有最初的创建无纸化办公环境,转而成为同化企业复杂信息环境、实现业务流程自动化的必要工具。这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究。
1993年工作流技术的标准化组织工作流管理联盟(Workflow Manangement Coalition 简称:WfMC).的成立标志着工作流技术在计算机应用领域之中被明确的划分出了自己的一席之地,相应的概念与术语也得到了人们的承认。在全球范围内,对工作流的技术研究以及相关的产品开发了进入了更为繁荣的阶段。
2、工作流定义
工作流是从英文单词Workflow翻译而来的。Work表示工作或任务;Flow则表示流动、流程或者流量。Flow反映了一种变化及变化的过程,本身意义比较抽象,但是当它与某一个具体过程相联系时就有了具体的含义,如电流、水流、气流。在经营管理与生产组织中Flow也有重要的意义,如表示物料传输过程的物料流、表示资金流动的资金流、反映信息处理和传递过程的信息流,同样还有价值流、决策流、控制流等概念。依此,用活动及活动之间变化的过程表示的业务流程就是工作流。
十几年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义,但到目前为止,对于工作流仍没有统一的定义。下面列举了一些有代表性的定义,可以使我们对工作流的一些基本特征有一定的理解。
WfMC的定义:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。
Forrester Report的定义:日常的业务处理或协同工作能按预先定义好的规则和过程进行流动,并且这一流动过程能被跟踪和监控。
Giga Group的定义:工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行它,支持任务的信息流、评价与控制任务的跟踪、报告机制。
IBM Almaden Research Center的定义:工作流是经营过程中的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个单独步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。
Amit Sheth 的定义:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体完成。一项任务定义了需要做的某些工作,它可以以各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条信息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(如:邮递员、一个应用程序、一个数据库管理系统)。
以上这些定义,虽然表述方式略有不同,但是基本上都说明了这样一个问题,即工作流是业务过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流作为业务过程的实现技术首先要求工作流系统能够反映业务过程的如下几个问题:即业务过程是什么(有哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、有谁来做(人或计算机程序,也就是组织角色的定义)、做的怎样(通过工作流管理系统对执行过程进行监控)。因此,可以说工作流是一种反映业务流程的计算机化的模型,它是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务系统。
3、工作流技术研究的主要内容
工作流技术,在初期主要由工作流产品供应商推动其发展。随着工作流产品在实际应用中不断取得良好的效果而得到了人们日益的重视,并且到了迅速发展。相对于工作流产品的繁荣,工作流相关理论研究则显得滞后。在过去很长一段时间里,有关工作流技术方面的研究主要有商品化的工作流产品供应商所领导。本着把工作流产品推向市场的目的,这些供应商大多把研究的注意力放在工作流管理产品的开发实施方面。目前在工作流设计方法学,工作流概念模型等方面还没有形成一套比较成熟的理论和方法。在工作流理论与实施技术方面,研究的主要内容包括:
工作流管理系统体系结构;
工作流模型与工作流定义语言;
工作流的事务特性;
研究如何实现高级事务处理技术与工作流管理技术的结合,用定义良好的模型语义与恢复机制来提高工作流系统的正确性与可靠性,从而能够更好的支持复杂的业务过程;
工作流实现技术:包括面向对象技术、异构分布式计算技术、图形化用户界面、消息通信、数据库、WEB等在内的与工作流系统的设计实现有关的各项技术及方法;
工作流的仿真与分析方法;
基于工作流的应用集成与互操作技术;
研究异构应用系统的集成以及不同工作流系统之间的互操作问题;
工作流与经营过程的重组:研究如何通过工作流系统的实施支持快速的实现经营过程重组;
工作流技术的其他应用:研究如何将工作流技术在不同的领域进行运用,包括在CIMS中的应用。
上述主要研究课题可以归纳为三个方面(如图1):第一方面是工作流的理论基础,包括工作流管理系统的体系、模型与定义语言(工作流的建模方法、工作流模型的形式化表示、工作流定义语言)等的研究。这一部分是工作目前相对来说比较薄弱,还有许多问题需要进一步研究。第二方面是工作流的实现技术,包括工作流的事务特性、各种先进软件技术的应用、工作流仿真。这方面研究工作的目标是提高工作流管理系统的性能,尤其是提高工作流管理系统可靠性及其在处理大规模复杂的且具有并行业务的流程方面的能力。第三方面是工作流技术的应用,包括工作流实施技术在不同应用领域的应用(如在企业经营过程重组、并行过程、敏捷制造)方法、应用软件集成等。这几方面研究的目标是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有向实现手段。
图1:工作流技术研究内容
4、研究工作流的意义
工作流技术的应用将给组织单位带来巨大的效益。首先,采用工作流管理将使组织单位改变传统的按照功能来配置人员的组织结构,变成按照要实现的主要业务流程来配置组织结构,这样可以大大缩短主要业务过程的处理时间,提高对市场的响应能力。其次,组织结构的改变将大大减少在组织内部不必要的的物料、信息的传递时间。当然,整个组织结构的调整首先需要调整传统的以部门为单位的做法,变成以项目来组织生产和人员的工作方法,如:一个人可能同时从属于多个项目。应用工作流管理系统主要可以取得如下好处:
1)提高管理的规范化程度;
2)更好地与上下游单位形成快速响应市场的供应链网络;
3)降低业务过程的整个处理时间,如在办公自动化环境中,通过更好的规划工作流程,并行执行相互独立的活动,减少文档的传递时间;
4)降低管理成本,如避免不必要的重复的工作,提高工作人员的工作效率;
5)改进工作质量,如自动完成某个任务所需要的相关信息。在客户服务中,能够快速方便的访问所有相关数据和工作流程,从而大大提高客户服务质量;
6)在工作人员之间更好的均衡负荷,如在工作人员缺勤的情况下,自动柔性分配替代人员;
7)通过在工作流模型中加入可预计的故障的处理策略来提高系统的柔性;
8)通过对已经完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程;
9)使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员进行单调乏味并且十分耗时的文档查找工作。
采用工作流管理系统可以在最大程度上集成组织的现有信息资源,实现资源的充分利用。由于工作流管理系统具有较好的柔性和开发性,因此,可以保证信息系统能够顺利的扩展以满足不断变化的市场环境。另外,工作流管理系统在工作流模型的基础上进行业务过程进行,这就意味着信息系统已经从过去没有一个具体的可量化指标的管理信息系统,发展到了一个建立在工作流模型上(并且是可以利用BPR或者其他仿真工具进行优化后的模型),按照预先定义好的规则进行执行,并且对于执行的结果随时进行监控和评价的规范化阶段。这种由过程建模—〉模型分析—〉过程优化—〉执行结果—〉统计分析—〉改进业务过程—〉优化运作的实施方法为成功地实施信息系统奠定了坚实的基础。
5、工作流管理系统
工作流技术是当今一项飞速发展的技术,它最基本的特性就是它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。
工作流是业务的自动化处理过程,在这个过程中,根据预定义的规则将文档、信息在过程参与者中传递,最终完成业务的处理。工作流管理系统(WFMS)是通过管理一序列工作行为以及与活动步骤、相关人员、资源设备来提供业务处理程序上的自动控制,它是通过计算机软件来定义、管理和执行工作流,计算机的执行顺序是由工作流逻辑的计算机描述来驱动的。
工作流管理系统主要具备以下三个功能特征,如图2:
工作流定义功能,主要是对业务处理过程的计算机定义,提供了一种或多种分析、建模、系统定义技术,将一个现实世界的业务处理过程转换成计算机可处理的定义;最终的定义叫作过程模型、过程模版或过程定义,可以表现为文本、图形或自然语言符号。
运行控制功能,对过程的定义进行解释,创建并控制过程的运行实例,调度过程的各种行为步骤,调用适当的人工和IT应用程序资源;工作流管理系统的核心部件就是工作流管理控制软件(工作流引擎)。
运行交互接口,提供与人员或IT应用程序工具进行交互接口来处理各种活动步骤,交互接口对于活动间的控制传递是必须的,如确定过程的状态,调用应用程序工具,传递应用程序数据等。
图2WFMS的三个特征
6、工作流管理系统的分类
根据所实现的业务过程,工作流管理系统可分为四类:
1)管理型工作流(administrative workflow):在这类工作流中活动可以预定义并且有一套简单的任务协调规则,例如,大学里的课程选修,完成论文后的学位申请等。
2)设定型工作流(ad hoc workflow):与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。
3)协作型工作流(collaborative workflow):参与者和协作的次数较多。在一个步骤上可能反复发生几次直到得到某种结果,甚至可能返回到前一阶段。
4)生产型工作流(production workflow):实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。与管理型工作流相比,生产型工作流一般应用在大规模、复杂的和异构的环境下,整个过程会涉及许多人员和不同的组织。
根据底层实现技术,可将工作流产品分为三类:
1)以通讯为中心:以电子邮件为底层的通讯机制。这种类型的工作流管理系统适合于协作型工作流和不确定型工作流,而不适于生产型工作流。
2)以文档为中心:基于文档路由,它同外界应用的交互能力有限。许多基于表的管理型工作流可以用以文档为中心的工作流实现。
3)以过程为中心:这种工作流系统对应生产型工作流。它们一般建立在数据库之上,有自己专用的通信机制并且提供了同外部进行交互的接口。
根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类:
1)基于文件的工作流系统:以共享文件的方式来完成任务项传递。这种类型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。
2)基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。代表产品有Novell与FileNet合作开发的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。
3)基于Web的工作流系统:通过WWW来实现任务的协作。这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供应商纷纷改进原有产品或开发新产品以增加对Web的支持。代表产品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。
4)群件与套件系统:虽然这一类产品与上面介绍的三种产品在任务传递方式上有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office与Exchange、Novell公司的GroupWise。
7、工作流管理系统的实施
工作流管理系统不同于ERP和普通的企业管理信息系统,ERP与普通的企业管理信息系统是事务处理系统,其主要目的是满足企业业务操作功能,提高企业事务处理的效率和水平。从企业整体的业务流程和企业经营目标上看,事务处理系统一般局限于解决某个或者某些领域的问题;事务处理系统的另外一个局限性是它一般局限于解决组织内部的具体操作问题,面向组织内部功能,而不是面向市场和面向客户的系统。工作流管理系统的着眼点是面向市场、面向客户,其目标是在整个企业的业务层提高企业的业务处理水平、强化企业的市场意识、提高对市场的应变能力。
由于工作流管理系统与普通事务处理系统存在显著的差别,工作流管理系统在实施方法上也不同于普通的事务处理系统。要实施工作流管理系统首先要在战略层次上对经营目标进行分析,确定战略目标和组织要求。工作流管理系统实施的层次结构,如图3。
图3 WFMS实施的层次结构
在完成了战略目标分析和工作流实施战略后,工作流管理系统才能够进入真正的实施阶段。工作流管理系统在实际系统中的应用一般分为3个阶段,如图4,即模型建立阶段、模型实例化阶段和模型行阶段。模型建立阶段通过利用工作流建模工具完成经营过程模型的建立,将实际经营过程转化为计算机可处理的工作流模型。模型的实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源(包括资源、人员、应用)。模型执行阶段完成经营过程的执行,在这个过程中重要的任务是完成人机交互和应用的执行,并对过程与活动的执行情况进行监控与跟踪。
图4 WFMS 实施的三个步骤
8、国内外应用现状与不足
8.1 应用现状
目前工作流技术的研究正日益受到人们的重视,许多大学和研究机构都开展了很多研究项目,取得了重多的研究成果,对工作流技术的发展做出了贡献。
由于工作流应用环境大多是在复杂的分布异构环境中,如企业内部网或因特网,因此应用最新的分布对象处理技术和Web技术,实现工作流管理成为当前研究的重点。有影响的工作流原型系统有:
1)美国佐治亚大学研制的Meteor系统:该系统是一个支持多范型的工作流管理系统,主要用于处理医疗保健应用。多范型是指该系统能够支持分布异构环境下的企业内和企业间的各种工作流。这些工作流可以是数据库管理系统和分布式事务处理系统中的事务,也可以是EDI等特殊应用。Meteor系统可以在Web或CORBA环境下运行。
2)美国普度大学开发的CORBAflow系统:该系统提出了基于CORBA的体系结构,支持跨平台的异构分布系统集成,支持弹性ACID性质;扩展了IDL语言以定义事务性工作流中的补偿事务。
3)土耳其中东大学开发的METUFlow系统:该系统提出了一种基于CORBA环境的工作流服务,包括基于ACTA扩展事务模型的工作流模型、块结构化定义语言、工作流调度管理和并发控制机制等。
工作流的许多概念来自于办公自动化、文档管理、计算机支持协同工作(CSCW)等领域。至今约有300个称为工作流工具的商品化软件,但只有数十个是真正的WFMS软件。一些著名的WFMS产品有:
1)IBM公司的FlowMark系统[9]该系统由对象数据库管理系统ObjectStore支持。主要组件包括服务器、建立客户器、运行客户器和程序执行客户器。服务器负责与数据库交互及协调工作流执行;建立客户器提供用于设计工作流的图形接口;运行客户器提供工作表方式的用户接口;程序执行客户器提供API调用方式的应用接口。
2)Action公司的ActionWorkflow系统该系统由微软的SQL服务器或Lotus Notes支持,包含三个基本组件:①管理系统内核用于集成和管理工作流事务;②分析器提供设计工作流的专门工具;③应用建立器用于将工作流定义转化成可执行的过程。此外,还提供辅助工具,如报表器用于查询工作流的进展状态。
3)Sigma图象系统公司的OmniDesk系统它使用提供ODBC接口的数据库。其中,路径管理器用于工作流管理和负载平衡;路径建立器用于定义路径逻辑;表格建立器用于创建工作流接口。虽然OmniDesk系统主要是为图象文档管理设计的,但是也可以管理其他类型的工作流。
4)Wang公司的OPEN/workflow系统该系统建立在自含的数据库引擎之上。系统分为数据库服务、图形过程建立器、集成工具箱、报表工具。数据库服务提供基本的完整性、安全性、并发控制、恢复和管理功能;图形过程建立器用于定义过程;集成工具箱提供应用之间交互需要的API调用和通信服务;报表工具如查询建立器和报表建立器用于访问有关过程执行的信息。
8.2 工作流应用技术的不足
实际上,大多数产品的开发由于没有清楚地理解用户的需求,而不能满足用户的迫切需要。许多工作流系统主要是解决共享和协作(某些问题仍未很好解决,如异构平台环境、多媒体数据),而像性能、可伸缩性、可靠性对于复杂应用系统来说至关重要的问题,现有工作流软件并没有考虑。主要原因是,这些系统的建立不是基于在线事务处理(OLTP)技术和数据库技术,只是使用数据库做底层存储,因而在这些领域缺乏技术成熟性和系统健壮性。
另外,由于已有的绝大多数WFMS产品和原型系统的设计是面向普通的办公室应用,因此存在以下不足:
1)工作流模型只能描述如办公自动化中电子邮件或文档等简单的工作流,而不能描述工程设计等复杂过程处理。
2)经营业务流程往往是复杂的异构环境,现有产品不能提供很好的互操作性。例如,在异构环境中,IBM的FlowMark不提供API接口以支持一个工作流的输出,作为下一个工作流的输入。
3)一个工作流可能涉及到多个单位和车间,或多个工厂和企业,例如,在虚拟制造应用中,可能包含成百上千个用户,覆盖广域网络中的数十个场地,上百台计算机系统。大多数现有工作流软件只是设计为一种协作工具,适用于小群体之间业务的工作流,在体系结构上存在缺陷,缺乏可伸缩性。
4)现代组织应用要求系统具备非常高的可用性和健壮性。现有工作流软件只适合于小团体和轻负载,缺乏有效的后备机制,不具备强的故障恢复能力。
为了进一步研究开发支持应用集成的CIMS工作流管理技术,我们认为,需要解决以下关键技术:
1)面向CIMS的工作流建模技术包括工作流模型和定义语言。如何采用弹性事务模型、分层事务模型和工程数据模型相结合的方法,设计出一种适合于CIMS工程应用的工作流模型。
2)基于CIMS信息集成平台的工作流管理系统体系结构CORBA软件总线提供了良好的平台透明性和分布透明性,以及分布对象操作能力,如何充分利用CORBA软件总线和信息集成平台,实现一个高效的工作流管理系统。 3)面向分布对象的工作流管理和执行技术CORBA软件总线系统提供了对象引用、启动和联编机制。工作流管理与执行机制需在此基础上完成作为对象任务的创建、调度、执行、提交或取消,保证工作流的正确性和可靠性。还需要考虑在CORBA软件总线上增加新的公共服务,如持久性对象仓储服务、故障恢复服务等。
4)面向CIMS目标产品的集成技术工作流管理系统是一种中间件技术,适合于任何计算机分布处理系统,在CIMS应用集成涉及的有关系统中,如PDM、MRPII等,都需要这方面的集成技术。
参考文献
[1] 林惠萍、范玉顺、吴澄,“支持企业经营过程重组的工作流仿真技术研究”,http://www.simflow.net
[2] 范玉顺,《工作流管理技术基础》,清华大学出版社,2001.4
[3] 陶冶、范玉顺、罗海滨,“分布式工作流系统的可靠性研究”,http://www.simflow.net
[4] 罗海滨、范玉顺、吴澄,“工作流技术综述”,http://www.simflow.net
[5] 范玉顺、吴澄,“基于工作流的CIMS应用集成支持系统研究”,http://www.simflow.net
[6] 刘佚名、范玉顺,“基于工作流的企业过程的建模和仿真技术研究”,http://www.simflow.net
[7] 范玉顺、吴澄,“基于协调理论的工作流建模方法”,http://www.simflow.net
[8] 陶冶、范玉顺、罗海滨,“提高分布式工作流管理系统的可扩展性”,http://www.simflow.net
[9] 鲍震宁、范玉顺,“企业组织模型结构和建模方法研究”,http://www.simflow.net
[10] 罗海滨、范玉顺、吴澄,“一种面向企业用户的工作流模型”,http://www.simflow.net
第四篇:《有机稻米集成生产技术研究与应用》工作总结报告
《有机稻米集成生产技术研究与应用》工作总结报告
——扬中市益康稻谷专业合作社课题组
常规稻作生产主要依靠施用大量化学性物质来夺取水稻高产、稳步、控制稻田有害生物,但过多地施用化学性物质,势必造成农业生态环境污染和稻米卫生品质恶化。有机稻米生产是指在无污染区域内或已经消除污染的区域内,充分利用自然资源,最大限度地限制外源污染物质进入农业生产系统,生产出无污染的安全、优质、营养类产品,同时生产及加工过程不对环境造成危害,从而有利于保障农产品生产安全,保护农业生态环境,提高农产品质量安全,实现可持续发展。
有机稻米生产是集成目前农业方面最先进技术于该项目一同实施,使其产品,环境等方面都能达到最佳效应。我们项目组重点引进、稻鸭共作,选用优质水稻品种,生物有机肥应用,生物防控技术应用与综合措施,做到不施化肥,不施或少施化学制剂来生产稻谷,使其稻谷生产标准达到有机水准。项目实施三年来,取得一些收获,现将三年的工作小结如下:
一、项目组织管理
2013年项目立项前,益康专业合作社即成立项目课题组,课题组人员实行内外结合方法,特别从外面聘请沈效坤(原镇江市科技局)、施洁文(扬中市农业技术推广中心)等专家进入课题组,为顺利完成重点项目奠定了基础。
项目立项获得批准后,将原试验计划进一步论证,做到万无一失,引进应用无公害稻鸭共作技术是目前农业成熟技术,10多年前相关专家就对稻鸭共作进行研究,沈效坤就是这方面的专家,并且制定了相关操作规程,其他工程技术都围绕生产有机大米而引进应用配套的,这些技术与常规稻作生产存着明显的不同点,这些技术应用重点强调有机、优质,其次再考虑产量。也即优质第一位,产量第二位。常规稻作大量施用化肥、农药,追求的量超高产目标。
二、工作进展
经过三年研究,项目已建立核心基地200亩,辐射营房村1000亩,有机大米积极筹备注册商标,产品精包装上市供应扬中市有关机关事业单位、部分企业,产品销售供不应求,两次技术操作规程已形成。对照计划任务书绝大部分任务已完成。
三、研究经费使用
项目总经费预算205万元,实行专款专用,严格财务审批制度。
四、主要体会与经验
1、发挥农业专业合作社的优势,走共同增收致富的道路,该项目立项以来,社员核心层深入研究,不断创新,坚持民办、民营、民受益的原则,实行入股分红、风险共担、收益分配制度,对入社社员采取统一品种(南极46)、统一操作规程、统一技术服务、统一收购价格的“四统一”服务形式,带领农户互助合作、互惠互利、标准化生产、集约化经营的发展之路。
2、采用“四个结合的形式”强化新技术辐射功能,在技术推广
形式上,做到“四个结合”,即试验研究与应用相结合,科普致富与技术培训相结合,典型示范与辐射带动相结合,产品开发与市场开拓相结合。2015年由核心基地辐射到全村1000亩;不断增强后劲,开发有机米原料基地。
3、注重科技协作研究,增强技术创新能力
在扬中市科技局、扬中市农委、三茅街道办事主管部门的关心支持下,积极开展各项技术研究,如水稻品种优质与好种的研究,稻鸭共作技术探讨,商品有机肥研究,生物防控技术研究学等。这些技术集成应用到
;目的只有一个就是保障有机稻米的标准不降低。
4、进一步加强标准体系建设,推行优质品种战略,做优品种,做强品牌,形成特色,是实现农业增效农民增收的新途径。有机稻米生产中,建立质量标准体系,制定生产操作规程,并在生产过程中严格实施是我们下一步努力的方向。待“益康”牌有机米注册成功后,我社产品能走得更远。
第五篇:数据库防火墙技术研究
数据库防火墙技术研究
数据库防火墙是继防火墙、下一代防火墙等网关类安全产品之后,专门针对于数据存储的核心介质——数据库的一款安全防护产品。
关于数据库安全可以分为两个层面,一方面是来自于外部的威胁,比如说来自黑客的攻击、非法访问等,第三方运维人员的不当操作和非法入侵;另外一部分是来自于内部的威胁。数据库防火墙部署于数据库之前。必须通过该系统才能对数据库进行访问或管理。数据库防火墙除提供网络防火墙的基本隔离功能以外,还提供独立的连接授权管理、访问授权管理、攻击保护、连接监控、审计等功能。部署该产品以达到牢牢控制数据库入口,提高数据应用安全性的目的。目前,国内首款专业数据库防火墙产品是安华金和数据库防火墙DBFirwall。
数据库防火墙的产品价值
1、屏蔽直接访问数据库的通道
数据库防火墙部署介于数据库服务器和应用服务器之间,屏蔽直接访问的通道,防止数据库隐通道对数据库的攻击。
2、二次认证
应用程序对数据库的访问,必须经过数据库防火墙和数据库自身两层身份认证。
3、攻击保护
实时检测用户对数据库进行的SQL注入和缓冲区溢出攻击。并报警或者阻止攻击行为,同时详细的审计下攻击操作发生的时间、来源IP、登录数据库的用户名、攻击代码等详细信息。
4、安全审计
系统能够审计对数据库服务器的访问情况。包括用户名、程序名、IP地址、请求的数据库、连接建立的时间、连接断开的时间、通信量大小、执行结果等等信息。并提供灵活的回放日志查询分析功能,并可以生存报表。
5、防止外部黑客攻击威胁
黑客利用Web应用漏洞,进行SQL注入;或以Web应用服务器为跳板,利用数据库自身漏洞攻击和侵入。通过限定更新和删除影响行、限定无Where的更新和删除操作、限定drop、truncate等高危操作避免大规模损失。数据库防火墙防护能力
数据库防火墙产品具有主动防护能力。针对对数据库的风险行为和违规操作做相应的防护与告警。分析当前各类数据库所受威胁和防火墙的应对防护能力包括如下几项功能:
防御数据库漏洞与SQL注入
威胁:外部黑客攻击,黑客利用Web应用漏洞,进行SQL注入;或以Web应用服务器为跳板,利用数据库自身漏洞攻击和侵入。
防护:通过虚拟补丁技术捕获和阻断漏洞攻击行为,通过SQL注入特征库捕获和阻断SQL注入行为。
防止内部高危操作
威胁:系统维护人员、外包人员、开发人员等,拥有直接访问数据库的权限,有意无意的高危操作对数据造成破坏。
防护:通过限定更新和删除影响行、限定无Where的更新和删除操作、限定drop、truncate等高危操作避免大规模损失。
防止敏感数据泄漏
威胁:黑客、开发人员可以通过应用批量下载敏感数据,内部维护人员远程或本地批量导出敏感数据。
防护:限定数据查询和下载数量、限定敏感数据访问的用户、地点和时间。
审计追踪非法行为
威胁:业务人员在利益诱惑下,通过业务系统提供的功能完成对敏感信息的访问,进行信息的售卖和数据篡改。
防护:提供对所有数据访问行为的记录,对风险行为进行SysLog、邮件、短信等方式的告警,提供事后追踪分析工具。
数据库通讯协议解析
各类数据库防火墙产品,对于数据库风险行为和违规操作进行安全防护的基础。都来自于数据库通讯协议的解析。通讯协议解析的越精准,数据库的防护工作越周密安全。换言之,数据库通讯协议解析的强弱是评价一款数据库防火墙产品优略的关键。下面就数据库通讯协议解析原理做一下相关介绍。
从数据通讯交互来讲,数据是以包(Packet)的形式在网络中进行传输的。一个包通常由2大部分组成:控制部分(metadata)和数据部分。从包的结构中,可以得到数据的“源地址(Source Address)”和“目标地址(Destination Address)”,“源端口(Source Port)”和“目标端口(Destination Port)”。防火墙正式基于这些信息对数据库进行防护。当一个包(如来自数据库客户端)通过防火墙时,防火墙会基于一定的规则对该包进行检查,如检查包的发送者是不是合法的IP(如合法的数据库客户端),包的目标是不是特定的数据库服务器?如果检查通过,包会被允许穿过防火墙。如果检查未通过,则该包会被丢弃(Drop)(发送者什么都不知道,犹如石沉大海),或者会给发送者返回(反馈)错误信息(reject)。我们把前面描述的这种防御方式叫“包过滤”。“包过滤”可工作在OSI模型
(见下图)的最底下3层或者4层。
“包过滤”又可分为“有连接(stateful)”和“无连接(stateless)”两种。“有连接(stateful)”是指防火墙会记录通过的连接状态信息,维护相应的连接状态数据库,基于同一连接的数据包可免于重复检查,这样将提高数据包传输效率,“无连接(stateless)”是对每一个数据包进行检查,通常意义上会导致网络响应缓慢,这两种方式各有优缺点。
安华金和数据库防火墙(DBFirewall)实现了对主流数据库类型通讯协议的“双向、全协议解析”,重要的解析内容包括:SQL语句、参数化语句句柄、SQL参数、应答结果信息、结果集结构信息、结果集数据等。
SQL语句的解析和表达是实现对SQL语句攻击行为控制的关键;SQL注入的检查、应用sql语句的放行,都依赖于sql语句的解析和特征捕获。传统的技术,往往采用正则表达式的方式,但该方式存在巨大的技术缺陷,一是正则匹配过程性能地下,二是对于复杂的参数情况容易产生匹配错误,三是通过语句的变体容易欺骗。
DBFirewall为了有效扑获SQL语句的特征,以及为了快速地对SQL语句进行策略判定,以实现数据库防火墙的高效处理,提供了专利性的SQL语法特征技术,实现了对SQL语句的重写。
SQL重写是在不改变原SQL语句的语义的情况下,DBFirewall对捕捉到的SQL语句进行重写,替换原语句中的参数值。
SQL重写是一个抽象的过程,便于管理和操作。SQL重写包括以下几个方面: 除了单双引号内的内容,小写字母全部变为大写字母; 准确区分正负号和加减号;
将SQL语句中的数值、单引号引起的字符串各自重写为统一的占位符;
将注释、换行重写为空格,将连续的空格合并为1个,去掉运算符两端等不影响语义的空格 以如下SQL语句为例:
Select +0.25 * money,sum(id)From “testdb”.accounts
Where id = ' G1792 ' or name!=‘’/*this message come from Lisa*/ XSeure-DBF在SQL重写的基础上,根据SQL语法,对SQL进行了多级分类。SQL多级分类是将具有相同操作行为的不同语句合并为一类,为SQL信息的查看和策略的定制提供了便利,且SQL分类编码操作后,易于后续的计算、操作和存储。
SQL分类主要分为三级,分类的方向由细到粗,即二级分类是在一级分类的基础上进行的,三级分类是在二级的基础上进行的。
一级分类
基于目前的SQL重写,即替换所有的可变“参数”数据为固定的“参数(例如,#)”,并且将所有谓词全部大写化(格式化为大写字母)等。也就是说,一级分类的输出是经过“重写”后的SQL语句。 二级分类
在一级分类的基础上,对所有的谓词、函数、比较运算符进行编码后,生成摘要的字符串编码,该编码就是SQL的二级分类码。 三级分类 在二级分类的基础上,对所有的谓词比较运算符进行编码后,生成的摘要字符串编码,该编码就是SQL三级分类码。
根据SQL分类的原则,假如有如下SQL语句:
1:SELECT salary*1.5 FROM employees WHERE job_id ='PU_CLERK';2:SELECT salary*2 FROM employees WHERE job_id='SA_MAN';3:SELECT employee_id FROM department WHERE department_name = 'HR';4:SELECT department_id FROM employees WHERE salary <5000;5:SELECT sum(salary)FROM employees WHERE job_id ='PU_CLERK';6:SELECT max(salary)FROM employees WHERE job_id='PU_CLERK';那么按照分类码,DBFirewall看到的分析SQL,由三级到一级如下呈现: SELECT FROM WHERE = SELECT FROM WHERE = SELECT SALARY*0 FROM EMPLOYEES WHERE JOB_ID='#' SELECT EMPLOYEE_ID FROM DEPARTMENT WHERE DEPARTMENT_NAME='#' SELECT SUM FROM WHERE = SELECT SUM(SALARY)FROM EMPLOYEES WHERE JOB_ID='#‘ SELECT MIN FROM WHERE = SELECT MIN(SALARY)FROM EMPLOYEES WHERE JOB_ID='#‘
SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY<0 SELECT MIN FROM WHERE < SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY<0 SQL语句格式化重写后的结果为:
SELECT 0*MONEY,SUM(ID)FROM “testdb”.ACCOUNTS WHERE ID=’#’ OR NAME!=’’ 正式基于精准的数据库通讯协议解析,数据库防火墙才能对数据库进行周密的防护。黑白名单机制
数据库防火墙进行数据库防护的过程中,除了利用数据通讯协议解析的信息设置相应的风险拦截和违规sql操作预定义策略以外,常用的防护方式也包括通过学习模式以及SQL语法分析构建动态模型,形成SQL白名单和SQL黑名单,对符合SQL白名单语句放行,对符合SQL黑名单特征语句阻断。
安华金和数据库防火墙除了通过制定黑白名单和相应的策略规则之外,配合利用禁止,许可以及禁止+许可的混合模式规则对数据库进行策略设置,从而对数据库进行防护。
许可规则禁止规则优先禁止规则放行阻止放行阻止 “禁止规则”负责定义系统需要阻止的危险数据库访问行为,所有被“禁止规则”命中的行为将被阻断,其余的行为将被放行。
“许可规则”负责定义应用系统的访问行为和维护工作的访问行为,通过“许可规则”使这些行为在被“禁止规则”命中前被放行。
“优先禁止规则”负责定义高危的数据库访问行为,这些策略要先于“许可规则”被判断,命中则阻断。数据库漏洞防护
在数据库的防护过程中,除了对数据库登录限定,恶意sql操作拦截,以及批量数据删改进行安全防护以外。数据库自身存在的一些漏洞缺陷所引发的安全隐患,也在数据库防火墙的防护范围之内。对于这些风险行为进行周密而严谨的防护也是数据库防火墙价值体现的重点项。
之前在CVE上公开了2000多个数据库安全漏洞,这些漏洞给入侵者敞开了大门。数据库厂商会定期推出数据库漏洞补丁。数据库补丁虽然能在一定程度上弥补数据库漏洞,降低数据库遭受恶意攻击的风险度。但是数据库补丁也存在许多适用性问题。主要包括以下三点:
漏洞补丁针对性高,修补范围存在局限性。
包发布周期过长,存在数据泄露真空期 补丁修复过程中存在兼容性隐患
数据库补丁漏洞修补周期长,风险大,消耗大量资源
区别于oracle防火墙对虚拟补丁技术的空白,安华金和数据库防火墙和McAfee数据库防火墙功能点上都添加了数据库漏洞防护技术,以完善产品,力求达到对数据库的全面防护。
虚拟补丁技术可以在无需修补DBMS内核的情况下保护数据库。它在数据库外创建了一个安全层,从而不用打数据库厂商的补丁,也不需要停止服务和回归测试。通过监控所有数据库活动,并用监控数据与保护规则相比较,从而发现攻击企图。当比较结果与规则匹配时,就发出一个警报,并在指定的时间内终止可疑会话、操作程序或隔离用户,直到这个可疑的活动被审查通过。
安华金和数据库防火墙的漏洞防护技术——虚拟补丁通过控制受影响的应用程序的输入或输出,来改变或消除漏洞。是在数据库的前端进行控制或告警的一种技术。它是一种透明的对数据库进行保护的方法,不需要重启数据库或进行大范围应用系统的回归测试。
本文针对当前数据安全领域的现状与发展趋势向大家做了一些简要的论述,从数据库防火墙的崛起,从国际到国内市场,到Oracle,McAfee再到安华金和,有一点我们可以达成共识,数据库安全在信息安全中的整体价值地位逐步凸显。数据库防火墙作为针对数据库的安全的专项产品,作为维护数据库的堡垒屏障已经起到了不可或缺的作用。