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应用数据结构层次的更多相关文章
- S初始化生产环境数据
一.将开发机的库文件导出10.10.1.139开发机服务器,桌面上的BAT文件,将数据库表结构和表数据导出来,导到E:\Repository,设置SADMIN密码永不过期BAT文件内容如下: ::导出 ...
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...
- ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
首先声明,本教程参考国外网站(http://gonehybrid.com/how-to-use-pouchdb-sqlite-for-local-storage-in-your-ionic-app/) ...
- 【腾讯Bugly干货分享】React移动web极致优化
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579083d1c9da73584b02587d 最近一个季度,我们都在为手Q家校 ...
- [转]ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
本文转自:http://www.cnblogs.com/ailen226/p/ionic.html 首先声明,本教程参考国外网站(http://gonehybrid.com/how-to-use-po ...
- C 高级编程 1
内存管理层次: 硬件层次: 内存结构管理 内核算层次: 内存映射 堆扩展 数据结构层次: 智能指针: stl :在多线程,共享内存有问题 SGI公司实现了STL ,开发了OPENGL库 语言层次:C: ...
- 数据结构与算法系列研究五——树、二叉树、三叉树、平衡排序二叉树AVL
树.二叉树.三叉树.平衡排序二叉树AVL 一.树的定义 树是计算机算法最重要的非线性结构.树中每个数据元素至多有一个直接前驱,但可以有多个直接后继.树是一种以分支关系定义的层次结构. a.树是n ...
- reactJs 基础
react不是一个完整的mvc,mvvm框架. react跟web components 不冲突 背景原理:基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React ...
- (转)堆heap和栈stack
一 英文名称 堆和栈是C/C++编程中经常遇到的两个基本概念.先看一下它们的英文表示: 堆――heap 栈――stack 二 从数据结构和系统两个层次理解 在具体的C/C++编程框架中,这两个概念并不 ...
随机推荐
- HDU - 1285-确定比赛名次(拓扑排序+优先队列)
有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...
- 能量项链 (区间DP)
能量项链 (区间DP) 问题引入 能量项链 洛谷 P1063 思路 诸如此类不能线性规划的问题要用到区间DP,区间DP一般就是三层循环,第一层表示区间长度(本题即\(n\)),第二层枚举起点并根据第一 ...
- ACM自己之前寒假的基础总结
1.const double pi = acos(-1.0); acos:反余弦函数,需要#include<math.h>函数库,acos(-1.0)的意思就是求π的值 2.算法竞赛中,不 ...
- Mock单元测试
/// <summary> /// 普通插入 /// </summary> [Fact] public void InsertOrder_Tests() { _sqlMappe ...
- PIE SDK创建掩膜
1.算法功能简介 图像掩膜(Mask)用选定的图像.图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程.掩膜是一种图像滤镜的模板,实用掩膜经常处理的是遥感图像.当提取道 ...
- CDH与原生态hadoop之间的区别(转)
需要认识的几个问题 ------------------------------------------------------------------------------------------ ...
- 一个优秀的app应该考虑的问题
带着团队做了3个app,需求是客户决定的,甚至连进度都不是项目经理可以控制的(譬如说一个app要在6周内,3个人完成).现在的状态是基本上没有用户量,当然原因是多方面的,下面说一说我认为app设计的原 ...
- oled屏幕配套取字模软件使用
oled屏幕配套取字模软件使用 作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/p/10531368.html欢迎转载,但也请保留上面这段声明.谢谢! **P ...
- linux下memcached的启动/结束的方式
当前项目中,linux下memcached的启动/结束的方式 默认情况下memcached安装到/usr/local/bin下. 进入安装目录,启动memcached:/usr/local/memca ...
- 几个免费 IP 归属地查询 API
1.淘宝:同个IP不能连续查询,需要时间间隔 http://ip.taobao.com/service/getIpInfo.php?ip=114.114.114.114 返回结果 { "co ...