- 浏览: 711344 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
一剪梅:
关于您对于 hasRolePermission 用法的解释, ...
OFBIZ安全性技术(翻译) -
沈寅麟:
数据模型资源手册卷3中文版出版了 -
donaldjohn:
恭喜恭喜, 预祝大卖
数据模型资源手册卷3中文版出版了 -
成大大的:
OFBiz电商实战百度网盘下载:http://pan.baid ...
OFBiz入门实训教程 -
成大大的:
OFBiz电商实战百度网盘下载:http://pan.baid ...
OFBiz促销码生成解释
同步设置说明和示例
使用实体同步
实体同步背后的总体思路是重新建立交易 从一个中央数据库到一个或多个数据库,每个数据库在EntitySync及相关实体所代表的一组记录。
四个字段( lastUpdatedStamp , lastUpdatedTxStamp , createdStamp , createdTxStamp )被添加到每个实体和自动填充,这样可以做到对每个实体创建的所有记录查询,更新,或在一定的交易中删除,以便根据时间这些交易可以远程复制到远程数据库中获取数据。
使锁在XML实体定义实体元素的属性只是笼统地涉及到实体同步。乐观锁机制使用lastUpdatedStamp的实体来存储和数据库中的当前实体,看它是否由另一个进程被修改之前,当前线程得到。如果它被修改之间的读取和写入抛出一个异常。只是做此检查,如果能锁= “真” 。
属性no-auto-stamp是用来告诉实体引擎不要自动添加这些auto-stamp字段。
在创建和更新实体。如果没有设置false,或如果它被设置为true,那么这些值将被自动设置,
当记录被删除主键将被保存在EntitySyncRemove实体的表。
这样的记录可以通知远程数据库删除对应的数据中。
When runEntitySync is called you pass an entitySyncId that is used to look up an EntitySync record and its corresponding EntitySyncInclude records to see what should be sync'ed. The package on the EntitySyncInclude refers to the package-name attribute on the entity definition XML element, and partial package names can be included with an implied wild-card at the end. The EntitySyncHistory entity is used to store information about what has happened in each entity sync run, which means one runEntitySync call.
当被称为runEntitySync你传递一个entitySyncId ,是用来仰望EntitySync的记录和其对应的EntitySyncInclude记录,看看应sync'ed什么。一揽子在EntitySyncInclude上是指包-name属性的实体定义XML元素,并在年底,部分包名称可以包含有一个隐含的外卡。的EntitySyncHistory实体用于信息存储在每个实体同步运行发生了什么事,这意味着一个runEntitySync通话。
根据你的需要选择通信协议远程调用保存的同步数据。
目前最有效的是的RMI远程调度。
如果你只有80端口,或其他HTTP端口开放,那么HTTP远程调度可能是你唯一的选择。
当一个runEntitySync调用失败, runStatusId将留在ESR_RUNNING的。
当服务器崩溃或进程被中断线程,导致不能重置状态。就需要手动监测和复位ESR_NOT_STARTED。也可能会被自动重置
OFBiz默认例子
例子在OFBiz (specialpurpose/pos/data/PosSyncSettings.xml)是被设置了3层架构,POS系统, 门店系统 (PSS) ,中心系统 (MCS).
下面简单描述他如何工作
中心系统(MCS)同步数据给门店系统(PSS),门店系统(PSS)同步给POS终端,
POS终端同步的数据库(间接)给同步主数据库。
每个OFBiz的实例都使用一个数据库。
以下4种类型
MCS -> PSS
PSS -> POS
POS -> PSS
PSS -> MCS
另外一个例子
EntitySync 配置
怎样配置每个节点?
怎样配置哪些实体同步?
以下为一些同步方式:
HOSM :主数据发起 (主数据推送)
HOST : 交易数据发起(从站点拉取)
BOS1, BOS2, ... BOSx: Back-office (多个站点)
HOSM => HOST, BOSx: 商品, 商品类别, 仓库, 仓库相关人员 (至少50个实体表)
BOSx => HOST: 订单, Party, 个人信息Person, 联系方式等等, 订单相关的表数据
同步时候过滤哪些东西
With the above approach it is possible to configure at entity level: fully sync some entities and not sync others. If the HOSM and HOST were merged to a HOS (which I don't like for other reasons), there would be a need to filter (at least) Party,Person records:
HOS => BOSx : '仅仅发送Person, Party, Facility相关的ContactMech '.
BOSx => HOS : 传递全部
EntitySync的当前实现? 怎样配置? 注意很多关联的对象会被自动同步 (关联外键):
同步仓库 (HOS => BOSx 方向) could bring the Party objects referred by the Facility objects
but Party does not refer to Person (because of the direction of the relation: Person has the partyId), but the Person, ContactMech objects (that belong to the Facility) would be desirable to sync as well
Entity级别的配置: 不支持上述的过滤
configuration on Entity and entity-relations level: entity-relations could be switched to 'follow / not follow' (naturally, there is no choice for direct references, those are always "follow" to preserve foreign key integrity). These flags would determine if the related objects are to be synced or not. Note: final decision is for Objects, not for classes (all objects of an Entity).
POS 设置步骤
OFBiz 中的 POS 组件还在发展中,已经非常灵活并且具备了企业级 POS 解决方案的功
能:
• 模板化的收据
• 用 XML 文件配置的屏幕
• 支持 jPOS 硬件
• 产品、价格、促销、会员、定单及其它与 POS 部署和操作相关的数据的多层同步
POS 系统是设计用它自己的完全独立的数据库。这是为了即使 POS 机从网络上断开仍
然可以操作。
要以 POS 状态运行 OFBiz,仅需运行:"java jar ofbiz.jar pos"。
请注意,这里会使用 poscontainers.xml 而不是 ofbizcontainers.xml,缺省情况下它不会
加载 Web 容器(如 Tomcat 或 Jetty),当然你也可以通过修改 poscontainers.xml 来加载 Web 容
器。
POS 的店铺设置与网上店铺设置略有不同。
在演示数据中有一个 POS 店铺的样例。
不同之一是 POS 店铺应该总是把“是立即执行吗”设为“是”,而一个在线店铺或其它
邮件或电话或实际店铺应该设为“否”。
POS 店铺应该把“捕获手工认证”设为“是”,通常把“检查库存”和“必须有货”设
为“否”。
在 ofbiz/applications/pos 目录下有很多你可能要定制的文件。
收据模板是这个配置目录下的.txt 文件。
屏幕通过 screens/default 目录下的各种文件通过 XUI 配置。
按钮事件在 config/buttonevents.xml 文件中配置。
data/PosSyncSettings.xml 文件中有同步设置的样例,这个样例只是一个加载入数据库的
实体引擎种子数据文件。
这个样例有 3 层:一个主中央服务器(MCS)、一个单店服务器(PSS)以及一个 POS 客户
端(POS)。样例同步设置完成 4 个数据移动,包括 MCS > PSS, PSS > POS, POS > PSS, and
PSS > MCS。
这使用了实体引擎中的实体同步服务,这里用到的 XML 导入文件对原理和实现有很好
的注释说明。
请注意,样例中显示的服务是使用"entitysyncrmi"地址来配置的,这个地址在
serviceengine.xml 文件中有一个定义好了的地址。
请注意,为避免数据中顺序 ID 重复,在 entityengine.xml 文件中应该为实体引擎设置
delegator 元素使用 sequencedidprefix 属性,为来自 POS 的同步数据添加一个独一无二的前
缀。
使用实体同步
实体同步背后的总体思路是重新建立交易 从一个中央数据库到一个或多个数据库,每个数据库在EntitySync及相关实体所代表的一组记录。
四个字段( lastUpdatedStamp , lastUpdatedTxStamp , createdStamp , createdTxStamp )被添加到每个实体和自动填充,这样可以做到对每个实体创建的所有记录查询,更新,或在一定的交易中删除,以便根据时间这些交易可以远程复制到远程数据库中获取数据。
使锁在XML实体定义实体元素的属性只是笼统地涉及到实体同步。乐观锁机制使用lastUpdatedStamp的实体来存储和数据库中的当前实体,看它是否由另一个进程被修改之前,当前线程得到。如果它被修改之间的读取和写入抛出一个异常。只是做此检查,如果能锁= “真” 。
属性no-auto-stamp是用来告诉实体引擎不要自动添加这些auto-stamp字段。
在创建和更新实体。如果没有设置false,或如果它被设置为true,那么这些值将被自动设置,
当记录被删除主键将被保存在EntitySyncRemove实体的表。
这样的记录可以通知远程数据库删除对应的数据中。
When runEntitySync is called you pass an entitySyncId that is used to look up an EntitySync record and its corresponding EntitySyncInclude records to see what should be sync'ed. The package on the EntitySyncInclude refers to the package-name attribute on the entity definition XML element, and partial package names can be included with an implied wild-card at the end. The EntitySyncHistory entity is used to store information about what has happened in each entity sync run, which means one runEntitySync call.
当被称为runEntitySync你传递一个entitySyncId ,是用来仰望EntitySync的记录和其对应的EntitySyncInclude记录,看看应sync'ed什么。一揽子在EntitySyncInclude上是指包-name属性的实体定义XML元素,并在年底,部分包名称可以包含有一个隐含的外卡。的EntitySyncHistory实体用于信息存储在每个实体同步运行发生了什么事,这意味着一个runEntitySync通话。
根据你的需要选择通信协议远程调用保存的同步数据。
目前最有效的是的RMI远程调度。
如果你只有80端口,或其他HTTP端口开放,那么HTTP远程调度可能是你唯一的选择。
当一个runEntitySync调用失败, runStatusId将留在ESR_RUNNING的。
当服务器崩溃或进程被中断线程,导致不能重置状态。就需要手动监测和复位ESR_NOT_STARTED。也可能会被自动重置
OFBiz默认例子
例子在OFBiz (specialpurpose/pos/data/PosSyncSettings.xml)是被设置了3层架构,POS系统, 门店系统 (PSS) ,中心系统 (MCS).
下面简单描述他如何工作
中心系统(MCS)同步数据给门店系统(PSS),门店系统(PSS)同步给POS终端,
POS终端同步的数据库(间接)给同步主数据库。
每个OFBiz的实例都使用一个数据库。
以下4种类型
MCS -> PSS
PSS -> POS
POS -> PSS
PSS -> MCS
另外一个例子
EntitySync 配置
怎样配置每个节点?
怎样配置哪些实体同步?
以下为一些同步方式:
HOSM :主数据发起 (主数据推送)
HOST : 交易数据发起(从站点拉取)
BOS1, BOS2, ... BOSx: Back-office (多个站点)
HOSM => HOST, BOSx: 商品, 商品类别, 仓库, 仓库相关人员 (至少50个实体表)
BOSx => HOST: 订单, Party, 个人信息Person, 联系方式等等, 订单相关的表数据
同步时候过滤哪些东西
With the above approach it is possible to configure at entity level: fully sync some entities and not sync others. If the HOSM and HOST were merged to a HOS (which I don't like for other reasons), there would be a need to filter (at least) Party,Person records:
HOS => BOSx : '仅仅发送Person, Party, Facility相关的ContactMech '.
BOSx => HOS : 传递全部
EntitySync的当前实现? 怎样配置? 注意很多关联的对象会被自动同步 (关联外键):
同步仓库 (HOS => BOSx 方向) could bring the Party objects referred by the Facility objects
but Party does not refer to Person (because of the direction of the relation: Person has the partyId), but the Person, ContactMech objects (that belong to the Facility) would be desirable to sync as well
Entity级别的配置: 不支持上述的过滤
configuration on Entity and entity-relations level: entity-relations could be switched to 'follow / not follow' (naturally, there is no choice for direct references, those are always "follow" to preserve foreign key integrity). These flags would determine if the related objects are to be synced or not. Note: final decision is for Objects, not for classes (all objects of an Entity).
POS 设置步骤
OFBiz 中的 POS 组件还在发展中,已经非常灵活并且具备了企业级 POS 解决方案的功
能:
• 模板化的收据
• 用 XML 文件配置的屏幕
• 支持 jPOS 硬件
• 产品、价格、促销、会员、定单及其它与 POS 部署和操作相关的数据的多层同步
POS 系统是设计用它自己的完全独立的数据库。这是为了即使 POS 机从网络上断开仍
然可以操作。
要以 POS 状态运行 OFBiz,仅需运行:"java jar ofbiz.jar pos"。
请注意,这里会使用 poscontainers.xml 而不是 ofbizcontainers.xml,缺省情况下它不会
加载 Web 容器(如 Tomcat 或 Jetty),当然你也可以通过修改 poscontainers.xml 来加载 Web 容
器。
POS 的店铺设置与网上店铺设置略有不同。
在演示数据中有一个 POS 店铺的样例。
不同之一是 POS 店铺应该总是把“是立即执行吗”设为“是”,而一个在线店铺或其它
邮件或电话或实际店铺应该设为“否”。
POS 店铺应该把“捕获手工认证”设为“是”,通常把“检查库存”和“必须有货”设
为“否”。
在 ofbiz/applications/pos 目录下有很多你可能要定制的文件。
收据模板是这个配置目录下的.txt 文件。
屏幕通过 screens/default 目录下的各种文件通过 XUI 配置。
按钮事件在 config/buttonevents.xml 文件中配置。
data/PosSyncSettings.xml 文件中有同步设置的样例,这个样例只是一个加载入数据库的
实体引擎种子数据文件。
这个样例有 3 层:一个主中央服务器(MCS)、一个单店服务器(PSS)以及一个 POS 客户
端(POS)。样例同步设置完成 4 个数据移动,包括 MCS > PSS, PSS > POS, POS > PSS, and
PSS > MCS。
这使用了实体引擎中的实体同步服务,这里用到的 XML 导入文件对原理和实现有很好
的注释说明。
请注意,样例中显示的服务是使用"entitysyncrmi"地址来配置的,这个地址在
serviceengine.xml 文件中有一个定义好了的地址。
请注意,为避免数据中顺序 ID 重复,在 entityengine.xml 文件中应该为实体引擎设置
delegator 元素使用 sequencedidprefix 属性,为来自 POS 的同步数据添加一个独一无二的前
缀。
评论
3 楼
dagmom
2013-12-30
实体同步我们当时也搞过,用的是http,我去竟然不曾想到rmi,罪过罪过
2 楼
surpass_li
2013-12-07
精髓分享,支持,持续关注
1 楼
tzngvi
2013-12-04
感谢分享。
发表评论
-
OFBiz抽取实体引擎和服务引擎思路(1)
2020-03-31 00:39 545# OFBiz抽取实体引擎和服务引擎思路(1) ... -
minilang开发日志书写规范
2019-01-02 10:34 523minilang书写日志5步法 任何一个xml方法中必须 ... -
自动化配置界面表定义思路1.0
2018-11-24 23:21 733总表 path 唯一编码 tableName 表名 ... -
OFBiz前端VUE组件规划
2018-11-10 10:51 1021iasudu.iteye.com 编 号 : ____ ... -
增强OFBiz通用查询方法思路
2018-11-09 17:15 687增强OFBiz通用查询方法思路 <se ... -
OFBiz前后端分离项目代码规范建议2018版
2018-05-11 09:43 1371OFBiz前后端分离项目代码规范建议__build2018 ... -
前端脚手架使用指导
2018-03-02 14:44 6711 安装nodejs https://nodejs.or ... -
RestEventHandler
2018-02-01 23:37 5/**************************** ... -
数据模型资源手册卷3中文版出版了
2017-02-18 11:58 1930我翻译的数据模型资源手册卷3出版了 -
OFBiz促销码生成解释
2014-10-07 22:07 1493OFBiz 我的购物车 输入固定的邀请码实现优惠促销 需要解 ... -
电商基本页面
2014-09-18 20:49 1696<!--StartFragment--> ... -
OFBiz入门实训教程
2014-07-14 14:28 2957加速度 15000850008 大家好,为了ofbiz的 ... -
创建OFBiz的jQuery Mobile入门页面
2014-06-13 14:21 1771jQuery Mobile 框架是一套 ... -
店铺研究
2014-05-23 23:11 1080店铺权限研究,规划如下权限: 分店库存管理权限 分店进货权限 ... -
15天用OFBiz做一个商城管理后台和店铺管理后台
2014-05-03 20:33 3990仅仅是记录一些弟兄们的工作经历。没有吹嘘使用OFBiz使用效率 ... -
一个朋友做OFBiz Crud遇到的问题
2014-01-02 12:55 1745Crud 遇到的问题 问题1:在myeclipse中开发的of ... -
OFBiz的Cache研究
2013-12-30 14:35 2354任何一个cache对象的配置属性都可以在cache.prope ... -
OFBiz的Axis2
2013-11-16 23:43 1153很多人都对Axis2的封装和调用苦恼。 今天再次深入精读OFB ... -
How to create a new component
2013-09-21 23:31 957How to create a new component ... -
OFBiz集成Spring和Activiti 详细设计说明书
2013-09-04 18:02 3989很老的一个东西了 贴出来给大家扩展一下思路 今天整理硬盘发现的 ...
相关推荐
Ofbiz-minilang标签示例
Ofbiz-minilang标签示例,主要是解释minilang包含的一些标签的用法
Opentaps widget使用说明.rar OFBiz.Development.2008.rar Groovy中文教程.rar freemarker中文手册.rar ofbiz10.04表结构.rar OFBiz开发指南.rar Java开发必备装备包 IBM技术专区 OFBiz官网
ofbiz 配置说明 ,Simple method 使用的分析,对of biz 系统整体的理解
OFBIZ快速入门OFBIZ快速入门OFBIZ快速入门OFBIZ快速入门OFBIZ快速入门OFBIZ快速入门
OFBiz集成Spring和Activiti,详细设计说明书。ofbiz版本12.04
不用解压ofbiz-manual-zh-cn.zip 直接把.zip修改为.pdf即可 ofbiz-manual-zh-cn.pdf 博文链接:https://jiasudu.iteye.com/blog/157891
搞ofbiz或者opentaps二次开发的朋友可以看看,中文技术文档,比较详细的
ofbiz的获取与部署,主要用到了gradle 和 eclipse,注意:cmd部署时,需要一个较好的网络环境以下载gradle
自学整理的ofbiz学习笔记,自学整理的ofbiz学习笔记,自学整理的ofbiz学习笔记,自学整理的ofbiz学习笔记,适合初学者,可以下个看看
像 Tomcat, Ant, BeanShell, Jboss 等,构建了一个强大的系统平台,Ofbiz 已经完成了大部分商务类软件系统 都需要的部件,像用户认证、工作流、商务规则处理等,Ofbiz 的核心技术在于 Entity Engine,其他的组件基本...
ofbiz权限非常介绍,ofbiz进阶之权限介绍!
ofbiz jar file, some jars for ofbiz
ofbiz sql 表结构
ofbiz数据结构
浅谈OFBIZ.doc浅谈OFBIZ.doc浅谈OFBIZ.doc浅谈OFBIZ.doc浅谈OFBIZ.doc
OFBIZ开发指南 英文2OFBIZ开发指南 英文2OFBIZ开发指南 英文2
关于ofbiz的资料,很多,用ofbiz技术的朋友们赶快下载吧
OFBiz 主题修改文档