SIEBEL应用概述
原文地址:http://bbs.erp100.com/thread-44401-1-1.html
SIEBEL應用概述
Siebel CRM是圍繞客戶關系管理這個主題建立起來的一系列應用的總和,和一些國內公司的CRM/CALL CENTER產品不一樣,Siebel應用遠遠不是只是接一些電話然后記錄下來并進行處理這么簡單。Siebel應用是通過統一協調管理各個聯系客戶的渠道(touchpoint),如email,電話,傳真或者web以至于現場客戶服務,從客戶信息管理,銷售機會管理,服務管理,主動地根據客戶信息進行銷售(upsales , cross sales)等,提供給公司一個全局的統一的客戶視圖,并提供給客戶一個統一的公司視圖,而建立起來的面向多個行業的客戶關系管理解決方案。
Siebel的應用包含多個模塊,分別面對不同的使用人員,主要分為面向客戶的應用,面向雇員的應用和面向合作伙伴的應用。
下面的表格是這些應用的一個例子:
面向客戶的應用:Siebel eSales,Siebel eServices,
面向雇員的應用:Siebel call center,Siebel Sales,SiebelCustomer Order Management, Siebel Employee Relationship Management(ERM)
面向合作伙伴的應用:SiebelPartnerRelationship Management(PRM),
另外,Siebel還針對20個行業做了很多行業定制的工作,這些定制的數據模型和術語都和那個行業相關。
如:Siebel Communications, Siebel Consumer Sector, Siebel Life Science等。
Siebel應用基礎業務實體
Siebel應用里基礎的業務實體Siebel應用里有一些業務實體貫穿于整個應用中,這些業務實體主要是Accounts,Contacts,Opportunities,Orders,Service Requests,Households,Activities,Assets。
Accounts(公司):公司外的業務實體,可以是潛在的客戶,競爭對手等。
Contacts(聯系人):和公司有生意往來的人,一般都有一個名稱,職位,電話號碼。
Opportunities(機會):一個可以帶來利潤(revenue)的事情,一般會和一個account相聯系,并且會有一個完成日期。Orders(訂單):客戶購買的一個產品或服務,一般有一個訂單號,訂單狀態,并且和一個account相聯系。
Service Requests(服務請求):一個客戶請求,可能請求一些產品信息或服務信息。
Household(集體成員):有某種經濟聯系的一些人的集合,他們可能有共同的采購行為或者興趣。一般有一個名稱,一種成員類型(如妻子,孩子,小組成員等),集合體的聯系人,并且有專門的用于負責這些人的雇員。
Activities(活動):一個需要完成的事件,一般有起始日期和預計完成日期,優先級別,和負責的雇員。
Assets(資產):一個已經被采購的產品,一般有一個資產號碼,一個產品代碼,和產品當前使用狀態(如在用,廢棄等)。
Siebel Fundamental (2) Architecture Overview
SIEBEL技術體系概述
Siebel在被Oracle收購之前本身沒有太多技術平臺產品,所以Siebel的技術體系主要是建立在第三方技術平臺之上,Siebel的主要體系架構是典型的web server/Applications Server/Database Server的三層架構。下圖是Siebel的一個簡化的架構圖:
Siebel應用的技術主要包含三個部分:
1.? ?? ???Web Server:從瀏覽器接受請求,并把請求發給Siebel Server,
從Siebel Server得到結果,再發回給瀏覽器。
2.? ?? ???Siebel Server:是Siebel應用的主要技術部件,不但用于支持完成和客戶端的交互(從數據庫取得數據并返回給Web Server,從Web Server接受請求并處理),還需要處理工作流和業務自動化流程,以及一些批量執行的任務(熟悉Oracle Applications的用戶可以大致認為和Concurrent Manager執行的任務一樣)
3.? ?? ???Siebel Gateway Name Server:類似于一個動態注冊表,用于跟蹤所有Siebel進程的狀態。如果有Server起來或關閉,都會在Name Server更新狀態。
4.? ?? ???Siebel File System:用于存放Siebel應用用到各種文件。
Siebel 技術體系架構有一些明顯的特點:
1.? ?? ???滿足多渠道的訪問的需求,無論是對于瀏覽器用戶;對于通過手機訪問的用戶;還是對于暫時無法訪問網絡的用戶但是又需要訪問一些特定信息的用戶;甚至對于需要專門訪問的DBA管理用戶,都在技術結構上提供了不同的訪問模式。
2.? ?? ???Siebel的技術架構另一個重要的特點是能夠跨多種產品和底層技術平臺,如可以使用多個不同廠家的Web服務器(流行的如Apache,IIS),可以使用不同廠家的關系數據庫(Oracle,DB2,SQLSERVER)等,這都要求Siebel能夠在不同的技術框架上提供一個虛擬的訪問層。
多渠道訪問的架構設計
Siebel從架構層就包含了多渠道訪問的思想,如下圖:
訪問渠道主要包含:
1.? ?? ???Siebel Web Client/ Siebel Wireless Web Client:標準三層架構訪問模式,客戶端沒有任何Siebel軟件,而只有瀏覽器(或手機瀏覽器)。PC客戶通過瀏覽器和Web Sever并最終通過SWSE和Siebel Server交互。而手機用戶通過WAP Server并一樣通過SWSE和Siebel Server交互。絕大部分用戶都使用這種訪問模式。
2.? ?? ???Siebel Handheld Client/ Siebel Mobile Web Client:這種方式的訪問方式和三層架構不一樣,這種方式要求在本機按照類似于一套mini版本的Siebel應用,訪問本機的數據庫和File System。使用這種方式的時候,聯機的時候本機數據庫可以和中心數據庫進行同步,而脫機的時候仍然可以訪問自己機器上已經同步的內容,適合于經常沒有網絡連接的環境(如機場,火車站等)但又需要訪問Siebel應用的場景。
3.? ?? ???Siebel Dedicated Web Client:這種客戶端能夠直接訪問數據庫,即使在Siebel Server已經被關閉的情況下,一樣可以訪問Siebel應用,原因是這種客戶端本身就安裝有Siebel Server的部件,不需要通過中心的Siebel Server來訪問數據。
Siebel架構里中立于技術平臺產品的設計
Siebel應用為了屏蔽底層技術的影響,而對維護人員提供統一的界面,主要在以下的部件里來提供中立于底層技術產品的設計。1.? ?? ???Siebel Web Server Extensions(SWSE):Siebel是通過在第三方的Web Server上加入一個插件,稱為SWSE來和Siebel Server進行統一的通訊。從而能夠獨立于Web服務器而提供和Siebel Server統一的接口。
2.? ?? ? Siebel Server的AOM(Application Object Manager),AOM里包含Data Manager,用于針對不同的關系數據庫生成包含該類型數據庫特點的SQL語句,這樣就可以在AOM之上提供屏蔽下面特定數據庫技術的,中立的數據訪問層。
Siebel Fundamental (3) Security and Acess Control
SIEBEL安全架構
Siebel應用的安全主要包含用戶的認證,數據傳輸的加密,數據存儲的加密,以及應用,數據訪問控制。用戶的認證主要指用什么方式來校驗用戶和密碼;數據傳輸的加密主要指的是Web傳輸的加密,SWSE和Siebel Server的通訊加密;數據存儲的加密是Siebel可以選擇加密數據庫的某些關鍵字段,但是并不影響Siebel應用的用戶,由Siebel應用在存儲和使用的時候自動加密解密;而應用,數據的訪問控制則是Siebel里比較復雜的,和一個企業的組織結構相關的話題。
用戶認證Siebel的用戶認證方式較多,可以直接使用數據庫用戶密碼認證,企業目錄用戶認證,SSO認證等。
如下圖:
數據庫認證:Siebel可以使用數據庫用戶/密碼來驗證用戶的登錄,對于這種認證方式的好處是不需要額外的安全基礎措施(如LDAP),但是如果使用這種方式,就需要在數據庫級別為每個用戶創建用戶和密碼。
AD/LDAP認證:Siebel應用也可以使用工業標準的目錄服務器來認證用戶,比如微軟的AD或其他符合LDAP規范的服務器,如果企業本身已經有目錄服務器,則Siebel應用可以很好地集成目錄服務器的認證機制。
使用web-SSO驗證:Siebel應用提供了可配置的配合web-SSO單點登錄基礎設施的框架,可以使用多種SSO服務器提供的認證功能。? Siebel Security Adapter SDK:使用Siebel提供的SDK可以開發出不屬于以上所提到的幾種方式的用戶認證方式。
Siebel組織架構
Siebel應用的應用/數據訪問控制和Siebel應用的組織架構設計相關,所以首先需要介紹Siebel應用界面的一些基礎概念:Screen,View以及Siebel組織結構的基本概念Division,organization,position,responsibility和employee。
Screen(屏幕)是指Siebel應用里一組相關的功能或主題提供的一個tab,如下圖:
accounts就是一個screen,而View則是完成該主題里一個特定的任務的具體菜單項,如Accounts List則是一個View,而通過這個View能夠看見的東西則稱之為數據(data)。視圖和數據的權限是完全分開控制的。比如兩個call center話務員Mary和Lisa,她們可能具有相同的職責(所以他們能夠看見相同的View),但是每個人只能看見自己的那份數據(data是由他們的ID控制)。而他們的Manager則可以看見Mary和Lisa兩個人的數據(數據由organization組織架構決定)。
Division和Organization和我們平常所見的公司結構圖里的分支和部門是一樣的概念,其實建立Division和Organization的方法一樣,只不過要在建Division的時候選擇一個checkbox指定該Division為Organization。但是Organization和Division也有區別,他們都可以用于來設置公司組織架構的層次,但是如果希望不同的Organization不能夠互相看見對方的數據進行數據的控制,需要對數據進行控制的話,則要使用Organization。
職位也是一個公司組織結構圖上的一個小方塊,用于組成公司的上下級匯報關系,一般一個職位只有一個雇員,當然有時候一個職位可以有多個雇員。而且因為職位遠要比雇員要穩定(雇員很可能離職),所以職位的訪問控制在企業的很多場景里提供了恰當的數據訪問控制方式,,而且使用職位進行訪問控制比之使用雇員進行權限控制有更大的穩定性。
Responsibility則是企業里某次功能的集合,這個集合通常賦予一個工作崗位,(從Siebel應用的角度來說,就是一組View的集合)。
應用/數據訪問控制
Siebel提供的兩種主要的訪問控制方式在View級別和Data(record)級別:
1.View級別的訪問控制:一個企業通常按照功能進行工作的區分,分配給一個用戶的功能決定了他能夠訪問Siebel應用的功能(在Siebel應用里稱之為View,類似于一般應用的菜單),一個用戶通過授予他的職責從而能夠訪問的功能的集合,這種應用的授權方式是通過View來進行的。如一個銷售代表通常能夠看見My Contact View,My Opportunities View等,而一個Call Center Agent卻只能看見My Service Request View。這些都是通過Responsibility授權而得到View的權限的例子。
2.記錄(數據)級別的訪問控制:記錄級別的訪問控制使用戶能夠Siebel使用三種數據訪問控制,position,organization,access group:當一條記錄被賦予position,organization,access group權限時,只有那個職位,組織,或訪問組的雇員能夠看到該數據。下面只通過position來說明數據的這種訪問控制,同樣對于Organization也是類似的。Position Access Control也有好幾種,我們只選取其中一種來說明:
single-position access control:如報價信息,一個使用某種職位登錄的雇員只能看見該職位能夠看見的報價信息(一個更高職位的雇員可能可以看見更高的折扣,所以每個職位的報價信息是不一樣的)。不同類型的數據可以采取不同的數據訪問控制方式,如客戶相關數據可能更傾向于采取position相關的權限控制。
能夠使用什么控制方式和Business Component(BC)相關,是由該? BC的View Mode決定,比如一個想使用position access control的View必須是該View對應的BC里ViewMode的OwnerType里有position一項,我們會在后續的文章里介紹BC。
Siebel Fundamental (4) Applications Data Structure
應用數據的存儲和展現
一般而言,一個應用都包含了關系數據庫里的數據以及處理該數據的應用界面。一個簡單的應用可能是使用一些可視化的工具把數據庫里的數據拖動到應用里就可以完成數據的存儲展現以及操作的工作,這樣出來的應用展示和數據是緊密耦合的,而Siebel應用則使用了更加復雜的通過在中間增加幾個層次從而能夠把數據的展現和數據的存儲隔離開,并且在這個隔離層里引入了可使用Siebel Tools進行展現和下層數據間的匹配關系。這樣提供了很強的容易進行進行客戶化的方法。使界面的顯示定制和數據存儲都更加靈活。這個隔離層就是我們要介紹的Business Object(BO),Business Component(BC)相關的一些概念,當然BO和BC的引入的另一個非常重要的優點是可以使關系數據以一種具有業務含義的方式組織和展現出來給不同層次的用戶。
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 Fundamental (5) Business component & Business Object
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里的一個擴展性非常強的數據模型的一個例子。
----------------------------
Siebel,在Oracle的白皮書中,初識結構
Siebel,在Oracle的白皮書中有寫到:Siebel architectrue supports a mixture of??clients.
與以往的c/s(client/server),b/s(browser/server)不同的是,Siebel 支持多種結構,比如我們用vb,vc,delphi,pb等開發工具開發的一下應用程序,我們會需要在客戶短安裝一個客戶端程序,這也就是我們所謂的胖客戶端。然后對于用過oracle erp的人來講,我們經??吹絜bs是只通過一個瀏覽器就能夠連接上我們的系統去做相應的業務操作而不需要安裝任何客戶端程序的,這也就是我們所謂的瘦客戶端,b/s結構。那么我們的Siebel是哪種結構呢?
我們剛剛講到Siebel是多種結構的,那么我們先來看看它是如何支持多結構的。
1。Siebel Wireless Webclient ->wap server ->siebel gateway server->siebel server(enterprise)->database server/siebel file system.
2. Siebel Web Client browser->web server->siebel gateway server->siebel server(enterprise)->database server/siebel file system.
3.dedicated web client->database server/siebel file system.
大概來講解一下這幾種方式:
1。第一種就是直接用browser來連接我們服務器的。這種情況我們就是在客戶端什么都不用裝,只要在客戶端瀏覽器上輸入服務器的地址就能進入我們siebel系統去進行相應的業務操作:比如在ie 上輸入http://127.0.0.1/callcenter_enu?... l登入頁面輸入sadmin /sadmin即可登陸系統。
2。第二種也就是通過我們安裝的siebel web client 選擇開始->程序->siebel client web->siebel call center enu.然后登陸我們界面。
那么我們第一種與第二種有什么不同呢?主要是在第一種里面我們是siebel在web server中擴展了一個wap,然后再是wap server 與gateway server 再與siebel server通訊,而我們第二種方式是siebel client與siebel server再與siebel server 通訊。
3.第三種呢是直接與siebel database通訊。這種方式主要是我們通過siebel tools連接到數據庫種做相應的操作。
(您有什么疑問?請多指教。下一節siebel web client )的安裝
=========
首先向大家介紹一下siebel 吧。
siebel 是一個crm (客戶關系管理軟件),但它不單單是一個軟件而已,它可以為客戶提供提供系統的客戶關系解決方案。
這里我主要學習的是它的二次開發,對功能方面的一些東西還不算很了解,望大家原諒阿。
siebel 二次開發的工具是siebel tools
它的客戶應用端程序是 web client .(siebel call center ,siebel sales ,siebel enployee relationship management administration,siebel markting ,等等)
總結
以上是生活随笔為你收集整理的SIEBEL应用概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【翻译论文】A Progressive
- 下一篇: xml速成