插件式框架平台

二、插件式框架平台

以插件编程为指导思想,动态反射调用组件为行动方针,深入调研、设计、编码,初步形成现代化软件架构。

简介

有了理论指导,就需要用实践去验证。所谓知行合一。

作为一款通用插件式开发框架,基础的插件内核是整个平台的核心。鉴于平台的通用性和易用性,还插件式的提供以下常用基础模块功能:

1、 工作流组件

2、 权限系统组件

3、 自动更新组件

4、 自定义UI套件

5、 轻量级ORM

6、 字典管理

7、 通用类库

2.1 插件内核

本平台的插件内核开发借鉴了SD中服务和插件树思想,以一个标准的组件式开发,重新设计了一套插件机制。

整个平台架构基于“微内核+插件”的体系。

插件树和服务组成了框架平台的微内核结构,加上自带的日志监控功能,最大程度上满足了不同人员能够动态方便的配置、加载、卸载平台上的各功能组件的梦想。无侵入、热插拔式的结构,是架构模式思想的优雅体现。

2.2 工作流组件

该组件是一套轻量级的可视化的工作流引擎。

工作流组件的公共模块主要包含三个主要功能:工作流引擎、工作流可视化管理、待办任务管理。

工作流引擎是基础模块,主要实现工作流流转的逻辑控制,为系统提供作业服务;本组件支持流程中复杂多变的业务流转,也支持多个跨流程间的转换。

工作流可视化管理(流程设计器、工作流定义工具),主要用于工作流的可视化制作和展示,达到所见即所得的效果。通过可视化的方式把复杂的流程定义以图形化的方式显示出来,加以相关操作和管理;除此之外,还可以实现流程监控、流程业务监控、流程导航等功能。

待办任务管理主要实现办公协同,整合公共的工作流引擎以及企业已经存在的工作流引擎,形成一个统一的待办任务管理。

2.3 权限系统组件

基于角色的用户权限管理系统(RBAC)是目前公认的解决大型企业的统一资源访问控制的有效方法。

本套权限管理组件不局限于传统的权限,角色,用户三者的关系,在减小授权管理的复杂性基础上,通过独特的允许、禁止资源控制思想,增强了授权的灵活性。既可以按照角色统一授权,也可以对人员独立授权。

权限可粗粒度的分为模块权限,亦可细化到具体操作资源和功能(菜单、按钮、数据)。能够指根据系统管理员设置的安全规则或者安全策略,能够达到使用户可以访问且只能访问自己被授权的资源,并拒绝访问被禁止的指定资源。

平台配合提供了业务系统常用字典管理功能,可通过可视化的操作和维护,能快速操作平台上的字典数据。整个数据字典数据为框架平台所共享,有效提高了数据的重复利用率和产品、项目的开发效率。

2.4 自动更新组件

一个易用、稳定的自动升级功能组件也相当重要。

本组件就是旨在快速简单地为平台实现简易高效自动更新功能。主要分为客户端和服务器端两个部分。客户端主要是提供了用户使用的类库和可执行文件(可任选其一);服务端是可视化的更新包生成工具。

支持多种调用方式:引用自动升级客户端进行代码调用,或使用命令行进行调用。

更智能、更安全:全程自动化,自动同步或异步下载,可自动结束正在运行的程序(可指定);支持增量更新;支持升级包数据加密和校验;支持升级过程中的自动备份和自动回滚功能(如更新时发生错误,能自动还原到安装更新前的状态)。

2.5 自定义UI套件

她是一套美观大方的用户自定义用户界面。

不单为应用系统开发提供了支持多样式界面、多文档视图的基础窗体、向导窗体、气泡弹窗、数据表格、自定义报表、动态图表等一系列界面组件,保证了人机交互的一致性和增强了用户界面的统一性;还提供了包括支持水印和数据验证功能的数据编辑器、选项卡、日期选择器、多状态树形控件、分页控件、系统托盘等在内的众多UI控件。

这些组件不仅弥补了标准控件包的空白或不足,而且拥有更多、更强的特性和功能,会大大提高开发效率。

2.6 轻量级ORM

该组件包括一套抽象数据领域模型层、一套抽象数据访问操作层和一套轻量级的代码生成器。

基于现有设计好的CodeSmith模板文件可以快速生成业务模型和数据库操作代码。通过高度封装的数据库操作抽象基类,能完美实现多数据库操作的支持。

妈妈再也不用担心多样的第三方框架或者是繁琐的增删改查操作了,贴合实际开发抽象出的基础领域模型和数据库工厂,能够很好的适应各业务需求。

2.7 总结

强大的微内核架构,功能实用、丰富的插件式组件,已经支撑起一套强大的、通用的软件开发框架——插件式框架平台。辅之多年提炼的通用类库和成熟的富框架格局,选择她,就是选择了实用、高效!

时间: 2024-10-20 04:40:37

插件式框架平台的相关文章

(C/C++)基于SharpUI控件库的插件式框架开发--第三篇框架基础服务库

