NCV61预警平台技术红皮书整理后.docx
- 文档编号:27523583
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:34
- 大小:484.71KB
NCV61预警平台技术红皮书整理后.docx
《NCV61预警平台技术红皮书整理后.docx》由会员分享,可在线阅读,更多相关《NCV61预警平台技术红皮书整理后.docx(34页珍藏版)》请在冰豆网上搜索。
NCV61预警平台技术红皮书整理后
NCv6.1预警平台技术红皮书
UAP中心编著
目录
第一章前言3
第二章预警类型注册4
2.1功能简介4
2.2操作说明4
2.2.1增加/编辑一个预警类型5
第三章预警条目注册7
3.1功能简介7
3.2操作说明8
3.2.1增加/编辑预警条目8
3.2.2复制预警条目15
3.2.3联查日志15
3.2.4激活/休眠16
第四章预警查询和监控17
4.1预警平台查询17
4.2预警监控18
4.3预警日志18
第五章插件开发指南19
5.1进入开发工具简介及开发步骤19
5.2预警平台业务插件接口19
5.2.1业务插件接口20
5.2.2PreAlertContext20
5.2.3PreAlertObject21
5.3消息模板接口22
5.4多语支持23
5.4.1预警类型注册的多语23
5.4.2预警消息文件的多语23
第六章程序实现举例24
6.1业务插件举例24
第七章程序实现举例27
7.1调度引擎的配置27
7.2邮件发送相关的配置28
7.3消息文件存放路径28
7.4预警日志29
第八章V6新特性及与以前版本区别30
8.1产品形态改变30
8.2规范了预警插件的接口30
8.3提供了对消息模板的支持30
8.4新增自定义预警功能30
8.5其他功能和易用性的增强30
附录32
1.预警平台相关表32
2.消息模板的支持33
3.语义模型查询预警插件说明(IUFO-李长山提供)33
第一章前言
本章内容概要:
●预警平台简介
现代企业要在激烈的市场竞争中生存并发展,就需要对自身的优势与缺陷都有一个清楚的了解,所谓知己知彼,企业要想在市场竞争中立于不败之地,就必须及时地发现自己的优势与缺陷,发挥自身的优势,弥补存在的缺陷,为企业的发展与壮大扫除障碍。
如何及时地发现自身的优势与缺陷,向来是企业界和理论界倾力研究的重点问题之一。
于是NC的预警平台应求而生。
NC预警平台分成两种类型的预警。
一为定时预警。
即用户可以指定何时或者以何周期去执行某项任务,并依照设置的阈值决定是否产生预警提示,致使企业及时合理做出正确的决策。
二为即时预警。
顾名思义即时是立即发生,NC中主要支持用户登录和打开节点两种,所作事情与定时预警一样。
NC预警服务的整体示意图如图1-1.
图1-1预警平台服务示意图
由上图可知,预警平台主要由预警类型、预警条目以及预警消息三个组成部分。
于是想要使用预警平台的预警功能,需要做两步工作:
1.预警类型注册;2.预警条目注册。
分别在本文档第二章和第三章介绍。
预警消息是在条目配置的时候配置的。
第二章预警类型注册
本章内容概要:
●功能简介
●操作说明
2.1功能简介
预警类型就是一种预警的一个插件类型(由开发人员开发,具体如何开发插件见插件开发指南)。
它目的是对某个业务或操作的抽象,其可以定义一系列阈值。
(这里也只是定义,真正的值还是由条目来设置的)。
定义一个预警类型需要提供:
名称、所属模块、业务插件、描述、阈值名称、编辑类型、参照名称(如果编辑类型为参照)、默认值。
注意:
从V63开始,预警类型注册放在应用管理平台-开发配置工具-系统平台下:
图2-1预警类型注册
2.2操作说明
打开节点:
[应用管理平台]->[开发配置工具]->[系统平台]->[预警类型注册],单击“增加”,可以增加一个预警类型。
选中一条已注册的预警类型,单击“删除”、“修改”,可以对已有预警类
型进行删除或修改的操作。
双击一条预警类型,也可以对其进行编辑。
2.2.1增加/编辑一个预警类型
预警类型编辑界面如下图所示:
图2-2预警类型注册(常规属性页签)
项目说明:
✓编码:
输入预警类型的编码。
必填项。
✓名称:
输入预警类型的名称。
必填项。
✓所属模块:
是区分各产品组模块的标识,即通常说的模块名。
这里的模块是指开发模块,对应的是中间件/modules目录下的子目录。
按规定模块名都是小写的。
必填项。
✓消息模板类型:
使用消息模板时需填。
一个预警类型对应一个消息模板类型。
✓所属行业:
参照行业目录。
✓业务插件:
输入业务插件的类名,要求实现了nc.bs.pub.pa.IPreAlertPlugin接口的实现类的完整类名。
此项不能为空。
该类遵循开发规范见插件开发指南。
必填项。
✓描述:
指对预警类型的文字描述。
图2-3预警类型注册(阈值条件页签)
项目说明:
✓组织类型:
用于限定阈值的参照取值范围,这样在该类型预警条目新增时,通过选择相应的组织,来缩小参照类型阈值的取值。
如:
A预警类型在注册时,指定了其组织类型为公司,则在注册A类型的预警条目a时,其组织单元参照的取值为公司参照,当指定组织单元数据,如公司1时,其相关的预警取值,均为公司1下的相关数据。
✓阈值名称:
也就是条件的名称。
阈值描述:
对阈值名称的说明。
✓编辑类型:
此处定义输入阈值的样式,系统提供五个选择:
字符型、逻辑型、整型、Double型和参照基础档案类型。
如果将某个阈值的编辑类型定义为逻辑型,那么在进行预警条目设置时,此阈值的值以下拉框的形式出现,有是和否两个选择;如果选择编辑类型为基础档案,还要在后面的参照名称栏中选择参照哪个基础档案,这样当用户输入该阈值时会弹出相应的基础档案参照。
✓默认值:
该阈值的默认值。
✓是否非空:
该阈值是否允许为空。
✓参照名称:
如果编辑类型选择为参照基础档案,那么参数名称变为可选项,提供选择的项有人员档案、部门档案、客户档案等等。
✓是否单选:
此选项针对参照而言,表示该参照是否支持多选。
第三章预警条目注册
本章内容概要:
●功能简介
●操作说明
3.1功能简介
预警条目一般由实施人员或用户根据具体的业务环境和需要来定义。
通过选择预警类型,并设置该预警类型中需要用户设置的阈值变量,以及定义预警方式来实现具体的预警任务。
预警方式包括产生方式和发送方式。
产生方式控制预警的发生时间,有即时和定时两种。
发送方式是定义预警以何种方式发送给用户。
预警条目是具体的预警任务,是预警平台调度执行的单位。
一个预警类型可以根据不同的业务情况定义多个预警条目。
预警条目保存预警信息的产生条件及发送方式设置,基于预警类型进行编辑。
预警平台的后台服务线程定时读取预警条目信息,根据条目中设置的条件,调用相应的预警类型与业务信息相比较,当符合预警条件时,就会产生预警信息,并根据相应配置进行信息发送。
条目与类型的关系其实就是一个具体与抽象的关系。
如用友公司与泛化的公司一样。
公司具有名称、地址等属性,用友公司与之对应的就是用友、北清路68号等。
预警条目配置节点位于:
企业建模平台——>系统平台——>预警平台——>预警条目配置
图3-1
3.2操作说明
打开预警条目配置功能节点,单击增加,可以增加一个预警条目。
选中一条已注册的预警条目,单击“删除”、“修改”,可以对已有预警条目进行删除或修改的操作。
双击一条预警条目,也可以对其进行编辑。
与类型配置的菜单差别就是其可以复制,即把其它公司的条目复制到本公司。
3.2.1增加/编辑预警条目
增加/编辑一个预警条目,预警条目编辑界面如下图所示:
1)常用属性页签
图3-1预警条目配置(常规属性页签)
✓预警名称:
即该条目的名称,一个显示的标记。
同公司同类型不允许条目名相同。
✓预警消息文件名:
即消息生成时的HTML的文件名标记。
(该HTML文件完整的名称是由它和生成时时间组成)。
✓预警状态:
激活态表示该条目是有效的,反之休眠则表示此时该条目是无效的。
默认为激活态。
✓最大日志数:
同一预警条目在预警日志表中最多能保存的预警日志条数,默认为10。
✓预警信息:
可以直接配置简单文本,也可以选择已配置的消息模板,用于对消息文件内容的定义。
2)阈值设置页签
图3-2预警条目配置(阈值设置页签)
项目说明:
✓类型:
即第二章所述的预警类型注册的预警类型。
其以下拉框的形式显示,此处对预警类型的选择将决定此预警条目将调用的业务插件。
✓“条件”列表:
在此处编辑预警条目的阈值。
这里的阈值是从类型定义中带过来的,这里要做的只是设置操作符和阈值设置。
✓组织单元:
限定阈值参照的范围。
组织单元参照的数组,由注册的预警类型决定。
3)触发配置页签
图3-3预警条目配置(触发配置页签)
✓触发策略:
分为即时产生与定时产生。
两者的意义上的区别可以参见:
前言。
如果选择即时产生,则系统会根据此处定义的触发方式来触发业务操作,并依据条件满足与否,来产生预警提示信息。
如果选择定时产生,则预警平台会在设定的时间配置到来时进行预警检查,并产生预警信息。
两者产生的预警消息的如何接收都由消息接收者配置面板来配置。
关于定时配置稍候叙述。
✓触发方式:
只有当产生方式为即时的时候,此组才能编辑和有效。
✧系统登录:
勾选并单击“系统登录”按钮,弹出系统登录用户选择界面。
(如图3-5)左侧为对本公司及其下级公司(通过界面的参照来切换)拥有登录权限的角色和用户。
右侧为已经选择的用户。
这些用户在登录NC时,如果系统有定义了该用户登录条目,并满足产生消息的条件,这时候会在消息中心的预警消息栏自动给登录用户发送一条消息,用户可以点击此来查看详细信息。
但不会主动弹出IE。
✧触发点提示:
勾选后单击“触发点提示”按钮,弹出“触发点选择”界面(如图3-6),左侧为系统功能结点树,右侧为将触发预警的功能结点。
当用户进入该公司打开已经定义了条目的功能结点时,如果有符合条件的预警消息产生,则会弹出IE窗口来显示预警信息的详细内容。
如果同时产生了多条预警消息,则会弹出一个小框,包含所有预警消息的列表。
注意:
集团的是不能定义功能节点触发的。
✧按钮:
只适用于HR。
即在业务单据的某个按钮点击时触发。
图3-4:
系统登录对话框
图3-5:
功能节点选择对话框
4)消息接收配置页签
图3-6:
预警条目配置(消息接收配置页签)
✓消息接收者配置:
配置消息的接收者。
即当预警条目触发时,除了适当的时候弹出IE之外的给用户的提示的配置。
✧参与者类型:
下拉选择,有用户、角色、用户组、角色组、人员、职责、岗位7个选项,如图3-6所示。
✧编码/名称:
根据参与者类型选择不同的接收者。
✧消息中心:
勾选后的含义是:
当一个预警条目触发时是否给选择的参与者类型对应的用户送一条预警消息到消息中心。
✧电子邮件:
勾选后的含义是:
当一个预警条目触发时是否给选择的参与者类型对应的用户发送电子邮件。
电子邮件要发送成功,必须正确配置邮件服务器。
可以参见系统环境配置
✧手机短信:
勾选后的含义是:
当一个预警条目触发时是否给选择的参与者类型对应的用户发送短信。
✓定时配置:
当产生方式选择的是定时:
(1)此时的触发方式将不能编辑。
(2)此时的消息接收者配置与即时意义是一样的。
(3)定时配置界面(如图3-7)
如图3-7定时配置
✧发生频率:
包含天、周,月三个时间量纲,以及关于量纲的间隔。
当为周或月时,还能够选择对应的哪天。
周可以选择周一到周日,月除了可以选择1号到31号,还能选择“最后一天”。
✧一天内:
因为不管频率制定的如何,具体到还是某一天中。
这里就是具体设置某一天内的时间关系。
✧有效期:
这是优先级最高的设置,即频率和一天内的设置都必须要在此有效期内。
✧系统会在设定的时间点进行业务检查,触发并合适地产生预警信息。
3.2.2复制预警条目
如图3-8其左边待选树只有两层结构。
一级为公司,二级即为条目。
复制的原则是同一类型在同一公司下不允许同名。
故选择完会一般要进行编辑,以保证满足此原则。
图3-8条目复制
3.2.3联查日志
V63支持在预警条目配置界面联查预警日志。
图3-10
3.2.4激活/休眠
V63支持对多个预警条目批量激活和休眠。
第四章预警查询和监控
本章内容概要:
●预警平台查询
●预警监控
●预警日志
4.1预警平台查询
预警平台查询是为了方便用户查询当前产生的所有预警消息以及产生过的历史预警消息。
预警平台查询主界面如图4-1所示。
其查询的依据是条目配置中的触发方式和接收方式以及查询方式。
其新旧的标准是产生日期与当前日期的时间差是否在一个月内。
图4-1预警消息查询界面
预警消息的查询可根据左面的导航树查询,也可通过点击查询按钮,完成自定义查询,其中消息状态为本月(与当前日期月份)最新消息和历史消息两种。
预警信息查询设置框中,多个名称或者多个接收者之间以分号分离。
且两者支持模糊匹配。
4.2预警监控
图4-2
预警监控显示了所有在调度中,未执行完成的业务预警任务,其中执行按钮,可强制执行选中的任务,提前了下次执行的时间。
4.3预警日志
图4-3
预警日志显示了任务的每次执行结果,其中结果列显示了该次执行的结果(成功/失败)
第五章插件开发指南
本章内容概要:
●简介及开发步骤
●预警平台业务插件接口
●消息模板接口
●多语支持
5.1简介及开发步骤
适用人群:
本指南适用于对预警平台进行二次开发的开发人员。
开发步骤:
1)开发人员先实现预警平台规定的接口(如5.2所述)
2)增加预警类型。
(如第二章预警类型注册所述)
3)增加测试预警条目。
(如第三章预警条目注册所述)
4)测试插件条目。
依照条目定义,或打开节点,或登录系统,或定制时间。
并查看消息是否如插件所意。
5.2预警平台业务插件接口
定义预警类型时必须提供做业务检查的业务插件,由开发人员编写。
该业务插件必须实现预警业务插件接口。
预警服务运行时,根据定义的预警条目执行业务插件的适当业务,并将产生的预警信息写入预警文件,进行企业业务预警。
5.2.1业务插件接口
publicinterfaceIPreAlertPlugin{
/**
*任务插件执行体
*@paramcontext执行环境
*@return
*@throwsBusinessException
*/
PreAlertObjectexecuteTask(PreAlertContextcontext)throwsBusinessException;
}
5.2.2PreAlertContext
/**当前登录日期*/
privateUFDateloginDate=null;
/**备份数据源*/
privateStringdatasource=null;
/**具体一些阈值的实参.对应结构为key:
阈值字段名,value:
真实的值*/
privateLinkedHashMap
privateStringgroupId=null;//集团
/**当前用户,即部署任务的用户*/
privateStringpk_user;
privateStringpreAlertTypeName;//预警类型名称
privateStringregistryName;//条目名称;
privateStringregistryFileName;//条目的预警文件名;对应后台任务则为任务描述;
privateintpreAlertMode;//预警模式--登录/触发点/按钮seedefinitionintheAlertMethod
privateLinkedHashMap
/**
*插件自己解析的数据.适用于代码级直接调用时传递
*/
privateObjectuserData=null;
PreAlertContext包含了预警插件类的上下文环境,主要的属性值如表格所示。
5.2.3PreAlertObject
publicclassPreAlertObject{
//默认预警消息标题,即消息中心看到的“默认主题”,如果预警条目中未设置消息标题,则取该属性值
privateStringmsgTitle=null;
//返回类型
//返回值,根据返回值类型(PreAlertReturnType)的不同,要求返回值对应如下:
//1PreAlertReturnType.RETURNMESSAGE——>String(固定字符串类型)
//2PreAlertReturnType.RETURNOBJECT——>Object(对象类型)
//若需支持消息模板功能,返回值类型必须是后两种
//3PreAlertReturnType.RETURNFORMATMSG——>IAlertMessage(格式化消息,可转换成打印模板数据源)
//4PreAlertReturnType.RETURNDATASOURCE——>IDataSource(打印模板数据源)
privatePreAlertReturnTypereturnType=null;
privateObjectreturnObj=null;
privateObjectbusiObj=null;
privateIBusiCalculaterbusiCalculater;
。
。
。
}
busiObj为业务实体对象,若在消息模板分类中为该预警关联了业务实体并且在预警条目中使用了消息模板,则在构造消息时使用该对象来解析消息模板中配置的元数据。
busiCalculater为业务函数计算器,在配置消息模板上可能会使用到一些自定义的函数,使用该对象来计算函数的值。
PreAlertType为枚举类型,标记返回值的类型。
publicenumPreAlertReturnType{
RETURNNOTHING(0),
@Deprecated
RETURNOBJECT
(1),
@Deprecated
RETURNFORMATMSG
(2),
@Deprecated
RETURNMESSAGE(3),
RETURNDATASOURCE(4),
RETURNMULTILANGTEXT(5),
RETURN_MULTIPLE_RECEIVER_OBJECT(6);
publicStringtoString(){
switch(this){
caseRETURNMESSAGE:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000000")/*插件返回字符串*/;
caseRETURNFORMATMSG:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000001")/*插件返回格式化字符串*/;
caseRETURNOBJECT:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000002")/*插件返回对象*/;
caseRETURNDATASOURCE:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000003")/*消息模板数据源*/;
caseRETURNNOTHING:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000004")/*插件返回空值*/;
caseRETURNMULTILANGTEXT:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-000005")/*多语文本*/;
caseRETURN_MULTIPLE_RECEIVER_OBJECT:
returnNCLangRes4VoTransl.getNCLangRes().getStrByID("prealertres","PreAlertReturnType-0000")/*多接收者返回值*/;
default:
thrownewRuntimeException();
}
}
}
5.3消息模板接口
图5-1
V6新增。
预警条目使用消息模板,在发送消息到消息中心之前调用消息模板接口,处理消息内容、标题、附件等属性。
可参考附录消息模板的使用。
要求预警插件类返回IDatasource或者IAlertMessage接口。
5.4多语支持
这里的多语的意思主要是有两个方面:
5.4.1预警类型注册的多语
在预警类型注册时候,我们只对预置的类型多语,这是需要对库直接操作,填充对应表的对应多语字段。
参见预警平台相关表。
注意产品组的多语放在多语目录的prealerttype下。
自己新建文件,必须符合多语规范!
对于界面的操作,不能影响到多语。
因为我们假设用户在何语言环境下增加类型就是在何语言环境下使用。
5.4.2预警消息文件的多语
预警平台本身不知道该如何去多语,而是要插件自身去多语,而返回给预警平台,预警平台会根据条目配置中的语言选择,设置当前的线程的语言环境,然后去调用适当的多语。
这不仅针对格式化消息,而是所有的消息都一样。
如实现接口IalertMessage的,多语代码应该用服务端的多语。
publicStringgetTitle(){
returnNCLangResOnserver.getInstance().getStrByID("101502","UPP101502-000261");//"预警测试样例"
}
第六章程序实现举例
本章内容概要:
●业务插件举例
6.1业务插件举例
定义一个实现IPreAlertPlugin接口的预警类型业务插件类,比如现在创建库存存量预警处理类nc.bs.pub.pa.SampleBusinessPlugin:
publicclassSamplePreAlertPluginimplementsIPreAlertPlugin{
publicPreAlertObje
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NCV61 预警 平台 技术 红皮书 整理