-
Notifications
You must be signed in to change notification settings - Fork 6
Home
欢迎使用 summer 框架!
资讯管理系统(MIS)是企业、政府应用最大的软件类别。此类系统均有一些共性的功能,如帐套管理、菜单管理、权限管理等,我们没有必要每次都重头开发,重头开发既不能控制交期,也难以保障品质。
summer 旨在建立一个公共的MIS二次开发平台,可籍此快速建立类似的,并运行在云平台的大数据应用,以降低开发成本,控制交付日期。项目代码会聚各类开发人员进行不断迭代升级,已成功使用在不同的商业软件项目。
summer 采用约定大于配置的策略,严格遵守开源软件的规则,并尽力保障向后兼容,充分保护大家的开发成果与可延续性。
- 各类资讯管理系统,如ERP、HR、SCM、CRM等,其均存在共同的特点:如用户管理、菜单管理、权限管理、参数管理等,需要进行简化开发。
- 在企业进行深度使用时,需要进行客制化开发,即需要一套定做一套资讯管理系统,其均存在与通用资讯管理系统一样的架构。
- 各资讯管理系统,需要分段开发,各系统之间要能进行统一的认证登录管理,并相互联接交接,使用同一套框架,才容易实现互联互通。
核心对象主要有IForm与IService,二者结合可低成本地实现微服务架构,同时保障系统功能弹性与性能弹性:
IForm,定位于页面控制器,用于接收web输入,以及输出IPage接口。其中IPage实现有:JspPage、JsonPage、RedirectPage等,可自由扩充。实际编写时,可直接继承AbstractForm后快速实现具体的页面控制器。
IService,定位于业务逻辑,用于接收web输出,以及输出IStatus与DataSet-JSON,并可透过包装类,转化为其它格式如xml的输出,此项与IForm的差别在于:IForm有提供对getRequest().getSession()的访问,可使用HttpSession。IService有提供RESTful接口,可提供第三方访问。
实际使用时,IForm会调用IService,而IService既对内提供业务服务,也对外提供业务服务。
-
BeanFactory:系统对象工厂
-
AppConfig:应用配置对象,用于配置本地配置文件名等
-
ServerConfig:服务器配置对象,在此配置mysql、memcached等
-
MyConnection:mysql数据库连接对象,由ServerConfig提供具体配置
-
IHandle: 系统环境接口
-
SessionHandle:系统环境对象
-
CustomHandle:虚拟系统环境对象,方便实现各类具体业务逻辑
-
IService: 业务逻辑接口,派生:AbstractService
-
IRestful:RESTful访问方式设置
-
AbstractService:业务逻辑对象,继承:CustomHandle,接口:IService,IRestful
db包核心对象为 DataSet,其模型参考于Delphi的TDataSet对象,以及.net中DataSet的对象, 对象继承层次为: DataSet->DataQuery
常用对象列表:
- Record:内存数据表,近似于List<Object>
- DataSet:内存数据表,近似于 List<Record> + Record
- DataQuery:实体数据表,近似于 DataQuery + SqlOperator,处理table增删改查
- Transaction:自动事务处理,可嵌套
- BuildQuery:组合查询工具对象
- BatchScript:批处理脚本对象,可一次性编写多条数据更新指令。
summer-footer
summer-db