Home Page Icon
Home Page
Table of Contents for
I. Introduction to K2 blackpearl and Process-Driven Applications
Close
I. Introduction to K2 blackpearl and Process-Driven Applications
by Mike Talley, Eric Schaffer, Anthony Petro, Chris O'Connor, Colin Murphy, Jas
Professional K2 blackpearl®
Copyright
About the Authors
Credits
Acknowledgments
Introduction
0.1. Who This Book Is For
0.2. What This Book Covers
0.3. How This Book Is Structured
0.4. What You Need to Use This Book
0.5. Other Resources
0.6. Conventions
0.7. Source Code
0.8. Errata
0.9. p2p.wrox.com
I. Introduction to K2 blackpearl and Process-Driven Applications
1. Introduction to BPM and the K2 Platform
1.1. Defining Business Applications and Workflow
1.1.1. A Very Brief History of Business Application Development
1.1.2. Clarifying the Definition of Workflow
1.2. K2 and the K2 Platform
1.2.1. K2 blackpearl: Three Key Features
1.2.2. Anatomy of the K2 Platform
1.3. Process-Driven Applications, Today and Tomorrow
1.4. Summary
1.5. Notes
2. Evolving Workflow and BPM into Process-Driven Applications
2.1. What Is BPM?
2.2. A New Type of Application
2.2.1. Designed and Delivered by IT
2.2.2. Business Collaboration with IT
2.2.3. Business Designed, IT Delivered
2.2.4. Business Empowered by IT
2.3. Approaching Process-Driven Application Design
2.4. Evolving Workflow: Two Scenarios
2.4.1. Scenario 1: SOX Compliance
2.4.2. Scenario 2: Design Review Process and LOB Integration
2.5. Summary
2.6. Notes
3. Designing Process-Driven Applications
3.1. The Typical Enterprise
3.2. Getting into a Process
3.3. Project Management Fundamentals
3.3.1. Methodology and Approaches
3.3.2. Linear vs. Nonlinear Processes
3.3.3. Project Roles
3.3.4. Time Management and Estimation
3.3.5. Set Expectations
3.4. Defining the Business Requirements
3.4.1. Process Questions
3.4.2. People Questions
3.4.3. Entities Questions
3.4.4. Evaluating Potential Processes
3.4.5. User Benefits and Process Considerations
3.4.5.1. Benefits to Users
3.4.5.2. Other Considerations
3.5. Summary
4. Process-Driven Applications and K2 blackpearl
4.1. A Closer Look at Key Benefits of the K2 Platform
4.1.1. Wizards and Templates
4.1.2. SmartObject and SmartObject Services
4.1.3. Collaborative Designers
4.1.4. SharePoint and Office Integration
4.1.5. The Event Bus
4.1.6. Reporting
4.1.7. Extending the Platform and the API
4.1.8. The API
4.2. Measuring Success and Achieving a High ROI
4.2.1. Identifying Key Performance Indicators (KPIs)
4.2.2. Calculating Your Return on Investment (ROI)
4.2.3. The Intangible Benefits
4.3. Orienting the Business to Process Improvement
4.4. Summary
4.5. Notes
II. Architecture and Installation Options for K2 blackpearl
5. Planning an Effective Deployment
5.1. K2 Architecture
5.1.1. Client Components
5.1.1.1. K2 Designer for Visual Studio
5.1.1.2. K2 Designer for Visio and K2 Studio
5.1.2. Server Components
5.1.2.1. K2 Workspace and Web Components
5.1.2.2. K2 for SharePoint
5.1.2.3. K2 Integration with SQL Reporting Services
5.1.3. Architecture of the K2 Platform
5.1.3.1. The Hosted Servers and Services
5.1.3.1.1. Workflow
5.1.3.1.2. Workflow Log
5.1.3.1.3. Workflow Management
5.1.3.1.4. Environment Library
5.1.3.1.5. Management
5.1.3.1.6. Event Bus
5.1.3.1.7. Event Bus Scheduler
5.1.3.1.8. Event Bus Management
5.1.3.1.9. SmartFunction
5.1.3.1.10. SmartObjects
5.1.3.2. Core Servers
5.1.3.2.1. Dependency
5.1.3.2.2. Category
5.1.3.2.3. User Role Manager (URM)
5.1.3.3. Hosted Services
5.1.3.3.1. Discovery
5.1.3.3.2. Dependency
5.1.3.3.3. TCPIOP
5.1.4. Databases: The Heart of K2
5.2. Building Your Deployment Plan
5.3. Choosing a K2 Architectural Template
5.3.1. Small-Scale Architecture
5.3.1.1. Standalone Architecture
5.3.1.2. Basic Small-Scale Architecture
5.3.1.3. Small-Scale Architecture with Performance Enhancement
5.3.2. Medium-Scale Architectures
5.3.2.1. Basic Medium-Scale Architecture
5.3.2.2. Medium-Scale with Focus on Page Rendering
5.3.2.3. Medium-Scale, Full Architecture
5.3.3. Large-Scale Architectures
5.3.3.1. Basic Large-Scale Architecture
5.3.3.2. Large-Scale with Maximum Redundancy Using the Fewest Servers
5.4. Integrating K2 into Your Existing Environment
5.4.1. Active Directory Integration
5.4.1.1. A Complex Active Directory Scenario
5.4.2. DNS
5.4.3. Authorization and Authentication
5.4.4. What Is Kerberos?
5.4.5. The Requirements for Kerberos
5.4.6. Planning Kerberos and K2
5.4.6.1. The Web Services (Run-Time Services)
5.4.6.2. Reporting
5.4.6.3. Other K2 Components
5.4.7. Setting SPNs for Kerberos
5.4.8. Kerberos Checklists
5.4.8.1. Kerberos Delegation Checklist
5.4.8.1.1. Back-End Systems (K2 Server)
5.4.8.1.2. Middle-Tier Systems
5.4.8.1.3. Client Tier
5.4.8.2. Troubleshooting Checklist
5.5. Summary
6. Planning an Effective Development, Testing, and Staging Environment and Strategy
6.1. Methodologies and the Impact on Environments
6.2. Formulating a Strategy
6.3. Common Environment Configurations
6.3.1. Development Environment
6.3.1.1. Isolated Development or Shared Infrastructure
6.3.1.2. Source Control and Version Management
6.3.2. K2 blackpearl Deployment Versioning
6.3.3. Testing Environment
6.3.3.1. Automated Testing
6.3.3.1.1. Creating Your Own Automated Test Scenario — the Problem
6.3.3.1.2. Creating Your Own Automated Test Scenario — the Solution
6.3.3.2. Automated Building
6.3.4. Staging and Production Environments
6.4. Debugging and Monitoring Strategies
6.4.1. Error Reporting from the Workspace
6.4.2. Error Reporting from Inside the Process
6.4.3. Running the Server in Console Mode
6.4.4. Debugging K2 blackpearl Components
6.5. Summary
III. K2 blackpearl Process Planning and Design Essentials
7. Building and Using SmartObjects
7.1. SmartObjects Background
7.2. SmartObject Architecture
7.2.1. The Advantages of SmartObject Architecture
7.2.2. SmartObject Services
7.3. Designing a SmartObject
7.3.1. Creating SmartObjects
7.3.2. Creating Associations
7.3.3. Using SmartBox
7.3.3.1. SmartBox Considerations
7.3.4. Creating Active Directory SmartObjects
7.3.4.1. Creating the GetDetails Method
7.3.4.2. Creating the GetManagerDetails Method
7.3.4.3. Creating the GetUserInGroup Method
7.3.5. Composite SmartObjects and Associations
7.3.6. Taking Advantage of SmartObject Agility
7.3.7. Modifying and Deleting SmartObjects
7.4. Using a SmartObject in a Process
7.4.1. Using a SmartObject Event
7.4.2. Implementing a SmartObject Line Rule
7.4.3. Configuring E-Mail and Destination Rule
7.5. Process-Generated SmartObjects
7.5.1. Workflow SmartObjects
7.5.2. Reporting SmartObjects
7.5.3. Process SmartObject Associations
7.5.4. SmartObject Process References
7.6. Advanced SmartObjects
7.6.1. SmartObjects Are Not Cached
7.6.2. Creating a SmartObject Instance
7.6.3. Inserting with the .NET Data Provider for K2 SmartObjects
7.6.4. Getting a SmartObject Instance(s)
7.6.5. Getting a SmartObject Instance(s) with a Filter
7.6.6. Getting SmartObjects with the .NET Data Provider
7.6.7. Using SmartObjects with Required Method Parameters
7.6.8. Using SmartObject Required Method Parameters with .NET Data Provider
7.6.9. Writing a SmartObject Service
7.6.9.1. GetConfigSection Method
7.6.9.2. DescribeSchema() Method
7.6.9.3. Execute() Method
7.6.9.4. Extend() Method
7.7. Summary
8. Effective Process-Driven Application Planning
8.1. How to Start
8.1.1. Selecting the Process
8.1.2. Drawing It Out
8.1.2.1. Sometimes Paper Is Good
8.1.2.2. The Block Diagram
8.1.2.2.1. Challenges with the Block Diagram
8.1.2.3. The Pawn Diagram
8.1.2.3.1. Why a Human-Centric Diagram Works
8.1.2.4. Basic Process Definitions
8.1.2.4.1. Serial Process Definition
8.1.2.4.2. Parallel Process Definition
8.1.3. Taking the Next Steps
8.2. Process Design Principles
8.2.1. Paths
8.2.1.1. Happy Path
8.2.1.2. Alternate Paths
8.2.2. The "Who"
8.2.2.1. Actors
8.2.2.2. Roles
8.2.2.3. Permissions
8.2.2.4. Delegation
8.2.2.5. Redirection
8.2.3. The "What"
8.2.3.1. Process
8.2.3.2. Activities
8.2.3.3. Events
8.2.3.3.1. Client Events
8.2.3.3.2. Server Events
8.2.3.3.3. IPC Events
8.2.3.4. Process Execution
8.2.3.4.1. Process Instance
8.2.3.4.2. Activity Instance
8.2.3.4.3. Event Instance
8.2.3.5. Actions and Outcomes
8.2.4. The "How"
8.2.4.1. Preceding Rule
8.2.4.2. Start Rule
8.2.4.3. Destination Rule
8.2.4.3.1. Static
8.2.4.3.2. Dynamic
8.2.4.3.3. Advanced Destinations
8.2.4.3.4. Activity Slots
8.2.4.3.5. Common Scenarios
8.2.4.3.6. Scenario #1: First Response Does So for the Group
8.2.4.3.7. Scenario #2: Process Collectively Unless Declined First
8.2.4.3.8. Scenario #3: Merge All Responses Before Proceeding
8.2.4.3.9. Scenario# 4: Merge Similar Responses and Proceed Immediately
8.2.4.3.10. Additional Information about Destinations
8.2.4.4. Escalation Rule
8.2.4.5. Succeeding Rule
8.2.4.6. Line Rules
8.2.5. The "When"
8.2.5.1. Escalations
8.2.5.1.1. Escalation Types
8.2.5.1.2. When to Use Escalations
8.2.5.2. Notifications
8.2.5.3. Working Hours
8.2.5.3.1. Zones
8.2.5.3.2. Special and Exception Dates
8.3. Advanced Process Design
8.3.1. Using the Spider Workflow Approach
8.3.2. Building a Spider Workflow
8.3.3. Watching the Spider in Action (an Example)
8.3.4. Extending the Design
8.4. Summary
9. Creating Your First Workflow
9.1. Getting Started with the K2 Designer for Visual Studio
9.2. Introducing the Visual Studio IDE
9.2.1. K2 Studio Designer Toolbar
9.2.2. K2 Object Browser
9.2.2.1. The Environment Browser
9.2.2.2. The User Browser
9.2.2.3. The Process/Activity Data Browser
9.2.2.4. The Workflow Context Browser
9.2.3. K2 Toolbox Items
9.2.4. K2 Design Canvas
9.3. Implementing the Workflow
9.3.1. Workflow Overview
9.3.2. Adding Roles
9.3.3. Testing with Roles
9.3.4. Adding Data Fields
9.3.5. Adding Activities
9.3.6. Adding Events
9.3.7. Connecting Activities Using Line Rules
9.3.8. Building and Deploying
9.3.9. Setting Process Rights
9.4. Stepping through the Process
9.4.1. Initiating the Workflow
9.4.2. Completing a Workflow Task
9.5. Documenting the Process
9.6. Summary
10. Deploying Your Processes and SmartObjects
10.1. Simple Process Deployment
10.1.1. Quick Deployment
10.1.1.1. Declarative, Not Compiled
10.1.2. Deployment Dependencies
10.1.3. Verifying Deployment
10.1.4. Changing the Process Definition on the Server
10.1.5. SmartObject and Process Projects
10.1.6. Changing the Name of a Process or SmartObject
10.1.7. Deployment Errors
10.2. The Environment Library
10.2.1. Architecture of the Environment Library
10.2.2. Creating Templates, Fields, and Environments
10.2.3. Using Environments
10.2.4. String Tables
10.2.4.1. Using the String Table
10.2.5. Planning Environments and String Tables
10.3. MSBuild Package
10.3.1. Generating a Deployment Package
10.3.2. Deploying a Package
10.3.3. MSBuild File
10.3.3.1. Adding Pre- and Postdeployment Tasks
10.3.3.2. Environments and String Table Dependencies
10.3.3.3. Excluding Items
10.4. Deploying SmartObject Services
10.4.1. Deploying SmartObjects
10.4.2. Deployment through Code
10.5. Summary
11. Working with InfoPath and ASP.NET Forms
11.1. Client Event Forms within K2
11.1.1. InfoPath
11.1.2. ASP.NET
11.1.3. Other Forms Technologies
11.1.3.1. Exchange Forms
11.1.3.2. K2 Forms Generation Client
11.1.3.3. Mobile Forms
11.1.3.4. WinForms
11.1.4. Which Should You Choose?
11.1.4.1. InfoPath Pros
11.1.4.2. InfoPath Cons
11.1.4.2.1. Browser-Based InfoPath Forms
11.1.4.2.2. InfoPath Rich-Client Forms
11.1.4.3. ASP.NET Pros
11.1.4.4. ASP.NET Cons
11.1.5. Criteria Scorecard
11.1.5.1. Which One to Choose?
11.2. Using InfoPath Forms
11.2.1. Background
11.2.2. Creating an InfoPath Process
11.2.2.1. InfoPath Form Integration Details
11.2.2.1.1. InfoPath Form Versioning
11.2.2.2. Changes to InfoPath
11.2.2.3. Changes to the K2 Process
11.2.3. Working with InfoPath Data
11.2.4. Advanced InfoPath XML Considerations
11.2.4.1. File Attachments and Database Sizing
11.2.4.2. Destination Plans
11.2.5. Modifying the Process
11.2.6. Archiving an InfoPath Form
11.2.7. InfoPath and SmartObject Integration
11.2.8. Good Design Considerations
11.2.8.1. Storing Data in InfoPath
11.2.8.2. Structuring InfoPath Data Source
11.2.8.3. Working with Required Fields
11.2.8.4. Multiple Forms in a Process
11.2.8.5. Working with Views
11.2.8.6. Using Browser-Enabled or Client-Based InfoPath Forms
11.2.8.7. Process Mix Mode
11.2.9. InfoPath Process Deployment
11.2.9.1. Planning Sites and Form Libraries
11.2.9.2. Deployment of Data Connections
11.2.9.3. Publishing Promoted Fields
11.2.9.4. Deploying Browser-Enabled Forms with .NET Managed Code
11.2.10. InfoPath Integration Conclusion
11.3. Using ASP.NET Forms
11.3.1. Initiating a Workflow from Code
11.3.2. Customizing a Web Page Created via Forms Generation Client Event
11.3.3. Displaying a Custom Web Page for a Workflow Task Form
11.3.4. Completing an Activity from Code
11.3.5. K2 Server Management from Code
11.3.5.1. Loading a Catalog of Process Definitions
11.3.5.2. Displaying Versions of Process
11.3.6. Viewing Activities for a Process Definition
11.3.6.1. Viewing Processes Currently Running
11.3.6.2. Retrieving Processes Currently Running for a Specific User
11.3.7. Worklist for Current User
11.3.8. Additional Examples
11.4. Summary
12. Working with SharePoint
12.1. An Overview of SharePoint
12.1.1. Sites and Site Collections
12.1.2. Content Types and Site Columns
12.1.3. Lists and Libraries
12.1.4. Solutions and Features
12.1.5. What Are the Differences between WSS and MOSS?
12.1.6. How K2 Integration Works
12.2. Using the K2 Features for SharePoint
12.2.1. About the Approval Process
12.2.2. Building the Process
12.2.3. Starting Workflows Manually
12.2.4. Starting a New Workflow
12.2.5. Beyond the K2 Web Designer for SharePoint
12.3. Using the K2 Worklist Web Part
12.3.1. Deploying the K2 Worklist Web Part
12.3.2. Inserting the K2 Worklist Web Part on a Page
12.4. Using the K2 SmartObjects Feature
12.5. Illustrating Some Example Scenarios
12.5.1. Site Creation and Maintenance
12.5.2. Sending Records to the Records Center
12.5.3. Automatic Process-Based Web Publishing
12.5.4. InfoPath Client or Browser-Based Form to Start and Action Workflows
12.5.5. Business Data Maintenance in SharePoint
12.6. Operational Benefits of SharePoint Integration
12.6.1. Process Versioning
12.6.2. Process Management
12.6.3. Improved Workflow History Reporting
12.6.4. Better Usability and Management of Tasks
12.6.5. Integration of LOB Data
12.7. Summary
12.8. Notes
13. Working with Microsoft Office SharePoint Server
13.1. Using the K2 SharePoint Wizards
13.1.1. Process Wizards
13.1.1.1. The SharePoint Workflow Integration Process Wizard
13.1.1.2. The SharePoint Events Process Wizard
13.1.2. Event Wizards
13.1.2.1. The Administration Event Wizards
13.1.2.1.1. The SharePoint Sites and Workspaces Event Wizard
13.1.2.1.2. The SharePoint Lists and Libraries Event Wizard
13.1.2.1.3. The SharePoint User Management Event Wizard
13.1.2.2. The Content Management Event Wizards
13.1.2.2.1. The SharePoint List Items Event Wizard
13.1.2.2.2. The SharePoint Documents Event Wizard
13.1.2.2.3. The SharePoint Records Management Event Wizard
13.1.2.2.4. The SharePoint Search Event Wizard
13.1.2.2.5. The SharePoint Publishing Event Wizard
13.2. Using K2 SharePoint Integration for Enterprise Scenarios
13.2.1. Using Web Content Management
13.2.1.1. The SharePoint Publishing Features
13.2.1.2. An Example Publishing Scenario: Publishing Press Releases
13.2.2. Using Search Results
13.2.2.1. Enterprise Scenario: Accepted Offers Management
13.2.3. Working with the Records Center
13.2.3.1. Using Records and Holds
13.2.3.2. Enterprise Scenario: Sales Department Expense Control
13.2.4. Using SmartObject Data with the Business Data Catalog (BDC)
13.2.4.1. Integrating SmartObjects with BDC
13.2.4.2. Configuring a K2 BDC Application
13.2.4.3. Enterprise Scenario: Using Customer Information in SharePoint
13.2.4.4. Integrating Business Information with Microsoft Office Applications
13.3. Working with InfoPath Forms
13.4. Summary
13.5. Notes
14. The K2 Designers and Collaborative Process Design
14.1. The Right Tool for the Right Person
14.1.1. Know Your Role
14.1.1.1. Business Analyst
14.1.1.2. Process Designers
14.1.1.3. Developers
14.1.2. Sharing a Process with Other Designers
14.1.2.1. Why This Works
14.1.2.2. Export and Import Capabilities
14.2. Designer Choices
14.2.1. K2 Designer for Visio
14.2.1.1. Audience
14.2.1.2. Using the K2 Designer for Visio
14.2.1.2.1. Importing
14.2.1.2.2. Exporting
14.2.1.3. Collaboration Experience
14.2.1.4. Extensibility
14.2.1.5. When to Use It
14.2.1.6. When Not to Use It
14.2.2. K2 Web Designer for SharePoint
14.2.2.1. Audience
14.2.2.2. Using the K2 Web Designer
14.2.2.2.1. Action Menu
14.2.2.2.2. Templates
14.2.2.2.3. Wizards
14.2.2.2.4. Favorites
14.2.2.2.5. Process Templates
14.2.2.2.6. Users and Groups
14.2.2.3. Collaboration Experience
14.2.2.4. Extensibility
14.2.2.5. When to Use It
14.2.2.6. When Not to Use It
14.2.3. K2 Designer for Visual Studio
14.2.3.1. Audience
14.2.3.2. Using the K2 Designer for Visual Studio
14.2.3.3. Collaboration Experience
14.2.3.4. Extensibility
14.2.3.5. When to Use It
14.2.3.6. When Not to Use It
14.2.4. Future Design Tools
14.2.4.1. K2 Studio
14.2.4.2. K2 Web Designer 2.0
14.3. Working Collaboratively
14.3.1. Example Scenario
14.3.2. Identify Roles and the Plan
14.3.3. Manage to the Project Plan
14.3.4. Source Code Control
14.3.5. Communicate, Communicate, Communicate
14.4. Summary
IV. Administration of K2 blackpearl
15. Server and Component Administration
15.1. Server Architecture
15.2. Workspace Management Console
15.3. General Workflow Server Settings
15.4. License Management
15.5. Environment Library and String Table Management
15.6. Role Management
15.7. Working Hours Management
15.8. Process Instance Management
15.9. Process Version Management
15.10. Process Error Management
15.11. Worklist Administration
15.12. SmartObject Service Management
15.13. Archiving
15.14. Workspace Web Application Management
15.15. Runtime Services Management
15.16. Workspace Application Pool
15.17. Workspace Logging
15.18. Report Administration
15.19. Report Data Source Administration
15.20. K2 SharePoint Component Administration
15.20.1. General K2 SharePoint Settings
15.20.2. K2 SharePoint Feature Management
15.20.2.1. K2 SmartObject Integration
15.20.2.2. K2 Site Administration Integration
15.20.2.3. K2 Workflow Integration ASP.NET Page Content Types
15.20.2.4. K2 Web Designer Integration
15.20.3. K2 BDC Application Management
15.20.4. K2 Tasklist Web Part Management
15.21. The Configuration Manager
15.22. Summary
16. Administering Permissions and Security
16.1. What Is Security?
16.1.1. Integrity
16.1.1.1. Data Integrity
16.1.1.2. Source Integrity
16.1.2. Confidentiality
16.1.3. Availability
16.1.4. Which Tenet of Security Is Most Important?
16.1.5. The Three "A"s
16.1.6. A Very Brief Introduction to Risk Analysis
16.1.7. The Security Policy and Regulatory and Legal Compliance
16.1.7.1. The Security Policy
16.1.7.2. Regulatory and Legal Compliance
16.2. Deploying a Secure K2 blackpearl Installation
16.2.1. Organize, Plan, Test, and Document
16.2.2. Securing the Environment
16.2.2.1. Principal of Least Privilege
16.2.2.2. Reducing the Footprint
16.2.2.3. Separation of Duties
16.2.2.4. Logging
16.2.2.5. Permissions and Privileges
16.2.2.6. Installation Privileges
16.2.2.7. Service Account Privileges
16.2.2.7.1. K2 Service Account
16.2.2.7.2. K2 Workspace Service Account
16.2.2.7.3. SharePoint Service Account
16.2.2.7.4. Reporting Service Accounts
16.2.2.8. Operating System Privileges
16.2.2.9. File and Folder Permissions
16.2.2.10. Registry Permissions
16.2.2.11. SharePoint Permissions
16.2.2.12. SQL Reporting Services Permissions
16.2.2.13. SQL Server Permissions
16.2.2.14. K2 Workspace Permissions
16.2.2.15. K2 Performance Monitoring Permissions
16.2.2.16. MSMQ Permissions
16.2.3. The Discovery Service
16.2.4. Securing K2 blackpearl Communications
16.3. The K2 blackpearl Security Landscape
16.3.1. K2 Security Framework
16.3.1.1. Security Programming and Extensibility
16.3.2. K2 Workspace Permissions
16.3.3. K2 Management Console
16.3.3.1. Server Rights
16.3.3.2. Process Rights
16.3.3.3. Process Action Rights
16.3.3.4. K2 Server Roles
16.3.4. Environment Library Templates Security
16.3.5. SmartObject Security
16.3.6. SmartBox Security
16.3.7. EventBus Security
16.3.8. Programmers and Process Designers
16.3.8.1. The K2 Object Browser
16.3.8.2. Export Permissions
16.3.8.3. Server Debugging
16.4. Secure Development Practices
16.5. Troubleshooting Security Issues
16.5.1. File and Registry Auditing
16.5.2. Log Files
16.5.3. K2 blackpearl Console Mode
16.5.4. Temporarily Add the Service Account to the Administrators Group
16.5.5. Advanced Tools
16.6. Summary
16.7. Notes
17. Administering and Creating Security Providers
17.1. The Active Directory Security Provider
17.1.1. ADUM Settings
17.1.2. Configuring Support for Multiple Domains
17.2. The SQL Security Provider
17.3. The Security Provider API
17.3.1. The Security Provider Object Model
17.3.2. A Pluggable Architecture
17.3.3. IHostableType
17.3.4. It's All About Context
17.3.4.1. The Configuration Manager
17.3.4.2. The Security Manager
17.3.4.3. The Logger
17.3.5. IHostableSecurityProvider
17.3.6. IAuthenticationProvider
17.3.7. IAuthenticationProvider Initialization
17.3.8. Authenticating Users
17.3.9. IRoleProvider
17.3.9.1. Initializing the Role Provider
17.3.9.2. IUser and IUserCollection Interfaces
17.3.9.3. IGroup and IGroupCollection Interfaces
17.3.9.4. Retrieving Users and Groups
17.3.9.5. Searching for Users and Groups
17.3.9.6. Searching for Users
17.3.9.7. Searching for Groups
17.3.9.8. How K2 Workspace Searches a Security Provider
17.3.9.9. Resolving Destination Queues
17.3.10. Remotely Invoking the Security Provider
17.4. Single Sign-On (SSO)
17.5. Building a Custom Security Provider
17.5.1. Where to Start
17.5.2. Code Organization
17.5.3. Installing the Custom Security Provider
17.5.3.1. Staging Provider Dependencies and Configuration
17.5.3.2. Staging Host Server Configuration Settings
17.5.3.3. Installing the Security Provider Library
17.5.3.4. Configuring the Security Provider
17.5.3.5. Debugging the Security Provider
17.5.3.6. Testing the Security Provider
17.6. K2 connect
17.7. Summary
18. Disaster Recovery Planning
18.1. What Is a Disaster Recovery Plan (DRP)?
18.1.1. Setting the Baseline
18.1.2. Pre-Planning/Mitigation Planning
18.1.3. Continuity Planning
18.1.4. Recovery Planning
18.1.5. Testing
18.2. Disaster Recovery and K2 blackpearl
18.2.1. Backup/Restoration of the Windows Server Machines
18.2.2. Database Disaster Recovery Options
18.2.3. Backup/Restoration of the K2 blackpearl Databases
18.2.3.1. The K2 blackpearl Databases
18.2.3.2. Understanding the SQL Server Backup Model
18.2.3.3. Performing a Database Backup Manually
18.2.3.4. Configuring Automatic Backups
18.2.3.5. Restoring a Database
18.2.4. K2 Web Components
18.2.4.1. Restoring K2 Web Components
18.2.5. K2 blackpearl Server(s)
18.2.5.1. Restoring the K2 blackpearl Server Components to a Cold Standby
18.2.5.2. Setting Up the K2 blackpearl Server Components on a Warm or Hot Standby
18.2.5.3. Restoring the K2 blackpearl Server Components to a Warm/Hot Standby
18.2.6. K2 for Reporting Services
18.2.6.1. Restoring the K2 for Reporting Services Components
18.2.7. K2 for SharePoint
18.2.8. Additional Components
18.3. High-Availability Planning
18.4. Summary
19. Logging and System Reporting
19.1. K2 blackpearl Logging
19.1.1. Installation Log File
19.1.2. Logging Framework
19.1.3. Logging Framework Configuration File
19.1.3.1. The appSettings Section
19.1.3.2. The Extensions Section
19.1.3.3. The ApplicationLevelLogSettings Section
19.1.3.4. The Category Section
19.1.3.5. Predefined and Parameterized Messages
19.1.3.6. Logging Messages: Custom Run-Time and Static Predefined Messages
19.1.4. Enabling K2 blackpearl Logging
19.1.5. Running the K2 blackpearl Server in Console Mode
19.1.6. Logging to the K2 blackpearl Server Log File
19.1.7. Viewing the K2 blackpearl Server Log File in Microsoft Excel
19.1.8. Logging to the Windows Event Log
19.1.9. Using the Archive Extension to Log to SQL Server
19.1.10. Using the MSMQ Extension
19.1.11. Extending the Logging Framework
19.1.12. Custom Logging
19.1.13. Kerberos Logging
19.2. K2 blackpearl System Reporting
19.2.1. Performance Monitor Interfaces
19.2.2. Opening the Performance Monitor
19.2.3. Using the Performance Monitor
19.2.3.1. K2 blackpearl-Specific Counters
19.2.3.2. Adding Counters to the Performance Monitor User Interface
19.2.3.3. Creating Charts, Alerts, Logs, and Reports
19.2.3.3.1. Charts
19.2.3.3.2. Alerts
19.2.3.3.3. Logs
19.2.3.3.4. Reports
19.3. Summary
20. Using the K2 Workspace and Reporting
20.1. K2 Workspace Overview
20.1.1. Working with the Worklist
20.1.1.1. Actioning a Worklist Item
20.1.1.1.1. Using Custom Forms
20.1.1.1.2. Using the Worklist Actions Menu
20.1.1.1.3. Using Batch Actions
20.1.1.2. Suspending a Worklist Item
20.1.1.3. Redirecting a Worklist Item
20.1.1.4. Releasing a Worklist Item
20.1.1.5. Delegating a Worklist Item
20.1.1.6. Viewing Process-Related Data
20.1.1.6.1. Data Fields
20.1.1.6.2. View Flow
20.1.2. Finding a Worklist Item
20.1.2.1. Sorting the Worklist
20.1.2.1.1. Searching the Worklist
20.1.2.1.2. Filtering the Worklist
20.1.3. Viewing Managed Users' Worklists
20.2. K2 Reporting
20.2.1. Saved and Published Reports
20.2.2. Standard Reports
20.2.3. Using Reports
20.2.4. Creating New Reports
20.2.5. Working with Reporting Services
20.2.5.1. Exporting K2 Reports to Reporting Services
20.2.5.2. Creating K2 Platform Reports in Visual Studio 2005
20.2.5.3. Importing Reporting Services Reports into K2 Reports
20.3. K2 Event Notifications
20.3.1. Notification Events
20.3.2. Custom Events
20.4. Summary
V. Advanced K2 blackpearl Concepts and Platform Extensions
21. The K2 Event Bus
21.1. Key Features of the Event Bus
21.1.1. Open and Extensible Architecture
21.1.2. Separating Events from Actions
21.1.3. Pluggable Event Systems
21.1.4. Built-In Event Handlers
21.1.5. Pluggable Message Queuing
21.1.6. Independent Policy Management
21.1.7. Conditional Policies
21.1.8. Action Policies
21.1.9. Subscription Model
21.2. Architecture of the K2 Event Bus
21.2.1. Event Bus Data Flow
21.2.2. Event Bus Server
21.2.2.1. Event Recorder
21.2.2.2. Event Bus Engine
21.2.2.3. Event Bus Store
21.2.3. Event Recorder
21.2.3.1. System Event Recorder
21.2.3.2. Generic Client Event Recorder
21.2.4. Event Bus Engine
21.2.4.1. Event Queue
21.2.4.2. Event Store
21.2.4.3. Policy Engine
21.2.4.4. Event Administration
21.3. Exposing Process Information through SmartObjects
21.4. The Event Bus Scheduler
21.5. Event Bus Configuration Settings
21.5.1. SourceCode.EventBus.Server.Config
21.5.2. SourceCode.EventBus.Mapping.dll.config
21.5.3. SourceCode.EventBus.ClientRecorder.dll.config
21.5.4. SourceCode.EventBus.EventAdmin.dll.config
21.6. Troubleshooting the Event Bus
21.7. Walkthrough: Event Bus SMTP Sample
21.8. Summary
21.9. Notes
22. Advanced Topics in K2 blackpearl
22.1. Destination Rules
22.1.1. SmartObjects in Destinations
22.1.2. Using XML Nodes in Destinations
22.1.3. Implications of Activity Plans and Destination Rule Options
22.2. Actions and Outcomes
22.2.1. More Than Auto-Generated Outcomes
22.2.2. Rights on Actions
22.3. Advanced InfoPath
22.3.1. Multiple InfoPath Forms
22.3.2. Split and Merge
22.4. Troubleshooting
22.4.1. Logging
22.4.1.1. Modifying Logging on a K2 Server
22.4.2. Visual Studio Debugging
22.4.3. Error Repair
22.5. Summary
23. Introduction to K2 connect
23.1. K2 connect Architecture
23.1.1. K2 connect and SAP
23.1.2. K2 connect and K2 blackpearl
23.1.3. K2 connect and K2 SmartObjects
23.2. Using the K2 Service Object Designer
23.2.1. K2 Service Object Designer
23.2.2. K2 Service Object Design Canvas
23.3. Creating a Service Object with K2 connect for SAP
23.3.1. Configuring the Service Object Project
23.3.2. Configuring the GetList Service
23.3.3. Deploying the Service Object
23.4. Creating a K2 SmartObject Based on a K2 connect Service Object
23.5. Summary
A. K2 blackpearl Tips and Tricks
A.1. Retrieving the Value from an XML Field Element
A.2. Super Simple Notes Field with History in InfoPath
A.3. Retrieving Process Instance Reporting Data
A.4. Activity Destination Users Based on a Repeating XML Element
A.5. Differences between Stop and Start, and Sleep
A.6. What Does the Client Event Option "Allow Any User to Finish This Client Event" Mean?
A.7. Custom Assembly Versioning within a K2 Process
A.8. Updating Batch Action/Outcome Results Back into InfoPath Form
A.9. Handling Multiple Documents in the K2 blackpearl SharePoint Document Template
A.10. Best Practice — Host Server Connections
A.10.1. Scenario 1: Opening and Closing Multiple Connections
A.10.2. Scenario 2: One Connection Performing Many Operations
A.10.3. Scenario 3: Using Sessions
A.11. Default Outcomes in Escalations
A.12. Adding an IPC Event to a Process from a Different Solution File
A.13. Asynchronous Server Code Events
A.13.1. Making an Event Asynchronous
A.13.2. Completing the Server Event
A.13.3. Example — Using an Asynchronous Server Event
A.13.4. Example Project
A.13.4.1. SmartObject
A.13.4.2. The Subprocess
A.13.4.3. Wait for Cancel
A.13.4.4. Finishing Subprocesses
A.13.4.5. Cancel Parallel Paths
A.14. Dynamic Escalations
A.15. Looping through an Activity for Each SmartObject List Item
A.16. Checking If a SharePoint Site or Workspace Exists When Calling CreateWorkspace() Methods
A.17. Displaying the Name of the Process Instance Originator on Your InfoPath Form
A.18. Changing the Default STMP Server Used by K2 blackpearl
A.19. Obtaining the Serial Number for a Worklist Item in a K2 Process
A.20. Building the URL for a SharePoint Workflow Integration Client Event
A.21. Know Your SmartObjects
A.22. How to Get a List of the Users and Actions Executed for a Given Process Instance
A.23. Determining the Destination Users of an Activity in Process Event Code at Run Time
A.24. Disabling Deployment of Workflow Reporting SmartObjects
A.25. Using a SmartObject to Populate a Destination Set
A.26. Using Mouse Gestures in K2 for Visual Studio to Create Activities and Events
A.27. Using K2 Helper Classes to Get and Set Process and Activity XML Fields
A.28. I Lost My K2 Workflow Visual Studio Project, Help
A.29. Submitting an InfoPath Form Fails with a Generic Error
A.30. Custom Forms and SharePoint Workflow Integrations
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Introduction
Next
Next Chapter
1. Introduction to BPM and the K2 Platform
Part I. Introduction to K2 blackpearl and Process-Driven Applications
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset