SlideShare a Scribd company logo
1 of 24
Download to read offline
UEMB240 - Managing Your
User Profile Data at Scale
Paul Whalley
Session Takeaways
 What is PersOp? Understand the problems that our Personalization
Operations Console solves
 How it works Operational Modes, Server Components and Database
Changes – Deep Dive
 See PersOps in action Walk through common pain points and demonstrate
how to resolve
 Advanced Configuration and Troubleshooting Learn how to optimise for
your environment and discover expert insights
 What is next in the Roadmap See what is planned within the next phase of
Personalization Operations and discuss enhancements with the Product team
What is the Problem?
 Profile management matters, but what happens when you need to make a
change within your environment?
 If IT Persisting the ‘wrong’ settings also leads to poor application performance
and user experience
 Rectifying the above issues prior to v10 was only possible at scale via custom
SQL/Powershell scripting
 Single most requested enhancement by our existing customers
PersOps Overview
 Eradicate the need for custom maintenance/clean-up SQL Scripts
 Reduce TCO and Service Desk calls
 Enable customers to truly manage their Personalization Data at scale
 Provide Role based access and auditing
 Consolidate the Service desk functionality previously provided within the EM
Browser Interface into a single Web Console
Personalization Operations
Console
How it works
Role Based Access
 Database operations are allowed based on the roles configured by the Roles
Administration pages of Persops itself
 In the event of an accidental lockout (for example a database restore), an
executable is provided to allow a user with dbo access to add appropriate roles
to the database. This executable is RolesAdmin.exe within the support
subdirectory
PersOps Single User Mode
Users with the ‘Support Desk’ Role can manage a Single
User's Backups or Current Settings
Perform both "quick" tasks and custom tasks including:
 Deleting all backups for a selected App/WSG group
 Creating new backups for App/WSG group
 Deleting all current settings, registry items, or file and
folder items for App/WSG group
 Restoring the latest backup for the selected App/WSG
group, while also backing up the current settings
 Custom tasks include actions such as manually selecting
and deleting file and folder items from the users current
settings
 For registry keys and values, you can do the following:
 Delete a selected registry key and all subkeys
 Edit data for a selected registry value. Delete a
selected registry values
 All Single User tasks are executed immediately without
using the Bulk Processor
 Monitor Profile Migration progress
PersOps Multi User Mode
Users with the ‘Administrator/Master Administrator’
role can manage Multi User Backups or Current
Settings
 Apply all the functionality of Single User mode to
Multiple Users
 Utilises the Action Scheduler to specify when a Job
should be executed
 Ability to pause, reschedule or terminate running
operations
 Monitor the current Task queue
 Monitor Profile Migration progress
Server Components
Angular JS
Application
REST API (PWCAPI) Bulk Processor
• Consists of web.config,
index.html and dist folder at
the root of Default Website
• Dist folder contains all the
html, javascript, json and css
etc. files
• Hosted in IIS on port 7771
• Acronym PWC = Persops
Web Console
• Web application executing
on IIS server in /PWCAPI
directory
• Written with Web API 2 and
using Entity Framework to
read the database
• Processes Multi User
Operations
• Leverages the
Background Service
Angular JS Application
 A Single Page Web Application written in javascript using AngularJS and
Bootstrap frameworks
 Requires the IIS URL Rewrite module
 web.config configures rewrite rules for site functionality mainly for the api
and personalization server to co-exist with PersOps
 Site uses Windows Authentication and cannot be changed
 Executes completely at the browser end – all IIS does is serve up the static
content
 Communicates with the personalization database via the REST API (PWCAPI)
 Scripts are cached by each browser
 Debugging can be done at the browser end via F12
REST API (PWCAPI)
 Acronym PWC = PersOps Web Console
 Web application executing on IIS server in /PWCAPI directory
 Written with Web API 2 and using Entity Framework to read the database
 Communicates directly with the database (not via EMPS)
 Database reads are executed directly (unlike EMPS which uses
SPROCS). Database writes use SPROCS
 Communicates with Bulk Ops processor (in Background Service) by
