OpenJWeb(v2.61)
企业级信息化应用开发平台
技术白皮书
OpenJWeb开源组织
手机:18600510596王先生
QQ:29803446
Email:[email protected]
网站: http://www.openjweb.com
编写日期:2013-08-06
目录
第一章概述..................................................................................................................... 3
1.1 关于OpenJWeb平台............................................................................................ 3
1.2 OpenJWeb的平台优势.......................................................................................... 3
1.3 核心理念............................................................................................................. 4
1.4 平台的商业价值.................................................................................................. 5
1.5OpenJWeb2.61版新增功能.................................................................................... 6
1.6OpenJWeb2.6版新增功能..................................................................................... 7
1.7OpenJWeb2.0版新增功能.................................................................................... 10
1.8 OpenJWeb主要技术框架..................................................................................... 10
第二章 openjweb主要功能特点介绍................................................................................ 12
2.1 整体框架规划.................................................................................................... 12
2.2 数据库建模....................................................................................................... 12
2.3 快速生成Web页面............................................................................................ 13
2.4 组织结构与用户管理......................................................................................... 14
2.5 功能菜单定义及权限分配.................................................................................. 15
2.6 字段校验器功能................................................................................................ 16
2.7 查询与定制查询................................................................................................ 17
2.8 EXCEL及XML导入导出................................................................................... 18
2.9支持多数据库的分页器....................................................................................... 18
2.10 多语言支持...................................................................................................... 19
2.11 Portlet风格后台首页......................................................................................... 19
2.12 Quartz定时作业................................................................................................ 19
2.13 内置WebMail邮箱系统.................................................................................... 20
2.14 集成了CKEditor在线编辑器............................................................................ 20
2.15 自动生成带事务支持的业务逻辑接口............................................................... 20
2.16 集成JOTM,支持JTA........................................................................................ 21
2.17 数据权限......................................................................................................... 21
2.18 站内全文检索.................................................................................................. 22
2.19 RSS生成器...................................................................................................... 22
2.20Spring Security与单点登录产品CAS整合........................................................ 23
2.21 图形化工作流设计器........................................................................................ 23
2.22OpenJWeb-CMS内容管理系统.......................................................................... 25
2.23 手机短信群发.................................................................................................. 27
2.24 支持多种关系数据库及数据库管理工具............................................................ 27
2.26 集成Flex......................................................................................................... 29
2.27 集成Fusion Charts图表.................................................................................... 29
2.28WebService集成............................................................................................... 31
2.29 分布式应用技术(Hessian)............................................................................. 31
2.31 典型案例......................................................................................................... 32
OpenJWeb Java Web应用快速开发平台,是以Java开源技术为核心的JAVA Web应用快速开发平台。本平台集成了大量的Java领域的经典开源框架,并实现了企业信息化应用系统所必须的基础功能,包括数据库设计工具、JAVA/JSP代码生成器、组织结构及权限管理、安全框架、邮件服务、内容管理(CMS)、搜索引擎、短信平台、工作流产品、SOA框架、分布式远程调用等功能,使Java开发人员无需掌握大量的底层技术架构,方便地在平台上开发企业信息化应用。
OpenJWeb的快速开发功能使程序员花几分钟的时间就可以定制一个新的功能。这从根本上改变了传统的低效率开发模式。越是大型的软件项目,OpenJWeb的开发效率越显著。
OpenJWeb既是一个Java Web应用开发平台,也是业务系统基础支撑平台。基于一个成熟的快速开发平台开发业务产品已经是软件开发领域不可避免的趋势。
OpenJWeb已逐渐成为企业Java Web项目开发必须考虑选型的基础平台解决方案。OpenJWeb的优势体现在以下方面:
(1)全开源:从OpenJWeb2.61版本开始,OpenJWeb 开发平台代码全部开源,这意味着企业可以放心地将OpenJWeb作为自己的核心架构。OpenJWeb是目前国内商用级别Java快速开发平台唯一全部开源的产品。
(2)一次性授权:软件公司、使用单位仅需支付一次授权费用。对于软件公司而言,
无论是销售产品、开发项目,不需要按销售数量和项目数量收费。
(3)低价格:购买OpenJWeb授权仅需6000千元人民币。
(4)开发效率极高:使用OpenJWeb开发一个增删改查模块大约不到10分钟(大部分是录入表字段花费的时间),即使不懂编程的人按照步骤操作也能定制新的功能,生成的功能包括列表、编辑页、查询、跨数据库分页、EXCEL导入导出、附件上传等功能。
(5)框架全面:OpenJWeb平台涵盖了数据库建模、功能建模、代码自动生成、数据字典管理、缓存管理、功能授权、数据授权、组织结构、用户角色管理、工作流、CMS信息发布、全文检索引擎、子系统分离及卸载、电子邮件、短信、FLEX集成、手机服务端、UI组件库、定时作业、CXF SOA框架、跨数据库支持、二维码生成器、安全框架等功能。
(6)性能稳定可靠:OpenJWeb平台已成功应用于文化部外联局文通网、威海家政服务网络中心-幸福威海网上商城等项目,是经过项目验证的大型企业级应用平台。
(7)优质的技术支持服务:OpenJWeb团队成员是工作5-20年的资深技术人员组成,能够为用户提供专业的技术支持服务。
(1)优秀的开发框架必须解决开发效率低下、软件重用性差的问题。很多软件公司每做一个新项目,都要从头开始编码,一点积累都没有,这样会导致项目开发周期大幅度延长,项目开发成本大幅度提高,项目质量严重不足的问题。
(2)为了让别人不重复造轮子,OpenJWeb的使命是要造出好的“轮子”,成为企事业单位信息化过程中不可或缺的基础应用支撑平台。有了OpenJWeb作为信息化应用的开发平台,业务系统不再需要关注组织结构、授权管理、信息发布、邮件收发等通用的基础功能,这样可以将主要精力集中在具体业务功能的设计和开发上。
(3)为用户提供一个透明的、标准化的软件体系架构和开发标准。透明的体系架构和标准化的开发规范使得软件研发团队的协作更规范、高效。BUG率更低。并减少因人员的流动带来不可预估的风险。
(4)最大限度地提高软件产品的兼容性,主要包括操作系统兼容性,数据库兼容性,应用服务器中间件的兼容性。这点在信息化系统实施的过程中非常重要,因为只有高度的兼容性才可以保证企业能灵活地选择自己需要的操作系统,数据库产品和中间件,在信息化投资预算有限的情况下,用户既可以选择免费的操作系统、数据库和中间件,也可选择收费的产品。
(5) 提供丰富的应用组件库。提供包括邮件群发、在线考试、短信收发、即时通信、网站CMS、网上商城等丰富的应用,用户可以将随时这些应用组件加入到自己的业务产品中。
(6) 提供WEB版本工作流图形设计器,使用户可以方便地定义业务流程。
很多软件公司为企业开发应用系统,往往动辄一年甚至更久,如此长的开发实施周期,导致项目还没有实施完,需求已经发生很大变化,所以OpenJWeb采用平台定制+二次开发辅助的模式可大大减少项目的开发工作量,缩短项目的实施周期,甚至后期都可以由用户自己定制业务模块,因而避免了软件公司交付产品后,新的业务需求仍然需要软件公司开发的局面。越是大型的企业应用项目,OpenJWeb节省的成本越显著。这体现在:
(1) 一般企业应用都有大量的后台维护模块,而这些模块的开发很多都不可避免地要解决页面JSP文件的开发、分页、排序、增删改查功能的实现、数据库建表,以及页面中涉及到下拉窗口的检索等内容,如果没有一个平台工具提供快速开发支持的话,一个简单的客户基本信息维护这样的功能至少也得两天的时间才能完成,而使用平台工具开发的话,只需要十几分钟的定制的时间就可以轻松完成。对于一个百万元级别的项目而言,使用平台开发至少可以节省40万以上的项目成本。而节省40%的项目成本就意味着项目利润提高40%!
(2) OpenJWeb平台对开源社区的框架产品进行了很好的整合,同时也经过了若干大型项目的验证,使用OpenJWeb平台的用户因而可以避免重复选型的风险,也节省了重新搭建应用框架的时间。
(3) 基于平台产品进行应用开发和实施是以后软件行业的主要模式,使用平台产品进行开发可以使软件公司完全摆脱手工作坊式的研发时代,对于大型项目的实施也不再需要招聘大量开发人员。另外,成熟的平台减少了代码出错率,这也在很大程度上减少了修改错误代码的时间。
(4) 平台产品已经实现了增删改查生成、组织结构权限、数据权限控制、字段校验器、业务逻辑生成器、默认值设置、代码表管理、多语种资源文件生成、图形工作流设计器、工作流引擎等很多功能,不需要用户再进行同类功能的重复开发。
(5) 此平台不仅对软件公司、最终用户有很大的应用价值,同时对于Java开发人 员来说是一个很好的学习平台,具有很大的学习价值和培训价值。OpenJWeb平台有机集成了开源领域的众多产品,为Java人员提供了Java开源技术“一站式”学习通道,能在很短的时间内掌握这些开源技术。通过OpenJWeb的学习和使用可以使Java人员在很短的时内提高自己的技术水平,从而使自己在竞争激烈的职场中脱颖而出。因此,OpenJweb快速开发平台也是培训机构很好的实战教材。
(6) 本平台由于具有快速开发功能,在项目招投标或需求调研阶段,可快速开发出系统原型。
很多没有平台产品的公司需要耗费美工大量的时间来绘制功能静态页面。而使用平台产品可快速搭建菜单、组织机构、生成的功能甚至可以直接使用。这使得软件公司在项目招投标过程中占有了很大的技术优势。
OpenJWeb2.61新增以下功能:
(1)新增了子系统卸载功能,可以将子系统一键式卸载。并将Java/JSP代码、xml元数据、表结构、表结构数据单独分离到一个指定的目录。
(2)子系统加载功能:将分离的子系统加载到基础平台。OpenJWeb新增的子系统卸载、加载功能可以使子系统很方便地作为插件独立销售、安装部署。
(3)core-service-demo.xml的配置方式优化:hibernate配置文件已改为指定路径的方式,这样大大减少了映射文件的配置量。另外业务逻辑Bean单独配置到独立的子系统文件,不再往core-service-demo.xml中写入业务逻辑配置。
(4)快速开发功能中新增对CKEditor组件、文件上传组件的支持,选择CKEditor组件时,JSP页面中自动生成针对CKEditor组件的数据读取、提交的JSP代码,当选择文件上传组件时,JSP页面自动增加上传文件选择组件,后台控制层自动增加上传文件的处理代码。
(5)因struts2.14的安全性问题,OpenJWeb对struts进行了升级,并采用struts2 2.3.14.3版本。
(6)Spring框架由原来的2.5.6版本升级为3.2.3版本。
(7)将子系统解耦,对子系统依赖关系进行以下划分:所有系统可依赖Comm基础平台、Mail子系统、短信子系统、CMS子系统。平级业务子系统之间不应互相调用。例如如果开发财务系统,财务系统调用进销存的库存数据,需要使用进销存系统发布的库存查询的Web服务接口,这样基于SOA的模式可减少子系统之间的代码依赖。
(8)搜索引擎模块中增加了对任意数据库表的全文检索算法(仅对企业版提供)。
(9)业务子系统增加了OpenJWeb BBS 论坛系统(见http://www.openjweb.com/)
(10)B2C商城改版(新样式见http://www.12343.cc网站的便民商城),商城中增加支付宝在线支付功能和快递实时查询功能。
(11)增加了手机服务器端调用接口(基于struts2返回json数据),并增加了手机android版掌上购物产品。
2.6版本在2.0版本基础上新增了以下功能:
(1)可切换皮肤的UI框架。
(2)完善了短信群发平台功能,已在“幸福威海”网站系统正式使用。
(3)完善了网站系统的充值卡管理功能,具有充值卡批量生成、印制、条码扫描入库、批量出库、发卡到网站功能。
(4)完善了网站用户资余额管理功能,包括用户资金余额管理、充值明细、消费明细查询。
(5)开发了新版本网上商城系统,见http://www.12343.cc/portal/apps/b2c/store/view/index.jsp
商城系统前端提供完整的首页展示、分类展示、商品全文检索、个人中心、购物车、下订单等功能。后台包括商品分类、商品管理、供应商管理、订单管理、退货处理等功能(详见商城部分的文档)。
(6) 开发了网站招聘系统,具体功能包括个人简历中心、企业简历中心。个人中心具有录入简历、查询职位、投递简历的功能。企业简历中心包括职位管理及发布、招聘简历处理、面试、笔试管理、考场管理、简历评分管理等功能。详见网站招聘系统的文档。
下面是2.6版本的可换肤的后台UI效果:
图1-1后台UI(样式1)
图1-2后台UI(样式2)
图1-3 商品列表页样式
图1-4 商品编辑页样式
2.0版本比1.9版本增加了以下功能:
(1)增加了CXFWebService,目前同时具有CXF和Xfire两套独立的WebService架构。
(2)增加了工行网上银行支付范例。
(3)增加了GIS地图调用范例。
(4)全文检索效率大幅度提高,并增加了多关键字组合全文检索。
(5)增加了二维码图片生成和反向解析功能。
(6)增加了将权限授权给其他公司的功能,其他公司如未获得授权,该公司管理员的授权界面上看不到未授权的菜单,这解决了云服务平台中的按购买模块授权的支持。
(7)部门树节点由tree_code唯一索引改为单位+tree_code作为唯一索引,大大提高了不同单位下部门节点的容量。
(8)列表页的字段改为可由用户自己设置。
(9)编辑页的只读改为可通过配置随时切换只读、编辑状态,不需要修改JSP文件。
(10)代码生成器增加了hibernate乐观锁的控制。
(11)增加了对Tomcat6、Jboss4.2+、Weblogic11g的支持。
(12)增加了单据流水号格式自定义功能。
(13)增加国标版行政区划编码表。
(14)在线编辑器由FCKEditor2.5.6升级为CKEditor3.5.3,并增加了服务器端图片文件管理、加水印、去水印功能、通过WebService同步新闻(可同步正文、附件、正文图片、关联记录)。
(15)可动态配置列表页上显示哪些查询条件字段,不需要修改JSP文件。
(1) MVC框架主要采用struts2.3.14.3+spring3.2.3+hibernate3
(2) 安全框架采用spring security2.0
(3) struts1.2(从上一版本移植过来的部分功能仍采用struts1.2)
(4) cas server3.3单点登录服务器+springsecurity集成
(5)dwr
(6)CKEditor在线编辑器(fckeditor新版)
(7)dhtmlxtree树形组件
(8)jotm JTA 跨数据库事务(基于tomcat)
(9)groovy动态语言
(10)apache lucene3.0全文搜索引擎
(11)基于openfire+spark+smack的Java即时通讯解决方案
(12)JFreeChart图表及FusionCharts图表。
(13)集成James邮件服务器,并开发了web邮件管理客户端
(14)集成flex框架
(15) MxGraphic图形化工作流设计器。
(16)高德GIS地图API。
图2-1 OpenJWeb2.0整体框架规划
OpenJWeb的主要目标是以快速开发为核心,自主开发、整合信息化系统必备的通用基础功能,并有针对性地开发一些业务应用系统(OA,CRM,电子商务、CMS、网上招聘平台等)。
可在Web页面上直接定义数据库表结构,创建数据库表。建表的同时可生成对应的java实体类和hibernate映射文件。用户在建表过程中,可选择是否生成带事务支持的业务逻辑接口和实现类,并自动将业务逻辑组件配置到Spring文件中,配置好的业务逻辑组件支持声明式事务,因而组件中定义的接口方法都支持数据库事务处理功能。
在定义表字段时,除了定义字段的类型、长度等数据库属性外,还可以定义此字段是否参与全文检索。
用户在定义数据库表的同时,还可以定义每个字段在页面的展示形式(输入框/下拉列表/日期选择/多行文本等),这样在用平台生成JSP页面时,可根据设定的样式来动态生成页面。
本平台可生成单表、主明细表、树形结构三种样式的JSP页面,在生成页面的同时,平台还自动生成struts2控制层java代码。下面是通过平台生成的单表的维护页面:
图2-2 平台生成的列表页面
图2-3 平台生成的编辑页面
图2-4 平台生成的树列表维护页面
图2-5 平台生成的单据类页面
通过平台生成的功能页面包括增加、删除、编辑、导入导出excel、支持多种数据库的分页、自定义每页行数、针对选定行上传附件、查询、自定义查询、列表页字段自定义等很多功能,生成这样一个增删改查页面不需要编写任何程序代码。
组织结构树维护及用户帐号管理功能。
图2-6 组织结构维护
本平台可定义任意类型的组织结构,包括行政部门,角色,岗位,业务组等。本平台可以根据数据库中的组织结构记录生成组织结构图,见下图:
图2-7 组织结构图
本平台可自己定义功能菜单,指定菜单对应的URL,并为功能菜单进行授权。本平台的授权方式包括:对用户所属部门授权,为角色授权,直接给用户授权等多种授权方式,下面是权限及功能菜单定义界面:
图2-8 功能菜单与权限定义
本平台的授权包括对单位的授权、对组织结构节点授权、对业务组授权、对人员、角色授权。另外可配置每个模块的数据权限(不同人员、角色可以访问哪些记录)。
通过平台生成的页面,可以为页面中的字段绑定字段校验器,这样不需要更改jsp页面代码。校验器支持自定义正则表达式、非空、唯一、长度限定、邮件、手机等多种格式的校验规则。
图2-9 字段校验器
平台生成的页面中有显示在列表页面查询列,如果想增加或减少查询列,只需要修改表字段定义中的是否查询字段,将是否查询条件设置为“否”,平台可动态显示列表页上的查询条件列。另外组合查询中可定义此表的任意字段,并可以用括号组合自己的查询条件的逻辑关系。本平台的查询条件字段的输入方式是随着配置的输入形态自动改变的,如是日期输入,则查询条件自动显示日期选择器,如果是弹出窗口,自动显示弹出按钮,如果是下拉列表,查询条件列自动检索出列表项。下面是定制查询的页面:
图2-10定制查询页面
通过平台生成的页面都具有EXCEL导入导出功能,对于单表的数据导入导出,平台用户不再需要自己单独开发excel导入导出功能。平台中可以设置哪些字段可导出EXCEL,哪些字段不在EXCEL中显示,EXCEL中的字段顺序也可以调整。下面是会员管理的EXCEL导出页面:
图2-11 EXCEL导出页面
另外本平台提供了将数据库表记录导出为xml存储的功能,即使图片二进制字段也可以导出为Base64格式字符串存储在xml中。
在openjweb平台中,每个由平台生成的列表页面都会生成一个分页器,由于分页器是基于hibernate开发的,所以支持多种数据库,此分页器支持首页、末页、上页、下页、跳转到指定页,以及设置每页行数的功能。平台用户不需要为分页器编写任何代码。下面是openjweb平台的分页器:
图2-12 分页器
Openjweb平台在设计时考虑到了多语言的支持,数据库和页面都是UTF-8格式,页面的标签文字按不同语种存储在数据库中,。
后台首页的小窗口可以拖拉重新排列,也可以打开个人设置,关闭不需要的小窗口。
图2-13 Portlet风格的后台首页
OpenJWeb平台预置了全文搜索引擎、邮件定时发送、短信定时发送、RSS新闻定时生成等多种定时作业,用户还可以开发和配置更多的定时作业。
OpenJWeb实现了邮件管理功能,一个用户可管理自己设定的多个邮箱,支持多邮箱邮件接收,邮件群发,如果用户一次发送的邮件太多,可将邮件放到系统发件箱中由系统定时发送。邮件收发支持html格式正文和多附件。
本平台的邮件服务器采用了开源的James产品作为邮件服务器。因而本平台的邮件系统解决方案就很完整了,既有服务器端的解决方案,同时又开发了WebMail客户端邮件管理。
OpenJWeb平台提供了基于CKEditor的Html的在线编辑器。在简历编辑、信息编辑、邮件正文编辑等多处都可以使用fckedit在线编辑器。下面是内容管理系统的信息编辑界面:
图2-14 所见即所得的html在线编辑器
使用平台可选择性地生成指定表的业务逻辑接口和实现类,并自动按声明式事务配置spring业务逻辑组件,在此接口中扩展的任何业务方法都支持事务处理。下面是一个配置了事务拦截器的Spring业务逻辑组件:
由于tomcat本身不支持JTA,所以为了在tomcat环境下实现跨数据库事务支持集成了第三方JTA工具JOTM。
专业的开发平台不仅要支持功能授权,还要支持复杂的数据授权,openjweb平台支持两种数据授权形式:
(1)设置一个SQL来过滤不同用户或角色所能访问的数据,最典型的例子就是每个人只能看到自己收发的邮件。
(2)可为每个数据行精确指定不同操作的数据权限,例如可分别为每个档案指定允许下载的角色或用户,以及权限的有效期起止时间。
下图是为档案基本信息设置的查询权限:
图2-15 为档案基本信息设置数据权限条件
OpenJWeb集成了Lucene3搜索引擎,并开发了html,txt,pdf,excel,word等格式的文件解析器。在OpenJWeb平台中,当信息发布为静态页面后,静态页面会保存到一个公共目录,平台的后台定时器可定时调用搜索引擎进行索引重建。所以每隔一段时间,发布的静态页面就可以通过搜索页面按关键词进行检索。
OpenJWeb的信息发布系统支持在发布信息的时候自动解析信息的正文和附件(word,pdf,ppt,txt,excel等格式的文档都可以被全文检索),在发布的时候,自动将信息的内容添加到全文索引库,在删除信息的时候,本条信息的内容自动从索引库中删除。
OpenJWeb2.61版本增加了针对任意表的全文检索。
本平台可设置内容管理系统的栏目是否生成RSS订阅文件,如果栏目设定为生成RSS,则后台定时器可在固定的时间将栏目下发布的最新信息查询出来,生成RSS的xml,用户可在rss阅读器中订阅RSS。下面是直接在IE7中打开的rss(访问http://www.culturalink.gov.cn/,此网站是中华人民共和国文化部主办的中国文化网,也称文通网,基于openjweb平台开发的)点击顶部的rss按钮:
图2-16 在ie7浏览器显示rss新闻
也可以使用专门的rss阅读器订阅rss新闻:
图2-17 使用看天下阅读器显示的文化部中国文化网的rss内容
本平台将CAS产品和Spring Security进行了集成,在CAS认证成功后,由Spring Security读取系统权限信息,权限信息是存在本地数据库中。
OpenJWeb1.9版本增加了图形化的工作流设计器,可直接在Web页面上绘制工作流,绘制的工作流可以保存为xml,并且解析为工作流节点记录和连线记录存储在数据库中。下面是出差申请单工作流图:
图2-18 OpenJWeb工作流图形设计器
当流程图保存后,系统自动将流程图解析为xml文件,然后进一步解析为节点数据和节点关系数据存储到数据库中。
图2-19 出差申请单状态节点
图2-20 出差申请单节点关系
图2-21 出差申请单审批界面
OpenJWeb-CMS是一个完整的内容管理系统,并成功应用于文化部外联局的文化传通网。此系统的前端主要使用OpenJWeb开发的Java标签库实现,前端展现有新闻、图片、视频等多种样式的模板。后台功能包括栏目管理和信息管理。
栏目管理支持大数据量的栏目树(目前有3000多栏目),可将不同的栏目授予给不同的编辑。用户可为栏目指定对应的信息展示模板、是否生成RSS,是否参与全文检索等。下面是栏目维护页面:
图2-22栏目维护界面
下面是信息列表页面:
图2-23信息列表界面
信息管理包括文章的增删改查、附件上传、信息审批、发布、转移栏目、复制到其他栏目等功能。
信息的审批流设置:
用户可在审批流配置界面中配置信息的审批流,当定义了不同的审批环节,审批对应的按钮会自动出现在信息列表页的按钮区域中。下面是信息的流程状态设置:
图2-24 信息(新闻)的流程状态位定义
Openjweb平台实现了手机短信群发管理,已经开发了手机短信发送接口,可根据实际环境来替换手机短信驱动程序。手机短信一般可用两种方式:(1)由手机短信服务运营商提供短信发送的URL连接;(2)自行购买手机短信发送硬件设备。
2.6版本的短信功能包括:短信运营商管理、短信账户管理、短信屏蔽词管理、短信计费、个人短信余额、短信队列管理、公司短信余额管理、短信群发等功能。
本平台支持oracle,Sybase,sqlserver,mysql等多种数据库,切换到不用数据库只需要更改少量的配置参数,不需要修改任何Java代码。
本平台的数据库管理工具支持oracle,mysql,sqlserver三种数据库之间的表结构转换和数据完整复制功能。
下图是将oracle数据库表结构转换为mysql建表语法的界面:
图2-25 在openjweb中生成不同数据库的建表语句
上图生成的mysql数据建表语句包括create table,主外键,唯一索引、非唯一索引等。
下图的功能是将数据库从Oralce 完整复制到mysql数据库的界面:
图2-26 在openjweb中实现不同关系数据库之间的数据库复制
跨数据库的数据复制要求表结构完全相同。在不同数据库之间复制数据的时候,平台是按照主键表在前,外键表在后的顺序导入数据的,用户不需要关心数据库表的复制顺序。在复制数据的过程中,因为是采用记录拷贝的方式,不需要存储到中间的SQL数据文件,所以二进制数据也可以完全复制。
另外,我们可以利用平台生成数据库表结构说明文档,见下图:
图2-27 在openjweb中生成数据库表结构说明文档
在平台中生成数据库表结构文档的功能解决了传统开发中数据库文档总是与实际表结构不一致的问题,本平台的表和表字段是从数据库中获取的,只是表字段的含义是从openjweb的comm_column_def表中获取的。
本平台集成了Flex框架。Flex的mxml文件可直接部署在平台上展示。
本平台集成了30多种Fusion Charts图表,在实际项目中可选择不同的样式按照规定的xml格式生成图表数据。见下图:
图2-29Fusion Charts图表
OpenJWeb内置了x-fire、CXF两种 WebService产品(推荐使用),OpenJWeb之所以选择CXF作为WebService的解决方案而不使用axis,因为axis需要部署一个独立的WebService应用,这样就需要与业务系统的Web应用不能无缝整合,而CXF webservice可以直接在spring web应用中配置,不需要独立于业务系统来单独部署一个webservice服务。
在实际项目中,经常遇到分公司需要从总部同步数据的情况,例如同步总部的商品目录,而分公司和总公司都有自己的独立应用。在实现总部-分公司的数据交换的时候,可以考虑使用WebService,但如果分公司和总公司的Web应用都是用OpenJWeb开发的,也可使用Hessian技术进行远程调用。Hessian的好处在于调用远程的业务逻辑接口可以直接走80端口,也就是说,Hessian可以穿透防火墙,而RMI则没有这种优势。OpenJWeb二次开发手册给出了Hessian的具体配置和开发过程。
1、文化部外联局主办的文化传通网。
2、中华文化促进会门户网站。
3、中外文化交流中心门户网站
4、河南万里运输集团有限公司大运物流门户网站(含网上车场GIS展示、网银支付、移动终端通过WebService签订货运合同、货源、车源发布等功能)。
5、威海家政服务网络中心-“幸福威海”网上商城系统)( http://www.12343.cc/portal/apps/b2c/store/view/index.jsp)
6、济南华恩信息技术有限公司(购买平台)