Developing Applications with IBM FileNet P8 APIs

Book description

This IBM® Redbooks® publication can help you develop content and process management applications with IBM FileNet® APIs. The IBM FileNet P8 suite of products contains a set of robust APIs that range from core platform APIs to supporting application APIs. This book focuses specifically on Content Engine and Process Engine APIs.

Content Engine API topics that we discuss include creating, retrieving, updating, and deleting objects; querying and viewing documents; and batching and batch execution. We also explore more complex topics, including permissions and authorization, versioning, relationships, annotations, workflow subscriptions and event actions, metadata discovery, and dynamic security inheritance.

Process Engine API topics that we discuss include launching a workflow, searching for and processing work items, and working with process status. The more complex topics we cover include, Component Integrator application space, role, workbasket, resource navigation in Process Engine REST API, ECM Widgets, and building a custom Get Next In-basket widget.

To help you better understand programming with IBM FileNet APIs, we provide a sample application implemented for a fictional company. We include the data model, security model, workflows, and various applications developed for the sample. You can download them for your reference.

This book is intended for IBM FileNet P8 application developers. We recommend using this book in conjunction with the online ECM help.

Table of contents

  1. Front cover
  2. Figures
  3. Notices
    1. Trademarks
  4. Preface
    1. The team who wrote this book
    2. Become a published author
    3. Comments welcome
  5. Chapter 1. Platform and API overview
    1. 1.1 Platform overview
    2. 1.2 IBM FileNet API overview
      1. 1.2.1 Content Engine APIs
      2. 1.2.2 Process Engine APIs
      3. 1.2.3 Records Manager Java API
      4. 1.2.4 The eForms APIs
      5. 1.2.5 Capture APIs
      6. 1.2.6 Image Services Resource Adapter
    3. 1.3 Communication between applications
  6. Chapter 2. Setting up development environments
    1. 2.1 Content Engine Java development setup
      1. 2.1.1 Required libraries
      2. 2.1.2 Transport protocols
      3. 2.1.3 Thick client versus thin client requirements
      4. 2.1.4 Sample Content Engine Java API application setup in Eclipse
    2. 2.2 Process Engine Java development setup
      1. 2.2.1 Required libraries
    3. 2.3 .NET environment setup for CE and PE
      1. 2.3.1 Prerequisites
      2. 2.3.2 Running the sample application supplied by IBM
      3. 2.3.3 Configuring VisualStudio.NET 2005
    4. 2.4 PE REST API sample code development setup
    5. 2.5 ECM Widgets development setup
  7. Chapter 3. Introduction to Content Engine API programming
    1. 3.1 Content Engine API class overview
      1. 3.1.1 Content Engine API class model
    2. 3.2 Making the initial connection
      1. 3.2.1 User authentication
      2. 3.2.2 Java
      3. 3.2.3 .NET
    3. 3.3 Exception handling
    4. 3.4 Creating, retrieving, updating, and deleting objects
      1. 3.4.1 Pending actions
      2. 3.4.2 Creating objects
      3. 3.4.3 Working with properties
      4. 3.4.4 Retrieving objects
      5. 3.4.5 Deleting objects
      6. 3.4.6 Retrieving content
      7. 3.4.7 Working with property filters
    5. 3.5 getInstance() versus fetchInstance()
    6. 3.6 Querying
      1. 3.6.1 SearchSQL
      2. 3.6.2 Search scope
      3. 3.6.3 Content searches
      4. 3.6.4 Paging support
    7. 3.7 Viewing documents
      1. 3.7.1 User tokens
    8. 3.8 Batching and batch execution
  8. Chapter 4. Advanced Content Engine API programming
    1. 4.1 Permissions and authorization
    2. 4.2 Versioning
    3. 4.3 Relationships
      1. 4.3.1 Object-valued properties
      2. 4.3.2 Filing in a folder
      3. 4.3.3 Compound documents
    4. 4.4 Annotations
    5. 4.5 Subscriptions and event actions
    6. 4.6 Workflow subscriptions and workflow event actions
    7. 4.7 Metadata discovery
    8. 4.8 Dynamic security inheritance
  9. Chapter 5. Introduction to Process Engine API programming
    1. 5.1 Process Engine API overview
      1. 5.1.1 Functional groups
      2. 5.1.2 Available API functionality
      3. 5.1.3 Naming conventions
      4. 5.1.4 Core classes
      5. 5.1.5 Functional relationship
    2. 5.2 Establishing a Process Engine session
      1. 5.2.1 Java API scenario
      2. 5.2.2 PEWS API scenario
      3. 5.2.3 REST API scenario
    3. 5.3 Handling API exceptions
      1. 5.3.1 VWException object
      2. 5.3.2 Steps to handle an exception
    4. 5.4 Launching a workflow
      1. 5.4.1 REST API scenario
    5. 5.5 Search work items
      1. 5.5.1 Query a roster
      2. 5.5.2 Workflow queues
      3. 5.5.3 Query event log
    6. 5.6 Process work items
      1. 5.6.1 Retrieve step element
      2. 5.6.2 Get step element parameters
      3. 5.6.3 Set step element parameter values
      4. 5.6.4 Complete work items
    7. 5.7 Work with process status
      1. 5.7.1 Retrieve process history
      2. 5.7.2 Retrieve process milestones
  10. Chapter 6. Advanced Process Engine API programming
    1. 6.1 Component Integrator
      1. 6.1.1 CE_Operations component
      2. 6.1.2 Implementing a custom Java component
    2. 6.2 Application space, role, and workbasket
      1. 6.2.1 Retrieve role list
      2. 6.2.2 Retrieve role description and attributes
      3. 6.2.3 Retrieve workbasket
      4. 6.2.4 Query work items from workBasket
    3. 6.3 Resource navigation in Process Engine REST API
    4. 6.4 ECM Widgets overview
      1. 6.4.1 ECM Widgets concepts
      2. 6.4.2 ECM Widgets system architecture
    5. 6.5 Building a custom Get Next In-basket widget
      1. 6.5.1 Use case for the Get Next widget
      2. 6.5.2 Setup development environment
      3. 6.5.3 Code structure of the Get Next widget
      4. 6.5.4 Defining the Get Next widget
      5. 6.5.5 Code skeleton for GetNext.js
      6. 6.5.6 Rendering the Get Next widget user interface
      7. 6.5.7 Invoking PE REST service to fetch queue element
      8. 6.5.8 Invoking PE REST service to fetch role and In-basket list
      9. 6.5.9 Deploying the widget
      10. 6.5.10 Building the solution
  11. Chapter 7. Sample applications for Fictional Auto Rental Company A
    1. 7.1 Introduction to sample applications
    2. 7.2 Business use cases
    3. 7.3 User view of the sample applications
      1. 7.3.1 User view: Reservation Web application
      2. 7.3.2 User view: Kiosk application
      3. 7.3.3 User view: Agent handheld application
      4. 7.3.4 User view: Fleet Status Manager Web application
      5. 7.3.5 User view: Billing Report application
    4. 7.4 Data model
      1. 7.4.1 Base classes
      2. 7.4.2 ITSOVechicle
      3. 7.4.3 ITSOPhotoGallery
      4. 7.4.4 ITSOThumbnail
      5. 7.4.5 ITSOVehicleActivity
      6. 7.4.6 ITSOSingleton
      7. 7.4.7 ITSORentalActivity
      8. 7.4.8 ITSOMaintenanceActivity
      9. 7.4.9 ITSODisposalActivity
      10. 7.4.10 ITSOIdleActivity
      11. 7.4.11 ITSOCustomer
      12. 7.4.12 ITSOCommentary
      13. 7.4.13 ITSOFranchise
      14. 7.4.14 ITSORole
    5. 7.5 Security model
    6. 7.6 Workflows
      1. 7.6.1 Isolated region configuration
      2. 7.6.2 Component queues
      3. 7.6.3 Vehicle reservation workflow
      4. 7.6.4 Vehicle maintenance workflow
    7. 7.7 Internal architecture of sample applications
      1. 7.7.1 Architecture: Reservation Web application
      2. 7.7.2 Architecture: Kiosk application
      3. 7.7.3 Architecture: Fleet Status Manager Web application
      4. 7.7.4 Architecture: Billing Report application
    8. 7.8 Deployment instructions for sample applications
      1. 7.8.1 Application package structure
      2. 7.8.2 Content Engine artifacts
      3. 7.8.3 Process Engine artifacts
      4. 7.8.4 Deployment: Reservation Web application
      5. 7.8.5 Deployment: Kiosk application
      6. 7.8.6 Deployment: Fleet Status Manager Web application
      7. 7.8.7 Deployment: Billing Report application
  12. Chapter 8. Logging and troubleshooting
    1. 8.1 Logging
      1. 8.1.1 CE Java API
      2. 8.1.2 CE .NET API
      3. 8.1.3 Content Engine Web Services
      4. 8.1.4 PE Java API
      5. 8.1.5 Process Engine Web Services
      6. 8.1.6 PE REST Service
    2. 8.2 Troubleshooting
      1. 8.2.1 log4j debugging
      2. 8.2.2 Content Engine troubleshooting techniques
      3. 8.2.3 Process Engine troubleshooting techniques
      4. 8.2.4 Data must be gathered for troubleshooting
  13. Appendix A. Additional material
    1. Locating the Web material
    2. Using the Web material
  14. Related publications
    1. IBM Redbooks
    2. Online resources
    3. How to get Redbooks
    4. Help from IBM
  15. Back cover

Product information

  • Title: Developing Applications with IBM FileNet P8 APIs
  • Author(s): Wei-Dong Zhu, Bill Carpenter, Tim Lai, Wei Liao, Michael Oland, James S Pagadala, Juan Saad
  • Release date: December 2009
  • Publisher(s): IBM Redbooks
  • ISBN: None