adding jobs to job table in database
 Help page available - use /PWCAPI/Help, e.g. localhost:7771/PWCAPI/Help
 Since REST API is documented, no problem for customers to
script against it
 Security is enforced by the API, not the front end
 Can user powershell’s Invoke_RestMethod cmdlet e.g.
$users = invoke-restmethod
http://localhost:7771/PWCAPI/User
-body @{"search" = "g"} -
UseDefaultCredentials
 Above code returns a list of users beginning with “g” to $users
variable
REST API Details
Bulk Processor
 Bulk tasks are executed one at a time, intentional to avoid concurrency issues
 Resuming a paused task will not cause it to immediately execute if the processor is already
working on another job within the queue. The second task must complete before the
processor rescans and picks up the resumed task
 There is no guarantee that a task in WaitingForStartTime state will execute when that time
passes - there may be tasks in front of it executing. We only guarantee it won’t start before
the start time
 If multiple Background Services are connected to the database, only one performs bulk
processing and others are locked out (Similar approach to EMBI)
 The server which ‘grabs’ the Job table first will continue executing until all tasks have
completed
 If the server is shut down or fails, another one will take over automatically
 Task state is saved in the database so operations do not get executed twice
Workflow Example – Multi User
Personalization Operations
Console
Demo
Configuration and
Troubleshooting
 Processing can be disabled by modifying the BulkOps.JobControl single-row table.
 The column BulkOpsEnabled can be set to 0 to stop operations.
 This is a manual operation and would need to be set back to 1 to resume
 Bulk Task state is polled every 5 seconds by the server
 This can be altered "C:Program FilesAppSenseEnvironment ManagerPersonalization
Serverdistappconfigconfig.js”
 Alter value window.bulkTaskPollFrequency = 5000
 Logs to the BackgroundService.log. Switching on logging for EMPS will turn on Background
Service logging also
 Using the SCP to switch on logging will switch logging to the ‘Info’ level. It is possible to get more
detailed logging by manually editing BackgroundService.exe.config and setting log level to
“Debug”
Bulk Processor Logging/Configuration
There are a number of options in the appSettings section of the BackgroundService.exe.config file
which are relevant to bulk operations. These are:
BulkOpsScanTimeSeconds Frequency that bulkops scans the job table looking for work
BulkOpsScopeExpanderBatchSize Number of user ids retrieved per batch in the scope expander phase of job processing
BulkOpsScopeExpanderBatchDelayMs Delay between scope expander batches, milliseconds
BulkOpsBatchSize Number of users processed per batch
BulkOpsBatchDelayMs Delay between batches, milliseconds
BulkOpsMaxConsecutiveErrors Number of consecutive operational errors that cause the job to be terminated. An operational
error is a sql error (after retries). Failing to find any relevant data for a user is not an operational
error here
BulkOpsMaxUserRetryCount Number of times an operation on a user is retried after a sql error. Set to zero to disable retries
BulkOpsUserRetryDelayMs Delay after a sql error before a retry is attempted. Not relevant if BulkOpMaxUserRetryCount is
set to zero
BulkOpsArchiveCreateTimeoutSecs Timeout specifically for archive create queries. Since creating an archive may cause sql server to
autogrow the database, this timeout is configurable. Timeout for all other sql operations is the
default of 30 seconds
Bulk Processor Logging/Configuration
 Writes to the PWC.log in default log location
 Errors are always logged. Enable via SCP for advanced debugging (activity by
clients)
 The REST API has a logging entry point which allows the front end application to
audit errors. Should the front end encounter an error (other than API inaccessible)
it will send an event to the PWC log
 Configuration can be changed by modifying appSettings section in web.config file
 PWC API has only two configurable options in the web.config appSettings section:
 UserSearchListSize Maximum number of entries returned to front end when
searching for users on the start page
 ADSearchListSize Maximum number of users and AD groups returned in the
