事件驱动方法和事件驱动系统技术方案

技术编号:10506807 阅读:82 留言:0更新日期:2014-10-08 11:01
本发明专利技术提供了一种基于JavaScript的事件驱动方法和事件驱动系统,包括:仪表板上的任一部件在检测到自身的事件被触发时,向事件管理器发送事件触发信息;所述事件管理器广播接收到的所述事件触发信息;所述仪表板上的任一部件以外的其他部件接收所述广播的所述事件触发信息,根据所述事件触发信息、所述事件的驱动脚本的定义和预设的JavaScript模版文件生成统一的JavaScript脚本文件,并根据所述JavaScript脚本文件向脚本管理器注册所述事件。通过本发明专利技术的技术方案,可以使一套驱动脚本适应不同平台的需求,由事件管理器统一调度事件,提高了脚本的可读性和部件的灵活性,降低了编写和维护的成本和难度。

【技术实现步骤摘要】
事件驱动方法和事件驱动系统
本专利技术涉及数据处理
,具体而言,涉及一种事件驱动方法和一种事件驱 动系统。
技术介绍
目前,仪表板在BI (Business Intelligence,商业智能)中有着举足轻重的作用。 在仪表板实施的过程中,会涉及到很多的部件以及很多部件之间的协调控制,如按钮、图 表、报表、树以及他们之间的联动与协调工作等,如何协调各部件一直是制作仪表板产品所 面对的问题。目前大多数的BI产品采用十分简单的配置方式来实现部件之间的联动,如配 置BCKBusiness Object,业务对象层)等。但是随着业务需求复杂度的提升,通过界面配置 的方式来实现部件交互变得越来越复杂,从而给维护工作带来了很大的难度。 无论在Swing平台,还是在Web平台,所有可视化部件之间的交互均提供事件机 制,在特定事件中编写业务代码以实现交互。但这种做法不能从根本上解决仪表板部件的 交互问题,主要原因有: (1)BQ仪表板的运行环境复杂,无法让一套驱动脚本既适合在Web中运行,又可以 在Swing中运行; (2)难以在降低部件的交互难度的同时获得良好的代码质量,以及突出产品的特 色。 因此,如何使一套驱动脚本适应不同平台的需求,并在实现仪表板上的部件联动 的同时降低编写脚本难度,成为目前亟待解决的问题。
技术实现思路
本专利技术正是基于上述技术问题,提出了一种新的技术方案,可以使一套驱动脚本 适应不同平台的需求,由事件管理器统一调度事件,提高脚本的可读性和部件的灵活性,降 低编写和维护的成本和难度。 根据本专利技术的一个方面,提出了一种基于JavaScript的事件驱动方法,包括:仪 表板上的任一部件在检测到自身的事件被触发时,向事件管理器发送事件触发信息;所述 事件管理器广播接收到的所述事件触发信息;所述仪表板上的任一部件以外的其他部件接 收所述广播的所述事件触发信息,根据所述事件触发信息、所述事件的驱动脚本的定义和 预设的JavaScript模版文件生成统一的JavaScript脚本文件,并根据所述JavaScript脚 本文件向脚本管理器注册所述事件。 Javascript是一种基于对象的动态类型的区分大小写的客户端脚本语言,主要用 于解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。比如,当服务端需要 对数据进行验证时,由于网络速度相当缓慢,只有28. 8kbps,验证步骤浪费的时间太多,于 是可以在Netscape浏览器中加入了 Javascript,提供了数据验证的基本功能,Javascript 的作用也体现在实现网页的一些难度较高的特效,通常和Jq Uery(-种兼容多浏览器的 Javascript框架)、Ajax (-种快速创建动态网页技术)联合使用。(来自网页链接http: // baike.baidu.com/view/16168.htm) 在该技术方案中,使用事件管理器统一管理和调度事件,便于实现部件的联动, 从而时事件驱动脚本更加集中,降低脚本编写的难度。根据驱动脚本的定义和预设的 JavaScript模版文件生成统一的JavaScript脚本文件,可以使一套驱动脚本适应不同平 台的需求,比如同时适配与Swing平台和Web平台,提高了脚本的可读性和部件的灵活性, 降低了编写和维护的成本和难度,使产品游刃有余地适应不同业务场景和各种复杂的业务 需求。 在上述技术方案中,优选地,所述事件管理器根据接收到的所述事件触发信息的 来源,判断是否广播所述事件触发信息。 在该技术方案中,广播事件触发信息前,需要对事件触发信息的来源进行追踪,判 断是否需要对此事件触发信息进行广播,以避免发送循环消息导致系统假死。 在上述技术方案中,优选地,包括:所述仪表板上的任一部件以外的其他部件接收 所述事件触发信息,并根据所述事件触发信息的来源和内容,判断是否所述事件触发信息 是否有效,以及当判断结果为是时,执行所述事件触发信息对应的所述事件的驱动脚本,否 贝1J,不响应所述事件触发信息。 在该技术方案中,在仪表板部件的设计过程中,仪表板部件除了具有传统UI (用 户界面)部件拥有的事件行为外,增加 send Message (发送消息)和on Message (接收消 息)方法,并在此两种方法中编写部件对外部触发信息响应的业务逻辑。当事件管理器对 外广播触发信息时,会触发接收该触发信息的部件的on Message方法,该部件根据触发信 息的来源和内容,判断是否对该on Message方法感兴趣,如果感兴趣,就执行该onMessage 方法中的脚本,否则忽略该触发信息。 在上述技术方案中,优选地,还包括:向运行时上下文注册被触发所述事件的所述 仪表板上的任一部件的信息。 在上述技术方案中,优选地,还包括:管理事件驱动过程中的所有参数,并维护运 行环境。 在该技术方案中,向运行时上下文注册事件驱动过程中部件的自身信息,有助于 运行时上下文将事件驱动过程中的所有参数集中起来进行维护。 根据本专利技术的另一方面,提出了一种基于JavaScript的事件驱动系统,包括:发 送单元,用于在仪表板上的任一部件在检测到自身的事件被触发时,向事件管理器发送事 件触发信息;广播单元,所述事件管理器广播所述事件触发信息;执行单元,所述仪表板上 的任一部件以外的其他部件接收所述事件触发信息,根据所述事件触发信息、所述事件的 驱动脚本的定义和预设的JavaScript模版文件生成统一的JavaScript脚本文件,并根据 所述JavaScript脚本文件向脚本管理器注册所述事件。 在该技术方案中,使用事件管理器统一管理和调度事件,便于实现部件的联动, 从而时事件驱动脚本更加集中,降低脚本编写的难度。根据驱动脚本的定义和预设的 JavaScript模版文件生成统一的JavaScript脚本文件,可以使一套驱动脚本适应不同平 台的需求,比如同时适配与Swing平台和Web平台,提高了脚本的可读性和部件的灵活性, 降低了编写和维护的成本和难度,使产品游刃有余地适应不同业务场景和各种复杂的业务 需求。 在上述技术方案中,优选地,还包括:判断单元,所述事件管理器根据接收到的所 述事件触发信息的来源,判断是否广播所述事件触发信息。 在该技术方案中,广播事件触发信息前,需要对事件触发信息的来源进行追踪,判 断是否需要对此事件触发信息进行广播,以避免发送循环消息导致系统假死。 在上述技术方案中,优选地,所述执行单元包括:所述仪表板上的任一部件以外的 其他部件根据接收到的所述事件触发信息的来源和内容,判断是否所述事件触发信息是否 有效,以及当判断结果为是时,执行所述事件触发信息对应的所述事件的驱动脚本,否则, 不响应所述事件触发信息。 在该技术方案中,在仪表板部件的设计过程中,仪表板部件除了具有传统UI (用 户界面)部件拥有的事件行为外,增加 send Message (发送消息)和on Message (接收消 息)方法,并在此两种方法中编写部件对外部触发信息响应的业务逻辑。当事件管理器对 外广播触发信息时,会本文档来自技高网...
事件驱动方法和事件驱动系统

【技术保护点】
一种基于JavaScript的事件驱动方法,其特征在于,包括:仪表板上的任一部件在检测到自身的事件被触发时,向事件管理器发送事件触发信息;所述事件管理器广播接收到的所述事件触发信息;所述仪表板上的任一部件以外的其他部件接收所述广播的所述事件触发信息,根据所述事件触发信息、所述事件的驱动脚本的定义和预设的JavaScript模版文件生成统一的JavaScript脚本文件,并根据所述JavaScript脚本文件向脚本管理器注册所述事件。

【技术特征摘要】
1. 一种基于JavaScript的事件驱动方法,其特征在于,包括: 仪表板上的任一部件在检测到自身的事件被触发时,向事件管理器发送事件触发信 息; 所述事件管理器广播接收到的所述事件触发信息; 所述仪表板上的任一部件以外的其他部件接收所述广播的所述事件触发信息,根据所 述事件触发信息、所述事件的驱动脚本的定义和预设的JavaScript模版文件生成统一的 JavaScript脚本文件,并根据所述JavaScript脚本文件向脚本管理器注册所述事件。2. 根据权利要求1所述的事件驱动方法,其特征在于,包括: 所述事件管理器根据接收到的所述事件触发信息的来源,判断是否广播所述事件触发 信息。3. 根据权利要求1所述的事件驱动方法,其特征在于,包括: 所述仪表板上的任一部件以外的其他部件接收所述事件触发信息,并根据所述事件触 发信息的来源和内容,判断是否所述事件触发信息是否有效,以及 当判断结果为是时,执行所述事件触发信息对应的所述事件的驱动脚本,否则,不响应 所述事件触发信息。4. 根据权利要求1至3中任一项所述的事件驱动方法,其特征在于,还包括: 向运行时上下文注册被触发所述事件的所述仪表板上的任一部件的信息。5. 根据权利要求4所述的事件驱动方法,其特征在于,还包括: 管理事件驱动过程中的所有参数,并维护运行环境。6. -种基于JavaScr...

【专利技术属性】
技术研发人员:王雨学张乐龙
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1