professional k2 blackpearl - startseite€¦ · professional k2 blackpearl® holly anderson jason...
TRANSCRIPT
Professional
K2 blackpearl®
Holly Anderson Jason Apergis
Sergio Del Piccolo Chris Geier
Codi KajiShaun Leisegang
Igor MacoriGabriel Malherbe
Jason MontgomeryColin Murphy
Chris O’ConnorAnthony Petro
Eric ShafferMike Talley
Wiley Publishing, Inc.
ffirs.indd vffirs.indd v 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
ffirs.indd ivffirs.indd iv 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
Professional K2 blackpearl®
Introduction .............................................................................................. xxix
Part I: Introduction to K2 Blackpearl and Process-Driven Applications
Chapter 1: Introduction to BPM and the K2 Platform .......................................3
Chapter 2: Evolving Workflow and BPM into Process-Driven Applications ........13
Chapter 3: Designing Process-Driven Applications .........................................25
Chapter 4: Process-Driven Applications and K2 blackpearl .............................39
Part II: Architecture and Installation Options for K2 blackpearl
Chapter 5: Planning an Effective Deployment .................................................51
Chapter 6: Planning an Effective Development, Testing, and Staging Environment and Strategy ............................................................89
Part III: K2 blackpearl Process Planning and Design Essentials
Chapter 7: Building and Using SmartObjects ...............................................111
Chapter 8: Effective Process-Driven Application Planning .............................193
Chapter 9: Creating Your First Workflow ......................................................247
Chapter 10: Deploying Your Processes and SmartObjects ............................287
Chapter 11: Working with InfoPath and ASP.NET Forms ................................331
Chapter 12: Working with SharePoint ..........................................................433
Chapter 13: Working with Microsoft Office SharePoint Server ......................461
Chapter 14: The K2 Designers and Collaborative Process Design .................493
(continued)
ffirs.indd iffirs.indd i 12/18/08 8:32:06 PM12/18/08 8:32:06 PM
Part IV: Administration of K2 blackpearlChapter 15: Server and Component Administration ......................................525
Chapter 16: Administering Permissions and Security ...................................567
Chapter 17: Administering and Creating Security Providers ..........................609
Chapter 18: Disaster Recovery Planning ......................................................649
Chapter 19: Logging and System Reporting .................................................669
Chapter 20: Using the K2 Workspace and Reporting ....................................701
Part V: Advanced K2 blackpearl Concepts and Platform ExtensionsChapter 21: The K2 Event Bus ....................................................................747
Chapter 22: Advanced Topics in K2 blackpearl ............................................775
Chapter 23: Introduction to k2 connect .......................................................805
Appendix A: K2 blackpearl Tips and Tricks ..................................................823
Index ........................................................................................................ 871
ffirs.indd iiffirs.indd ii 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
Professional
K2 blackpearl®
ffirs.indd iiiffirs.indd iii 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
ffirs.indd ivffirs.indd iv 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
Professional
K2 blackpearl®
Holly Anderson Jason Apergis
Sergio Del Piccolo Chris Geier
Codi KajiShaun Leisegang
Igor MacoriGabriel Malherbe
Jason MontgomeryColin Murphy
Chris O’ConnorAnthony Petro
Eric ShafferMike Talley
Wiley Publishing, Inc.
ffirs.indd vffirs.indd v 12/18/08 8:32:09 PM12/18/08 8:32:09 PM
Professional K2 blackpearl®Published byWiley Publishing, Inc.10475 Crosspoint BoulevardIndianapolis, IN 46256www.wiley.com
Copyright © 2009 by Wiley Publishing, Inc., Indianapolis, IndianaPortions Copyright © 2009 SourceCode Technology Holdings, Inc. Patents pending. All rights reserved.
Published simultaneously in Canada
ISBN: 978-0-470-29305-8
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
Library of Congress Cataloging-in-Publication Data.
Professional K2 Blackpearl / Holly Anderson ... [et al.]. p. cm. Includes bibliographical references and index. ISBN 978-0-470-29305-8 (alk. paper) 1. K2 Blackpearl. 2. Application software—Development—Computer programs. 3. Business— Computer programs. I. Anderson, Holly, 1975- QA76.76.D47P7647 2009 005.365—dc22
2008048458
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. SourceCode, K2, K2 blackpearl, K2 blackpoint, K2 connect, K2.net, the K2 logotype and the four squares logo are trademarks and/or registered trademarks of SourceCode Technology Holdings, Inc. in the United States and other countries. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
ffirs.indd viffirs.indd vi 12/18/08 8:32:10 PM12/18/08 8:32:10 PM
About the Authors Holly Anderson is the product marketing manager for K2. Holly began working with K2 software in 2004 as a technical consultant building complex workflow applications for clients and joined K2 as a technical specialist in 2006. With her technical and marketing background, Holly is able to provide a unique perspective on K2 products for both business and technical audiences. You can reach her at [email protected].
Jason Apergis is a software consultant who has lived in the Washington, DC, area his entire life. Jason currently works for a Microsoft Gold Partner named RDA Corporation as a technical project manager and has worked for various other consulting firms like BearingPoint and AMS. One of Jason’s solutions, which integrated K2, BizTalk, SharePoint, and InfoPath, was nominated as a finalist for a Microsoft solution of the year award in 2006. Jason completed both his undergraduate and graduate degrees in Information Technology from Virginia Tech. Jason plays ice hockey on a weekly basis and is both an avid fan of the Washington Capitals and a Virginia Tech Football fan. Jason dedicates this book to his wife, Catherine, and both his children, Ethan and Caroline.
Sergio Del Piccolo is an experienced business process consultant and a partner at Avantage Partners in Vancouver, Canada. He has led business process integration engagements of all sizes and brings over 10 years of hands-on experience as a technical and business solutions architect. Sergio has acted as a trusted advisor for multiple clients, providing guidance and leadership on successful process-driven and integration solutions. As a well respected consultant within the community, Sergio has achieved a number of accreditations that have further established his expertise, including being a K2 Insider and a Microsoft Virtual Technical Specialist for BizTalk Server. He is an expert on the Microsoft Connected System and K2 platforms. Sergio leads the Partner Integrated Workflow program, focusing on getting organizations to streamline their business processes and helping them gain a competitive edge in today’s global market. You can reach him at [email protected], and you can take a look at his blogs at http://delpiccolo.com and http://avantagepartners.com/team-profiles/sergio-del-piccolo.
Chris Geier evangelizes K2, helps build and nourish the broader K2 community, and coordinates global readiness efforts internally. He’s worked in the technology industry for 14 years — for several companies, including Microsoft — and has focused primarily on infrastructure and security. Chris lives in the suburbs of Chicago with his ever-so-patient wife, Sara, and their three children: Leah-Rose, Carter, and Ella Claire. Chris is a history buff, ashamed to admit he loves reality television, and loves the soon to be world champion Chicago Cubs.
Codi Kaji is a technical writer for K2, where her main responsibility is translating the features and functionality of the K2 platform into things business people can understand, in other words, translating geek to human. With a background of consulting and training on various Microsoft based technologies, she enjoys the challenge of installing and testing the latest products and writing information that helps people get the most out of their K2 experience. Codi and her husband have three cats and enjoy fishing. When she’s not testing the latest build, writing words, or landing a trout, Codi enjoys the soothing craft of knitting. Watch out for the pointy sticks.
Shaun Leisegang is the presales manager for K2 and is responsible for technical presales across Europe. Shaun is responsible for product evangelism, solution design, and specifications as well as for solution consulting. Shaun has vast experience within the Microsoft ecosystem; designing and building .NET-based enterprise and system architectures that include workflow or business process automation as well as consulting and working with the full Microsoft stack of technologies. Shaun is a true stage
ffirs.indd viiffirs.indd vii 12/18/08 8:32:10 PM12/18/08 8:32:10 PM
viii
performer of the IT world: immensely capable, adaptable, confident, an excellent communicator, who is equally comfortable in front of large crowds and intimate groups. Shaun has a passion for both people and technology, which allows him to convey dynamic new products in an infectious way, while at the same time knowing the IT business as a whole in order to speak authoritatively across multiple products and platforms. He began his career as a software developer, moved on to lead a team of application developers, and now runs a presales team where he has found a perfect mix between two of his passions: people and technology.
Igor Macori lives in Bologna, Italy, with his three girls (his partner and his two cats). He is cofounder and Training and Consulting Manager for GreenTeam (www.greenteam.it), an Italian Microsoft Gold Certified Partner founded in 1991. He has managed various IW Solutions projects (SharePoint, LCS/OCS, Project Server, WWF, and others) and completed various solutions implemented for enterprise companies and public sector organizations. He is a regular trainer and speaker for Italian Microsoft courses and events dedicated to partners and customers and has achieved various technical certifications since 1996 (MCP, MCSA, MCSE, MCTS SharePoint, MCAS, MCT, and MOS Master Instructor). In 2008, he received the Microsoft MVP (Most Valuable Professional) Award for Microsoft SharePoint Server — Architecture. He is the owner of one of most visited Italian SharePoint and Collaboration Internet Blogs (www.macori.it). He is co-organizer of the Italian SharePoint Technical Conference (www.sharepointconference.it). He has written 14 books about the Microsoft Office System and Microsoft Windows Vista, and since 2007 has been a K2 Insider.
Gabriel Malherbe is a .NET solutions architect in the Thames Valley, UK. He currently works with the amazing team of K2 professionals at Dynamyx, where they service some multinational clients across Europe in the manufacturing and financial sector. He built his process management experience by codesigning system integration components that are used by airports worldwide. Broadening his horizons, he and his wife, Sharm, moved to the UK where Gabriel has delivered K2 training and seminars since 2004. He is one of the founding members of the K2 Insiders program. He can be contacted at [email protected], and you can follow his K2 dedicated blog at http://nakedprogrammer.blogspot.com.
Jason Montgomery is a principal of Active Technologies Group, Inc. (ATGi — www.atgi.com), an international technology consulting firm based in Columbus, Ohio, working with clients ranging from Fortune 500 companies to government agencies, including the U.S. Department of Defense. His skills cover a broad range of technologies with specializations in information security, Microsoft technologies, Microsoft .NET, and K2 Workflow solutions, as well as Linux and FreeBSD system administration. Currently, Jason serves on the Global Information Assurance Certification (GIAC) Advisory Board as well as on the Global Information Assurance Professional (GSSP) Steering Committee for the .NET Security Certifications for SANS Institute. He additionally holds the CISSP Certification and the GIAC .NET Security (GNET) and GIAC Security Essentials (GSEC) Certifications.
Colin Murphy is a principal architect with RDA Corporation, is a Microsoft Gold Certified Partner, and has been working in the industry for about 12 years. Colin’s areas of specialization are Microsoft Office SharePoint 2007, Smart Clients, and Workflow. Colin has been working with K2.net 2003 since early 2006 on projects for a variety of clients.
Chris O’Connor began programming on a Commodore 64 as an avid 12 year old, entering listings from computer magazines. He has spent the last 15 years or so developing Web sites, Windows applications, and other solutions using Visual Basic, C#, SQL Server, and other products within the Microsoft arena. He is currently employed as a SharePoint solution architect and has implemented many SharePoint Content Management and Document Management Solutions, as well as K2.net 2003 and K2 blackpearl.
About the Authors
ffirs.indd viiiffirs.indd viii 12/18/08 8:32:11 PM12/18/08 8:32:11 PM
ix
He is also a Microsoft Certified Professional and Microsoft Certified Application Developer, and K2 Insider. With so many new products and technologies from Microsoft, it’s hard to keep up; Chris follows with great interest to the happenings of Microsoft and the Web 2.0 community, especially with regard to SharePoint, Silverlight, and “Software+Services.” He updates a blog of SharePoint related articles, other technical bits and pieces, and fun and family at www.grumpywookie.com. To keep up with the K2 community, Chris hosts a K2-related blog, located at www.devk2.net. He is a keen photographer, with his favorite subjects being his wife and two young sons. Spending weekends with family is his favorite pastime, with house renovations, gardening, kids’ activities, and such. He can be contacted at [email protected].
Anthony Petro resides in Silverthorne, Colorado, and is the Technical Product Manager for K2. He started his professional career in the consulting world 14 years ago and has always remained focused on Microsoft technologies and solutions. He joined Microsoft in 2001 and spent the next 5 years heavily immersed in SharePoint Joint Development Programs bridging the gap between the product development teams in Redmond and the enterprise customers around the world. He was a strong contributor to the SharePoint community in its infancy and focused on teaching the masses about the complexities of search and enterprise scale issues and about using products such as K2 to fill the enterprise workflow gaps of SharePoint. He joined K2 in 2006 to help bring K2 blackpearl to market through early adopter programs that spanned the alpha and beta cycles through to RTM. Anthony remains actively involved in early adopter programs for K2 blackpoint and K2 connect, and in planning the future releases of all product lines.
Eric Schaffer has been working with K2 since early 2005 when he helped formalize the K2 North America technical support team. He now spends his time working on new ways to showcase the power of the K2 platform as a presales technical specialist with K2. Eric holds a bachelor’s degree in Computer Science from Washington State University. Prior to joining the K2 family Eric contracted with Microsoft in both the Xbox certification testing department and developer technical support department. Eric lives in Seattle with his wife, Dara, and daughter, Kayla.
Mike Talley joined K2 as a technical writer in February 2007, working on whitepapers, training content, wizard text, and a variety of other things in his time with K2. Prior to K2 he spent 8 years at Microsoft, where at various points he was a programming writer, beta lead, and support professional. While at Microsoft he worked with product teams on supportability issues and wrote about InfoPath, InfoPath Forms Services, SharePoint, and Excel. He currently resides in Highlands Ranch, Colorado, with his wife and two sons. You can reach him at [email protected].
About the Authors
ffirs.indd ixffirs.indd ix 12/18/08 8:32:11 PM12/18/08 8:32:11 PM
ffirs.indd xffirs.indd x 12/18/08 8:32:11 PM12/18/08 8:32:11 PM
Acquisitions EditorKatie Mohr
Senior Development EditorKevin Kent
Development EditorJeff Riley
Production EditorKathleen Wisor
Copy EditorJeri Freedman, Foxxe Editorial Services
Editorial ManagerMary Beth Wakefield
Production ManagerTim Tate
Vice President and Executive Group PublisherRichard Swadley
Vice President and Executive PublisherBarry Pruett
Associate PublisherJim Minatel
Project Coordinator, CoverLynsey Stanford
ProofreaderNancy Carrasco
IndexerJack Lewis
Credits
ffirs.indd xiffirs.indd xi 12/18/08 8:32:12 PM12/18/08 8:32:12 PM
ffirs.indd xiiffirs.indd xii 12/18/08 8:32:12 PM12/18/08 8:32:12 PM
Acknowledgments
K2 and the book’s authors wish to thank everyone who made this publication possible. K2 would like to extend a special thanks to each author who worked so hard on this, and also thanks to the authors’ families for giving them the time to work on this. We also need to send out a special thanks to the following people, without whom this book would not be possible:
Adriaan Van Wyk
Hennie Laubscher
Dennis Parker
Josh Swihart
Katie Mohr
Kevin Kent
Hubert Cheng
Pieter Janson
Johan Van Heerden
Lardus Brooks
Ben Fourie
Koos Du Preez
Wynand du Toit
Jaco Lubbe
Jan Joubert
Michael Erasmus
Leon Geldenhuys
Schalk de Jager
Bob Maggio
Joseph Dunagan
David Loomis
Murray Foxcroft
ffirs.indd xiiiffirs.indd xiii 12/18/08 8:32:12 PM12/18/08 8:32:12 PM
ffirs.indd xivffirs.indd xiv 12/18/08 8:32:12 PM12/18/08 8:32:12 PM
Contents
Introduction xxix
Part I: Introduction to K2 blackpearl and Process-Driven Applications
Chapter 1: Introduction to BPM and the K2 Platform 3
Defining Business Applications and Workflow 4A Very Brief History of Business Application Development 4Clarifying the Definition of Workflow 5
K2 and the K2 Platform 6K2 blackpearl: Three Key Features 6Anatomy of the K2 Platform 7
Process-Driven Applications, Today and Tomorrow 9Summary 10Notes 11
Chapter 2: Evolving Workflow and BPM into Process-Driven Applications 13
What Is BPM? 13A New Type of Application 17
Designed and Delivered by IT 18Business Collaboration with IT 18Business Designed, IT Delivered 19Business Empowered by IT 19
Approaching Process-Driven Application Design 20Evolving Workflow: Two Scenarios 20
Scenario 1: SOX Compliance 21Scenario 2: Design Review Process and LOB Integration 22
Summary 23Notes 23
Chapter 3: Designing Process-Driven Applications 25
The Typical Enterprise 26Getting into a Process 27
ftoc.indd xvftoc.indd xv 12/18/08 8:34:33 PM12/18/08 8:34:33 PM
Contents
xvi
Project Management Fundamentals 29Methodology and Approaches 30Linear vs. Nonlinear Processes 31Project Roles 32Time Management and Estimation 33Set Expectations 34
Defining the Business Requirements 35Process Questions 35People Questions 35Entities Questions 36Evaluating Potential Processes 36User Benefits and Process Considerations 37
Summary 38
Chapter 4: Process-Driven Applications and K2 blackpearl 39
A Closer Look at Key Benefits of the K2 Platform 39Wizards and Templates 40SmartObject and SmartObject Services 40Collaborative Designers 40SharePoint and Office Integration 41The Event Bus 41Reporting 41Extending the Platform and the API 42The API 42
Measuring Success and Achieving a High ROI 42Identifying Key Performance Indicators (KPIs) 42Calculating Your Return on Investment (ROI) 43The Intangible Benefits 45
Orienting the Business to Process Improvement 46Summary 48Notes 48
Part II: Architecture and Installation Options for K2 blackpearl
Chapter 5: Planning an Effective Deployment 51
K2 Architecture 52Client Components 52Server Components 53Architecture of the K2 Platform 55Databases: The Heart of K2 58
ftoc.indd xviftoc.indd xvi 12/18/08 8:34:33 PM12/18/08 8:34:33 PM
Contents
xvii
Building Your Deployment Plan 60Choosing a K2 Architectural Template 64
Small-Scale Architecture 64Medium-Scale Architectures 67Large-Scale Architectures 69
Integrating K2 into Your Existing Environment 72Active Directory Integration 74DNS 75Authorization and Authentication 76What Is Kerberos? 76The Requirements for Kerberos 79Planning Kerberos and K2 81Setting SPNs for Kerberos 83Kerberos Checklists 85
Summary 88
Chapter 6: Planning an Effective Development, Testing, and Staging Environment and Strategy 89
Methodologies and the Impact on Environments 90Formulating a Strategy 91Common Environment Configurations 91
Development Environment 93K2 blackpearl Deployment Versioning 96Testing Environment 97Staging and Production Environments 103
Debugging and Monitoring Strategies 104Error Reporting from the Workspace 104Error Reporting from Inside the Process 106Running the Server in Console Mode 107Debugging K2 blackpearl Components 107
Summary 108
Part III: K2 blackpearl Process Planning and Design Essentials
Chapter 7: Building and Using SmartObjects 111
SmartObjects Background 112SmartObject Architecture 112
The Advantages of SmartObject Architecture 114SmartObject Services 116
ftoc.indd xviiftoc.indd xvii 12/18/08 8:34:33 PM12/18/08 8:34:33 PM
Contents
xviii
Designing a SmartObject 117Creating SmartObjects 118Creating Associations 123Using SmartBox 128Creating Active Directory SmartObjects 131Composite SmartObjects and Associations 144Taking Advantage of SmartObject Agility 146Modifying and Deleting SmartObjects 146
Using a SmartObject in a Process 146Using a SmartObject Event 148Implementing a SmartObject Line Rule 151Configuring E-Mail and Destination Rule 156
Process-Generated SmartObjects 161Workflow SmartObjects 162Reporting SmartObjects 163Process SmartObject Associations 165SmartObject Process References 169
Advanced SmartObjects 172SmartObjects Are Not Cached 172Creating a SmartObject Instance 173Inserting with the .NET Data Provider for K2 SmartObjects 175Getting a SmartObject Instance(s) 178Getting a SmartObject Instance(s) with a Filter 179Getting SmartObjects with the .NET Data Provider 181Using SmartObjects with Required Method Parameters 182Using SmartObject Required Method Parameters with .NET Data Provider 183Writing a SmartObject Service 185
Summary 191
Chapter 8: Effective Process-Driven Application Planning 193
How to Start 194Selecting the Process 194Drawing It Out 195Taking the Next Steps 200
Process Design Principles 200Paths 200The “Who” 202The “What” 206The “How” 226The “When” 239
ftoc.indd xviiiftoc.indd xviii 12/18/08 8:34:33 PM12/18/08 8:34:33 PM
Contents
xix
Advanced Process Design 243Using the Spider Workflow Approach 243Building a Spider Workflow 243Watching the Spider in Action (an Example) 244Extending the Design 245
Summary 245
Chapter 9: Creating Your First Workflow 247
Getting Started with the K2 Designer for Visual Studio 248Introducing the Visual Studio IDE 249
K2 Studio Designer Toolbar 250K2 Object Browser 251K2 Toolbox Items 256K2 Design Canvas 257
Implementing the Workflow 257Workflow Overview 258Adding Roles 259Testing with Roles 261Adding Data Fields 261Adding Activities 262Adding Events 266Connecting Activities Using Line Rules 273Building and Deploying 275Setting Process Rights 276
Stepping through the Process 279Initiating the Workflow 279Completing a Workflow Task 279
Documenting the Process 283Summary 285
Chapter 10: Deploying Your Processes and SmartObjects 287
Simple Process Deployment 288Quick Deployment 288Deployment Dependencies 293Verifying Deployment 293Changing the Process Definition on the Server 295SmartObject and Process Projects 296Changing the Name of a Process or SmartObject 296Deployment Errors 296
ftoc.indd xixftoc.indd xix 12/18/08 8:34:34 PM12/18/08 8:34:34 PM
Contents
xx
The Environment Library 297Architecture of the Environment Library 298Creating Templates, Fields, and Environments 299Using Environments 303String Tables 309Planning Environments and String Tables 311
MSBuild Package 312Generating a Deployment Package 312Deploying a Package 313MSBuild File 314
Deploying SmartObject Services 317Deploying SmartObjects 323Deployment through Code 325
Summary 329
Chapter 11: Working with InfoPath and ASP.NET Forms 331
Client Event Forms within K2 332InfoPath 333ASP.NET 334Other Forms Technologies 334Which Should You Choose? 336Criteria Scorecard 342
Using InfoPath Forms 344Background 345Creating an InfoPath Process 346Working with InfoPath Data 375Advanced InfoPath XML Considerations 377Modifying the Process 379Archiving an InfoPath Form 381InfoPath and SmartObject Integration 385Good Design Considerations 393InfoPath Process Deployment 395InfoPath Integration Conclusion 398
Using ASP.NET Forms 398Initiating a Workflow from Code 399Customizing a Web Page Created via Forms Generation Client Event 404Displaying a Custom Web Page for a Workflow Task Form 407Completing an Activity from Code 412K2 Server Management from Code 414Viewing Activities for a Process Definition 418Worklist for Current User 426Additional Examples 431
Summary 432
ftoc.indd xxftoc.indd xx 12/18/08 8:34:34 PM12/18/08 8:34:34 PM
Contents
xxi
Chapter 12: Working with SharePoint 433
An Overview of SharePoint 434Sites and Site Collections 434Content Types and Site Columns 435Lists and Libraries 436Solutions and Features 436What Are the Differences between WSS and MOSS? 437How K2 Integration Works 440
Using the K2 Features for SharePoint 442About the Approval Process 442Building the Process 443Starting Workflows Manually 449Starting a New Workflow 450Beyond the K2 Web Designer for SharePoint 451
Using the K2 Worklist Web Part 452Deploying the K2 Worklist Web Part 452Inserting the K2 Worklist Web Part on a Page 453
Using the K2 SmartObjects Feature 455Illustrating Some Example Scenarios 456
Site Creation and Maintenance 457Sending Records to the Records Center 457Automatic Process-Based Web Publishing 457InfoPath Client or Browser-Based Form to Start and Action Workflows 457Business Data Maintenance in SharePoint 457
Operational Benefits of SharePoint Integration 458Process Versioning 458Process Management 458Improved Workflow History Reporting 458Better Usability and Management of Tasks 458Integration of LOB Data 459
Summary 459Notes 459
Chapter 13: Working with Microsoft Office SharePoint Server 461
Using the K2 SharePoint Wizards 462Process Wizards 462Event Wizards 465
Using K2 SharePoint Integration for Enterprise Scenarios 474Using Web Content Management 475Using Search Results 477Working with the Records Center 480Using SmartObject Data with the Business Data Catalog (BDC) 483
ftoc.indd xxiftoc.indd xxi 12/18/08 8:34:34 PM12/18/08 8:34:34 PM
Contents
xxii
Working with InfoPath Forms 490Summary 490Notes 491
Chapter 14: The K2 Designers and Collaborative Process Design 493
The Right Tool for the Right Person 493Know Your Role 495Sharing a Process with Other Designers 496
Designer Choices 499K2 Designer for Visio 499K2 Web Designer for SharePoint 504K2 Designer for Visual Studio 513Future Design Tools 516
Working Collaboratively 518Example Scenario 518Identify Roles and the Plan 519Manage to the Project Plan 519Source Code Control 519Communicate, Communicate, Communicate 521
Summary 521
Part IV: Administration of K2 blackpearl
Chapter 15: Server and Component Administration 525
Server Architecture 525Workspace Management Console 528General Workflow Server Settings 528License Management 530Environment Library and String Table Management 532Role Management 536Working Hours Management 538Process Instance Management 540Process Version Management 541Process Error Management 543Worklist Administration 547SmartObject Service Management 548Archiving 549Workspace Web Application Management 550
ftoc.indd xxiiftoc.indd xxii 12/18/08 8:34:34 PM12/18/08 8:34:34 PM
Contents
xxiii
Runtime Services Management 552Workspace Application Pool 553Workspace Logging 553Report Administration 553Report Data Source Administration 556K2 SharePoint Component Administration 558
General K2 SharePoint Settings 559K2 SharePoint Feature Management 559K2 BDC Application Management 562K2 Tasklist Web Part Management 563
The Configuration Manager 564Summary 565
Chapter 16: Administering Permissions and Security 567
What Is Security? 568Integrity 568Confidentiality 569Availability 570Which Tenet of Security Is Most Important? 571The Three “A”s 571A Very Brief Introduction to Risk Analysis 572The Security Policy and Regulatory and Legal Compliance 573
Deploying a Secure K2 blackpearl Installation 575Organize, Plan, Test, and Document 576Securing the Environment 577The Discovery Service 591Securing K2 blackpearl Communications 591
The K2 blackpearl Security Landscape 592K2 Security Framework 592K2 Workspace Permissions 593K2 Management Console 595Environment Library Templates Security 599SmartObject Security 600SmartBox Security 601EventBus Security 603Programmers and Process Designers 603
Secure Development Practices 604Troubleshooting Security Issues 605
File and Registry Auditing 605Log Files 606
ftoc.indd xxiiiftoc.indd xxiii 12/18/08 8:34:35 PM12/18/08 8:34:35 PM
Contents
xxiv
K2 blackpearl Console Mode 606Temporarily Add the Service Account to the Administrators Group 607Advanced Tools 607
Summary 607Notes 608
Chapter 17: Administering and Creating Security Providers 609
The Active Directory Security Provider 610ADUM Settings 610Configuring Support for Multiple Domains 612
The SQL Security Provider 614The Security Provider API 614
The Security Provider Object Model 615A Pluggable Architecture 616IHostableType 618It’s All About Context 619IHostableSecurityProvider 621IAuthenticationProvider 622IAuthenticationProvider Initialization 622Authenticating Users 623IRoleProvider 624Remotely Invoking the Security Provider 637
Single Sign-On (SSO) 639Building a Custom Security Provider 640
Where to Start 640Code Organization 640Installing the Custom Security Provider 642
K2 connect 647Summary 647
Chapter 18: Disaster Recovery Planning 649
What Is a Disaster Recovery Plan (DRP)? 650Setting the Baseline 650Pre-Planning /Mitigation Planning 651Continuity Planning 651Recovery Planning 652Testing 652
Disaster Recovery and K2 blackpearl 652Backup/Restoration of the Windows Server Machines 653Database Disaster Recovery Options 653
ftoc.indd xxivftoc.indd xxiv 12/18/08 8:34:35 PM12/18/08 8:34:35 PM
Contents
xxv
Backup/Restoration of the K2 blackpearl Databases 654K2 Web Components 663K2 blackpearl Server(s) 664K2 for Reporting Services 666K2 for SharePoint 666Additional Components 667
High-Availability Planning 667Summary 668
Chapter 19: Logging and System Reporting 669
K2 blackpearl Logging 670Installation Log File 670Logging Framework 672Logging Framework Configuration File 673Enabling K2 blackpearl Logging 684Running the K2 blackpearl Server in Console Mode 685Logging to the K2 blackpearl Server Log File 687Viewing the K2 blackpearl Server Log File in Microsoft Excel 688Logging to the Windows Event Log 689Using the Archive Extension to Log to SQL Server 690Using the MSMQ Extension 690Extending the Logging Framework 690Custom Logging 690Kerberos Logging 691
K2 blackpearl System Reporting 693Performance Monitor Interfaces 693Opening the Performance Monitor 694Using the Performance Monitor 695
Summary 700
Chapter 20: Using the K2 Workspace and Reporting 701
K2 Workspace Overview 702Working with the Worklist 704Finding a Worklist Item 711Viewing Managed Users’ Worklists 714
K2 Reporting 715Saved and Published Reports 715Standard Reports 716Using Reports 717Creating New Reports 721
ftoc.indd xxvftoc.indd xxv 12/18/08 8:34:35 PM12/18/08 8:34:35 PM
Contents
xxvi
Working with Reporting Services 731K2 Event Notifications 738
Notification Events 738Custom Events 741
Summary 742
Part V: Advanced K2 blackpearl Concepts and Platform Extensions
Chapter 21: The K2 Event Bus 747
Key Features of the Event Bus 748Open and Extensible Architecture 748Separating Events from Actions 748Pluggable Event Systems 748Built-In Event Handlers 748Pluggable Message Queuing 749Independent Policy Management 749Conditional Policies 749Action Policies 750Subscription Model 750
Architecture of the K2 Event Bus 750Event Bus Data Flow 751Event Bus Server 752Event Recorder 753Event Bus Engine 754
Exposing Process Information through SmartObjects 755The Event Bus Scheduler 759Event Bus Configuration Settings 761
SourceCode.EventBus.Server.Config 762SourceCode.EventBus.Mapping.dll.config 763SourceCode.EventBus.ClientRecorder.dll.config 763SourceCode.EventBus.EventAdmin.dll.config 763
Troubleshooting the Event Bus 764Walkthrough: Event Bus SMTP Sample 764Summary 773Notes 773
ftoc.indd xxviftoc.indd xxvi 12/18/08 8:34:35 PM12/18/08 8:34:35 PM
Contents
xxvii
Chapter 22: Advanced Topics in K2 blackpearl 775
Destination Rules 777SmartObjects in Destinations 777Using XML Nodes in Destinations 779Implications of Activity Plans and Destination Rule Options 781
Actions and Outcomes 782More Than Auto-Generated Outcomes 783Rights on Actions 786
Advanced InfoPath 788Multiple InfoPath Forms 788Split and Merge 792
Troubleshooting 793Logging 793Visual Studio Debugging 796Error Repair 798
Summary 802
Chapter 23: Introduction to K2 connect 805
K2 connect Architecture 806K2 connect and SAP 806K2 connect and K2 blackpearl 806K2 connect and K2 SmartObjects 807
Using the K2 Service Object Designer 808K2 Service Object Designer 809K2 Service Object Design Canvas 810
Creating a Service Object with K2 connect for SAP 811Configuring the Service Object Project 811Configuring the GetList Service 812Deploying the Service Object 817
Creating a K2 SmartObject Based on a K2 connect Service Object 818Summary 822
Appendix A: K2 blackpearl Tips and Tricks 823
Index 871
ftoc.indd xxviiftoc.indd xxvii 12/18/08 8:34:35 PM12/18/08 8:34:35 PM
flast.indd xxviiiflast.indd xxviii 12/18/08 2:07:27 PM12/18/08 2:07:27 PM