De Rigueur - Adding Process to Your Business Analytics Environment Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia., Brisbane, Australia Steve Sparano, SAS Institute Inc., Cary, NC
Agenda Introduction Overview SAS Workflow Studio SAS Batch Processing Custom Developed SAS Portlet Live Demo Behind the scenes Conclusion
SAS Workflow Studio
SAS Workflow Components and Roles Generalized Workflow services for SAS Solutions and Products SAS Workflow Technology Components SAS Workflow Studio SAS Workflow Service SAS Workflow Administrator SAS Middle Tier Services Common Services SAS Workflow Service Notifications Authentication Workflow Repository Content Services Alerts System Administrator Process Designer SAS Workflow Administrator Metadata Scheduling SAS Workflow Studio
SAS Middle Tier Architecture – WF Services SAS Workflow Service SAS Workflow Studio HTTP SAS Workflow is a suite of services in the Web Infrastructure Platform (WIP) Workflow reuses other services including Notifications, Web Services, Scheduling, Content SAS Metadata support Provides flexible integration through web services and SAS Code execution
Typical BPM Personas Process Designer Process Improvement Process Design Process Administrator IT Support/Engineering Workflow Administrator Process Manager Workflow Participant Business areas/End User Report Builder Process Metrics through APIs BI User
Workflow Lifecycle SAS Workflow Studio documents workflow templates in xml format that can be opened from or saved to a local file system Workflow Studio supports persistence and versioning of the workflow templates using SAS Content Services Users can activate the workflow templates (upload the specified version as a formal workflow definition) via the SAS Workflow Services for instantiation by end-user client applications
SAS Workflow Interaction Approaches Example SAS Solution Automated Task Automated Task Final Task Final Task End Manual Task Manual Task Begin Process Begin Process Step 1 Step 1 Step 2 Step 2 Decision SAS Workflow Service 2. Signal-Driven Launch External Event Signal 1. User-Application Launch 3 rd -Party Application 3. Services- Driven Launch
SAS Workflow Studio 1.Process Tree 2.Diagram Editor 3.Menus 4.Toolbars Studio consists of two main content panes and various navigation tools:
SAS Workflow Studio Supports flexible and modular processes - sub-process support - control flow Process modifications and extensions - graphical design with drag and drop - reusable process designs
Report Approval Process Process: ReportApprovalWorkflow Designed for SAS Web Report Studio Reports SAS Workflow Studio Data Objects, Swimlanes Control Flow Customizable within WF Studio
The Portlet – Sample Folder view: In Development Actions: Route for approval Approve report Reject report Approval Task Routing Metadata driven
The Portlet – Sample Dynamic Actions Driven by Process Design Separate from Portlet Design
SAS Batch Processing
Calling the SAS program Report Approval Workflow
Invoke SAS Code Policy
How to “Move” a Report Copy Approved Report Paste Report in ProductionDelete Old Report
Exporting the Report C:\Progra~1\SASHome\SASPlatformObjectFramework\9.3\ExportPackage -profile "SASAdmin" -package "D:\MyDemo\WorkflowPortlet\PromoteReports.spk" -objects " /WorkflowPortlet/Development/Copy of Class Sample Report.srx(Report)" -types Report -log "D:\MyDemo\WorkflowPortlet\batchexport.log C:\Progra~1\SASHome\SASPlatformObjectFramework\9.3\ExportPackage -profile "SASAdmin" -package "D:\MyDemo\WorkflowPortlet\PromoteReports.spk" -objects " /WorkflowPortlet/Development/Copy of Class Sample Report.srx(Report)" -types Report -log "D:\MyDemo\WorkflowPortlet\batchexport.log
Importing the Report C:\Progra~1\SASHome\SASPlatformObjectFramework\9.3\ImportPackage -profile "SASAdmin" –package "D:\MyDemo\WorkflowPortlet\PromoteReports.spk" -target "/WorkflowPortlet/Production" -types Report -log "D:\MyDemo\WorkflowPortlet\batchimport.log" C:\Progra~1\SASHome\SASPlatformObjectFramework\9.3\ImportPackage -profile "SASAdmin" –package "D:\MyDemo\WorkflowPortlet\PromoteReports.spk" -target "/WorkflowPortlet/Production" -types Report -log "D:\MyDemo\WorkflowPortlet\batchimport.log"
Delete Report Metadata
Delete Report Definition
How to “Move” a Report Copy Approved Report Paste Report in ProductionDelete Old Report
Custom-Developed Portlet
Report Approval User Interface In order to demonstrate the report approval process, a Portlet application was written and made available through the SAS® Portal. This application provides the user interface to interact with the underlying SAS Workflow Engine. The Portlet is used for both the report builder (RB) as well as the report approver (RA). Depended on their role in the organization, they can monitor and track the report development until production.
Report Approval User Interface Communicates with SAS Workflow services to register a new workflow instance and perform task actions WorkflowDefinitionService WorkflowTaskService Embedded in SAS Information Delivery Portal Integrates with SAS Metadata
Report Approval Portlet Register ( WorkflowDefinitionService->startWorkflowbyId ) Register ( WorkflowDefinitionService->startWorkflowbyId ) Cancel ( WorkflowTaskService->stop ) Cancel ( WorkflowTaskService->stop ) Perform ( WorkflowTaskService->perform ) Perform ( WorkflowTaskService->perform ) SAS® Workflow Engine Metadata Perform Task Perform Task SAS Batch Promote Report Read User Profile Read Report Folders Task Actions
1. Register a new report
2. Request Approval
3. Report Approval
Live Demo
Conclusion In SAS 9.3, SAS introduced some underlying technologies to help add more structured process management into business analytics as a whole. Leveraging these workflow services enables you to add process management back into the report creation process, and do it in a way that can be automated, rather than falling back to a central group to manage. Workflow services are designed to work within your current organizational dynamics while adding rigor around your decision-making process.
Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia, Steve Sparano, SAS Institute Inc., Cary, NC Q&A