search for the Role Admin function
PWCAPI Logging/Configuration
Database Updates
 BulkOps.Job tracks any running or pending jobs. When a job has completed or
been cancelled, its entry is removed from the table
 BulkOps.JobEntity a list of user ids left to process for each job
 BulkOps.JobControl contains current server name and global disable flag
 PWC.WebUser list of authorized users of Persops (for Role Admin functions)
 PWC.WebUserGroup associated groups for non-Master Administrators
 dbo.ActionRecord existing table previously used for EMBI and ESST audits, now
used for Persops and ESST audits
 dbo.UserADGroup, dbo.UserUserADGroup tracks user Active Directory group
membership
AD Group Search Functionality
 V10 clients report their user’s AD Group memberships to the PS which
is stored in the database
 This information is used for AD group search in the selection of targets
 On an upgraded database there will be no AD information for existing
users, so AD searches will not work initially
 As legacy clients are upgraded to V10 and users log in, the AD
information is collected
What's next on the
Roadmap?
What’s Next?
 Move Data at Scale between Application and Windows
Personalization Groups.
 Enhanced Auditing and Role Based Access
 Personalization Reporting
 Ability to preview Single/Multi user tasks prior to execution
 Generate detailed reporting to track and monitor Personalization
usage
UEMB240: Managing Your User Profile Data at Scale

More Related Content

What's hot

MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleVince Soliza
 
Mule Esb Data Weave
Mule Esb Data WeaveMule Esb Data Weave
Mule Esb Data WeaveMohammed246
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
mule salesforce
mule salesforcemule salesforce
mule salesforceF K
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with MuleBui Kiet
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and ServletsRaghu nath
 
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...Joel Oleson
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400himajareddys
 
Quartz component in mule demo
Quartz component in mule demoQuartz component in mule demo
Quartz component in mule demoSudha Ch
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892Tuna Tore
 
Sql Server 2008 Enhancements
Sql Server 2008 EnhancementsSql Server 2008 Enhancements
Sql Server 2008 Enhancementskobico10
 
Database component in mule demo
Database component in mule demoDatabase component in mule demo
Database component in mule demoSudha Ch
 
Junit in mule demo
Junit in mule demo Junit in mule demo
Junit in mule demo javeed_mhd
 
Quartz component in mule
Quartz component in muleQuartz component in mule
Quartz component in mulejaveed_mhd
 

What's hot (18)

Mule jdbc
Mule   jdbcMule   jdbc
Mule jdbc
 
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
 
Mule Esb Data Weave
Mule Esb Data WeaveMule Esb Data Weave
Mule Esb Data Weave
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
Mule esb :Data Weave
Mule esb :Data WeaveMule esb :Data Weave
Mule esb :Data Weave
 
mule salesforce
mule salesforcemule salesforce
mule salesforce
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with Mule
 
Jsp and Servlets
Jsp and ServletsJsp and Servlets
Jsp and Servlets
 
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...
SharePoint Upgrade (WSS 2.0 to WSS 3.0 and SPS 2003 to MOSS 2007) by Joel Ole...
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400
 
Quartz component in mule demo
Quartz component in mule demoQuartz component in mule demo
Quartz component in mule demo
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Sql Server 2008 Enhancements
Sql Server 2008 EnhancementsSql Server 2008 Enhancements
Sql Server 2008 Enhancements
 
Database component in mule demo
Database component in mule demoDatabase component in mule demo
Database component in mule demo
 
Junit in mule demo
Junit in mule demo Junit in mule demo
Junit in mule demo
 
Quartz component in mule
Quartz component in muleQuartz component in mule
Quartz component in mule
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
 

Similar to UEMB240: Managing Your User Profile Data at Scale

Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load testduke.kalra
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSUFYAN SATTAR
 
Nintex Workflows 2007 Evaluation
Nintex Workflows 2007 EvaluationNintex Workflows 2007 Evaluation
Nintex Workflows 2007 EvaluationSourav Nayyar
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2jamram82
 
NoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATNoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATHenryBowers
 
