copyright © 2007 business objects s.a. user auditing using the businessobjects.net sdk dell...

24
COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects .NET SDK Dell Stinnett, ZC Sterling

Upload: theresa-stevens

Post on 13-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.

User Auditing Using the BusinessObjects .NET SDKDell Stinnett, ZC Sterling

Page 2: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

SLIDE 3 COPYRIGHT © 2007 BUSINESS OBJECTS S.A.

AGENDA

1. Introduction

2. User Auditing Issues

3. In Memory Dataset

4. Load Data

5. View Data in Crystal

6. Conclusion

7. Q&A

Page 3: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A. SLIDE 4

INTRODUCTION

Page 4: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 5

ZC SterlingA leading provider of mortgage outsourcing services

Hazard Insurance

Real estate tax servicing

Voluntary products

Customer care

Best Shores

BusinessObjects XI R2Migrated from Seagate Info 7.5 in 2006

Custom programs

Named user licensing

INTRODUCTION

Page 5: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A. SLIDE 6

USER AUDITING ISSUES

Page 6: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 7

Quarterly audit

User AuditGroup users by business line or department

Identify last time a user logged on to InfoView

Send report to department managers for review

Group AuditGroup by user group

Users in a group

Reports to which the group has access

Report AuditSame report title can be in multiple folders

Group by title and then by folder

REQUIREMENTS

Page 7: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 8

Limited access to CMC

No hard-copy reports

No ability to see “big picture”

WHY NOT USE THE CMC?

Page 8: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A. SLIDE 9

IN MEMORY DATASET

Page 9: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 10

IN MEMORY DATASET

Four tables in an ADO.NET dataset

Page 10: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A. SLIDE 11

LOAD DATA

Page 11: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 12

Data comes from two placesCMS

Audit Database

Three types of reportsBy User

By Group

By Report

User data is always loaded.

Report data is only loaded if required.

LOAD DATA

Page 12: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 13

LOAD DATA

Page 13: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 14

string query = "Select SI_NAME, SI_USERFULLNAME, SI_ID " + "From CI_SYSTEMOBJECTS " + "Where SI_KIND='User' and SI_NAME != 'Administrator' " + " and SI_NAME != 'Guest'" + "Order by SI_NAME";

using (InfoObjects users = _common.BOEInfoStore.Query(query)){ User userData = null; try {

for (int i = 1; i <= users.Count; i++) {

using (userData = (User)users[i]) { loadUserInfo(userData); } if ((i % 10) == 0) Application.DoEvents();} //users.count

} finally {

if (userData != null) userData.Dispose();

} getLoginInfo();} //using users

GET USER DATA FROM CMS

Page 14: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 15

private void loadUserInfo(User userData){ AddUserRow(userData.Title, userData.FullName, true);

//get groups user is assigned to query = "Select SI_ID, SI_USERGROUPS " + "from CI_SYSTEMOBJECTS where SI_ID=" + userData.ID.ToString(); using (InfoObjects userInfo = _common.BOEInfoStore.Query(query)) { if (userInfo.Count > 0) AddGroupRow(userInfo[1]); }}

GET USER DATA FROM CMS (continued)

Page 15: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 16

string query = "SELECT DISTINCT AUDIT_EVENT.User_Name, " +"max(AUDIT_EVENT.Start_Timestamp) " +"FROM AUDIT_EVENT " +"WHERE AUDIT_EVENT.Event_Type_ID In (65538)"+"AND AUDIT_EVENT.User_Name Is Not Null " +"GROUP BY AUDIT_EVENT.User_Name";

GET LAST LOGIN FROM AUDIT DATABASE

Query based on “Last Login for All Users” report that comes with the Auditing package.

Page 16: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 17

string query =

"Select SI_ID, SI_NAME, SI_PARENTID, SI_KIND " +

"From CI_INFOOBJECTS " +

"Where SI_KIND in ('CrystalReport','Webi','Excel'," +

"'PDF','Rtf','Txt','Universe','Word') " +

" and SI_INSTANCE_OBJECT<1 " +

"order by SI_NAME, SI_ID";

GET REPORT INFO FROM CMS

Page 17: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 18

using (InfoObject rpt = rpts[i])

{

dsAuditInfo.reportTable.AddreportTableRow(rpt.ID, rpt.Title, rpt.Kind, _common.GetPathFromFolderID(rpt.ParentID));string role;using (SecurityInfo si = rpt.SecurityInfo){ for (int j = 1; j <= si.ObjectPrincipals.Count; j++) { if (si.ObjectPrincipals[j].Role != CeRole.ceRoleNoAccess) { switch (si.ObjectPrincipals[j].Role) { case CeRole.ceRoleAdvanced: role = "Advanced"; break; …

GET REPORT INFO FROM CMS (continued)

Page 18: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A. SLIDE 19

VIEW DATA IN CRYSTAL

Page 19: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 20

Select tables from Project Data\ADO.NET DataSets

Six reportsUsers with Groups

Users with Reports

Users by Group

Reports by Group

Users by Report

Groups by Report

Report Creation

Page 20: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 21

REPORT CREATION

Page 21: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 22

Single form with overloaded constructor.

Pass ADO.NET DataSet as parameter in constructor.

Load report based on selections in GUI.

Report Viewer

Page 22: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

COPYRIGHT © 2007 BUSINESS OBJECTS S.A.SLIDE 23

BOEUserAudit Application - Demo

Page 23: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

SLIDE 24 COPYRIGHT © 2007 BUSINESS OBJECTS S.A.

CONCLUSION

The SDK provides the means to retrieve data for user auditing.

It is not difficult to extract data from the CMS to use in reports.

CMS data can be combined with data from other sources, such as the Auditing database, for reports

“Project Data” in an ADO.NET DataSet can be used as a data source for Crystal reports.

Page 24: COPYRIGHT © 2007 BUSINESS OBJECTS S.A. User Auditing Using the BusinessObjects.NET SDK Dell Stinnett, ZC Sterling

SLIDE 25 COPYRIGHT © 2007 BUSINESS OBJECTS S.A.

Q&A

QuestionsDell Stinnett, Sr. Software Engineer, ZC Sterling

I will repeat questions to ensure everyone can hear

Contact [email protected]

http://www.geocities.com/geekgurl7/ Intro.html