- 浏览: 725548 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
一剪梅:
关于您对于 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 617# OFBiz抽取实体引擎和服务引擎思路(1) ... -
minilang开发日志书写规范
2019-01-02 10:34 566minilang书写日志5步法 任何一个xml方法中必须 ... -
自动化配置界面表定义思路1.0
2018-11-24 23:21 777总表 path 唯一编码 tableName 表名 ... -
OFBiz前端VUE组件规划
2018-11-10 10:51 1094iasudu.iteye.com 编 号 : ____ ... -
增强OFBiz通用查询方法思路
2018-11-09 17:15 760增强OFBiz通用查询方法思路 <se ... -
OFBiz前后端分离项目代码规范建议2018版
2018-05-11 09:43 1425OFBiz前后端分离项目代码规范建议__build2018 ... -
前端脚手架使用指导
2018-03-02 14:44 7661 安装nodejs https://nodejs.or ... -
RestEventHandler
2018-02-01 23:37 5/**************************** ... -
数据模型资源手册卷3中文版出版了
2017-02-18 11:58 2038我翻译的数据模型资源手册卷3出版了 -
OFBiz促销码生成解释
2014-10-07 22:07 1589OFBiz 我的购物车 输入固定的邀请码实现优惠促销 需要解 ... -
电商基本页面
2014-09-18 20:49 1752<!--StartFragment--> ... -
OFBiz入门实训教程
2014-07-14 14:28 3021加速度 15000850008 大家好,为了ofbiz的 ... -
创建OFBiz的jQuery Mobile入门页面
2014-06-13 14:21 1829jQuery Mobile 框架是一套 ... -
店铺研究
2014-05-23 23:11 1133店铺权限研究,规划如下权限: 分店库存管理权限 分店进货权限 ... -
15天用OFBiz做一个商城管理后台和店铺管理后台
2014-05-03 20:33 4084仅仅是记录一些弟兄们的工作经历。没有吹嘘使用OFBiz使用效率 ... -
一个朋友做OFBiz Crud遇到的问题
2014-01-02 12:55 1785Crud 遇到的问题 问题1:在myeclipse中开发的of ... -
OFBiz的Cache研究
2013-12-30 14:35 2402任何一个cache对象的配置属性都可以在cache.prope ... -
OFBiz的Axis2
2013-11-16 23:43 1232很多人都对Axis2的封装和调用苦恼。 今天再次深入精读OFB ... -
How to create a new component
2013-09-21 23:31 1012How to create a new component ... -
OFBiz集成Spring和Activiti 详细设计说明书
2013-09-04 18:02 4067很老的一个东西了 贴出来给大家扩展一下思路 今天整理硬盘发现的 ...
相关推荐
以下是一些Ofbiz-Minilang的关键标签示例及其详细解释: 1. **验证**: - `login-required`: 这个标签确保用户已经登录才能执行后续操作。如果用户未登录,它将跳转到登录页面。 - `use-transaction`: 开启一个新...
下面是一个Ofbiz-minilang解析示例,展示了minilang中的一些常用标签和用法。 Login-required Login-required是一个特殊的标签,用于指定当前用户是否需要登录验证。如果当前用户未登录,将被重定向到登录页面。该...
1. **安装与配置**:压缩包可能包含了安装指南和配置文件,帮助用户快速设置本地开发环境或服务器环境,了解如何启动和运行OfBiz系统。 2. **功能模块**:OfBiz的各个模块如电子商务商店、库存管理、订单处理等可能...
这通常涉及下载源码,配置Java环境,以及安装和设置Ant或Maven构建工具。然后,你需要了解Ofbiz的配置文件,如entityengine.xml、services.xml和component.xml,它们分别定义了实体模型、服务和组件的配置。 在深入...
Opentaps widget使用说明.rar OFBiz.Development.2008.rar Groovy中文教程.rar freemarker中文手册.rar ofbiz10.04表结构.rar OFBiz开发指南.rar Java开发必备装备包 IBM技术专区 OFBiz官网
ofbiz 配置说明 ,Simple method 使用的分析,对of biz 系统整体的理解
- **服务调用**:了解如何通过HTTP请求或者Java代码调用OFBiz服务,通常需要正确设置服务端点和参数。 - **权限管理**:OFBiz API通常需要身份验证,开发者需了解如何配置用户权限和访问控制。 - **异常处理**:...
OFBiz 环境搭建是指在开发和测试 OFBiz 应用程序所需的基础环境设置。OFBiz 环境搭建包括下载和安装 Java、下载和安装 OFBiz、安装数据库、配置应用程序服务器等步骤。OFBiz 环境搭建的正确性将直接影响到后续的开发...
《Ofbiz快速开发入门详解》是一本针对初学者的指南,旨在帮助读者迅速掌握Ofbiz框架的基本使用和开发技巧。Ofbiz,全称Open For Business Project,是一个开源的企业级应用框架,主要用于构建复杂的业务应用程序。它...
总之,"Ofbiz数据库全模型"是一个宝贵的资源,对于学习、开发和维护Ofbiz应用的人来说,它提供了对系统数据结构的全面了解,有助于提升工作效率并确保项目的稳定性和扩展性。无论是初学者还是经验丰富的Ofbiz开发者...
在安装 Ofbiz 之前,我们需要在 Eclipse 中安装 SVN 插件和设置参数: 1. SVN 插件安装:我们需要在 Eclipse 中安装 SVN 插件,以便从 SVN 仓库中下载 Ofbiz 的源代码。我们可以在 Eclipse 的“Help”菜单中选择...
4. OFBiz工作环境设置:需要配置OFBiz的工作环境,并设置在Eclipse这样的集成开发环境(IDE)中的项目。 5. 使用Derby数据库:Derby是一个小型的开源数据库,是OFBiz的默认数据库。涉及如何安装、备份和恢复数据...
《OFBiz集成Spring和Activiti详细设计说明书》是由何增耀于2012年编写的,该文档主要探讨了如何将开源企业应用框架OFBiz与Spring框架以及Activiti工作流引擎进行集成,以实现更高效的企业应用开发和流程管理。...
1. "OFBizDataModel20100205.pdf":这可能是一个关于OFBiz数据模型的详细文档,可能包含了在2010年2月5日时OFBiz使用的数据库模型的详细描述,包括表的设计、字段说明、索引和外键关系等。开发者可以通过阅读这份...
在Eclipse中更新数据库连接信息,然后运行Ant任务来加载示例数据(load demo)和种子数据(load seed)。 停止Ant任务,然后重新启动,项目应正常运行。访问前端页面`http://localhost:8080/shop/control/main`以...
书中的示例代码和解释将为实际项目提供指导。 5. **OFBiz生态**:OFBiz有活跃的社区支持,包括邮件列表、论坛和wiki,这些都是获取帮助和贡献代码的渠道。了解社区动态和资源,对于开发者来说也是不可或缺的一部分...
6. **示例与实战**:提供实际案例,演示如何利用OFBiz搭建特定的业务场景。 7. **问题排查与优化**:分享常见问题的解决方案,以及性能优化的策略和技巧。 8. **社区与更新**:引导用户如何参与OFBiz的社区,获取...
- **监控与日志记录**:介绍如何设置和查看系统日志,以便于调试和问题追踪。 - **性能调优**:给出一系列技巧来优化系统的运行效率,减少资源消耗。 - **备份与恢复**:解释备份策略的重要性,并演示如何实施...
它支持异步、同步、本地和远程服务调用。 - **Ofbiz实体引擎(九) 多租户**:实体引擎支持多租户架构,允许在一个OFBiz实例上管理多个独立的业务环境,每个环境有自己的数据和配置。 - **Ofbiz权限判断语法**和**...