Autosys Trainer CV
Autosys Trainer CVAutosys Trainer CV
Autosys Trainer CVDS gupta
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overviewmoin_azeem
 
Informatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerInformatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerZaranTech LLC
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperVinay Kumar
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersTobias Koprowski
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersTobias Koprowski
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016Marcos Freccia
 
Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)Clarence Ngoh
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availabilityPeter Gfader
 
Hybrid test automation frameworks implementation using qtp
Hybrid test automation frameworks implementation using qtpHybrid test automation frameworks implementation using qtp
Hybrid test automation frameworks implementation using qtpabhijob
 
springn batch tutorial
springn batch tutorialspringn batch tutorial
springn batch tutorialJadae
 

Similar to UEMB240: Managing Your User Profile Data at Scale (20)

Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load test
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
 
IBM Business Automation Workflow
IBM Business Automation WorkflowIBM Business Automation Workflow
IBM Business Automation Workflow
 
Nintex Workflows 2007 Evaluation
Nintex Workflows 2007 EvaluationNintex Workflows 2007 Evaluation
Nintex Workflows 2007 Evaluation
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
 
NoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATNoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RAT
 
Autosys Trainer CV
Autosys Trainer CVAutosys Trainer CV
Autosys Trainer CV
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overview
 
Informatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerInformatica Power Center - Workflow Manager
Informatica Power Center - Workflow Manager
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016
 
Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Hybrid test automation frameworks implementation using qtp
Hybrid test automation frameworks implementation using qtpHybrid test automation frameworks implementation using qtp
Hybrid test automation frameworks implementation using qtp
 
springn batch tutorial
springn batch tutorialspringn batch tutorial
springn batch tutorial
 

More from Ivanti

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Patch Tuesday de Abril
Patch Tuesday de AbrilPatch Tuesday de Abril
Patch Tuesday de AbrilIvanti
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Patch Tuesday Italia Aprile
Patch Tuesday Italia AprilePatch Tuesday Italia Aprile
Patch Tuesday Italia AprileIvanti
 
Français Patch Tuesday - Mars
Français Patch Tuesday - MarsFrançais Patch Tuesday - Mars
Français Patch Tuesday - MarsIvanti
 
Patch Tuesday de Marzo
Patch Tuesday de MarzoPatch Tuesday de Marzo
Patch Tuesday de MarzoIvanti
 
Patch Tuesday Italia Marzo
Patch Tuesday Italia MarzoPatch Tuesday Italia Marzo
Patch Tuesday Italia MarzoIvanti
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Patch Tuesday de Febrero
Patch Tuesday de FebreroPatch Tuesday de Febrero
Patch Tuesday de FebreroIvanti
 
2024 Français Patch Tuesday - Février
2024 Français Patch Tuesday - Février2024 Français Patch Tuesday - Février
2024 Français Patch Tuesday - FévrierIvanti
 
Patch Tuesday Italia Febbraio
Patch Tuesday Italia FebbraioPatch Tuesday Italia Febbraio
Patch Tuesday Italia FebbraioIvanti
 
2024 February Patch Tuesday
2024 February Patch Tuesday2024 February Patch Tuesday
2024 February Patch TuesdayIvanti
 
2024 Enero Patch Tuesday
2024 Enero Patch Tuesday2024 Enero Patch Tuesday
2024 Enero Patch TuesdayIvanti
 
2024 Janvier Patch Tuesday
2024 Janvier Patch Tuesday2024 Janvier Patch Tuesday
2024 Janvier Patch TuesdayIvanti
 
2024 Gennaio Patch Tuesday
2024 Gennaio Patch Tuesday2024 Gennaio Patch Tuesday
2024 Gennaio Patch TuesdayIvanti
 
Patch Tuesday de Enero
Patch Tuesday de EneroPatch Tuesday de Enero
Patch Tuesday de EneroIvanti
 
Français Patch Tuesday – Janvier
Français Patch Tuesday – JanvierFrançais Patch Tuesday – Janvier
Français Patch Tuesday – JanvierIvanti
 
