# 2011-05-20  统一业务模型(UBM) in ERP5

from <http://www.erp5.org/UnifiedBusinessModel>

## 什么是统一业务模型

统一业务模型(Unified Busines Model - UBM)是ERP5系统采用的一个抽象业务模型，也是其精华所在。ERP5的作者Jean-Paul Smets在建立ERP5的一个版本的时候提出了这个创新，并且将这个模型应用到了基于ERP5开发的所有应用中。 由于这个模型是如此的高效和有价值，ERP5的名字也是由此而来，意思是仅通过UBM中的5个概念建立的ERP系统，因此称之为ERP5。

## 统一业务模型中的五个概念是什么

UBM包含5个概念，分别是节点（Node）、资源（Resource）、迁移（Movement）、物品（Item）和路径（Path）。

**节点（Node）**&#x8868;示一个业务流程涉及到的一个关键点，例如一个人、一个组织、一个仓库、一个银行账号等等。这个概念与在图论和数学语言中的"节点"的概念类似。

**资源（Resource）**&#x8868;示在业务流程中节点之间流通的一种有形或无形的东西。例如，资源可能是产品、原始材料、服务、现金等等。

**迁移（Movement）**&#x63CF;述了在节点之间的有关资源的变迁。类似图论中"有向边"的概念。它包含订购、发货、财务结算、付款、生产等等。

**物品（Item）**&#x7684;概念使得资源可跟踪。这个概念类似于在面向对象编程中类和实例的关系，如果资源（Resource）对应为"类"，那么物品（Item）对应于"实例"。物品可以表示一个条形码、RFID、某种订阅或者一张票据。

**路径（Path）**&#x8868;示一种可能的迁移（Movement），在定义交易条件、供应条件、付款模式等时很有用，并且可以为业务逻辑、供应链、定价等提供支持。

## 例子

提供几个例子可以帮助你更好的理解这个模型。

例一： 假设A公司希望卖给B公司一批照相机，一旦双方达成了交易，A公司会发给B公司10个照相机，每个单价$100. 在这里场景中，A公司和B公司是节点（Node）。商品（照相机）是一种资源。销售本身（订购10个照相机总价$1000）是一个迁移（Movement）。如果这个条件（例如单价）双方都认可，这个条件就是一个路径（Path）。如果A公司希望跟踪照相机，可以在每个照相机上贴一个条形码，这样就产生了10个物品（Item）。

例二： 假设A公司希望对来自B公司的电汇信息记账。B公司发给A公司$1000的应收账款。 在这个场景中，应收账款账户和银行账户是节点（Node）--物理意义上的，A公司和B公司也是节点（Node）--逻辑意义上的。转账是一个迁移（Movement），钱是资源（Resource）。物品和路径在这里没有用到。

例三： 假设A公司希望在工厂中使用零件制造出10个照相机。 在这个场景中，工厂是一个节点（Node），照相机和零件是资源（Resource）。生产由两个迁移（Movement）组成，一个是消耗零件，一个是制造出照相机产品。为了跟踪产品，A公司可以为每个照相机和零件都打上标签，它们就成为了物品（Item）。由零件到产品的转换由路径（Path）描述。

## ERP5中如何应用统一业务模型

UBM统一业务模型完全集成在ERP5的实现中。ERP5中的所有文档都基于该模型设计，ERP5中的所有工具也都采用该模型统一实现不同的业务活动，例如交易、生产、客户关系管理、财务和项目管理。 这使得我们可以基于ERP5快速开发新的应用，同时降低维护成本。因为所有的数据都采用统一的设计架构，因此代码量也大幅度的减少。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.log4think.com/ubm-in-erp5.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
