介绍

大连首闻核心系统(以下简称核心系统)是大连首闻科技有限公司(http://www.dlshouwen.com)推出的一套开源、高效、稳定、强大、安全的企业级J2EE框架。协助中小型软件企业降低项目开发成本、提升项目收益、获得客户认可、提升企业内开发人员综合技能及开发效率、研发态度,致力为中小型软件企业提供高精尖J2EE框架的一站式服务。

核心系统规划于2011年,于2012年正式启动,研发团队成立于2010年,初始团队成员9人,现长期对应团队核心成员5人。核心系统已经过几十个项目历练,并在多个领域项目中承担底层支撑,其优秀的用户体验及稳定的产品特性受到客户一致好评,目前我司所有项目均以此核心系统作为项目底层框架支撑。

核心系统从初建到稳定共经历了约4年的时间,共分为三个核心版本:

  • Core Classic(经典版):全名DLShouwen Core Classic,原生核心系统,提供强大完善的基础功能并提供丰富的开发辅助工具,页面样式大方稳重,支持极简普通访问模式及工作平台模式。官方网站:http://core.dlshouwen.com/classic
  • Core Lite(轻盈版):全名DLShouwen Core Lite,轻盈版核心系统,对国内短平快特性突出的中小型项目,此版本适用度最高,前端简洁实用,在经典版的基础上去掉了大量实用度不高的功能,目前我司的非互联网项目主推该版本作为项目底层支撑。官方网站:http://core.dlshouwen.com/lite
  • Core Responsive(响应式版):全名DLShouwen Core Responsive,响应式版核心系统,在经典版基础上引入bootstrap响应式前端控件,所有的功能均改为响应式访问,以适应不同的终端设备,互联网项目主推该版本。官方网站:http://core.dlshouwen.com/responsive

  大连首闻科技有限公司产品群 | DaLian ShouWen Products

提示:后续说明中若称为“核心系统”,则表示描述对象为大连首闻核心系统特性及功能,若称为“Core Classic 产品”,则描述对象仅针对大连首闻核心系统Core Classic版本。

提示:后续说明将详细讲解部署过程、开发实例及相关接口,文档筹备过程中可能会出现问题或纰漏,还望参阅者及时指出,请参阅者见谅。

注意:Core Classic产品开源程序仅供爱好者学习研究,未经允许不得应用于任何商业用途,如需进行商业使用,请查阅我们的授权及服务报价,并与我司相关人员直接洽谈。

特点

快速高效的开发流程

核心系统经历多年的基础功能研发及优秀的底层开发设计,使用者可在短时间内应用该平台进行高效开发,提升工作效率,缩短项目研发周期,降低项目成本。核心系统无论从界面设计、程序开发上都遵循简单实用原则,通过核心系统大量原生支持的内建组件完成高效开发,提供大量基础功能及完整健全的框架文档。

简单有效是大连首闻一贯的工作态度,员工能力更侧重精雕细琢的工作态度及自主学习能力方向的引导。大连首闻所推出的任何产品均力求在高品质的基础上追求简单易用,尽最大努力降低使用者学习成本。

界面色彩高度定制

核心系统提供自定义皮肤功能,通过系统功能中的样式管理定义基础样式,再通过皮肤管理进行皮肤的定义,系统内用户可自行选择使用的色彩样式,界面中将根据所选皮肤进行展现。

皮肤的定制功能和样式管理的使用说明请参考后续功能使用说明文档。

下图为几套典型颜色的界面截图。

  默认颜色界面 | Default Skin

  橙色界面 | Orange Skin

  红色界面 | Red Skin

  紫色界面 | Purple Skin

  绿色界面 | Green Skin

注意:仅核心系统Classic版本包含此特点。

常规界面工作平台界面双样式

核心系统提供经典的常规工作界面,该工作界面为标准管理后台设计,设计界面如下图。

  经典常规工作界面布局 | Normal Layout

除此常规界面之外,核心系统为保证易用性及实用性,提供工作平台界面,该界面采用无UI设计,界面风格简洁大方实用,无任何多余无用元素。工作平台提供权限配置,并支持皮肤同步。

  工作平台界面布局 | Workspace Layout

工作平台的详细功能配置请参考后续功能使用说明。

注意:仅核心系统Classic版本包含此特点。

简洁实用的架构模式

现在主流模式为使用MVC三层架构模式,采用接口方式实现,通过领域模型完成类的定义和规划。核心系统大体符合标准思路,但为适应国内短平快项目特点进行了一定的优化和改进。

核心系统没有完全分开业务和行为,即Controller(Action)和Service,核心系统将其合二为一采用Controller实现整套业务流程。国内项目体质公司承接的项目通常工期较为紧张,且产品开发过程中、提交后依然变更频繁,为提高开发效率及变更效率,去掉繁多混乱的类文件层次是非常有必要的。

目前比较流行的项目管理体制要求分层管理,但经过大连首闻的长期同合作伙伴的交流,发现目前很多中小型企业暂时做不到真正的程序分层管理,大部分的中小型软件公司开发项目除了美工是完全剥离以外,程序的开发并不是以程序架构层级安排工作的,而是以功能点来安排开发计划,通常都是单员工制作全流程功能,这种模式是目前现有中小型甚至包括很多大型企业都在使用的模式,便于管理及产品质量的控制,市场决定价值,历练提炼精华,大连首闻针对国内项目的管理方式也以此种管理模式进行展开,。

为减少员工工作量,提升项目开发效率,降低项目开发成本,核心系统去掉了所有的接口实现,只保留一个类来完成对应的功能。目前的架构为Controller负责控制和业务,Dao负责数据库,没有其他任何冗余程序。

大连首闻在考虑这种模式之前做过一个针对程序抽取的调研,通过网络及各合作伙伴的项目开发人员及技术人员给与的反馈,对于中小型企业的非产品项目几乎一致统一尽量减少业务抽取。业务抽取在某些时候确实会提高效率,但由于国内项目需求变化频繁,若存在大量业务抽取反会导致不便,极有可能在修改通用业务过程中影响其他正常业务逻辑,容易出现错误,并增加测试量,影响工期。

数据安全保障

核心系统可有效保证数据安全。对于数据入口,核心系统采用前后端双重验证方式,前端脚本验证采用大连首闻自主研发开源表单验证组件DLShouWen Validator完成,服务器端组件采用Hibernate Validator实现。对于数据库安全性,核心系统的编码方式可有效避免类似SQL注入的常见问题,详细内容请参考后续说明。

完善的码表及参数机制

核心系统提供一套完善的码表机制及参数机制。

码表(或称为数据字典)是WEB应用系统中一个普遍使用的一套体系,用于将系统的一些内建信息缓存到服务器中(Application域),然后通过自定义标签可以方便的使用码表的内容生成下拉框,或者在列表中可以很方便的通过编号获取名称。

例如,人员表中有性别字段,在真实的数据库中,性别存储是1和2,1代表男2代表女,这些信息是在码表中做维护的。码表分为多种类别,其中的某一类别是性别,性别码表说明了1代表男,2代表女,在列表展示时,开发者不必关联码表表手动获取显示内容(即男女字样),而是直接通过编号就可以显示对应的值,下拉框内容获取同理。

  码表加载机制 | Load CodeTable

核心系统在项目启动时初始化码表信息,用户对码表信息做任何增删改操作核心系统都将重新读取码表信息并重新加载到缓存中。

参数与码表的机制同理,不再冗述。

REST及RBAC功能权限体系

核心系统为便于程序可能的接口调用,采用Spring MVC原生REST风格URL完成请求响应,符合REST风格所有标准。

核心系统权限体系采用最简式RBAC标准。

RBAC的概念官方给出的是:基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。

核心系统中采用的RBAC权限体系完全基于角色管理,通过用户 – 角色 – 权限进行控制,所有权限均依附角色分配到具体用户,通过角色对用户进行权限体系分组,解决了一部分客户的职能规划问题。角色概念既可以被当成为用户组的概念,也可以理解为非树形结构的组织机构,可按照任何意义进行权限划分,划分后可做灵活调整。

由于客户需求多元化,核心系统权限体系在某些情况下并不完全适用,需针对客户需求做相应调整。另外,按以往项目开发经验,中小型系统通常是把角色当成用户组或组织机构来使用,大型信息化产业项目则通常有一套复杂的组织结构规划和用户组规划,有此类需求的客户需要对核心系统的权限架构进行对应的修改。

核心系统的程序权限控制通过REST访问路径进行限制处理,对于REST路径中包含数据信息(如编号等)的情况,核心系统采用通配符的形式完成解析,详细配置信息请参照后续说明。

灵活的任务机制

核心系统提供一套灵活的任务机制,可方便的生成待办事项。

  任务维护界面 | Task Edit

使用任务功能需要一定的SQL经验,并需要理解任务功能的原理,且能够熟悉系统中的基础表(及扩展的业务表)结构。具体的任务使用方式详见后续说明。

任务配置完成后,其他用户在登录时,如某任务挂载到该用户且符合任务触发条件,那么系统将会在界面右下角弹出提示有未完成任务,用户点击即可查看任务详细信息。

可对单条提示信息执行本次登录不显示功能,或关闭此提醒。

  任务提醒 | Task Alert Message

完善的功能体系

核心系统包括某些常用的基础功能实现,目前已参数管理、码表管理、系统管理、功能管理、用户管理、角色管理、部门管理、在线用户管理、邮件功能、图片服务器、文件服务器、公告管理、任务管理、日志相关、辅助开发相关等功能,能够作为大多项目的基础功能实用,对于特殊的项目结构则需要相关的调整,核心系统中提供的功能大部分为常用及适应度最高的功能,程序本身亦可作为开发参考。

详细功能说明及使用请查阅后续说明。

强大的日志功能

核心系统包含登录日志统计、操作日志统计及SQL日志统计三大统计模块。日志的展现风格均以列表及图表方式展示,其中列表用于显示日志详细信息,可进行查看某条日志明细,图表用于显示日志统计信息,图表类型支持柱状图、条图、饼状图、线图切换。日志支持快速查询及高级查询功能,查询条件将在列表及图表中同时生效。

详细功能说明及使用请查阅后续说明。

  SQL日志功能 | SQL Log

支持

客户机配置要求

支持的配置 推荐的配置
操作系统 不限 不限
浏览器 IE8-(支持但不推荐使用),IE8+(支持但不推荐使用),Chrome,FireFox,Opera,Safari,其他第三方浏览器(不推荐使用IE6内核) IE10+,Chrome,FireFox,Opera
分辨率 1024*768及以上 1280*800及以上
CPU 主频不能低于1.0 GHz,二级缓存不能低于512KB,Intel赛扬核心及以上,AMD闪龙核心及以上 主频2.0GHz以上,二级缓存1M以上,Intel奔腾处理核心及以上,AMD速龙核心及以上
内存 512MB 1GB及以上
硬盘 - -
显示芯片 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求
外设 键盘、鼠标 键盘、鼠标
网络 不低于1M的有线/无线网络带宽 2M及以上的有线/无线网络带宽

  客户机配置要求 | Customer Computer Properties

应用服务器配置要求

支持的配置 推荐的配置
操作系统 Windows、Linux Linux、Windows2008
CPU 主频不能低于2.0 GHz,二级缓存不能低于2M,Intel酷睿核心及以上,AMD速龙核心及以上 主频不能低于2.0 GHz,二级缓存不能低于2M,Intel酷睿核心及以上,AMD速龙核心及以上
内存 2GB 4GB及以上
硬盘 40GB 80GB及以上
显示芯片 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求
外设 键盘、鼠标 键盘、鼠标
网络 不低于4M的有线/无线网络带宽 10M及以上的有线/无线网络带宽

  应用服务器配置要求 | Application Server Computer Properties

数据库服务器配置要求

支持的配置 推荐的配置
操作系统 Windows、Linux Linux、Windows2008
CPU 主频不能低于2.0 GHz,二级缓存不能低于2M,Intel酷睿核心及以上,AMD速龙核心及以上 主频不能低于2.0 GHz,二级缓存不能低于2M,Intel酷睿核心及以上,AMD速龙核心及以上
内存 2GB 4GB及以上
硬盘 40GB 80GB及以上
显示芯片 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求 支持32位色彩渲染的集成显卡、独立显卡均可,无特殊要求
外设 键盘、鼠标 键盘、鼠标
网络 不低于4M的有线/无线网络带宽 10M及以上的有线/无线网络带宽

  数据库服务器配置要求 | DataBase Server Computer Properties

其他配置要求

支持的配置 推荐的配置
JDK JDK1.6及以上 JDK1.7
服务器 Tomcat、JBoss、WebLogic、WebSphere等 Tomcat7.0
数据库 MySQL MySQL
开发工具 Eclipse、MyEclipse、IntellJ(Idea) Eclipse

  其他配置要求 | Other Properties

目前核心系统支持MySQL数据库,经过短期改造可以支持Oracle、SQL Server、DB2等常见的数据库平台。

后续支持计划

我司不承诺目前提供的后续支持计划会逐一实现,保留修改后续支持计划的所有权利。目前核心系统后续支持计划如下:

  • 常用数据库兼容,支持MySQL、Oracle、Sql Server、DB2。
  • 支持在线创建自定义表单功能。
  • 提供登录加密锁。
  • 基于Grid++Report报表研发WEB端在线设计工具。
  • 提供基础国内工作流解决方案。
  • 基于百度Echarts研发WEB端在线设计图表工具。