【SQL开源代码栏目提醒】:网学会员在SQL开源代码频道为大家收集整理了“OpenJWeb是一款基于java主流开源技术(SSH2)实现的Web应用快速开发平台产品 - 综合课件“提供大家参考,希望对大家有所帮助!
OpenJweb 1.1 关于OpenJWeb OpenJWeb是一款基于java主流
开源技术SSH2实现的Web应用快速开发平台产品。
如果选择了OpenJWeb作为贵公司的基础产品架构这意味着您选择了一个低成本、高效率的软件开发模式换句话说就是软件开发速度会成倍提高、产品或项目研发成本会大幅度降低。
而且OpenJWeb还为您的公司节省了一个平台研发团队的投入。
如果您决定使用OpenJWeb作为Java Web应用的基础架构您会获得以下利益 1 OpenJWeb平台的绝大部分源
代码。
2 不再需要花大量资金投入一个平台研发团队。
3 您的开发人员不再需要单独投入大量工作时间研究
开源技术OpenJWeb已经集成了主流的Java
开源技术。
4 与商业的平台厂商不同OpenJWeb为贵公司提供了透明的平台架构您公司完全可以基于平台做更多的扩展。
5 低廉的产品价格和永久
免费的在线技术支持QQ或MSN。
6 定义一个增删改查模块仅需要几分钟时间并且还可以生成java源
代码支持单表主明细Master-Detail表、树型结构、审批单等多种样式的Web页面。
1.2 OpenJWeb能解决什么问题 1 在企业应用开发中组织结构权限功能菜单管理等基础模块因为没有进行良好的设计导致在不同的项目中不能重用还要做大量修改才能在新的项目中使用。
2 对于单表主明细表类的增删改查由于开发模式相似但由于没有
代码生成器和Web页面生成器导致程序员即使开发一个相似的功能也要花大量的时间进行编码和调试。
开发效率非常低。
开发人员经常因为查找一个BUG花费大量时间调试调试完才发现不是有的地方在复制
代码的过程中漏改了就是有的地方大小写拼写错误等等。
3 在国内大量的公司大量的项目开发人员都不可避免地要实现组织结构权限等每个业务系统都必需的基础功能如果有一个好的
开源的平台大家就不需要在这些基础模块上投入不必要的开发时间有这样的平台能大大降低研发资源的重复投入。
4 字段校验规则字段默认值、页面中的查询条件列都可以在平台中配置不需要更改页面
代码和
程序代码。
权限管理非常细致不仅包括菜单按钮、数据行都可以进行授权。
5 新的开发人员加入团队后稍微加以培训就会了解应该在什么地方添加业务逻辑在什么地方增加新的校验类等等能否在很短的时间内就融入到开发环节中。
6 由于
开源框架众多选择什么框架并将这些框架有机集成起来然后针对这些框架做出开发平台没有丰富的Java开发经验是难以完成的。
但有了统一的集成好的框架开发人员不需要再为java产品的选型头疼了。
7 平台提供了大量的应用组件包括邮件收发、内容管理、试题系统、档案管理、工作流引擎和审批流设置、内部论坛、邮件及短信群发、即时通信、搜索引擎等。
8使用openjweb作为产品平台可以统一开发规范提高软件复用度降低开发成本提高项目利润。
同时也会迅速提高Java开发人员的技术水平大大缩短开发人员成为架构师所需要的时间。
1.3 OpenJWeb的主要技术框架 OpenJWeb 1.8版本的基础框架struts2.0.6Spring2.5.6hibernate3Spring security2.0另外还有strut1部分功能是以前开发的、dwr、fckedit、extjs、图表采用JFreechart树控件采用dhtmlxTree。
另外还集成了JOTM这个是在tomcat中的JTA支持跨数据库事务处理。
1.4 OpenJWeb的商业价值浅析 很多软件公司为企业开发应用系统往往动辄一年甚至更久如此长的开发实施周期导致项目还没有实施完需求已经发生很大变化所以OpenJWeb从开发模式上采用平台定制二次开发辅助的模式可大大减少项目的开发工作量缩短项目的实施周期甚至后期都可以由用户自己定制业务模块因而避免了软件公司交付产品后新的业务需求仍然需要软件公司开发的局面。
应该说对于越大型的企业应用项目OpenJWeb节省的成本越显著。
这体现在 1 一般企业应用都有大量的后台维护模块而这些模块的开发很多都不可避免地要解决页面
JSP文件的开发分页、排序功能的处理增删改查功能的实现数据库建表以及页面中涉及到
代码-名称列表的下拉窗口的检索等等很多开发内容如果没有一个平台工具提供快速开发支持的话一个象简单的客户基本信息维护这样的功能至少也得两天的时间才能完成而使用平台工具开发的话只需要十几分钟的定制的时间就可以轻松搞定。
两天和十几分钟的差异绝对不是一个小数目对于一个百万元的项目而言使用平台开发至少可以节省20万以上的项目成本。
对于软件公司而言减少20的项目成本就意味着项目提高20的利润率OpenJweb的快速功能生成器在项目开发中的效率是传统的软件开发模式是不能匹敌的只要数据结构设计出来功能就可以快速生成出来。
在做项目需求原型的时候是非常有帮助的。
2 OpenJWeb平台对
开源社区的框架产品进行了很好的整合同时也经过了若干大型项目的验证使用OpenJWeb平台的用户因而可以避免重复选型的风险也节省了重新搭建应用框架的时间。
3 基于平台产品进行应用开发和实施是以后软件行业的主要模式使用平台产品进行开发可以使
软件公司完全摆脱手工作坊式的研发时代对于大型项目的实施也不再需要靠大量
招聘开发人员这种非常耗费成本的实施方式。
另外成熟的平台减少了
代码出错率这也在很大程度上减少了修改错误
代码的时间。
4 成熟的开发平台具有透明和统一的开发模式和框架因而项目人员的变动不会对产品的体系架构产品影响。
因而很大程度上减少了关键人员离职造成项目失败的风险。
5 平台产品已经实现了增删改查生成组织结构权限数据权限控制字段校验器业务逻辑生成器默认值设置
代码表管理、工作流引擎、即时通信、邮件收发、等很多功能不需要用户再进行同类功能的重复开发。
6 此平台不仅对软件公司最终用户有很大的价值同时对于Java开发人员来说也是一个很好的学习平台具有很大的学习价值和培训价值。
OpenJWeb平台由于有机集成了
开源领域的众多产品为
Java人员提供了Java
开源技术“一站式”学习通道能在很短的时间内掌握这些
开源技术的使用方式。
通过OpenJWeb的
学习和使用可以使Java人员在很短的时内提高自己的技术水平从而使自己在竞争激烈的职场中脱颖而出。
基于以上这些价值OpenJweb快速开发平台也是培训机构很好的实战教材。
1.5 OpenJWeb的主要用户群体 1 对于还没有或者刚选择Java平台的软件公司本平台已经具有了很多开发好的功能不需要重复开发。
2 对以于项目实施为主的软件公司按项目定制开发使用此平台开发项目可以大大减少开发
工作量。
3 咨询人员咨询人员使用此平台可以在很短的时间定制一个原型应用因而使得在打单或需求调研过程中迅速给客户展示一个应用系统模型。
4 企业用户。
使用此平台使得在软件公司的服务到期后仍可以使用平台来定制自己的新的业务应用用户新增加一个功能可不再依赖于软件公司从而真正做到随需应变。
5 培训机构。
OpenJWeb平台是一个不可多得的基于
开源框架的快速Web应用开发平台一般IT培训机构是很难获取到这种具有实战价值的
代码针对OpenJWeb平台进行Java培训一定可以使学员在相对短暂的培训期间体验到真正的企业级应用开发。
6 个体
创业者或者中小软件公司。
对于中小软件公司是没有资金去聘请一个专职的高级架构师引入一个优秀的
开源平台进行软件开发是他们最好的选择。
1.6 OpenJWeb1.8版本的主要功能特点 1.6.1 多语言支持 可在登录后的系统首页通过点语种连接来切换不同的语种不过目前有许多页面没做文字翻译只翻译了个别单词可以看到语种切换的效果。
表单列表页面和编辑页面的标签支持多语只需要在表字段定义中定义各语种文字从平台编译
代码后能自动生成对应的多语资源文件。
1.6.2 Portlet风格的首页 带Portlet风格的后台首页可实现Portlet窗口的拖拉目前设置了我的待办任务我的已办任务等Portlet目前尚未
设计OA及工作流系统所以Porlet中的信息目前是
演示数据。
1.6.3 在线编译功能 通过平台生成功能
代码后不需要在IDE开发环境中执行
代码编译可直接在页面中点“编译
代码”编译完成后新
代码生效。
1.6.4 提供了定时器开发接口 平台已提供了定时器的具体开发和配置的例子用户只需要在指定的定时期类中增加自己的新的定时器方法并在Spring配置文件中稍作配置即可。
1.6.5 提供了邮件发送API调用接口 平台已提供带
HTML格式的多附件发送调用API利用这个API可很方便地实现邮件群发。
1.6.6 集成了FckEdit在线编辑器 本平台提供了基于FckEdit的可视化的在线编辑器。
1.6.7 提供了业务逻辑组件接口和实现类的生成功能 当建表时如果选择生成业务逻辑组件则自动生成业务逻辑接口和实现类。
并自动在Spring配置文件中进行配置。
1.6.8 支持基于JTA的跨数据库事务 可实现跨数据库的事务控制当指定异常抛出时可在两个数据库中同时回滚。
1.6.9 表结构管理 定义了表和表字段后可生成数据库表、Hibernate映射文件和Java实体类。
表字段定义中可定义字段的类型长度是否非空各语种标签文字使用哪些字段校验器默认值生成规则设置表字段在列表页面和编辑页面是否显示显示顺序表字段的输入方式输入框日期选择弹出窗口下拉列表等多种输入形式、表字段是否为查询条件字段等。
另外表字段维护中还增加了生成表字段功能用于在表已经建立后如果增加新的字段就不再需要从开发环境中开发实体类hibernate映射文件进行修改也不需要打开数据库管理工具增加新的字段只需要在页面上执行操作就可以完成以上内容。
1.6.10
代码表管理 也称数据字典管理主要用于页面上下拉列表的下拉选项的定义。
例如职称可定义001工程师002高级工程师用户既可定义
代码表位于专用的数据字典表也可以指定任意表的两个字段作为
代码字段和名称字段。
如果同一类型的
代码不是很多少于50条可以用
代码表管理
代码表的明细项如果太多推荐专门建表维护这时别的字段如参照使用本
代码表应该使用弹出窗口进行选择。
1.6.11 功能定义 可针对一个数据库表创建单表增删改查页面。
也可创建主明细表增删改查页面可带多个tab。
建主明细表时需要维护主表和明细表对照关系。
在本页面配置好功能相关属性后点“生成
代码”可生成struts2的action配置文件action控制层类
列表页面编辑页面弹出窗口选择页面每个功能都有可能作为别的页面字段的参照输入。
如果此页面中设置了要创建的表单类型单表/主表/明细表则可分别针对不同的表单类型创建对应风格的页面。
1.6.12 数据权限定义 可指定一个表设置针对不同用户的不同的数据权限包括查询权限修改和删除权限。
1.6.13 字段校验器 平台可从字段校验器表中读取字段校验器类进行保存前的数据校验。
如果用户开发了新的校验器需要实现校验器接口可录入到数据库中然后在表字段定义中选择性地绑定需要的校验器。
用户还可以自己设置正则表达式校验器。
1.6.14 查询 平台生成的页面中有显示在列表页面查询列如果想增加或减少查询列只需要修改表字段定义中的是否查询字段将是否
查询条件设置为“否”然后重新生成此功能的
代码即可。
另外组合查询中可定义定义组合查询条件。
本平台的查询条件字段的输入方式是根据配置动态变化的例如日期输入型字段则查询条件自动显示日期选择器如果是弹出窗口自动显示弹出按钮如果是下拉列表查询条件列自动检索出列表项。
1.6.15 权限维护 维护一个权限树。
权限树中可定义功能菜单权限按钮权限等。
如果设置了URL则没有授权的用户不能访问URL此表是Spring Security框架读取权限信息的表是权限框架的核心数据库表。
1.6.16 公司基本信息维护 维护顶级法人公司列表。
是组织结构树的根在这里可以录入本公司客户公司。
如客户公司因业务需要需在本系统建立自己的组织结构和用户则需要在这里
注册公司信息。
1.6.17 组织结构维护 可选择一个顶级公司维护组织结构树组织结构树可定义行政部门、客户、供应商、角色、岗位、业务组等多种类型组织结构可以在一个组织结构下维护人员信息同时也可以维护一个多对多的组织结构-人员关系比如某个组织结构节点为角色则可以将属于此角色的人员添加进来。
这样形成了一个多对多的矩阵型组织结构-人员关系如果此组织结构被授予权限则直属此组织结构的人员可以获得组织结构权限另外角色权限可以继承即上级角色可以具有下级角色的权限另外
系统还可直接对人员授权。
这样一个人员的权限就包括了直接授权从组织结构获得权限从角色型组织结构获得权限及继承权限这样构成了一个完整的授权体系。
1.6.18 EXCEL导出功能 通过OpenJWeb平台生成的功能页面中提供了针对此页面数据的EXCEL导出功能所以在本平台中针对单表的普通列表格式的EXCEL导出功能完全不再需要开发人员自己开发这无疑节省了大量的EXCEL导出功能的开发时间。
本平台的EXCEL导出功能大致有以下几个特点 1 普通格式的EXCEL导出功能不再需要开发人员编写
代码实现。
通过平台生成的增删改查功能页面都具有EXCEL导出功能。
2 可以由用户自己定义导出的EXCEL表格的查询条件。
3 可以由用户定义EXCEL表格的标题文字、EXCEL中单元格的表头文字、单元格对应的字段顺序可定义数据库中哪些字段在EXCEL中显示哪些隐藏这样可以由用户来控制单元格显示顺序及需要显示那些内容。
4 因为数据库表中很多字段存储的是编码而EXCEL中需要显示名称例如省份字段存储的是0001实际上此
代码映射的是北京市所以在EXCEL表格中需要显示出北京市。
在本平台中可以定义任一编码字段对应的名称这个是通过设置一个
SQL来查询编码对应的名称。
1.6.19 EXCEL导入数据库 通过平台生成的增删改查页面具有EXCEL导出以及从EXCEL导入数据到数据库中的功能。
这样就实现了通过EXCEL快速编辑数据的功能在系统录入大量数据的时候非常有用。
由于每个页面都由平台生成了导入数据的按钮和实现所以使用本平台开发新的功能不需要开发人员重复编写EXCEL导入数据库的
代码。
在操作EXCEL导入数据库功能之前可以先从平台中导出数据然后在导出的EXCEL文件中编辑编辑完成后导入到数据库中系统在导入过程中会根据设置的业务主键来自动判断哪些数据是新增的哪些数据是在原来的基础上修改的记录这样系统可以自己选择是插入一条新数据还是在原来的行上替换新的值。
如果EXCEL单元格中有的值是名称录入到数据库需要反查编码例如EXCEL中的城市为“北京”但在数据库中“北京”的编码是001这样EXCEL导入数据库时会自动将北京替换为001。
1.6.20 快速功能建模 OpenJWeb提供了功能菜单快速创建功能菜单创建完成后将菜单权限分配给用户很快就可以搭建一个新的子系统框架。
只要页面开发出来与菜单进行连接并与权限绑定功能模块就可以使用了。
具体操作方法见用户手册。
1.6.21 站内全文检索 OpenJWeb集成了Lucene搜索引擎并开发了html、txt、pdf、excel、
word等格式的文件解析器。
在OpenJWeb平台中当信息发布为静态页面后静态页面会保存到一个公共目录平台的后台定时器可定时调用
搜索引擎进行索引重建。
所以每隔一段时间发布的静态页面就可以通过搜索页面按关键词进行检索。
1.6.22 Spring Security与单点登录产品CAS 本平台提供了Spring Security与CAS Server 3的整合方式。
如果用户需要配置Spring Security和CAS Server可参考web.xml.cas和applicationContext-security.
xml.cas.用户手册里描述了部分配置过程。
1.6.23 树型结构生成器 OpenJWeb平台实现了树型结构生成器用户可以在平台定义一个树型的表结构并根据这个表生成一个树型的增删改查维护页面非常方便。
这个功能解决了企业应用开发中树型结构维护功能的开发难度大周期长的
问题使用本平台几分钟就可以创建一个增删改查功能并且不用编写任何
代码。
1.6.24 工作流支持 OpenJWeb平台实现了工作流引擎支持流程状态设置、审批流设置、路由、条件设置、工作流定时器、工作流表单动态生成、待办任务、邮件通知、单据打回处理。
审批单可以显示审批日志、单据状态、并可根据参与者条件自动显示可由当前人员审批的审批路线审批单上还可以填写审批意见等。
1.6.25 内容
管理系统信息编辑与发布 在简易审批流的支持下平台实现了信息审批流的配置用户使用Fckedit在线编辑器在审批通过后发布信息的同时可生成静态的html页面信息发布前也可指定对应的栏目。
静态页面的内容可被平台的搜索引擎定时索引。
1.6.26 数据库管理工具 平台支持oracle、Sybase、
sqlserver、
mysql等多种数据库并提供了数据库结构转出功能、不同数据库之间的数据完整复制功能、数据库表结构
文档生成功能等。
用户可以很方便地利用本平台将一种数据库转换为另外一种数据库。
1.6.27 在线考试/在线调查系统 openj
web实现了在线考试/在线调查系统可定义
试卷、试题、标准答案、试题分数、试题类型支持单选、多选、简答。
选择题支持
计算机自动打分功能。
1.6.28 简易的即时
通信功能 平台实现了简单的即时通信功能用户可选择其他人员进行在线聊天。
1.6.29 集成了Jforum论坛产品 Openjweb平台实现了与jforum论坛进行单点登录和单点退出功能。
1.6.30 多种开发实例 开发人员可以通过openjweb学习mvc的设计模式邮件收发excel 导入导出spring security和cas集成模式文件的上传下载blob图片存储图片验证码生成、字段校验框架、权限管理框架、fckedit集成、ssh2等多种开发技巧。
如果开发人员想快速超越同龄人请关注、学习openjweb并欢迎广大开发人员为openjweb提出宝贵意见。
如果您使用过其他的
开源和商用快速开发工具再来关注openjweb这个快速开发平台它会为您带来更多的惊喜。