惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
N
Netflix TechBlog - Medium
博客园_首页
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
腾讯CDC
V
V2EX
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
Cyberwarzone
Cyberwarzone
N
News and Events Feed by Topic
L
LINUX DO - 最新话题
Schneier on Security
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
Martin Fowler
Martin Fowler
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
U
Unit 42
WordPress大学
WordPress大学
N
News and Events Feed by Topic
S
Schneier on Security
T
The Blog of Author Tim Ferriss
B
Blog
博客园 - 叶小钗
Forbes - Security
Forbes - Security
F
Fortinet All Blogs
Project Zero
Project Zero
K
Kaspersky official blog
Apple Machine Learning Research
Apple Machine Learning Research
L
LINUX DO - 热门话题
The GitHub Blog
The GitHub Blog
H
Hacker News: Front Page
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
PCI Perspectives
PCI Perspectives
The Register - Security
The Register - Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
W
WeLiveSecurity
C
Cyber Attacks, Cyber Crime and Cyber Security
罗磊的独立博客
S
Security @ Cisco Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
P
Proofpoint News Feed
S
SegmentFault 最新的问题
D
Docker
量子位
M
MIT News - Artificial intelligence

博客园 - Shinn

开发一个12306网站要多少钱?技术分析12306合格还是不合格 完美的web 2.0站点用户中心标准,及开源用户中心nUserCenter进展报告 开源 Asp.net mvc 用户中心(nUserCenter) 产品机会评估 开源 Asp.net mvc 用户中心开发计划 [转]为什么首页最后设计 [转]从社区常识说起 [转]内容运营与冷酷态度 [转载]2008-2010中文SNS的观察和实践 如何建立有效的UGC激励机制 技术领导的疑难:如何掌控其他成员的开发 重用之前应仔细分析问题---------用错轮子有感 从面试题看高级软件工程师需要哪些技艺 测试 【翻译】WEB安全设计规范(4.1) 也为读者说几句(兼为什么要骂烂书译者) "千里之堤毁于蚁穴"------重点项目不能交付之谜(一)泥淖中的验收测试 最长代码有多长:不符[单一职责原则(SRP)]的常见设计 不足百行代码 实体数组转DataTable通用类 面试英语【转】
企业快速开发框架--基于配置文件
Shinn · 2008-11-03 · via 博客园 - Shinn

今天在javaeye看到两篇关于企业开发的文章。(A.忘掉普元EOS、构建自己的企业级快速应用开发平台B. 给做快速开发框架的人泼泼凉水 )

而恰巧我所在的公司内部也有自己的快速开发框架。简单介绍下,有什么考虑不周的地方,欢迎提出。

基本组成是一个 基础框架,一个工作流引擎,一个流程管理引擎,一个类似于ESB的集成骨架

 1.基础框架功能:

集成权限管理。是整个系统的入口,其核心功能是基于配置文件生成应用页面。(可配置权限,增删改,多表操作,数据验证,多种控件dropdownlist,checkbox,treeview..)。

2.工作流引擎,业务流程,表单等。流程描述语言为xpdl。流程绘制使用开源工具

3.流程管理引擎,其实现和工作流引擎一样(内核相同,接口稍有变化),它的使用者是系统,或者说是软件。通过设定的流程调用不同的服务从而实现复杂业务逻辑

4.集成骨架:相当于一个系统内部的门户,企业内部的服务在骨架上注册。同时还起着适配器的 作用。基础框架有扩展接口,骨架上集成的服务可以实现基础框架的接口。

 其解决的问题主要有几个:

一,权限集中管理,若每次开发一个系统都有一个权限模块的话,不管开发还是维护都是十分麻烦的事情,就算你用dll封装,但你表还是要建把,一个人离职,你可能得从多个系统中删除用户。现在系统的入口就这一个,权限还是IIS集成的AD验证

二,消灭大部分重复代码。企业级开发,很大一部分就是面向数据库,或者讲是维护资料的系统开发。不可避免的存在很多增删改操作。代码生成器是个“好 ”主意,为什么加引号,我觉得代码生成具有双重性:A.确实简单了,B,其实复杂了。简单是生成时“嗖”一声就生成了一大堆,还有接口,三层架构。复杂是 维护时看着似是而非的代码“不敢”动手,在没有注释,没有测试的情况下,你不敢,也不知道需要修改哪些地方。  现在基本的数据维护都是一个配置文件,页面都是动态生成的。错误也还少。

三,工作流建立。大企业签单程式是跑不了的,不用框架,一个流程能让你忙上几个月。权限分配,流程走向,流程图,流程管理,哪一个都不是好惹的主。 开源框架好的也不少,可大多是java的,万一让你摊上个.net的开发团队,望工具兴叹啊。有钱,买总可以了,但流程跑的数据往往业务中还是需要的,这 样一来,开发一个流程其实也不简单啊。

    同时电脑也可以跑流程,流程一样定义,只是资源是服务而不是人了,做的是计算处理而不是签字了而已。

四,功能复用。我们在开发不同系统时,常常会做很多重复劳动的。除了前面的权限,增删改等,有时大模块也会有拷贝的,比如说从SAP查询生产订单信 息。原材料管理系统。生产管理系统,品质管理系统中都要,常见的方式是三个系统各做各的。现在做成基础框架web扩展,就可以以一敌三了。

上面说了这么多,都是开发人员获得的好处,用户也是有好处的,熟悉一个界面总比一大堆要好吧。我开一个浏览器,就可以大部分的事务。

具体配置属性.原本用的是xml在家大致写下架构好了,

基础框架

page Title //页面基本信息

roles name,type//角色名,权限类别

tables name,alias,pk //数据表名,别名,主键

fields name,table,type, alias//字段配置(可无),表,别名,数据类型

controls widthUnit(宽度按比例算,假如widthUnit的值为5,而某一个控件总数为1则该控件宽为20%)

 +DropDownList name,field,wideUnit, valueSourse/values//控件配置,字段,宽,数据源,

 +extendButton name,field,servicename,parmsfield

其它还有上传控件,日期输入控件,treeview,各种选择控件等

grid width,widthUnit,fields, type,//列表区,字段,权限类别

  +parents field,table,childrens,//包含字表的关键字段,字表名,子表字段..

  +link field,formatString,valuefields//链接字段,链接格式字串,用于格式化的值域

  +extend field,servicename,parmsfield//扩展功能字段,服务名称,参数字段

childgrid//子表区 和列表区基本一致

基础框架配置基本就在这了.流程配置下次再弄