Siebel应用数据结构层次
在Siebel应用里数据在多个层次上使用了不同的定义方式,每一个层次侧重于数据的不同的特征,主要分为数据用户界面层定义(UI),业务逻辑层定义(Business Layer,可以是业务含义层)以及数据存储层定义,如图:
UI展示层主要定义用户界面接口,它包含的主要对象是我们以前已经交代过的Screen,View以及Applet(View里当前显示的部分就是一个Applet,而不是JAVA里applet的含义,可以是当前View的数据的列表或者当前某一条记录的详细的FORM展示),展示层也分为两个部分,展现部分是一个HTML的模板,它的定制可以通过一个HTML编辑器进行CSS,公司图片等各种HTML元素的客户化,而UI定义层则和逻辑层和数据层一样,都是使用Siebel Tools进行定义。数据存储层定义主要定义数据存储的逻辑结构,主要以表和列的形式来体现,在这层同时还屏蔽了不同厂商数据库的差别,从而对业务层提供一个统一的数据视图,一个典型的例子就是,在Siebel的数据结构完全不使用特定关系数据库的约束方式,而是在Siebel Tool里进行各种关系的建立,比如主键约束使用了自己的一个rowid,而不是使用关系数据库的通常的主键的定义,Siebel Tools的输出是一个*.srf(Siebel Repository File,也就是被编译后的UI/BOBC/DATA的定义文件)文件,由AOM来使用。
业务逻辑层是Siebel应用里最重要的一个部分,主要包含Business Object(BO)和Business component(BC),在这一层需要把下层的关系数据以一种业务容易理解的形式(如账户信息BC)提供给上层消费者。熟悉BIEE的用户可能会发现,Siebel应用也使用了类似于BIEE里结构分层的定义方式(物理层,逻辑业务层,展现层等),这种特点还是比较Siebel的。
数据结构层次
整个Siebel的数据的层次结构分为三个层次,每一个层次都对应了下一个层次的相应的元素,一个层次的改动不影响另一个层次的稳定性,一张表现他们层次的经典图如下:
可以看到,一个BC其实对应的就是一个逻辑的表(可以是一个基表也可以是几个关联的表的一个逻辑的表),BC里的field就是对应了数据表的列,多个相关主题的BC则组成了BO前面的文章已经交代了View,Screen等屏幕元素,这些屏幕元素和BC,BO也存在一定关系,从BO和BC的观点来重新定义这些概念就是,View其实对应的就是一个BO,而Applet则对应着一个BC,所谓Control则是屏幕上对应于关系数据字段的显示。多个相关的View则组成了一个Screen,而多个相关的Screen则组成了一个Siebel应用(如Call Center应用)。
需要注意的是一个BO需要有个一个主要的BC(该BC表示了自己关注的业务实体),如下图:
Siebel应用数据结构层次相关推荐
- 数据结构层次遍历二叉树
2022.11.19 计算二叉树的深度和节点个数 任务描述 相关知识 编程要求 测试说明 C/C++代码 任务描述 本关任务:给定一棵二叉树,借助队列实现层次遍历二叉树. 相关知识 为了完成本关任务, ...
- CRM的客户数据模型:Siebel Party Data Model (VI)
关于Siebel CRM Thomas Siebel和 Patricia House 在1993成立了Siebel公司.起先由销售自动化产品起家,然后在扩展到更大的CRM市场.在20世纪90年代末,S ...
- python提取pdf表格数据并保存到excel中
pdfplumber操作pdf文件 python开源库pdfplumber,可以较为方便地获取pdf的各种信息,包含pdf的基本信息(作者.创建时间.修改时间-)及表格.文本.图片等信息,基本可以满足 ...
- 以下数据结构中,()是非线性数据结构
以下数据结构中,()是非线性数据结构 A:树(二叉树) B:字符串 C:队列 D:栈 E:线性表 F:二维数组 G:多维数组 H:堆 数据的逻辑结构分为线性结构和非线性结构. 常用的线性结构有:线性表 ...
- fluidity详解
fluidity详解 1.fluidity编译过程 1.1.femtools库调用方法 编译fluidity/femtools目录下所有文件,打包为libfemtools.a静态库文件: 通过-lfe ...
- 上线随想之2011-03-26
3月26号. 原定是28号上线.这个周末应该以向SIEBEL同步数据为主,特别是订单数据,数量比较大, 需要的时间会比较多. 问题是,这几天时间,几乎一直都是在等,在排错.服务器环境出现问题,数据不能 ...
- 什么是堆什么是栈以及两者区别特点
什么是堆什么是栈以及两者区别特点 一 英文名称 堆和栈是C/C++编程中经常遇到的两个基本概念.先看一下它们的英文表示: 堆――heap 栈――stack 二 从数据结构和系统两个层次理解 在具体的C ...
- ECC有关DER文件的解析(Java)
ECC有关DER文件的解析(Java) 本篇博客提供有关ECC的DER文件的Java解析方式,如ECC公钥和ECC签名值对应DER文件的解析,PEM文件也能够使用本博客中提供的解析方式进行解析,PEM ...
- 01 Redis源码起航
源码解读 Redis 源码文件分布大致如下: redisDb结构介绍 首先看下redisDb的结构,在server.h文件中: typedef struct redisDb {dict *dict; ...
- lua中面向对象(class)
lua中面向对象(class) Lua中类的简单实现 Lua的设计初衷并非意图构建完整的应用,而是嵌入在应用程序中为应用提供灵活的扩展和定制功能,所以Lua仅提供了基本的数学运算和字符串处理等函数库, ...
最新文章
- 剑指offer:面试题38. 字符串的排列
- 简单读!tomcat源码(一)启动与监听
- Python 安装cx_Oracle模块折腾笔记
- SQL语句 怎么把从一个表中查出来数据插入到另一个表中
- Docker镜像常用命令(三)
- 梅特勒托利多xk3124电子秤说明书_托利多电子秤使用说明
- Cocos2d-x精灵详解
- 微信小程序实时定位的要做的那些事,你学废了吗?(附示例)
- angular6添加子路由_如何将Ionicons添加到Angular 6应用
- [NSSCTF][羊城杯2020]WEB复现
- 转录组RNA-seq分析前沿进展综述
- 考研数学复习笔记——行列式1
- pcf8563c语言程序,IIC的PCF8563实用时钟程序(iccavr)
- 基于R语言或Matlab直接读取压缩包中的数据
- linux系统漏洞升级方法,OpenSSL “Heartbleed”心脏流血漏洞升级方法
- lego-loam代码分析(3)-激光里程计
- diqu地区市的wheel样式
- QQ号、微信号java正则表达式
- [leetcode] 77. Combinations @ python
- 知识备忘phpcms 简单解析一 数据表字段