《的架构和开发.ppt》由会员分享,可在线阅读,更多相关《的架构和开发.ppt(72页珍藏版)》请在三一办公上搜索。
1、Siebel的架构和开发浅谈,涂海涛 2003.8,一、Siebel产品的体系和架构,1.Siebel公司介绍Siebel 公司成立于1993年,由Tomas Siebel在美国加利福利亚创立。公司成立至今,由原有12人快速发展到现有的8000余人,在全球34个国家设有136个分支机构Siebel是CRM理念与技术应用的最初实践者,为后来不断涌现的CRM软件厂商提供了业界的标准。近十年来,Siebel的CRM产品一直在功能,技术以及市场份额上处于绝对的领先地位。Siebel的CRM系统在CRM三个关键领域,即销售,营销及服务三者之间的数据/流程整合度最高,各种应用界面最为统一,一、Siebel
2、产品的体系和架构,2.Siebel的CRM产品介绍2.1.Siebel e-BusinessSiebel.COM:Siebel eSales,eMarketing,eService,eChannelSiebel呼叫中心应用Siebel现场销售与服务的应用:Siebel Sales,FieldServiceSiebel 行业应用:Siebel eAutomotive,Siebel eCommunicaiton,一、Siebel产品的体系和架构,2.Siebel的CRM产品介绍2.2.Siebel MidMarket Edition(中型市场版),一、Siebel产品的体系和架构,3.Siebel
3、 CRM的发展历程 C/S B/S&C/S B/S&C/S 2000 2003新架构、新功能和新技术不断被引入,使得Siebel技术领先且富有生命力。,Siebel 6,Siebel 7.0.X,Siebel 7.5.X,一、Siebel产品的体系和架构,4.Siebel的物理架构,一、Siebel产品的体系和架构,4.Siebel的物理架构客户(Siebel Client)-访问企业数据;服务器-管理企业数据,并为Siebel Client提供批处理和交互式处理能力;核心数据库和Siebel文件系统-存储企业各类数据和文档,一、Siebel产品的体系和架构,4.1.Client提供访问Sie
4、bel数据的接口;包含下列几种Client类型:Dedicate Client(专业客户端,内部用户)Thin Client(瘦客户端,外部用户)Mobile Client(移动客户端,外部用户)Browser(浏览器,内部或外部用户)WML(PDA或者手机用户),一、Siebel产品的体系和架构,一、Siebel产品的体系和架构,4.1.ClientDedicate Client:所有配置文件以及各应用管理器都从本地读取,利用驱动程序直接访问数据库;Thin Client:所有配置文件和数据库均存于Siebel 服务器,客户端只安装有限的命令解释器,通过Javascript&VB scrip
5、t 读取服务器各种配置信息并提交执行;Mobile Client:所有配置文件和应用管理器从本地读取,而且本地存有小型数据库专门为特定用户所用,定期连接Siebel 同步服务器同主数据库同步;Browser:直接访问网站(SWE),无需在本地安装任何特定组件,一切由Siebel Web 服务器接收,处理和回复客户请求;WML:通过WAP(无线接入服务器)连接Siebel Web 服务器,回复页面经过转换以WML格式向客户无线设备传送,一、Siebel产品的体系和架构,4.2.Gateway也称名字服务器,作为企业服务器的单一入口;动态注册Siebel服务器和各组件的可用状态;存储组件定义,分配
6、连接,支持负载均衡;以NT服务或者Unix Daemon方式运行;一般放在DMZ区域4.3.ResonateGateway的一部分,负责负载均衡,一、Siebel产品的体系和架构,4.4.Server Component运行于Siebel Server上的完成某些特定任务的一类程序;可完成下列任务:导入导出数据;监视企业数据,触发事件;支持移动客户或者瘦客户;处理业务逻辑和工作流;企业数据集成;其它任务,一、Siebel产品的体系和架构,4.5.Siebel Server运行一个或多个Server Component(可动态分配);从名字服务器读取服务器的配置信息;以NT服务或者Unix Da
7、emon方式运行;一般放在内网(第二道防火墙内)4.6.Siebel Enterprise Server一组Siebel Server就构成了Siebel Enterprise Server;Siebel Enterprise Server是一个逻辑概念;第一个Siebel Server安装时产生,一、Siebel产品的体系和架构,一、Siebel产品的体系和架构,4.7.SWESiebel Web Extension,提供了通过Web访问Siebel的能力;构建在其它的Web Server上,如IIS;通过SWE可以进行一些应用集成,如通过SWE向Siebel实时写入数据,一、Siebel产
8、品的体系和架构,一、Siebel产品的体系和架构,4.8.Database存放Siebel的数据,Siebel目前支持业界主流的几种数据库:OralceDB2SQL ServerSybaseSiebel的数据分为:种子数据、目标定义数据和业务数据,一、Siebel产品的体系和架构,4.9.Siebel File System一个可以从网络访问的目录,存放被客户端使用的且没有保存到数据库的文件,如客户信件、报价单和语音等;Siebel File System中的文件在Siebel内部可以通过编程访问,一、Siebel产品的体系和架构,4.10.ToolsSiebel为CRM开发人员提供的专门的配
9、置和开发工具,所有的开发工作都必须使用Siebel Tools进行,否则由于不符合Siebel的开发规范系统升级极其困难;通过Tools直接修改的Siebel的目标定义库,一、Siebel产品的体系和架构,一、Siebel产品的体系和架构,4.11.Siebel Repository(.srf)File通过Siebel Tools编译生成的含有目标定义数据的压缩格式的文件;客户端和服务器都使用该文件,最好文件的版本保持一致;被客户端和服务器实时访问,解释成客户界面,定义客户行为和服务器行为,一、Siebel产品的体系和架构,4.12.Configuration(.cfg)FileSiebel是
10、参数驱动的系统,cfg文件就是存储参数的配置文件下列需要配置文件:Siebel Server;Siebel Component;SWE;其它配置文件先备份再修改,修改后重起对应的服务生效(建议重起所有的服务),二、基于Siebel的开发,1.Siebel的逻辑架构,二、基于Siebel的开发,1.1.Column、Table和IndexTable:Siebel中的物理表都是用Tools在目标定义库(Repository)中定义和生成的,和实际物理表的结构保持一致;Column:物理表字段,由Tools定义;Index:物理表索引,也是由Tools定义;不要手工在数据库中修改物理表,而应该使用T
11、ools生成、修改表,二、基于Siebel的开发,1.2.Field、BC、BO和LinkBC:Siebel中的基本逻辑单元(如订单头、订单行、雇员等),是物理表的映射,一个BC对应到一个或若干个有关系的表。BC也可以包含一些方法以实现特定功能(也可以客户自编程添加方法)Field:BC包含的字段,对应于表的字段BO:Siebel中的逻辑大单元,包含了一个或若干个有关系的BCLink:定义BC之间的关系(1:1/1:M/M:M),二、基于Siebel的开发,Opportunity,Account,Product,Contact,Account,Business Object(BO),Busin
12、ess Component(BC),Link,Master BC provides focus for BO,二、基于Siebel的开发,1.3.Control、Applet、View和ScreenControl:UI层中最小的单元,对应于BC的一个FieldApplet:Siebel界面中的一个窗体,对应于一个BC,允许通过Applet访问BC的数据和方法。View:Siebel界面,由若干个Applet组成,对应于一个BOScreen:一组有关联的View的集合,对应于一个菜单项,二、基于Siebel的开发,二、基于Siebel的开发,1.4.Project为了能够实现团队协同开发,Sie
13、bel引入了Project概念Project是指一类相关的Siebel Repository对象(如BO、BC、View等)组件的集合Project是为开发人员设计的,故只有在Tools中有意义开发时,可以锁定若干Project,锁定后自己可读写该Project所属的对象的定义,其它人员只能读Siebel 6的最小编译单元是Project,Siebel 7的最小编译单元更小了,可以是Project下属的对象只能锁定Project,不能锁定别的对象(如View),锁定了Project自然锁定了Project下属对象,二、基于Siebel的开发,2.Siebel的编译技术和本地库技术2.1.Sie
14、bel的编译技术:在Tools中修改了目标定义库后,为了能发布修改,必须将新的目标定义数据编译成srf文件,并将srf文件发布到客户端和服务器。编译就是将目标定义数据按照Siebel的规范生成srf文件,供服务器和客户端使用,二、基于Siebel的开发,2.Siebel的编译技术和本地库技术2.2.Siebel的本地库技术:本地库:存储于客户端的小型数据库,在网络不可用时(出差途中或者客户公司)可以继续进行业务操作,联网后(如回宾馆)通过同步操作来完成服务器和客户端的数据同步;Siebel Dedicated Client和Siebel Tools都可以使用本地库,前者用于业务操作,后者进行S
15、iebel的配置开发;一般在Tools的本地库进行配置,在Client的本地库进行测试,测试通过再同步到服务器,由于开发过程在本地进行,不会影响正常业务,二、基于Siebel的开发,3.数据层的配置3.1.物理表的配置表:添加、查看字段:添加、查看索引:添加、删除、修改、查看用户主键:添加、删除、修改、查看注意:Tools不支持删除现有表(实际也没有必要),不推荐删除现有字段用户主键是什么?,二、基于Siebel的开发,3.数据层的配置3.2.BC的配置BC基本信息:Name/Project/Class/Base Table/Join:定义BC的基表和BC的其他表的关系Field:对应于BC包
16、含的表(基表和其他表)的ColumnScript:BC的脚本,完成跟该BC相关的特定功能,如合理订单注意:使用向导或者复制现有BC来新建BC,不要完全自己建立如果现有BC能满足基本要求,应修改现有BC而不是新建BC,二、基于Siebel的开发,3.数据层的配置3.3.BO和Link的配置Link在两个相关的BC都建立好之后可以建立这两个BC之间的LinkLink通过父BC的一个字段和子BC的一个字段来定义父子BC之间的关系Link支持级联删除BO建立BO,给BO增加BC(同时Link父子BC),二、基于Siebel的开发,3.数据层的配置3.4.总结总是修改或者拷贝现有的对象,不要完全自己新建
17、;不要删除已经没有用途的对象,而是使之Inactive,以后使用时可以在Active这个对象Join和Link有什么区别?,二、基于Siebel的开发,4.界面层的配置Applet定义对应的BC、显示的Control(布局)和包含的Script等View定义对应的BO、包含的Applet和页面布局等Screen定义包含的View和Screen文字等Applitaion管理Application所属的Screen(增加、删除),二、基于Siebel的开发,5.一般配置步骤配置人员制作本地库从服务器check out一个或若干个Project配置数据层(Table-BC-Link-BO)配置UI层
18、(Applet-View-Screen)其它配置在本地编译和测试Check in在服务器编译和测试发布,二、基于Siebel的开发,5.1.发布Siebel 6的发布编译srf登录Siebel,配置Siebel Anywhere,退出客户端登录时Siebel检查客户端的srf版本客户端的srf版本旧则自动下载最新的srf到客户端登录成功Siebel 7的发布由于Siebel 7是B/S架构,只需要更新服务器端的srf文件即可,二、基于Siebel的开发,6.Siebel 的集成数据集成(集成方式比较原始,但是简单有效,是目前主流的集成方式);应用集成(集成方式比较高级,但是目前效率和健壮性不如
19、数据集成),二、基于Siebel的开发,6.1.数据集成外部读取Siebel数据:大批量非实时读、写Siebel数据小批量实时读、写Siebel数据Siebel读取外部数据:大批量非实时读、写外部数据小批量实时读、写外部数据,二、基于Siebel的开发,6.1.1.Siebel支持的内部编程语言eScript(JS)符合ECMA规范只能在Siebel内部运行能运行于部署在Unix和NT的Siebel Server上Siebel VB(SBL)对Microsoft VB6.0进行了一些扩展能在Siebel内部运行(该Siebel Server必须部署于NT之上),也能使用VB和SBL来开发外部的
20、Siebel应用,二、基于Siebel的开发,6.1.2.Siebel Business ServiceBusiness Service是指为了完成特定功能而定义的一段脚本或者一种配置;Siebel支持在Client端定义和在Tools中定义BS,前者存储于数据库,调用前先访问数据库,后者存储于srf文件,所以效率较第一种快;BS可以使用eScript或者SBL来编写;BS可以访问BO、BC、FileSystem、调用Workflow、BS、COM、Corba、So、标准C方法,功能强大Siebel预先定义了很多BS可供我们使用,二、基于Siebel的开发,6.1.3.Siebel Workf
21、lowWorkflow是当某个预先定义条件满足时激发的一组有次序的Step(步骤或者动作);Step可以操作BC、调用BS、决定下一个Step和异常处理等;Workflow可以完成复杂的工作流,在Client端以图形化形式设计,二、基于Siebel的开发,6.1.4.Siebel支持的数据集成方式,二、基于Siebel的开发,二、基于Siebel的开发,6.1.5.Siebel集成总体解决方案,二、基于Siebel的开发,6.1.6.Integration Object Data MappingIntegration Object是Siebel内部数据和外部数据之间的转换器,可以在内部数据和外
22、部数据之间双向转换Siebel内部数据以属性集表示,外部数据以Xml表示,利用Integration Object可以把Xml转换成属性集,也能把属性集转换成Xml在大多数EAI场合,需要用到Integration ObjectIntegration Object在层次上相当于BO,可以包含一个BO下的若干BCIntegration Object在Tools中定义,编译进srf文件,在客户端和服务器端同时部署,二、基于Siebel的开发,6.1.7.Siebel集成示例 Http Outbound,Get Info,Convert,Send to Ext Web Server,Siebel W
23、orkflow,Ext Web Server,Get Posted Xml,Save to DB,二、基于Siebel的开发,6.1.7.Siebel集成示例 Http Outbound,Siebel Workflow,Web Server Page,二、基于Siebel的开发,6.1.7.Siebel集成示例 Http Outbound效率高,速度快松耦合,一个系统崩溃,不会导致另一个系统崩溃基于标准HTTP协议和Xml,与平台无关适用于小批量实时数据集成场合,二、基于Siebel的开发,6.1.8.Siebel集成示例 Http Inbound,Get Xml,Convert,Update
24、 Siebel,Siebel Workflow,SWE,Read Cfg,Siebel BS,RunProcess,Ext Web Server/APP,Post Xml String,Return Value,二、基于Siebel的开发,6.1.8.Siebel集成示例 Http Inbound,Siebel Workflow,Ext Web Server Page,二、基于Siebel的开发,6.1.8.Siebel集成示例 Http Inbound效率高,速度快松耦合,一个系统崩溃,不会导致另一个系统崩溃基于标准HTTP协议和Xml,与平台无关适用于小批量实时数据集成场合,二、基于Sie
25、bel的开发,6.1.9.Siebel集成示例 VBC Using XmlGatewayVBC是一种特别的BC,专门用来将外部数据映射为内部数据,并以BC的形式供Siebel访问;开发VBC要符合Siebel规范,否则数据不会被Siebel正确识别,VBC不会工作;VBC使用BS实现,二、基于Siebel的开发,6.1.9.Siebel集成示例 VBC Using XmlGateway,R/W DB/File,Convert Result to Xml,Return Result,Read Posted Xml,Req,Return,Ext Web Server,Siebel App,Run
26、BS,二、基于Siebel的开发,6.1.9.Siebel集成示例 VBC Using XmlGateway可以使Siebel访问外部系统数据对于Siebel用户屏蔽数据来源实现容易,开发速度快,且实现手段很多适用于小批量实时数据集成场合,二、基于Siebel的开发,6.1.10.Siebel集成示例 WebService Interface,Get Req,Ext Web Server,Query/UpdateSiebel,Return,Java/Win/Oth App,InvokeWebService Method,Return,二、基于Siebel的开发,6.1.10.Siebel集成示
27、例 WebService Interface可以使外部系统读写Siebel数据由于使用了WebService,具备了跨平台特性在Windows平台使用SBL或Siebel Thin Client API开发,在Unix可以使用Siebel Java Data Bean开发适用于小批量实时数据集成场合,二、基于Siebel的开发,6.1.11.Siebel集成示例 Using IBM MQInbound,Component,Siebel Server,IBM MQ,Get Xml Info,Workflow,Convert,Update,二、基于Siebel的开发,6.1.11.Siebel集成
28、示例 Using IBM MQOutbound,Get Info,Convert toXML,Send,Siebel Workflow,IBM MQ,二、基于Siebel的开发,6.1.11.Siebel集成示例 Using IBM MQ松耦合性能主要取决于MQ所在服务器的性能,对于Siebel而言可以通过调节组件参数来提高并发性能适用于中小批量非实时数据集成场合,二、基于Siebel的开发,6.1.12.Siebel集成示例 Using Integration Object&FileInbound先读取一个Xml File,根据Integration Object的定义将Xml内容转换成Si
29、ebel的内部数据格式,然后调用Siebel Adapter更新Siebel数据。,二、基于Siebel的开发,6.1.12.Siebel集成示例 Using Integration Object&FileOutbound先读取Siebel数据,然后根据Integration Object的定义将Siebel数据内容转换成Xml文件并保存。,二、基于Siebel的开发,6.1.12.Siebel集成示例 Using Integration Object&File由于防火墙的原因,外部系统很难将文件放置到Siebel服务器上,所以使用受限可以用来测试Integration Object定义是否正
30、确适用于中小批量实时和非实时数据集成场合,二、基于Siebel的开发,6.2.应用集成实时从外部系统操作Siebel,或者从Siebel操作外部系统,目前可以利用的集成方式尚不多Inbound:Symbolic URL将外部系统的页面嵌入到Siebel内部Outbound:SWECommand外部系统利用SWE可以嵌入Siebel的页面,Siebel 7以后的版本支持,三、Siebel配置开发应该掌握?,1.基本技能了解Siebel的体系架构熟悉Siebel的安装部署和基本管理精通一两种主流的关系数据库了解B/S以及C/S的体系架构精通Tools的使用精通Client的使用熟悉eScript/
31、SVB,三、Siebel配置开发应该掌握?,2.配置工作所需技能了解本地库技术精通Table/BC/BO等数据层的配置方法精通Applet/View/Screen等UI层的配置方法精通Applet/BC等脚本的编写,三、Siebel配置开发应该掌握?,3.集成工作所需技能配置技能精通Business Service的开发精通Workflow的开发精通Integration Object的配置精通SWE的使用、配置和编程熟悉MQ、MSMQ、Tibco和BizTalk等中间件精通Xml/DTD技术熟悉So/COM/Corba等组件和对象调用技术熟悉VB/Java等开发语言熟悉Asp/Php/Jsp
32、/CGI等Web编程技术,四、总结&致谢,1.Siebel技术特性支持B/S&C/S,典型的N(2-5)层架构;扩展性良好(负载均衡、组件分布);集成性极好(提供了数十种集成方式);易于二次开发及定制,可平滑升级;自有编程语言和编译技术;本地开发、调试;复杂工作流和业务逻辑(可客户自编程定义);本地库及数据同步技术;。,四、总结&致谢,2.如何学习:购买Siebel软件,搭建测试环境;多做配置、开发和集成练习和测试;小组讨论,共同进步;阅读Siebel的技术文档和SupportWeb;参加Siebel培训,聘请顾问;多摸索,多思考,不畏艰难;3-6月大概可以进行配置和集成工作,四、总结&致谢,3.致谢:3KS!,四、总结&致谢,4.提问:?,