2024 January Patch Tuesday
2024 January Patch Tuesday2024 January Patch Tuesday
2024 January Patch TuesdayIvanti
 
Patch Tuesday de Diciembre
Patch Tuesday de DiciembrePatch Tuesday de Diciembre
Patch Tuesday de DiciembreIvanti
 
Français Patch Tuesday – Décembre
Français Patch Tuesday – DécembreFrançais Patch Tuesday – Décembre
Français Patch Tuesday – DécembreIvanti
 

More from Ivanti (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Patch Tuesday de Abril
Patch Tuesday de AbrilPatch Tuesday de Abril
Patch Tuesday de Abril
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Patch Tuesday Italia Aprile
Patch Tuesday Italia AprilePatch Tuesday Italia Aprile
Patch Tuesday Italia Aprile
 
Français Patch Tuesday - Mars
Français Patch Tuesday - MarsFrançais Patch Tuesday - Mars
Français Patch Tuesday - Mars
 
Patch Tuesday de Marzo
Patch Tuesday de MarzoPatch Tuesday de Marzo
Patch Tuesday de Marzo
 
Patch Tuesday Italia Marzo
Patch Tuesday Italia MarzoPatch Tuesday Italia Marzo
Patch Tuesday Italia Marzo
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Patch Tuesday de Febrero
Patch Tuesday de FebreroPatch Tuesday de Febrero
Patch Tuesday de Febrero
 
2024 Français Patch Tuesday - Février
2024 Français Patch Tuesday - Février2024 Français Patch Tuesday - Février
2024 Français Patch Tuesday - Février
 
Patch Tuesday Italia Febbraio
Patch Tuesday Italia FebbraioPatch Tuesday Italia Febbraio
Patch Tuesday Italia Febbraio
 
2024 February Patch Tuesday
2024 February Patch Tuesday2024 February Patch Tuesday
2024 February Patch Tuesday
 
2024 Enero Patch Tuesday
2024 Enero Patch Tuesday2024 Enero Patch Tuesday
2024 Enero Patch Tuesday
 
2024 Janvier Patch Tuesday
2024 Janvier Patch Tuesday2024 Janvier Patch Tuesday
2024 Janvier Patch Tuesday
 
2024 Gennaio Patch Tuesday
2024 Gennaio Patch Tuesday2024 Gennaio Patch Tuesday
2024 Gennaio Patch Tuesday
 
Patch Tuesday de Enero
Patch Tuesday de EneroPatch Tuesday de Enero
Patch Tuesday de Enero
 
Français Patch Tuesday – Janvier
Français Patch Tuesday – JanvierFrançais Patch Tuesday – Janvier
Français Patch Tuesday – Janvier
 
2024 January Patch Tuesday
2024 January Patch Tuesday2024 January Patch Tuesday
2024 January Patch Tuesday
 
Patch Tuesday de Diciembre
Patch Tuesday de DiciembrePatch Tuesday de Diciembre
Patch Tuesday de Diciembre
 
Français Patch Tuesday – Décembre
Français Patch Tuesday – DécembreFrançais Patch Tuesday – Décembre
Français Patch Tuesday – Décembre
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

UEMB240: Managing Your User Profile Data at Scale

  • 1. UEMB240 - Managing Your User Profile Data at Scale Paul Whalley
  • 2. Session Takeaways  What is PersOp? Understand the problems that our Personalization Operations Console solves  How it works Operational Modes, Server Components and Database Changes – Deep Dive  See PersOps in action Walk through common pain points and demonstrate how to resolve  Advanced Configuration and Troubleshooting Learn how to optimise for your environment and discover expert insights  What is next in the Roadmap See what is planned within the next phase of Personalization Operations and discuss enhancements with the Product team
  • 3. What is the Problem?  Profile management matters, but what happens when you need to make a change within your environment?  If IT Persisting the ‘wrong’ settings also leads to poor application performance and user experience  Rectifying the above issues prior to v10 was only possible at scale via custom SQL/Powershell scripting  Single most requested enhancement by our existing customers
  • 4. PersOps Overview  Eradicate the need for custom maintenance/clean-up SQL Scripts  Reduce TCO and Service Desk calls  Enable customers to truly manage their Personalization Data at scale  Provide Role based access and auditing  Consolidate the Service desk functionality previously provided within the EM Browser Interface into a single Web Console
  • 6. Role Based Access  Database operations are allowed based on the roles configured by the Roles Administration pages of Persops itself  In the event of an accidental lockout (for example a database restore), an executable is provided to allow a user with dbo access to add appropriate roles to the database. This executable is RolesAdmin.exe within the support subdirectory
  • 7. PersOps Single User Mode Users with the ‘Support Desk’ Role can manage a Single User's Backups or Current Settings Perform both "quick" tasks and custom tasks including:  Deleting all backups for a selected App/WSG group  Creating new backups for App/WSG group  Deleting all current settings, registry items, or file and folder items for App/WSG group  Restoring the latest backup for the selected App/WSG group, while also backing up the current settings  Custom tasks include actions such as manually selecting and deleting file and folder items from the users current settings  For registry keys and values, you can do the following:  Delete a selected registry key and all subkeys  Edit data for a selected registry value. Delete a selected registry values  All Single User tasks are executed immediately without using the Bulk Processor  Monitor Profile Migration progress
  • 8. PersOps Multi User Mode Users with the ‘Administrator/Master Administrator’ role can manage Multi User Backups or Current Settings  Apply all the functionality of Single User mode to Multiple Users  Utilises the Action Scheduler to specify when a Job should be executed  Ability to pause, reschedule or terminate running operations  Monitor the current Task queue  Monitor Profile Migration progress
  • 9. Server Components Angular JS Application REST API (PWCAPI) Bulk Processor • Consists of web.config, index.html and dist folder at the root of Default Website • Dist folder contains all the html, javascript, json and css etc. files • Hosted in IIS on port 7771 • Acronym PWC = Persops Web Console • Web application executing on IIS server in /PWCAPI directory • Written with Web API 2 and using Entity Framework to read the database • Processes Multi User Operations • Leverages the Background Service
  • 10. Angular JS Application  A Single Page Web Application written in javascript using AngularJS and Bootstrap frameworks  Requires the IIS URL Rewrite module  web.config configures rewrite rules for site functionality mainly for the api and personalization server to co-exist with PersOps  Site uses Windows Authentication and cannot be changed  Executes completely at the browser end – all IIS does is serve up the static content  Communicates with the personalization database via the REST API (PWCAPI)  Scripts are cached by each browser  Debugging can be done at the browser end via F12
  • 11. REST API (PWCAPI)  Acronym PWC = PersOps Web Console  Web application executing on IIS server in /PWCAPI directory  Written with Web API 2 and using Entity Framework to read the database  Communicates directly with the database (not via EMPS)  Database reads are executed directly (unlike EMPS which uses SPROCS). Database writes use SPROCS  Communicates with Bulk Ops processor (in Background Service) by adding jobs to job table in database
  • 12.  Help page available - use /PWCAPI/Help, e.g. localhost:7771/PWCAPI/Help  Since REST API is documented, no problem for customers to script against it  Security is enforced by the API, not the front end  Can user powershell’s Invoke_RestMethod cmdlet e.g. $users = invoke-restmethod http://localhost:7771/PWCAPI/User -body @{"search" = "g"} - UseDefaultCredentials  Above code returns a list of users beginning with “g” to $users variable REST API Details
  • 13. Bulk Processor  Bulk tasks are executed one at a time, intentional to avoid concurrency issues  Resuming a paused task will not cause it to immediately execute if the processor is already working on another job within the queue. The second task must complete before the processor rescans and picks up the resumed task  There is no guarantee that a task in WaitingForStartTime state will execute when that time passes - there may be tasks in front of it executing. We only guarantee it won’t start before the start time  If multiple Background Services are connected to the database, only one performs bulk processing and others are locked out (Similar approach to EMBI)  The server which ‘grabs’ the Job table first will continue executing until all tasks have completed  If the server is shut down or fails, another one will take over automatically  Task state is saved in the database so operations do not get executed twice
  • 14. Workflow Example – Multi User
  • 17.  Processing can be disabled by modifying the BulkOps.JobControl single-row table.  The column BulkOpsEnabled can be set to 0 to stop operations.  This is a manual operation and would need to be set back to 1 to resume  Bulk Task state is polled every 5 seconds by the server  This can be altered "C:Program FilesAppSenseEnvironment ManagerPersonalization Serverdistappconfigconfig.js”  Alter value window.bulkTaskPollFrequency = 5000  Logs to the BackgroundService.log. Switching on logging for EMPS will turn on Background Service logging also  Using the SCP to switch on logging will switch logging to the ‘Info’ level. It is possible to get more detailed logging by manually editing BackgroundService.exe.config and setting log level to “Debug” Bulk Processor Logging/Configuration
  • 18. There are a number of options in the appSettings section of the BackgroundService.exe.config file which are relevant to bulk operations. These are: BulkOpsScanTimeSeconds Frequency that bulkops scans the job table looking for work BulkOpsScopeExpanderBatchSize Number of user ids retrieved per batch in the scope expander phase of job processing BulkOpsScopeExpanderBatchDelayMs Delay between scope expander batches, milliseconds BulkOpsBatchSize Number of users processed per batch BulkOpsBatchDelayMs Delay between batches, milliseconds BulkOpsMaxConsecutiveErrors Number of consecutive operational errors that cause the job to be terminated. An operational error is a sql error (after retries). Failing to find any relevant data for a user is not an operational error here BulkOpsMaxUserRetryCount Number of times an operation on a user is retried after a sql error. Set to zero to disable retries BulkOpsUserRetryDelayMs Delay after a sql error before a retry is attempted. Not relevant if BulkOpMaxUserRetryCount is set to zero BulkOpsArchiveCreateTimeoutSecs Timeout specifically for archive create queries. Since creating an archive may cause sql server to autogrow the database, this timeout is configurable. Timeout for all other sql operations is the default of 30 seconds Bulk Processor Logging/Configuration
  • 19.  Writes to the PWC.log in default log location  Errors are always logged. Enable via SCP for advanced debugging (activity by clients)  The REST API has a logging entry point which allows the front end application to audit errors. Should the front end encounter an error (other than API inaccessible) it will send an event to the PWC log  Configuration can be changed by modifying appSettings section in web.config file  PWC API has only two configurable options in the web.config appSettings section:  UserSearchListSize Maximum number of entries returned to front end when searching for users on the start page  ADSearchListSize Maximum number of users and AD groups returned in the search for the Role Admin function PWCAPI Logging/Configuration
  • 20. Database Updates  BulkOps.Job tracks any running or pending jobs. When a job has completed or been cancelled, its entry is removed from the table  BulkOps.JobEntity a list of user ids left to process for each job  BulkOps.JobControl contains current server name and global disable flag  PWC.WebUser list of authorized users of Persops (for Role Admin functions)  PWC.WebUserGroup associated groups for non-Master Administrators  dbo.ActionRecord existing table previously used for EMBI and ESST audits, now used for Persops and ESST audits  dbo.UserADGroup, dbo.UserUserADGroup tracks user Active Directory group membership
  • 21. AD Group Search Functionality  V10 clients report their user’s AD Group memberships to the PS which is stored in the database  This information is used for AD group search in the selection of targets  On an upgraded database there will be no AD information for existing users, so AD searches will not work initially  As legacy clients are upgraded to V10 and users log in, the AD information is collected
  • 22. What's next on the Roadmap?
  • 23. What’s Next?  Move Data at Scale between Application and Windows Personalization Groups.  Enhanced Auditing and Role Based Access  Personalization Reporting  Ability to preview Single/Multi user tasks prior to execution  Generate detailed reporting to track and monitor Personalization usage