




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、7591ch02.qxd 8/22/06 3:33 PM Page 13C H A P T E R 2BusinessObjects XI Server ArchitectureBusinessObjects XI is a multitier, server-based product that comprises a number of logical servers. These servers run as Windows services, and they can all be installed on one machine or distributed across multi
2、ple machines, each running multiple processors as your needsdemand. In this chapter, well examine how to manage those servers, grammatically, and extract information about them. Well look at progra how to work with servers and server groups. If you are ud them pro-asics of program-InfoStoreWhen you
3、first install BusinessObjects XI, the product creates a series of tables in your desig- nated database back end. This database is known as the InfoStore. The default RDBMS is S Server, but you can use almost any database on the market. The InfoStore tables hol information about all your reports, fol
4、ders, users, and object packages. In short,you see in the Central Management Console (CMC)except for the actual r files themselvesis stored in the InfoStore.BO XI provides an InfoStore class in its SDK to atables. Well examine this InfoStore class in much greaternon of the entire object m. There is
5、no reason for you to ever access the InfoStore RDBMStables directly. Altering the database directly in any way will likely cause damage to your instal-lation, and BusinessObjects can no longer be heldable for technical support. The fourRDBMS tables are CMS_InfoObjects5, CMS_Aliases5, CMS_IDNumbers5,
6、 and CMS_Relations5. The main table is CMS_InfoObjects5. This table stores all the data about your reports either indexed in named columns or unindexed in binary columns. A partial data display from this table is shown in Figure 2-1.137591ch02.qxd 8/22/06 3:33 PM Page 1414CHAPTER 2 BUSINESSOBJECTS X
7、I SERVER ARCHITECTURE Figure 2-1. CMS_InfoObjects5 tableSuch data elements as an objects ID, its type, or its GUID, for example, are stored in indexed columns. In Chapter 5, youll see how to create SQL statements that extract this information through the InfoStore class. Using the indexed columns in
8、 the WHERE clause will make for the most efficient SQL query just as it would in any other RDBMS. If youre extracting a single object by referencing its SI_ID value in a WHERE clauseone of the most common SQL state- ments youll writethe response will be very fast because SI_ID is indexed. Nonindexed
9、 data such as description, output format, printer information, etc., along with any properties you may create yourself (see Chapter 9), are stored collectively in binary (BLOB) columns and are unindexed. Caution must be used here when using unindexed properties exclusively in your WHERE clause as th
10、e search wont be as efficient.FileStoreThe FileStore refers to the disk directories where the actual report files reside. It can be foundon your disk at Program FilesBusiness ObjectsBusinessObjecterprise 11.5FileStore.The two main directories under this location are Input and Output. The Input direc
11、tory stores the report templates and thumbnail images, while the Output directory stores the results from running those templates. Thus, the Output directory is normally many times larger than the Input directory. Each of these directories is managed by its own BO XI server, which is discussed in th
12、e next section.The Report Properties page of the CMC shows you the location of the Input report files. The report shown in Figure 2-2 indicates that the RPT report template can be found at frs:/ Input/a_242/004/000/1266/aa04421b355c40.rpt.7591ch02.qxd 8/22/063:33 PMPage 15CHAPTER 2 BUSINESSOBJECTS X
13、I SERVER ARCHITECTURE 15Figure 2-2. Report Properties pageAn examination of this location (see Figure 2-3) shows two files: the RPT file with the name indicated on the report properties page of the CMC and a JPEG file, which serves as the thumbnail image.Figure 2-3. FileStore directory and filesRepo
14、rt histories display their output files as well. Figure 2-4 shows the results of a successful run to a PDF file that was output to frs:/Output/a_055/038/000/9783/ce65445094ec639c.pdf.7591ch02.qxd 8/22/06 3:33 PM Page 1616CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE Figure 2-4. Report results pag
15、eWhen you delete report templates or report history entries, either programmatically or through the CMC, the associated file entries will be deleted as well.BO XI handles the management of these disk locations through the File Repository servers. Well discuss the individual servers in the next secti
16、on.ServersYou can manage the various servers that comprise a BO XI installation by selecting the Serversoption from the mainof the CMC. Some of these servers specifically handle BusinessObjectsreports (like Desktop Intelligence and Web Intelligence) but well focus on the Crystal Reports servers only
17、. Youll be presented with the screen shown in Figure 2-5.Figure 2-5. Server page7591ch02.qxd 8/22/06 3:33 PM Page 17CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE 17From this page you can control the servers and manage their individual settings. You can also start and stop as well as enable and di
18、sable servers. There is a difference between stopand disabling a server. Stopa server terminates the servers process completely and resultsin a complete shutdown. Disabling a server prevents it from receiving any further requests but doesnt actually shut down the process. In production environments,
19、 its a good practice to dis-able certain servers like the Job Server and Program Job Server prior to stop they can complete the processing of any pending jobs.them so thatThe BO XI servers may be grouped into two tiersthe intelligence tier and the processing tier. The intelligence tier manages secur
20、ity and audit information as well as handles server requests. The intelligence-tier servers are the Central Management Server, the Cache Server, both File Repository servers, and the Event Server. The processing tier consists of those servers that access the database and actually generate reports. T
21、hese consist of the Report Job Server, the Program Job Server, the Web Intelligence Job and Report Servers, the Report Application Server, the Destination Job Server, the List of Values Job Server, the Page Server, and the Connection Server. Essentially, the intelligence-tier servers give the orders
22、 and the processing-tier servers obey them. The relationship of the servers is shown in Figure 2-6.Figure 2-6. BusinessObjects XI servers7591ch02.qxd 8/22/06 3:33 PM Page 1818CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE SERVER D-LINE PARAMETERSIf you open the Central Configuration Manager, right
23、-click a server, and select the Properties option from the pop-up, youll see a dialog that looks like Figure 2-7.Figure 2-7. Server propertiesThe text boxes are all disabled because the server is running. You need to st edits. All servers are Windows Services, and theThemake anyervice."seton-no
24、tebookC$Program FilesBusiness ObjectsB 11.5win32_x86ProgramServer.exe" -service -name se-ns seton-notebook -objectType CrystalEnterprise.-restart -jsTypeDescription "Program Job ServerThe switches that appear after the EXE reference are p and should not be modified except on the instructio
25、ns of t any published documentation for this reason. The onlyou to add is the -trace option. Adding this to theProgram FilesBusiness ObjectsBusinessObjecterprise 11.5Logging directory. Should you wish to sendthe log files elsewhere, use the -loggingPath switch like this:-loggingPath c:tempThese file
26、s contain server activity and debugging information which you can send to technical support to aid them in diagnosing your problem. Each log file contains four columns: the time stamp; the process ID;the thID, which is the ID of the subprocess reporting the information; and the message which describ
27、edwhats happening. The output looks like this:7591ch02.qxd 8/22/063:33 PMPage 19CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE 19Programmatic AccessServer information is stored in the CI_SYSTEMOBJECTS category of the InfoStore. Here, server entries have an SI_KIND value of Server. The basic inform
28、ation about servers can be extracted with a SQL statement that requests the main server properties as shown in Listing 2-1.Listing 2-1. Extracting Basic Server Information/Connect to BO XIszSQL = "SELECT SI_ID, SI_NAME, SI_DESCRIPTION, " + "SI_OWNER, SI_SERVER_ID, SI_SERVER_KIND, &quo
29、t; + "SI_FRIENDLY_NAME, SI_SERVER_NAME, SI_NTSERVICE_NAME, " + "SI_REGISTER_TO_APS, SI_SERVER_DESCRIPTOR " +"FROM CI_SYSTEMOBJECTS " + "WHERE SI_KIND = 'Server' " + "ORDER BY SI_DESCRIPTION"oInfoObjects = oInfoStore.Query(szSQL);TimestampProc
30、essIDThIDMessageFri Jun 02 12:21:59 2006 3228848(backendcmsincludeDatabase Indexers.h:166): trace message: Set property id 3 (SI_NAME) with valueFri Jun 02 12:21:59 2006 3228860trace message: UID=0;USID=0;ID=10662 DoneCallbacks(id=10662,type=42,bef=false,aft=true,clus=false, ucode=1)This sample was
31、taken from a file called CMS_20060602_122140_3228.log. The file name itself has meaning. CMS refers to the process that created the file; 20060602 is the date the file was created, which in this example is June 2, 2006; 122140 refers to the time the file was created expressed as Greenwich Mean Time;
32、 and 3228 is the number of milliseconds past the second when the file was created. This assists in ensuring a unique name for the file.Once your issue is resolved, make sure you remove the -trace switch, especially if you have it set ina production environment, as this will cause performance degrada
33、tion and consume disk space through the continual writing of log files. These log files can build up fast. Each file contains up to a half megabyte of data before creating a backup of itself and starting a new file. After setting the -trace switch on the CMS, logging in, previewing a report, schedul
34、ing the same report to run immediately, and then shutting down the CMS, the following files were created all in a matter of three minutes:FileSizeCMS_20060602_123940_5928.log167KB CMS_20060602_123940_5928_bak3.log492KB CMS_20060602_123940_5928_bak2.log489KB CMS_20060602_123940_5928_bak1.log489KB7591
35、ch02.qxd 8/22/06 3:33 PM Page 2020CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE oDT = new DataTable();oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add(new oDT.Columns.Add
36、(new oDT.Columns.Add(newDataColumn("ID"); DataColumn("Name"); DataColumn("Description"); DataColumn("Owner"); DataColumn("ServerID"); DataColumn("ServerKind"); DataColumn("FriendlyName"); DataColumn("ServerName"); DataCo
37、lumn("NTServiceName"); DataColumn("RegisterToAPS"); DataColumn("ServerDescriptor");foreach (InfoObjectoInfoObject in oInfoObjects)oDR = oDT.NewRow();oDR"ID" =oInfoObject.Properties"SI_ID".ToString(); oDR"Name" =oInfoObject.Properties"S
38、I_NAME".ToString(); oDR"Description" =oInfoObject.Properties"SI_DESCRIPTION".ToString(); oDR"Owner" =oInfoObject.Properties"SI_OWNER".ToString(); oDR"ServerID" =oInfoObject.Properties"SI_SERVER_ID".ToString(); oDR"ServerKind"
39、 =oInfoObject.Properties"SI_SERVER_KIND".ToString(); oDR"FriendlyName" =oInfoObject.Properties"SI_FRIENDLY_NAME".ToString(); oDR"ServerName" =oInfoObject.Properties"SI_SERVER_NAME".ToString(); oDR"NTServiceName" =oInfoObject.Properties"
40、;SI_NTSERVICE_NAME".ToString(); oDR"RegisterToAPS" =oInfoObject.Properties"SI_REGISTER_TO_APS".ToString(); oDR"ServerDescriptor" =oInfoObject.Properties"SI_SERVER_DESCRIPTOR".ToString();oDT.Rows.Add(oDR);This code will produce the DataTable displayed in F
41、igure 2-8.7591ch02.qxd 8/22/063:33 PMPage 21CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE 21Figure 2-8. Basic server informationThe individual InfoObjects could be cast to the Server class in order to obtain the same information from the properties of the class like this:oServer = (Server) oInfoO
42、bject);Console.Write(oServer.FriendlyName ); Console.Write(oServer.ServerName);Each Server object has a ServerGeneralAdmin property that returns a ServerGeneralMetrics object. This object contains information that is common across all servers such as disk space available, CPU information, operating
43、system information, and so on. The downloadable code has a method that will extract all the server informationthe common properties as well as those specific to a given serveras XML. As we examine each server, well look at the classes specific to each one. The data contained by the ServerGeneralMetr
44、ics class is shown by the XML output in Listing 2-2.Listing 2-2. ServerGeneralAdmin Class Properties<CPU>Pentium</CPU><CPUCount>2</CPUCount><CurrentTime>5/17/2006 2:07:08 PM</CurrentTime><StartTime>5/16/2006 10:46:38 PM</StartTime><DiskSpaceAvailabl
45、e>9298358272</DiskSpaceAvailable><DiskSpaceTotal>59954065408</DiskSpaceTotal><Memory>1047764</Memory><OperatingSystem>Windows .NET 5.1</OperatingSystem><Version>13</Version>7591ch02.qxd 8/22/06 3:33 PM Page 2222CHAPTER 2 BUSINESSOBJECT
46、S XI SERVER ARCHITECTURE Because each server is very different, and in ways that are more pronounced than individ-ual property settings, the BO XI object moffers a series of classes to encapsulate the mainproperties. In the following sections, well examine each server individually. Well look at both
47、 how to configure the server through the CMC and how to access it programmatically.Central Management ServerThe aptly named Central Management Server (CMS) is the main server in the BO XI collection. Before the rebranding effort, it was known as the Crystal Management Server, and before that as the
48、Automated Process Scheduler (APS). There are still a few active properties that are named for the old APS designation. One of these APS references is found in the ServerKind property of the Server class. The CMS ServerKind designation of the Central Management Server is still “aps”.The CMS handles c
49、ommunication with the RDBMS tables that store the metadata aboutthe BO XI objects. Anyds issued by the SDK to the servers are communicated via theCMS. The CMS also manages the auditing database, should you choose to use one, as well asall schedule and custom events. File events alone aandled by the
50、Event Server. The CMSmanages security and controls authentication of all users asBecause the Central Management Server is the principal server, it can within the CMC. You must use the Central Configuration Manager. In a productio its a good idea to disable all servers first so they can finish any pe
51、them down, with the CMS being the last tonment,one CMS will shift the workload to the other active onesa feature that allows maintenance without causing downtime.A CMS cluster consists of two or more CMS servers working in tandem. In mission-criticalenvironments, youll likely want to set up a cluste
52、r to handle failover so that if orver fails,the others will assume the workload without any loss of service. You can install multiple Central Management Servers on the same machine, but to establish proper redundancy they should be set up on separate server boxes.When setting up a cluster, you need
53、to make sure that each machine has the same version of BO XI with the same service packs and hot fixes applied to all instances. Also, each CMSserver should use the same databaseand connect to the same database using thesame drivers. Ideally, all servers should have the same amount of memory. If you
54、 are using auditing, it must be enabled for each CMS server, which should then be connected to the same auditing database.The CMS caches objects for efficient retrieval. How many objects it does cache isdetermined by the Windows registry keyumObjectsToKeepInMemory found atHKEY_LOCAL_MACHINESOFTWAREB
55、usiness ObjectsSuite 11.5CMSInstances seton-notebook.cms. The default setting is 10,000, but you can raise this as high as 100,000. The more objects the CMS has in memory, the faster they can be retrieved. Of course, the more memory will be consumed as well. Like many of the server settings, youll n
56、eed to experiment to find the happy medium.7591ch02.qxd 8/22/06 3:33 PM Page 23CHAPTER 2 BUSINESSOBJECTS XI SERVER ARCHITECTURE 23The attributes of the CMS are encapsulated in the CmsAdmin class. Once you instatea server object, you can instate a class that encapsulates its specific attributes by us
57、ing theServerAdmin property as a constructor parameter to the specific server class. ServerAdmin existsto provide an interface to a specific server. The inst here:oCmsAdmin = new CmsAdmin(oServer.ServerAdmin);ation of the CmsAdmin object is shownThe CmsAdmin class handles the properties and methods
58、specific to the CMS. The code to access the properties of this class is shown in Listing 2-3.Listing 2-3. CmsAdmin ClassoCmsAdmin = new CmsAdmin(oServer.ServerAdmin);Console.Write(oCmsAdmin.APSDatabaseName); Console.Write(oCmsAdmin.APSDatabaseUserName); Console.Write(oCmsAdmin.APSDataSourceName); Console.Write(oCmsAdmin.APSPrivateBuildNumber.ToString(); Console.Write(oCmsAdmin.APSPrivateBuildNumber.ToString(); Console.Write(oCmsAdmin.APSProductVersion); Console.Write(oCmsAdmin.PendingJobs.ToString(); Console.Write(oCmsAdmin.RunningJobs.ToString
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑鋼結(jié)構(gòu)安全管理施工防護(hù)安全課件
- 工程結(jié)算88課件
- 建設(shè)工程投標(biāo)人學(xué)習(xí)情境一建設(shè)工程承發(fā)包與招投標(biāo)認(rèn)知課件
- 鋼筋的張拉控制應(yīng)力何玉明課件
- 哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院《建筑環(huán)境交互原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江藝術(shù)職業(yè)學(xué)院《自然保護(hù)地學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 金融行業(yè)財(cái)務(wù)分析的深度與廣度探討
- 齊魯師范學(xué)院《現(xiàn)實(shí)生活中的博弈思維》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南稅務(wù)高等??茖W(xué)校《秦漢史專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 營(yíng)口職業(yè)技術(shù)學(xué)院《信息與編碼》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年01月中國(guó)疾控中心信息中心公開(kāi)招聘1人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 北京市豐臺(tái)區(qū)2024-2025學(xué)年高二上學(xué)期期末英語(yǔ)試題
- 人教版小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)第一單元位置與方向一單元測(cè)試
- 雅禮中學(xué)2024-2025學(xué)年初三創(chuàng)新人才選拔數(shù)學(xué)試題及答案
- 2023年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招(語(yǔ)文)試題庫(kù)含答案解析
- 建設(shè)工程圍擋標(biāo)準(zhǔn)化管理圖集(2022年版)
- 2022新教科版六年級(jí)科學(xué)下冊(cè)全一冊(cè)全部教案(共28節(jié))
- 班主任培訓(xùn)-家校溝通課件
- 河南省縣普通高中學(xué)生學(xué)籍卡片
- 端蓋壓鑄模具設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 道路工程案例分析
評(píng)論
0/150
提交評(píng)論