ANA-305 | OPENTEXT ENTERPRISE WORLD 16’
Customizing OpenText Analytics for SaaS Operation
Willie Liao
Team Lead, Analytics and Big Data
Agenda
| OpenText EW’16
Who is Jobvite
Home-grown reporting solution
OpenText Actuate Analytics Project
Challenges & Solution
Next Steps
Who is Jobvite
| OpenText EW’16
• Software as a Service (SaaS) recruiting platform
• ~1600 customers
• ~ 2 Million jobs hosted
• ~ 55 Million application
Before OpenText: .NET Reporting
| OpenText EW’16
• Home-grown reporting solution built in .NET
• Query transactional DB (MSSQL, MySQL, Mongo) directly
• Not scalable
• AWS hosting cost is high
OpenText Analytics Project
| OpenText EW’16
• Project started in 2013
• GA May 2015
• Using Actuate iServer version 11 service pack 4 fix 3
• Run against Redshift data warehouse
• Reporting only solution (Interactive Viewer)
Current Reporting Usage
| OpenText EW’16
• ~500 daily unique users
• ~5,000 monthly unique users
• ~20,000 monthly ad-hoc report generation
• ~30,000 monthly scheduled report delivery
Demo – OpenText Actuate in Jobvite
| OpenText EW’16
Challenge: Data Isolation
| OpenText EW’16
• All Customers data is in a single table
• Some roles should not have access to certain fields
• Ex. Job
job_id company_id job_title job_sent_date
112345 89 Lead Development Representative 2016-06-16 12:35:01
112346 89 Northeast Enterprise Sales Manager 2016-06-16 12:35:15
112347 153 Front-End Developer II 2016-06-16 12:37:05
112348 4105 iOS Mobile App Lead Engineer 2016-06-16 12:37:07
112349 153 Recruiting Coordinator 2016-06-16 12:37:42
112350 153 Manager, Analytics 2016-06-16 12:37:44
job_bonus
2000
Solution: Event Handlers
| OpenText EW’16
• We use custom SQL as Data Set
• SELECT job_id, job_title, job_sent_date, job_bonus FROM job WHERE company_id = ?
• Event Handlers
1. Check logged-in user’s company_id (e.g. 153)
2. Replace ‘?’ with 153
3. Remove job_bonus as logged in user does not have access to ‘Bonus’ field
Challenge: Report Isolation
| OpenText EW’16
• All Customers hitting the same Actuate instance
• All Customers should see a common set of pre-built reports (Library Reports)
• In addition, each user should see:
• Custom Reports she/he created
• Customer Reports other users in the same company shared with her/him
Solution: Custom List Page & IDAPI
| OpenText EW’16
• Custom List Page
• “Library” section list all reports in ”/reports” folder on server which everyone has read access
Solution: Custom List Page & IDAPI
| OpenText EW’16
• Custom List Page
• “Library” section list all reports in ”/reports” folder on server which everyone has read access
• Each company has a separate folder in /Home and “My Report” section list all reports in company folder which user has ACL to.
Challenge: SaaS authentication
| OpenText EW’16
• Customer authenticate through our DB
• We do not use LDAP for SaaS operation
• Role-based security
Solution: Information Delivery API (IDAPI)& Reporting Server Security Extension (RSSE)
| OpenText EW’16
(JV) REPORTING SERVICE
ACTUATE ISERVER
(JV) AUTHENTICATION
SERVICE
RSSE Client
IDAPI Call – Authenticate()
RSSE Calls
Authenticate()
DoesUserExist()
DoesRoleExist()
getUserProperties()
Challenge: Integration with Jobvite GUI
| OpenText EW’16
Solution: JSAPI & iPortal Security Adapter
| OpenText EW’16
BROWSERACTUATE
INFORMATION PORTAL
(JV) AUTHENTICATION
SERVIC
Security Adapter
JSAPI authenticate()
(JV) REST API
Next Steps
| OpenText EW’16
• Looking forward to migrate to latest Information Hub (iHub)
• Looking forward to have self-service report and dashboard
Q&A
| OpenText EW’16
Top Related