发布网友 发布时间:2022-04-20 06:42
共1个回答
热心网友 时间:2022-04-12 19:33
流程控制
在业务流转的过程中,对数据的控制包括数据流向,状态控制,触发,时间控制,以及各种参与其中的影响事件等。针对控制的复杂性与易变性,技术平台提出了流程控制引擎的概念。通过对流程控制中的节点和路径的定义,允许用户创建和调整流程定义,指定流程中的事件处理,通过流程将整个业务处理过程联系起来。
复杂逻辑的支持
平台抽象出了控制事件的基本元素是在综合考虑进各种现实模型的基础上。开发系统时通过对基本元素的搭建,满足各种业务需求。
在提供的基本定义上,用户可以自由的搭建自己的控制事件。用户可以实现:不同触发转向不同状态,超时的判断,控制逻辑的组合;以审批事件为例,可以定义多用户的分级审批,定义权限角色,对于审批的触发者,可以进行各种定制。
对控制流程到达的每一状态,可以进行描述,参数的传递,可以对每一次状态的转移设定条件控制。判断条件可以是:表单数据的数量,监听,等待指定系统事件的发生,等待超时等。
灵活的变更支持
企业信息化的过程之所以困难重重,就是因为各自千差万别,随机而动的业务规则。如果对事件的控制过程是采取系统定制的方法,面对业务变更及变更的潜在危机,将一筹莫展。
由于在平台中,对于控制是采取模型驱动,控制事件是根据业务需求自行构建的,当业务发生变更时,只需相应的调整控制逻辑。而且平台可视化的控制流程图,基于现实模型的构建单元,使得控制逻辑变更非常的直观与便捷。
流程控制引擎的控制方式,在面对变化时,有着其无可比拟的优势,高效灵活的协助企业应对瞬息万变的市场,以及杜绝一处变更带来得与其他运行模块的潜在冲突。
控制流程的管理和查询
业务信息流中的各种控制事件,可以是整个业务系统的神经节点,也是各类不同信息系统的特色及工作重点所在。技术平台对“控制事件”的管理、查询提供了的支持。可以获得每个控制事件的状态描述。
各控制事件在业务系统中,可能对应着各个业务事件,该描述为设计业务系统留下了很大的发挥空间,具体到信息系统中,可作为对业务事件的统一管理,调度等。
数据访问层
为了有效使用业务建模中的数据模型定义,平台加入独立的数据访问层(Data Access Layer),作为用户的业务操作与底层数据库的隔离层,完成数据源绑定、数据间关系维护、数据操作权限判定等复杂的处理过程,也从系统基本上杜绝了数据的安全隐患。数据访问层对外提供统一的接口,开发人员只需要根据数据模型定义,调用这些接口,即可实现业务系统中的数据维护功能。
数据操作的封装
通过数据访问层,具体业务系统实现人员可以直接处理数据模型,而不需要考虑数据库及安全的底层操作,这降低了对业务系统开发人员的技术背景要求,也大大减轻了二次开发的工作强度,使业务系统的开发集中在业务逻辑的设计和实现。
支持多种多数据库
通过数据访问层,平台屏蔽了不同数据库产品之间的差别,从而使业务系统不再依赖于特定的数据库产品,同时也为方便用户根据实际需要选择合适的数据库。
目前平台支持主流数据库产品Oracle、SQL Server和DB2,并且可以拓展到任意支持JDBC 的数据库。
平台对多数据库的支持,为用户提供灵活多样的解决方案,方便用户对系统的扩展、升级、维护,同时也能充分保护用户的投资。
数据迁移支持
技术平台对多数据库的支持,不仅表现在可以选用不同的数据库平台,它也提供了在不同数据库间转换的有力支持。平台在数据库备份、恢复时提供数据筛选功能,即可以设定条件,对指定范围数据相应操作。可以通过简单的操作实现不同需求的数据导入、导出操作。
对数据迁移的封装,使得最终用户方在缺乏精通多数据库人才时,也能够完成数据库平台的转移工作。在产生信息系统拓展,或其他数据迁移需求时,无需从头构建业务系统,更高效平稳的实现过渡。同时丰富了数据来源,当新建一套业务系统时,不必从头构建,可以从原有系统中集成。
业务单据自动生成
依据数据模型,系统可以根据预定的规则,在业务流程的特定节点自动生成符合需求的表单,在业务过程中无需再进行底层的数据库操作,支持了业务流程的自运作。
同时,系统对于业务表单提供了统一的管理机制,在系统运行时,也可以通过控制台进行察看,统一的维护。
数据维度
平台提出“数据维度”(Dimension)的概念,用以管理时间、地域、科目、组织等具有树状层次结构的数据属性,为数据访问控制、数据汇总以及*分析提供更为灵活的支持:
可以对各层次以及同一层次的各个节点赋予不同权限,很好地支持多粒度的数据访问权限控制;
可以从不同维度,或在一个维度的不同层次进行数据汇总、分析,实现全方位的数据分析。
以数据为中心的MVC架构
按照SOA的理念,为了合理划分应用程序结构,明确各个组件的工作重点,并保证系统的运行效率,平台提出了以MVC架构为核心的程序交互和通信模式:针对某项具体业务功能,首先确定业务处理中涉及的数据,并建立数据模型(Model);
客户端用户界面(View)负责业务处理结果的显示(即数据模型),以及响应用户的业务处理命令,将用户修改后的数据模型提交到服务器进行业务处理;
基于数据模型,可以定义对应不同的业务处理命令的数据处理行为(Controller),数据处理行为运行在服务器端,可以组合调用多个后台服务,最终完成业务逻辑,并依据运行结果更新数据模型,进而影响用户界面,导致显示内容的自动更新;
上述程序架构被称为以数据为中心的MVC架构,通过这种方式进一步规范应用系统的开发过程,可以更好的确保开发效率和程序质量:
合理划分系统边界,简化应用程序各个部分的开发,促进开发人员的分工合作,提高开发效率;
通过将服务器端的一连串服务调用组合成为一次独立的服务调用,避免了基于SOA的应用程序效率低下的缺点,同时也确保运行过程中的数据一致性;
客户端的处理逻辑得到简化,可以提高用户界面开发速度,减轻界面测试的工作量;
具体业务逻辑被控制在服务器端运行,可以进一步提高处理效率,保证业务系统的安全性。
RIA客户端框架
RIA客户端框架即Himalaya平台的桌面客户端,是平台为了适应基于Internet部署的需求,同时又能为用户的核心业务提供稳定、快速、高效的操作界面,而设计实现的Windows客户端组件。
RIA客户端融合了桌面程序和浏览器的优点,可以为操作人员提供更好的用户体验,其特点如下:
基于.Net Framework的桌面应用程序,可以运行在各个版本的Windows平台上,能够很好地符合一般用户的操作习惯;
使用Web Service与服务器端进行交互,因此对服务器部署的要求与一般的Web程序完全一样,方便系统的部署和实施;
具备自动安装和升级功能,可以不需要用户参与,在运行时自动完成功能更新,从而方便系统升级和版本管理,大大减轻系统维护的工作量;
支持客户端本地缓存和数据压缩机制,有效降低服务器压力,减少系统带宽占用,提高程序界面的响应速度;
可以使用更多的客户端资源,快速响应用户操作,并且可以完成一般使用浏览器时无法很好完成的任务,比如读写注册表,离线操作,直接访问外部设备等等。
报表和查询
报表和查询是业务系统不可或缺的组成部分,平台在报表和查询的功能设计上,通过“查询引擎”,“模板设计”,“多格式输出”等子模块,采用现有的成熟技术,实现了功能强大,易于扩展的报表和查询功能,同时也提供方便易用的报表和查询设计功能,方便用户对业务系统报表和查询的改进和调整。
功能全面
平台内置的查询引擎可以简化用户获取需要数据的过程:
图形化的查询设计界面,用户可以使用设计工具建立,修改和查看数据的获取过程;
在数据获取过程中,使用了流程化数据处理的概念, 通过分步处理, 简化查询实现的复杂度;
可重用的数据处理节点组件,方便业务实现的标准化,确保业务知识的积累;
通过集成成熟的报表输出引擎,平台在报表输出上具有如下特点:
支持多层嵌套分组,嵌入图形图表,多栏报表,子报表,TOC(Table of Contents)等多种样式的报表,可以方便地实现多种典型报表:表格、卡片,主从、分组、图表、套打、分栏;
支持自定义纸张,从而可以方便地实现单据套打等功能;
具有强大的分组和汇总功能,不仅可以实现复杂的多层嵌套分组报表,而且支持交叉报表;
强大的数据处理功能:可以定义不同类型的报表字段,支持字段的条件样式,能够自行定义公式,以及将公式的结果作为报表的输出;
支持柱状图,折线图,饼图等各种典型统计图表;
支持在运行时按照需要,将报表结果显示为各种不同的格式。包括Excel,PDF,HTML等常用显示格式;
便捷的设计过程
为方便业务系统在实施和运行中,用户对报表和查询的设计和调整的需求,平台为查询和报表提供了方便易用的设计工具,包括:
基于流程图的查询设计工具,用户通过选择不同类型的查询节点,组合得到查询流程,通过简单设置节点的熟悉,即可实现数据查询的定义;这些已定义的查询可以直接被用于界面显示和报表;
平台提供所见即所得的报表设计工具,用户可以在其中完成报表定义,调整,预览直至发布的全部工作;
报表设计器提供了格式设置,自动表格对齐,智能位置调整等功能,方便用户设计报表,通过报表设计器,用户不仅可以设计一般格式的报表,还可以设计交叉报表,图表,条形码等特殊的报表内容;
高度灵活
为了解决业务系统对报表高度定制化的需求,在提供了上述功能的同时,平台同时也保留的报表和查询的功能深化和扩展方面的余地,业务系统可以通过脚本、公式等手段进一步丰富报表和查询的功能,方便实现用户的特殊需求。
用户认证和系统安全
在Internet上,数据传输和处理过程中的安全问题主要集中在以下几个方面:
用户认证:如果确认数据传输的双方的真实性;
数据安全:如何保证发送和接收的数据不被第三方窃听和篡改
目前最通用的解决方法是使用电子签名和数字证书机制,通过交易双方的证书签名,确认双方的身份;同时基于数字证书,以SSL协议对数据进行加密传输,从而保证数据在传输过程中不能被窃听和篡改。
通过对SSL和数字证书的支持等安全措施,平台可以解决业务处理过程中的安全问题:
首先平台支持以用户名/密码方式的用户认证,并且支持多种方式的校验机制,包括基于数据库的用户名/密码匹配,集成Windows Active Directory进行用户验证等;
在用户名/密码方式的用户认证的基础上,无论使用桌面客户端还是浏览器,平台都支持客户端数字证书,并且可以在服务器上验证登录客户端的证书信息,从而进一步保证用户认证的准确性;
无论是否使用客户端证书,平台均内建了对SSL协议的支持,因此,只需要通过配置使服务器运行在HTTPS方式,即可通过SSL协议保证数据发送和接收过程的安全;
在使用桌面客户端的情况下,平台还能够方便地集成客户端网卡地址绑定,USB Key等安全认证方案,进一步确保系统的安全。
完善的权限管理
平台为应用系统提供了完善的权限管理机制,在系统层面对访问权限提供了统一的管理和控制:
采用基于角色的权限控制(Role Based Access Control),可以方便地进行权限发放和收回:
角色被赋予多个不同的权限,用户因为具有某个角色而获得相应的权限;
用户可以同时具有多个角色,这种情况下,用户权限等于其所拥有的角色的权限之和;
多个用户可以汇总为一个组,从而可以作为一个独立的单元拥有某些角色,这时,这个组中的所有用户都会具有这些角色。
提供5个类别,多个层面的权限控制:
菜单权限:
对不同功能的菜单项操作权限,不同权限的用户,如提供给系统管理员和普通操作员的菜单应该不同。
功能权限:
对不同业务功能的权限控制,与菜单权限不同,功能权限是在服务器端控制的。
数据实体权限(表单权限):
定义不同用户对数据模型中的字典,单据等数据实体的访问权限。
字段权限:
对数据实体中每个字段的访问权限,是对上面数据实体权限的深化。
数据记录权限:
对同一个数据实体,不同用户可以访问的数据记录也需要通过权限进行控制,平台通过引入“维度”的概念,实现了具有层次和继承特点的数据记录权限控制。
多粒度覆盖,支持灵活的配置
只需通过简单的配置项,即可灵活的设置不同类别,不同粒度的访问权限。业务系统在实施和使用过程中,可以根据需要对业务功能和业务数据的各个方面的进行控制,并可以由系统管理员进行管理和调整。
多级别的数据权限,满足各类需求
对用户数据权限的配置从隔离程度上细化为可见性,可增改,可删除等级别,充分考虑到了业务系统不同需求:
只要选择不可见的权限,就可以使该类数据对特定用户群完全隔离;
在用户可见的基础上,其对数据的操作权限也可以设定不同的级别;
完善的逻辑体系
平台针对权限的管理分发,设定了基于“角色”、“用户”、“组”的完善的逻辑体系。对权限的分发按功能层次分配到各角色;当同一个登陆者身兼不同角色时,可以通过“用户”这个概念,实现多角色的叠加;依据现实的组织系统构建的复杂用户体系,可以通过多级的树状“组”条理清晰的表述、管理。
便捷的配置工具
无论是对权限逻辑的设置,还是不同访问的设定,都是非常直观便捷的。借助平台提供的用户管理工具,可以非常方便的配置以上一整套的权限管理。
可扩展性和可定制性
源于平台的设计理念,从最初的版本开始,平台就把对系统功能的可扩展性和可定制性的支持作为核心功能,目前,平台已经在多个层面,以多种方式实现了对可扩展性和可定制性的良好支持,可以适应在项目生命周期各个阶段的动态业务需求。
开发阶段
在产品和项目的开发阶段,平台的服务对象是业务开发人员,在这个层面,平台主要通过集成在开发设计工具中的相关功能,方便开发人员对系统的扩展和定制:
通过数据模型设计,业务流程设计,以及可视化的界面设计等功能,方便业务开发人员实现业务需求,提高开发效率;
平台进一步提供了脚本,公式,以及扩展组件开发的支持,必要时,业务开发人员也可以选择采用这些方式扩展平台现有的功能;
平台为复杂业务逻辑的测试提供了完善的单元测试框架,在测试数据准备、运行环境模拟、测试结果校验等多个环节提供相应的支持,方便业务开发人员进行单元测试,保证软件质量。
实施阶段
平台也为系统实施人员准备了相应的配置工具,这些工具将进一步面向业务,屏蔽底层技术实现,以方便实施人员在项目过程中对系统的定制和调整:
提供面向业务的数据模型和用户界面的修改调整功能,包括单据字段的新增、隐藏等功能,以便业务人员按照需要调整应用程序的用户界面;
提供用户界面快速生成工具,方便系统实施人员快速生成运行界面,以适应实际项目的需要;
实施人员可以通过系统内置的公式,调整应用程序逻辑。
运行阶段
在项目正式运行之后,平台主要是通过以下的两种方式,来保证用户可以实时对系统进行调整和扩展:
在平台中为应用系统保留了很多可配置项目,这些配置项目可以被IT管理员根据实际需要进行调整,以满足业务系统发展和调整的需要;
平台提供的界面定义、流程定义、报表定义等功能可以嵌入到应用程序中,形成面向最终用户的运行界面调整、流程调整、以及自定义报表等功能,供IT管理员和业务人员使用