Business Component(BC)和Business Object(BO)
Siebel应用架构的一个成功的地方就是在应用里引入了BC,BO的概念,从而使得几千张关系数据表能够按照业务的含义组织成业务对象,对于业务人员而言具有了业务上的含义,而不仅仅是从技术人员的观点来对待数据(就是关系表而已)。
Link:BC之间的关系
对于关系表之间的关系,如主外键关系,从业务的BO观点来看则是BC之间的关系(请注意,不是严格的一对一,并非是一个关系表的外键一定会组成BC间的关系)。因为一个BO总是由一个主要的BC以及和它相关的一些BC组成,而主要的BC总是以一定的关系和附属的BC关联,这种关系就称之为Link,如下图:

我们已经交代过一个View展现的就是一个BO,而BO是由一个Master BC和相关的一些子BC组成,如果不存在Link,则子BC的所有数据都会展现出来,而建立了Link之后,就只有和Master BC选定的记录相关联的数据才会展现出来。这些关系可能是:
1:1关系:一对一的关系很多是用在Extension表上,Extension表的后缀名通常为_X(Extension表是Siebel里常见的一种表,一般Siebel业务的基础数据存储在Base表中,然后把一些扩展的数据和一些可以客户化的字段(attribute字段)放在Extension表中,从而给不同行业,不同场景提供了一个扩充性很强的数据模型。)
1:M关系:一对多的BC关系一般用于Master-Detail的业务场景,比如一个Account以及该Account已经购买的产品就是一个Master-Detail关系。这种关系类似于关系表的主键外键关系,这种关系在Extension表上也存在,通常后缀名称是_XM。
M:M关系:多对多的关系是通过一个叫做交集表(Intersection Table)体现出来的,两个BC之间没有主外键关系,但是每个BC和该交集表有主外键关系,如下图:

多对多的关系通常表达的是值对(value pair)的关系,比如公司-行业的值对组合。
Party Business Component
Party BC大概是Siebel里最基础的BC了,Party BC包含了个人相关实体,组织相关的实体,以及访问控制组等为了一定的目的建立起来的一些组织。如下图:

Party
BC基表是S_Party,但是和一般的BC不一样的是,作为基表的S_Party本身存储很少的数据,主要是Party的名称,Party的类型(是contact,employee还是account等),而更多Party相关的数据都存储在Extension表里,如S_CONTACT,S_USER等(比较特殊的是这些Extension表的结尾并不是使用*_X来命名);此外,这些extension表的extension表(如S_CONTACT_X)本身也算是S_PARTY的Extension表,这个也是Party
BC的一些特殊的地方。下图是一个很好的表达了Party的访问控制组的图:

rowid为1的行的party类型是User
List,所以这一行数据相关的信息应该存储在S_USERLIST extension表里;而rowid为2的行的类型是Access
Group,所以该行数据的额外信息应该是在表S_PARTY_GROUP
extension表里等等。这个就是一个Siebel里的一个扩展性非常强的数据模型的一个例子。
Business Component(BC)和Business Object(BO)的更多相关文章
- ‘ActiveX component can’t create object解决方法
Event Type: WarningEvent Source: Health Service ScriptEvent Category: NoneEvent ID: 1Dat ...
- 问题分享:ActiveX component can't create object: "MSComDlg.CommonDialog"
问题描述: 修改一个前辈的代码,在我自己电脑上面运行的很好,但是放到要用户电脑(win7 x64)上面却跑不了,报个如题的错误. 查了下是COMDLG32.OCX的问题,用到控件的地方是: Dim o ...
- ABAP术语-Business Components
Business Components 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/26/1015254.html Group of re ...
- Siebel应用数据结构层次
在Siebel应用里数据在多个层次上使用了不同的定义方式,每一个层次侧重于数据的不同的特征,主要分为数据用户界面层定义(UI),业务逻辑层定义(Business Layer,可以是业务含义层)以及数据 ...
- Siebel 开发规范
Siebel Configuration and Development Guideline 1 2 2.1 2.2 2.3 11. 2.4 2.5 3 3.1 3.2 3.2.1 3.2.2 3.3 ...
- Developing RIA Web Applications with Oracle ADF
Developing RIA Web Applications with Oracle ADF Purpose This tutorial shows you how to build a ric ...
- MVG配置
MVG的配置:(前提是一个表的字段包含多值字段,一般是1:M或M:M的关系) 想要在学生界面显示多个教师的名称. 1.首先在一个Project中,建两张表学生表和教师表T_Stu与T_Tea和一张中间 ...
- ABAP术语-Business Object
Business Object 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/07/1028364.html Represents a ce ...
- vCard : a file format standard for electronic business cards
http://zh.wikipedia.org/wiki/VCard vCard是电子名片的文件格式标准.它一般附加在电子邮件之后,但也可以用于其它场合(如在互联网上相互交换). vCard可包含的信 ...
随机推荐
- C++_代码重用4-多重继承
继承使用时要注意,默认是私有派生.所以要公有派生时必须记得加关键字Public. MI(Multi Inheritance)会带来哪些问题?以及如何解决它们? 两个主要问题: 从两个不同的基类继承同名 ...
- 洛谷 P3388 【模板】割点(割顶)
题目链接 题解 今天复习了一下割点. 关于\(tarjan\)这里不多讲 \(dfn\)和\(low\)数组的定义想必大家都知道 仔细观察一下,可以发现 假设便利\(u->v\)这条边 如果 \ ...
- RPC 框架 应用
RPC RPC(Remote Procedure Call)服务,也即远程过程调用,在互联网企业技术架构中占据了举足轻重的地位,尤其在当下微服务化逐步成为大中型分布式系统架构的主流背景下,RPC 更扮 ...
- 鼠标拖动div,div跟随鼠标移动效果
<div id="boxDiv" style='width:20px;height:20px;position:absolute;background:red;'> ...
- python学习11-类的成员(转载)
一.变量 1.实例变量(又叫字段.属性) 创建对象时给对象赋值 形式: self.xxx = xxx 访问: 对象名.xxx 只能由对象访问 class Person: def __init_ ...
- 0325img和超链接的学习
上午学习了cellspacing\cellpadding,img标签以及三种属性,src,alt,title.下午学习了超链接<a></a>,绝对路径与相对路径,锚点链接的使用 ...
- (转)shell--read命令的选项及用法
shell--read命令 原文:https://www.cnblogs.com/lottu/p/3962921.html http://blog.csdn.net/skdkjzz/article/d ...
- apache CXF quickstart
1下载 官网: cxf.apache.org 下载 CXF 的开发包: 解压上面的 zip 文件 : 2介绍 1什么是cxf Apache CXF™ is an open source service ...
- opensuse 安装oracle 界面乱码
执行.runInstall时,出现界面乱码 export LANG=en_US export LC_ALL=en_US 终端里 执行这两句.用英文界面安装 再执行 .runInstall
- TOJ 2861 Octal Fractions
描述 Fractions in octal (base 8) notation can be expressed exactly in decimal notation. For example, 0 ...