Embedded BI

<Insert Picture Here>
21.5.2013 – BI ‫פורום‬
?‫מה בתוכנית‬
‫ – בוריס דהב‬Embedded BI •
Column Level ,ROW LEVEL SECURITY ,VPD •
‫ – טובית לייבה‬Application Role ,security
‫• הפסקה‬
‫ באקסליבריס – נפתלי ליברמן‬OBIEE •
‫ לימור פלדל‬- Actionable BI •
2
‫עכשיו נעבור לפירסומות‬
‫‪3‬‬
4
<Insert Picture Here>
Embedded Analytics
‫בוריס דהב‬
Oracle
iframes ‫מבוא – רוצים‬
:iframe ‫ בסיסי ובתוכו‬html ‫מה עשיתי? יצרתי קובץ‬
<html>
<body>
<iframe width=1000 height=730
src="http://bdahab-il:9704/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample
Lite%2F_portal%2FMobile&Page=Product
Details&NQUSER=weblogic&NQPASSWORD=weblogic123&syndicate=Siebel"></iframe>
</html>
:‫מסמך התייחסות ראשוני‬
http://obieeil.blogspot.co.il/2012/07/obiee-11-iframe-unexpected-problem.html
6
iframes ‫מבוא – רוצים‬
:iframe ‫ בסיסי ובתוכו‬html ‫מה עשיתי? יצרתי קובץ‬
<html>
<body>
<iframe width=1000 height=730
src="http://bdahab-il:9704/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample
Lite%2F_portal%2FMobile&Page=Product
Details&NQUSER=weblogic&NQPASSWORD=weblogic123&syndicate=Siebel"></iframe>
</html>
?‫מה קיבלתי‬
:‫מסמך התייחסות ראשוני‬
http://obieeil.blogspot.co.il/2012/07/obiee-11-iframe-unexpected-problem.html
7
iframes ‫מבוא – איך לאפשר‬
:instanceconfig.xml‫תיקון ב‬
:‫נמצא ב‬
MWHOME\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1
:Security ‫מוסיפים שורה תחת‬
<Security>
<!--This Configuration setting is managed by Oracle Enterprise Manager Fusion Middleware Control-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
<InIFrameRenderingMode>allow</InIFrameRenderingMode>
</Security>
prohibit
allow
sameDomainOnly
‫ ברירת מחדל‬,‫ אסור‬:‫ערכים אפשריים‬
‫מותר‬
‫רק אם הדף המכיל באותו‬
.allow ‫ עדיף על‬.domain
8
iframes ‫מבוא – איך לאפשר‬
:web.xml‫תיקון ב‬
:‫נמצא ב‬
MWHOME\oracle_BI1\bifoundation\web\app\WEB-INF
MWHOME\oracle_BI1\bifoundation\web\appv2\WEB-INF ‫או‬
:‫מוסיפים‬
•
<context-param>
<param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
<param-value>never</param-value>
</context-param>
:‫ ערכים אפשריים‬.‫ ואזהרות לגביו‬Framebusting ‫מתייחס לנושא של‬
never
‫ללא אזהרות‬
always
‫תמיד מזהיר‬
differentDomain
‫ אחר‬domain-‫ מ‬frame ‫מזהיר רק כשה‬
9
‫מבוא – איך לאפשר ‪iframes‬‬
‫עושיתי ‪ reset‬לשרת‪.‬‬
‫ומה קיבלתי?‬
‫פתרון ניקוי ‪ cache‬בדפדפן‪.‬‬
‫פתרון עדיף‪ ,‬לקנפג את השרת מראש כך‪.‬‬
‫למה זו בעיה מאד רצינית?‬
‫‪10‬‬
?‫ בזול‬URL ‫איך להשיג‬
:‫ נותן את המסלול לדף הנוכחי‬Bookmark Link
http://bdahab-il:9704/analytics/saw.dll?Dashboard
&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart
&Page=Product%20Details
&PageIdentifier=pp523ed1snrnjteh&BookmarkState=vo87qhu2o9rn7cbl13hc5lctnm
:‫ נותן את כל הפרמטרים‬Prompted Link
http://bdahab-il:9704/analytics/saw.dll?Dashboard
&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart
&Page=Product%20Details
&Action=Navigate
&col1=%22More%20Time%20Objects%22.%22Day%20Of%20Year%22
&op1=bet
&val1=%221%22+%22365%22
&psa1=%22Sample%20Sales%20Lite%22
11
‫‪ ,URL‬משמעות הפרמטרים‬
‫• ‪ – COL‬נוסחת העמודה שבפרומפט‪.‬‬
‫בדוגמא שלנו‪"More Time Objects"."Day Of Year“ :‬‬
‫שהפך ל‪:‬‬
‫‪%22More%20Time%20Objects%22.%22Day%20Of%20Year%22‬‬
‫• ‪ – OP‬האופרטור המופעל‪ .‬ראו דף הבא‪.‬‬
‫• ‪ – VAL‬ערך או ערכי הפרמטר‪ .‬במקרה שלנו שני ערכים‪ 1 :‬ו ‪ 365‬שמוצגים כך‪:‬‬
‫‪ , %221%22+%22365%22‬שזה כמובן‪"365"+"1" :‬‬
‫• ‪ .subject Area – PSA‬לא חובה‬
‫• ניתן גם לוותר על ‪ OP‬אם זה שוויון‬
‫‪12‬‬
op ‫ ערכי‬,URL
eq
Equal to or in
=
neq
Not equal to or not in
<>, not in
lt
Less than
<
gt
Greater than
>
ge
Greater than or equal to
>=
le
Less than or equal to.
<=
bwith
Begins with
Begins with
ewith
Ends with
Ends with
cany
Contains any (of the values in &valX)
Contain any
call
Contains all (of the values in &valX)
Contain all
like
You need to type %25 in place of the usual % wildcard.
Like
top
&valX contains 1+n, where n is the number of top items to display.
Top n
bottom
&valX contains 1+n, where n is the number of bottom items to display. Bottom n
bet
Between (&valX must have two values).
Between
null
Is null (&valX must be 0 or omitted)
Is Null
nnul
Is not null (&valX must be 0 or omitted)
Is Not Null
13
‫ דוגמא‬- Prompted LINK
Action=Navigate
&col1=Products.Color
&val1="Armory"+"Clear"
&col2=Periods."Month"
&op2=gt
&val2="05/01/1998%2012:00:00%20AM"
.‫ עם מספור עולה‬col, op, val ‫מתקדם בצירופים של‬
P1- ‫ ושלשות של‬P0 ‫ המתועדת יותר של‬,‫שימוש זה עדיף על השיטה השניה‬
.‫ פרמטרים‬6‫ המוגבלת ל‬...P7 – P5 ,P4
14
PortalPath& GO
:‫ עיקריים‬URL ‫נראה שני סוגי‬
‫ שכבר ראינו‬PortalPath •
http://bdahab-il:9704/analytics/saw.dll?Dashboard
&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart
&Page=Product%20Details
‫ המשמש לגישה לדוחות בודדים‬Go •
http://bdahab-il:9704/analytics/saw.dll?Go&Path=/Shared/Sample Lite/Monthly Trending
15
‫ פרמטרים מעניינים נוספים‬,URL
‫ – שם המשתמש‬NQUSER •
‫ – סיסמת המשתמש‬NQPASSWORD •
)LANG=EN ‫ או‬LANG=IW ( ‫ – שפת הממשק‬LANG •
)Navigate, Export, Print( ‫ – פעולה לביצוע‬ACTION •
)... PDF ,HTML ,XML( ‫ – פורמט תצוגה‬FORMAT •
:‫דוגמאות‬
•
bdahab-il:9704/analytics/saw.dll?Go&Path=/Shared/Sample Lite/Monthly Trending&Action=Extract&Format=PDF
•
http://bdahab-il:9704/analytics/saw.dll?Go&Path=/Shared/Sample%20Lite/Monthly%20Trending&Action=Print
•
http://bdahab-il:9704/analytics/saw.dll?Go&Path=/Shared/Sample%20Lite/Monthly%20Trending&Action=Scroll&P5=1&ViewID=o:go~r:report~v:compoundView!1~v:tableView!1
16
‫ פרמטרים נוספים‬,URL
GO URL ‫ – אלו אופציות תופענה בתחתים‬Optional Report Links •
Modify – m –
Download – d –
Printer Friendly - f –
Refresh - r –
Go&Options=md :‫דוגמא‬
:Integrators Guide ‫לפירוט ראו‬
http://docs.oracle.com/cd/E23943_01/bi.1111/e16364/toc.htm
17
‫איך להסתיר את המסגרת?‬
‫מזה‬
‫‪18‬‬
‫איך להסתיר את המסגרת?‬
‫לזה‬
‫‪19‬‬
?‫איך להסתיר את המסגרת‬
&syndicate=Siebel ‫פרמטר נוסף‬
:‫ שלדעתי פחות טובה‬PortalPages ‫אורקל נוטה לפרסם אופציה חלופית של‬
http://obieeil.blogspot.co.il/2013/03/embeding-obiee-portalpages-vs.html
.‫ חזרה‬login‫ ו‬Logoof ?‫מה עושים תוך כדי פיתוח כשרוצים לחזור למסך מלא‬
! sign out ‫אבל אין‬
:URL‫משתמשים ב‬
http://bdahab-il:9704/analytics/saw.dll?Logoff
20
URL‫ ב‬NQUSER & NQPASSWORD‫האם שימוש ב‬
?‫זה ממש מאובטח‬
‫• חלופות‬
)http://www.oracle.com/technetwork/middleware/bi/bi-11gr1certmatrix-ps6-1928219.xls(
SSO •
.‫ בעיה נסתרת‬.‫ – דוגמא בעמוד הבא‬Form •
.‫ חשוף עם סיסמאות זמניות‬URL •
‫• עוגיות‬
Web Services •
21
Form ‫ באמצעות‬OBI GO URL
<html>
<form action="http://bdahab-il:9704/analytics/saw.dll?" method="post">
<input type="hidden" name="Cmd" value="Answers">
<input type="hidden" name="nqUser" value="weblogic">
<input type="hidden" name="nqPassword" value="weblogic123">
<input type="hidden" name="Path" value="/Shared/Sample Lite/Monthly Trending">
<input type="submit" value=“Monthly Trending">
</form>
</html>
22
Web Services
23
‫מהו ‪? web service‬‬
‫• ‪ Web services‬הם שרותים הניתנים להפעלה מרחוק באמצעות שפה דמויית ‪.XML‬‬
‫• השרות הניתן על ידי כל ‪ web Service‬מתואר על ידי פורמט ‪ XML‬סטנדרטי הנקרא‬
‫‪.(WSDL) Web Services Description Language‬‬
‫• המשתמש שולח בקשות שרות באמצעות ‪)SOAP( Simple Object Access Protocol‬‬
‫• ספק ה‪ Web Service-‬מבצע את השרות ומחזיר תשובה בפורמט ‪.XML‬‬
‫• ספק ה‪ Web Service-‬עשוי לחזור בדרישות‬
‫‪24‬‬
?‫ להציע‬OBIEE‫מה יש ל‬
web services ‫ סוגי‬2 ‫ יש‬11g OBIEE ‫• ב‬
Session Based Web Services –
)Session ID ‫ (באמצעות‬OBIEE ‫ מול‬Session ‫נקראים כך כי מחייבים פתחית‬
Web Services for SOA –
11g ‫חדשים ב‬
‫• גישה באמצעות‬
http://localhost:9704/analytics/saw.dll?WSDL
:Integrators Guide ‫לפירוט ראו‬
http://docs.oracle.com/cd/E23943_01/bi.1111/e16364/toc.htm
25
Session Based Web Services
• SAWSessionService
Login, Logoff, Impersonate, authentication functions
• HtmlViewService
obtain HTML to render BI dashboards/reports
• iBotService
initiate iBots
• MetadataService
Retrieve info on Subject Areas, Tables, Columns
• ReplicationService
Replication between Presentation Catalogues
• ReportEditingService
Add filter and other conditions to BI requests
• SecurityService
Identify BI EE accounts and privileges
• WebCatalogService
Browsing and Managing the Presentation Catalogue
• XMLViewService
Retrieve Oracle BI query results in XML format
26
OBI SOAP API
XML Rendering
Security - SecurityService
Has functions to issue either SQL or XML queries
Data is the returned as ‘vanilla’ XML for custom
formatting.
• FetchNext for large result sets.
Security functions to access and manage:
- Privileges
- Permissions
- ACL’s
- User Groups (Web Catalog)
HTML rendering
Session Management: SAWSessionService
Pages are constructed in sections
• Page objects as logical entities on the Analytics server.
Client renders links to various components.
• Headers – contain the JavaScript includes for page
functionality.
• Report HTML – contains links to content within standard
IFRAME tags.
• Common Body HTML – hidden fields etc to support
interactive functionality.
- Logon/Logoff
- Session tracking and management
- track using either cookies or SessionID’s
- keepAlive method for extended session life
- Impersonation (for Customer facing analysis)
Report Editing - ReportEditingService
•
•
•
•
•
•
•
•
Change report parameters
Retrieve SQL for report. (Returns the logical SQL)
Catalogue management: WebCatalogService
•
Copy/Move catalogue items:
• Filters, Prompts, Reports, Dashboards
Create Links
Read /Set Attributes.
Traverse Catalogue Tree
Write to Catalogue
Execute iBots - iBotService
Metadata Discovery – MetadataService
•
•
•
A single function that takes a path and a sessionID and
executes the nominated job.
List and describe the Subject Areas available to the user
Describe any column:
27
HTMLViewService ‫דוגמא ל‬
28
This is what you can get back using the
HTMLViewService.
• You need a SessionID (from the
SAWSessionService, and a ReportParams object (an
array containing the report path etc.
• Then you can request a Page object and it’s
constituent elements (the Header, the Common Body
HTML and add the report to it)
• When finally assembled and displayed the page is
fully interactive – see the pivot table drop down and
drillable.
:‫דוגמא מקוצרת לחיבור משתמש‬
static private SAWSessionService m_session = new SAWSessionService ();
....
String sessionID = m_session.logon(strUser,strPWD);
29
Web Services for SOA
Web Service Inspection Language - WSIL ‫ משתמש ב‬,‫ קודם‬WSDL‫• להבדיל מ‬
http://localhost:9704/biservices/inspection?wsil
.‫ על בסיס אובייקטים בקטלוג‬web services ‫• מאפשרים לבנות‬
:‫• ישנם כמה צעדי קינפוג נדרשים לשימוש בהם‬
‫ לשימוש בהם‬Credential store ‫– הגדרת‬
ActionFrameworkConfig.xml ‫– שינוי‬
30
‫דוגמת שימוש‬
‫‪31‬‬
1 Web Services for SOA ‫דוגמת קינפוג‬
http://bdahab-il:9704/biservices/inspection?wsil :‫• מנסה להפעיל‬
32
2 Web Services for SOA ‫דוגמת קינפוג‬
‫ של השרת‬EM ‫ב‬
33
3 Web Services for SOA ‫דוגמת קינפוג‬
‫ חדש‬KEY ‫יוצרים‬
oracle.bi.enterprise ‫תחת‬
34
4 Web Services for SOA ‫דוגמת קינפוג‬
35
5 Web Services for SOA ‫דוגמת קינפוג‬
‫צרו קובץ חדש‬
<?xml version="1.0" encoding="UTF-8"?>
<oracle-webservice-clients>
<webservice-client>
<port-info>
<policy-references>
<policy-reference uri="oracle/log_policy" category="management"/>
<policy-reference uri="oracle/wss_username_token_client_policy" category="security"/>
</policy-references>
</port-info>
</webservice-client>
</oracle-webservice-clients>
36
6 Web Services for SOA ‫דוגמת קינפוג‬
ActionFrameworkConfig.xml ‫עדכנו קובץ‬
‫באותו מקום‬
)user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication(
.‫סביר להניח שרק תוסיפו לקיים‬
‫ לשרת‬RESET ‫עשו‬
37
7 Web Services for SOA ‫דוגמת קינפוג‬
38
‫דוגמא מהבית‬
Fusion Applications
39
Accessing BI from Fusion Applications
Integration Points
Casual
User
BI Embedded in
Apps UI
BI Accessed from
Apps UI
New BI Content
Creation
• Application Dashboards
• BI Dashboards
• Embedded Analytics
• Reporting Pane
• Reports & Analytics Work
Area
• Integrated Search
• BI Composer
• Answers, Dashboards
• KPIs & Scorecards
• BI Publisher
Analysts
& IT
40
Accessing BI from Fusion Applications
Integration Points
Casual
User
BI Embedded in
Apps UI
• Application Dashboards
• BI Dashboards
• Embedded Analytics
BI Accessed from
Apps UI
• Reporting Pane
• Reports & Analytics Work
Area
• Integrated Search
New BI Content
Creation
• BI Composer
• Answers, Dashboards
• KPIs & Scorecards
• BI Publisher
Analysts
& IT
41
Application Dashboards
Mash Up of Reports & Portlets
Multiple
tabs
Configurable
• Clicking on action icon will provide user with
contextual action menu
• Contextual action menu allows additional
application actions or navigation to more BI
content
42
BI Dashboards
Embed Multi-Page Dashboards with Full Interactivity
4343
Embedded Analytics in Transaction Pages
Contextual, Relevant, Actionable
44
44
Personalization
Add, Edit, and Remove Reports and Dashboards
• Browse the unified BI Catalog and embed
any report or dashboard with a few clicks
• Framework also supports many other types
of content supporting Fusion Applications
4545
Additional Developer Capabilities
Programmatic Integration of BI Content
•Logical SQL BI View Object: BI as a data source for ADF
• Retrieve BI data into the ADF model via a logical BI SQL
statement
• Bind BI data to an ADF visualization (dozens available)
• BI & Business Process Integration
• Leverage BI metrics in BPEL flow branching points, kick off a BI
agent from BPEL
• Kick off Java programs or BPEL processes from a BI report,
dashboard or programmatically via a BI agent.
4646
Accessing BI from Fusion Applications
Integration Points
Casual
User
BI Embedded in
Apps UI
BI Accessed
from Apps UI
New BI Content
Creation
• Application Dashboards
• BI Dashboards
• Embedded Analytics
• Reporting Pane
• Reports & Analytics Work
Area
• Integrated Search
• BI Composer
• Answers, Dashboards
• KPIs & Scorecards
• BI Publisher
Analysts
& IT
47
Accessing BI from Fusion Applications
Reporting Pane
• One-click access to frequently used reports & dashboards
• Contextually relevant to current Apps work area
• Customer configurable content
4848
Reports and Analytics Work Area
Accessing BI from Fusion Applications
• Browse and view entire BI Catalog
• Access personal & shared reports
• Launch BI tools for advanced actions
• Create new reports with BI
Composer
4949
Search Integration
Find Relevant BI Content When Searching Applications
50
Accessing BI from Fusion Applications
Integration Points
Casual
User
BI Embedded in
Apps UI
BI Accessed from
Apps UI
New BI Content
Creation
• Application Dashboards
• BI Dashboards
• Embedded Analytics
• Reporting Pane
• Reports & Analytics Work
Area
• Integrated Search
• BI Composer
• Answers, Dashboards
• KPIs & Scorecards
• BI Publisher
Analysts
& IT
51
New BI Content Creation
BI Composer
• Author BI reports within the Apps UI
• Wizard-based for ease of use
• Supports tables, graphs, crosstabs,
• Sorting, filtering, formatting
• Access any deployed BI subject area
• Save reports to the catalog & share
with others
5252
Questions
53