一个框架基础的东西,一般也是操作的最基础的类,比如char.int.bool等,有时出现内存泄露的问题导致错误的抛出,但是C++开发有的时候就算是抛出异常,那也是靠经验来积累才能非常快速准确的找出错误所在,这就需要在框架中需要添加日志管理的接口,日志管理的好处就是开发者自身在找异常时提供参考,另一个就是如果用户操作时出现问题,也可将日志反馈,帮助快速解决问题:总之了为了更好的扩展完善我的框架,我详细列一下这个基础服务库(XPCore)包含内容: 虽说sharpui控件库内封闭好string类,但

(C/C++)基于SharpUI控件库的插件式框架开发--第二篇可停靠管理

一个软件,不可能只有一个文档界面,会有多个甚至几十二,比如一些浏览器.文档查看等都是多个标签页的形式,在C#中开源的可停靠管理的常用的是Xceed.Wpf.AvalonDock:但是用C/C++开发的开源停靠管理库是没找到,没办法只能自己写一个了. 图1 可停靠管理项目名XPDock,其中所有控件的样式存放在“.bin\layout\Theme\Controls\XPDock.xml”:如图2: 图2 在XPDock控件中,DockingManager为控件主要控件,控件内定义添加视图方法Add

(C/C++)基于SharpUI控件库的插件式框架开发--第一篇简介

看到题目,很明显这里要说的是插件式框架的开发,当然是用c/c++来实现的.开发对于我来说,是一种爱好,但并非科班出身,所以这里要说的一点分享就是,开发并不是会写代码就行了,最主要的是要有思路想法,比如要实现一个功能,就要知道,这个功能到底是要来实现啥的,要实现它需要什么样的算法等等,做到胸中有丘壑,再去用最简单代码去实现它,就会发现写代码是一件很享受的事情. 参加工作快两年了,一开始的是用C#开发,写了半年多的功能和小控件,上手之后,参考ICSharpCode.Core.Presentation

MVC插件式开发平台

---恢复内容开始--- 经过DyOS.BraveOS1.0再到BraveOS2.0,系统现在已经开发了下载. 我们的目标是,网页版操作系统,可以在线安装更新软件,并提供二次开发平台,提供基础的逻辑和控件,我们将在后期公开开发文档,如果您不会html5,不会自己写js插件,那么这将是您的福音,因为,这些事我们会为你来更新完善!您只管用就行,哈哈. 我们的系统不支持IE这个老东西,支持谷歌内核所有浏览器. 由于官方网站即将发布,将随官方网站和二次开发文档一起发布,请持续关注www.braveos.

【插件式框架探索系列】使用多UI线程提升性能

了解WPF线程模型的都知道,UI线程负责呈现和管理UI,而UI元素(派生自 DispatcherObject)只能由创建该元素的线程来访问,这就导致了一些耗时的UI操作将影 响到整个应用程序性能,未响应及漫长的等待有时会令人抓狂,而UI线程一度成为了不可 越逾的鸿沟.对于框架来说,一个插件的行为不应该影响到其它插件及整个平台的稳定性,后来在看了 <Running WPF Application with Multiple UI Threads>和<DispatcherObject与WPF

Python3漏洞扫描工具 ( Python3 插件式框架 )

目录 Python3 漏洞检测工具 -- lance screenshot requirements 关键代码 usage documents README Guide Change Log TODO list Any advice or sugggestions 目录结构 Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based on Python3. 基于Pyt

基于Python3的漏洞检测工具 ( Python3 插件式框架 )

[TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based on Python3. 基于Python3的简单版漏洞检测框架 -- lance 可以自定义poc或exp插件,可以指定要加载的poc或exp. 代码已经上传到Github : https://github.com/b4zinga/lance screenshot requirements pyt

企业信息化解决方案——插件式平台开发框架

0.三板斧 作为职业Programmer或是优秀Team,拥有一套成熟.稳定的开发框架,无疑是行走IT江湖.纵横IT市场的必备功底. 无图无真相,作为一个讲究实效的ITer,先来几道的甜点凉菜,后续会上更多的硬菜啦~o(∩_∩)o ~ 0.1 平台登录界面 0.1.平台登录界面 平台登录模块的设计兼顾了安全性和易用性.只有合法授权且状态正常的用户才能登录到平台.同时为方便用户使用,在确保电脑使用者相对唯一的情况下,可以选择保存登录信息,系统会自动对用户的相关登录信息采取加密手段后进行存储. 0.

探讨插件式GIS框架的设计

三年前,听当时的师兄推荐,买了蒋波涛的一本关于GIS插件框架的书.当时一边看书一边将其中的例子完整的实现了一遍,收益匪浅.后来由于项目需要,也做过一个插件的C/S系统,用的是微软提供的MEF框架.在这个系统中,把蒋波涛在他的书中没有涉及到的插件和插件的通信完成了.不过,蒋波涛的那本书,涉及到了插件系统的很多底层内容,其中关于插件引擎的设计尤其值得学习.近来,我将自己当年实现的那个例子进行了一个总结,和大家一起分享. 1.插件式框架的组成 (1).框架分为宿主程序和插件对象两部分 (2).两部分交