0% found this document useful (0 votes)
41 views126 pages

Install

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views126 pages

Install

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 126

Guidewire

PolicyCenter®

Installation Guide
R E L EA S E 9. 0 . 0
Copyright © 2001-2016 Guidewire Software, Inc.
Guidewire, Guidewire Software, Guidewire ClaimCenter, Guidewire PolicyCenter, Guidewire BillingCenter,
Guidewire Reinsurance Management, Guidewire ContactManager, Guidewire Vendor Data Management,
Guidewire Client Data Management, Guidewire Rating Management, Guidewire InsuranceSuite, Guidewire
ContactCenter, Guidewire Studio, Guidewire Product Designer, Guidewire Live, Guidewire DataHub, Guidewire
InfoCenter, Guidewire Standard Reporting, Guidewire ExampleCenter, Guidewire Account Manager Portal,

Guidewire Claim Portal, Guidewire Policyholder Portal, Guidewire Spotlight, Gosu, Adapt and succeed, and the
Guidewire logo are trademarks, service marks, or registered trademarks of Guidewire Software, Inc. in the
United States and/or other countries.
All other trademarks are the property of their respective owners.
This material is confidential and proprietary to Guidewire and subject to the confidentiality terms in the
applicable license agreement and/or separate nondisclosure agreement.
Guidewire products are protected by one or more United States patents.
Product Name: Guidewire PolicyCenter
Product Release: 9.0.0
Document Name: PolicyCenter Installation Guide
Document Revision: 24-June-2016
PolicyCenter 9.0.0 Installation Guide

Contents
About PolicyCenter Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Conventions in This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1 Introduction to Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Installation Topic Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Selecting an Installation Scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Servers, Databases, and Installation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Graphical Overview of Development and Production Environments . . . . . . . . . . . . . . . . . . . . . . 13
2 Preparing a PolicyCenter Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Installation Environments Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating Accounts to Run PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Hiding Apache Version Information on Error Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Configuring the Application Server for Guidewire Applications. . . . . . . . . . . . . . . . . . . . . . . . . . 17
Supported Uses of Application Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
General Guidelines for Application Server Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Special Considerations for Clustered Application Server Environments . . . . . . . . . . . . . . . . . 18
Configuring the JVM for Environments Without Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
JVM Heap Size Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Load Balancers and Guidewire Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Optional Components Installed with Guidewire Applications . . . . . . . . . . . . . . . . . . . . . . . . . 21
Special Considerations for Configuring JBoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Special Considerations for Configuring Tomcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Configuring WebLogic for Guidewire Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Configuring WebSphere for Guidewire Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Configuring the Database Server for Guidewire Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Overview of Database Configuration for Guidewire Applications. . . . . . . . . . . . . . . . . . . . . . 27
Configuring Database Permissions for Guidewire Applications . . . . . . . . . . . . . . . . . . . . . . . 28
Configuring Linguistic Search Collation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Configuring the Behavior of Deferrable Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Configuring Compression for Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Configuring Compression for Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Configuring Compression for SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Configuring Oracle for PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Configuring SQL Server for PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Development Workstation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Web Client Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Levels of Guidewire Support for Web Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Enabling DOM Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Installing Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Supported Java Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
The Dynamic Code Evolution Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Setting Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Documenting Your Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3 Installing a PolicyCenter Development Environment . . . . . . . . . . . . . . . . . . . . . . . . 51
Overview of Development Environment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Using Multiple PolicyCenter Development Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Contents 3
PolicyCenter 9.0.0 Installation Guide

Installing the QuickStart Development Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


Advantages to Using the QuickStart Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
QuickStart Development Environment Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Installing with QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
QuickStart Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
QuickStart Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Troubleshooting QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Installing a Tomcat Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Tomcat Development Environment Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Building a PolicyCenter Development Environment with Tomcat . . . . . . . . . . . . . . . . . . . . . 55
Using the QuickStart Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Limitations to the QuickStart Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Modifying the QuickStart Database File Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Additional Quickstart References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Using SQL Server or Oracle in a Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Archiving in a Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Enabling Reinsurance Management or Disabling Work Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Installing Sample Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Using Gosu to Configure Sample Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4 Installing a PolicyCenter Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Unpacking the Configuration Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Configuring a Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
The <database> Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Mapping Logical Tablespaces to Physical Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Configuring Options for Individual Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Defining Table Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
The JDBC URL Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Obfuscating the Database Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
SQL Server JDBC Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Configuring PolicyCenter to Use a JNDI Data Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Creating an Oracle JNDI Data Source on JBoss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Creating a SQL Server JNDI Data Source on JBoss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creating an Oracle JNDI Data Source on Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Creating a SQL Server JNDI Data Source on Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Creating an Oracle JNDI Data Source on WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Creating a SQL Server JNDI Data Source on WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Creating an Oracle JNDI Data Source on WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Creating a SQL Server JNDI Data Source on WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Deploying PolicyCenter to the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Installing a JBoss Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Installing a Tomcat Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Installing a WebLogic Production Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Installing a WebSphere Production Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5 Additional PolicyCenter Setup Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Required Patch Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Free-text Search Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Free-text Search Setup Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Setting Up Free-text Search for Embedded Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Setting Up Free-text Search for JBoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Setting Up Free-text Search for Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Setting Up Free-text Search for WebLogic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Setting Up Free-text Search for WebSphere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Setting Up the Free-text Batch Load Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4 Contents
PolicyCenter 9.0.0 Installation Guide

Changing the Superuser Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


Generating Java API Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Enabling Integration between ClaimCenter and PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Configuring ClaimCenter to Get Policy Information from PolicyCenter. . . . . . . . . . . . . . . . 101
Configuring PolicyCenter to Get Claim Information from ClaimCenter . . . . . . . . . . . . . . . . 103
Enabling Large Loss Notification Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Enabling Integration between BillingCenter and PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Enabling the PolicyCenter Plugin in BillingCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Starting BillingCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Enabling BillingCenter Plugins in PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Starting PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Verifying the BillingCenter Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Archiving in a Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Enabling Rating Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Installing Reinsurance Management or Disabling Work Queue . . . . . . . . . . . . . . . . . . . . . . . . . 111
Upgrading Product Model of Old LOB Extension Packs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Configuring Single Sign-on Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Starting PolicyCenter on the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Starting PolicyCenter on JBoss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Starting PolicyCenter on Tomcat on Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Starting PolicyCenter on WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Starting PolicyCenter on WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Connecting to PolicyCenter with a Web Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Configuring Windows Accessibility for Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Additional Installation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Integrating PolicyCenter with ContactManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Running PolicyCenter in a Clustered Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6 Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Contents 5
PolicyCenter 9.0.0 Installation Guide

6 Contents
PolicyCenter 9.0.0 Installation Guide

About PolicyCenter Documentation

The following table lists the documents in PolicyCenter documentation.

Document Purpose

InsuranceSuite Guide If you are new to Guidewire InsuranceSuite applications, read the InsuranceSuite Guide for
information on the architecture of Guidewire InsuranceSuite and application integrations.
The intended readers are everyone who works with Guidewire applications.
Application Guide If you are new to PolicyCenter or want to understand a feature, read the Application Guide.
This guide describes features from a business perspective and provides links to other books
as needed. The intended readers are everyone who works with PolicyCenter.
Upgrade Guide Describes the overall PolicyCenter upgrade process, and describes how to upgrade your
PolicyCenter database from a previous major version. The intended readers are system
administrators and implementation engineers who must merge base application changes
into existing PolicyCenter application extensions and integrations.
Configuration Upgrade Guide Describes how to upgrade your PolicyCenter configuration from a previous major version.
The intended readers are system administrators and implementation engineers who must
merge base application changes into existing PolicyCenter application extensions and inte-
grations. The Configuration Upgrade Guide is published with the Upgrade Tools, and is
available on the Guidewire Resource Portal.
New and Changed Guide Describes new features and changes from prior PolicyCenter versions. Intended readers
are business users and system administrators who want an overview of new features and
changes to features. Consult the “Release Notes Archive” part of this document for changes
in prior maintenance releases.
Installation Guide Describes how to install PolicyCenter. The intended readers are everyone who installs the
application for development or for production.
System Administration Guide Describes how to manage a PolicyCenter system. The intended readers are system admin-
istrators responsible for managing security, backups, logging, importing user data, or appli-
cation monitoring.
Configuration Guide The primary reference for configuring initial implementation, data model extensions, and
user interface (PCF) files. The intended readers are all IT staff and configuration engineers.
PCF Reference Guide Describes PolicyCenter PCF widgets and attributes. The intended readers are configuration
engineers.
Data Dictionary Describes the PolicyCenter data model, including configuration extensions. The dictionary
can be generated at any time to reflect the current PolicyCenter configuration. The intended
readers are configuration engineers.
Security Dictionary Describes all security permissions, roles, and the relationships among them. The dictionary
can be generated at any time to reflect the current PolicyCenter configuration. The intended
readers are configuration engineers.
Globalization Guide Describes how to configure PolicyCenter for a global environment. Covers globalization top-
ics such as global regions, languages, date and number formats, names, currencies,
addresses, and phone numbers. The intended readers are configuration engineers who
localize PolicyCenter.
Rules Guide Describes business rule methodology and the rule sets in PolicyCenter Studio. The
intended readers are business analysts who define business processes, as well as pro-
grammers who write business rules in Gosu.

About PolicyCenter Documentation 7


PolicyCenter 9.0.0 Installation Guide

Document Purpose

Contact Management Guide Describes how to configure Guidewire InsuranceSuite applications to integrate with
ContactManager and how to manage client and vendor contacts in a single system of
record. The intended readers are PolicyCenter implementation engineers and
ContactManager administrators.
Best Practices Guide A reference of recommended design patterns for data model extensions, user interface,
business rules, and Gosu programming. The intended readers are configuration engineers.
Integration Guide Describes the integration architecture, concepts, and procedures for integrating
PolicyCenter with external systems and extending application behavior with custom pro-
gramming code. The intended readers are system architects and the integration program-
mers who write web services code or plugin code in Gosu or Java.
Java API Reference Javadoc-style reference of PolicyCenter Java plugin interfaces, entity fields, and other utility
classes. The intended readers are system architects and integration programmers.
Gosu Reference Guide Describes the Gosu programming language. The intended readers are anyone who uses
the Gosu language, including for rules and PCF configuration.
Gosu API Reference Javadoc-style reference of PolicyCenter Gosu classes and properties. The reference can
be generated at any time to reflect the current PolicyCenter configuration. The intended
readers are configuration engineers, system architects, and integration programmers.
Glossary Defines industry terminology and technical terms in Guidewire documentation. The intended
readers are everyone who works with Guidewire applications.
Product Model Guide Describes the PolicyCenter product model. The intended readers are business analysts and
implementation engineers who use PolicyCenter or Product Designer. To customize the
product model, see the Product Designer Guide.
Product Designer Guide Describes how to use Product Designer to configure lines of business. The intended read-
ers are business analysts and implementation engineers who customize the product model
and design new lines of business.

Conventions in This Document

Text style Meaning Examples

italic Emphasis, special terminology, or a book title. A destination sends messages to an


external system.
bold Strong emphasis within standard text or table text. You must define this property.
narrow bold The name of a user interface element, such as a button Next, click Submit.
name, a menu item name, or a tab name.
monospaced Literal text that you can type into code, computer output, Get the field from the Address object.
class names, URLs, code examples, parameter names,
string literals, and other objects that might appear in pro-
gramming code. In code blocks, bold formatting highlights
relevant sections to notice or to configure.
monospaced italic Parameter names or other variable placeholder text within Use getName(first, last).
URLs or other code snippets.
http://SERVERNAME/a.html.

Support
For assistance, visit the Guidewire Resource Portal – http://guidewire.custhelp.com

8 About PolicyCenter Documentation


chapter 1

Introduction to Installation

Installing PolicyCenter starts with understanding the installation options that are available and which option to
choose.
This topic includes:
• “Installation Topic Roadmap” on page 9
• “Selecting an Installation Scenario” on page 10
• “Graphical Overview of Development and Production Environments” on page 13

Installation Topic Roadmap


Installing PolicyCenter is described in the following topics:
• “Selecting an Installation Scenario” on page 10 – An overview that discusses the different ways to install
PolicyCenter.
• “Graphical Overview of Development and Production Environments” on page 13 – A diagram that shows
how the PolicyCenter development and production environment interact
• “Preparing a PolicyCenter Environment” on page 15 – Steps to prepare a development or production environ-
ment for PolicyCenter.
• “Installing a PolicyCenter Development Environment” on page 51 – How to install a PolicyCenter develop-
ment environment using the QuickStart server and database or Tomcat.
• “Installing a PolicyCenter Production Environment” on page 63 – How to deploy PolicyCenter to an applica-
tion server and database server production environment.
• “Additional PolicyCenter Setup Tasks” on page 87 – Required patch installation and other optional installa-
tion tasks you may want to perform after you complete the installation and deployment of a PolicyCenter
development or production environment.
• “Command Reference” on page 119 – Lists and describes the QuickStart and build commands. Other
PolicyCenter command utilities are described in “Command Prompt Tools” on page 317 in the System
Administration Guide.

Introduction to Installation 9
PolicyCenter 9.0.0 Installation Guide

Selecting an Installation Scenario


You can choose an installation scenario based on the role of the person who uses the PolicyCenter installation.
The following table lists installation scenarios that Guidewire recommends for each role.

Role Description

Demonstrator or Trainer Starts up the application quickly, loads sample data and demonstrates
features.
Application Developer Changes the behavior of the application including the user interface,
rules, and application logic.
Integration Developer Develops software to connect PolicyCenter to external systems.
Conversion Developer Performs analysis and mapping of legacy data structures to
Guidewire application data model.
Build master deploying to test- Deploys finished application to test and production environments.
ing and production

Note: For information about supported servers and databases and the installation scenarios they support, see
“Servers, Databases, and Installation Scenarios” on page 11.

See also
• “Installation Environments Overview” on page 15
• “Installing a PolicyCenter Development Environment” on page 51
• “Installing a PolicyCenter Production Environment” on page 63

10 Chapter 1: Introduction to Installation


PolicyCenter 9.0.0 Installation Guide

Servers, Databases, and Installation Scenarios


To help you choose an installation scenario, the following table describes the uses of servers and databases that
you can install with PolicyCenter.

Bundled or
Install element Optional Good to know Links for more Information

QuickStart Application Server Bundled You can immediately use the Quick- “Advantages to Using the Quick-
Start server without configuring it. It Start Software” on page 52
does not build a WAR or EAR file
“QuickStart Application Server”
which is necessary before deploy-
on page 54
ment with other servers.
The QuickStart application server can
be used for demonstration or develop-
ment environments. Guidewire does
not support QuickStart for a produc-
tion environment.
PolicyCenter can be quickly started in
development (dev) mode using the
steps in “Installing the QuickStart
Development Environment” on
page 52. PolicyCenter can not run in
production (prod) mode on QuickStart.
For more information on server
modes, see “Server Modes” on
page 48 in the System Administration
Guide.
JBoss Application Server Optional Suitable for production environments. “Configuring the Application
Server for Guidewire Applica-
tions” on page 17
“Installing a JBoss Production
Environment” on page 81
Tomcat Application Server Optional Suitable for production environments. “Configuring the Application
Server for Guidewire Applica-
You can use Tomcat instead of the
tions” on page 17
QuickStart server for development
work although it requires additional “Installing a Tomcat Develop-
configuration. ment Environment” on page 55
“Installing a Tomcat Production
Environment” on page 82
WebSphere Application Server Optional Suitable for production environments. “Configuring the Application
Server for Guidewire Applica-
tions” on page 17
“Installing a WebSphere Produc-
tion Environment” on page 84
WebLogic Application Server Optional Suitable for production environments. “Configuring the Application
Server for Guidewire Applica-
tions” on page 17
“Installing a WebLogic Produc-
tion Environment” on page 83

Selecting an Installation Scenario 11


PolicyCenter 9.0.0 Installation Guide

Bundled or
Install element Optional Good to know Links for more Information

QuickStart Database Bundled You can immediately use the Quick- “Advantages to Using the Quick-
Start database in file mode. Start Software” on page 52
PolicyCenter creates and stores the
“Using the QuickStart Database”
database files within the tmp directory
on page 57
of the local drive. You can customize
this location.
You can use the QuickStart database
for demonstration or development
environments. Guidewire does not
support QuickStart for a production
environment.
Guidewire does not support upgrades
to the QuickStart database. Configur-
ing your application sometimes
requires extending the data model,
which might require dropping the
database.
You can not have more than one con-
nection at a time.
Oracle Database Optional You can use Oracle for development “Configuring the Database
and production. Server for Guidewire Applica-
tions” on page 27
“Configuring Oracle for
PolicyCenter” on page 34
“Configuring a Database Con-
nection” on page 64
SQL Server Database Optional You can use SQL Server for develop- “Configuring the Database
ment and production. Server for Guidewire Applica-
tions” on page 27
“Configuring SQL Server for
PolicyCenter” on page 41
“Configuring a Database Con-
nection” on page 64

12 Chapter 1: Introduction to Installation


PolicyCenter 9.0.0 Installation Guide

Graphical Overview of Development and Production Environments


The following diagram illustrates how the PolicyCenter development and production environment interact.

/RFDO 'HYHORSPHQW (QYLURQPHQW 3URGXFWLRQ


$SSOLFDWLRQ6HUYHU

*XLGHZLUH
6WXGLR
'HEXJ
'HYHORSPHQW 'HEXJ
4XLFN6WDUW
6HUYHU
7HVW
6HUYHU
3ROLF\&HQWHU
4XLFN6WDUW'DWDEDVH $SSOLFDWLRQ
DQG
&KHFN2XW6XEPLW

&RQILJXUDWLRQ
)LOHV
'DWDEDVH
/RFDO
&RQILJXUDWLRQ :$5($5
)LOHV

6&0
6\VWHP

3ROLF\&HQWHU'DWDEDVH

Dotted lines indicate actions that you perform. For example, you create a WAR or EAR file from your configured
development environment and move it to the production server.
To assist with this development and testing process, Guidewire bundles the following with the PolicyCenter
application:
• A QuickStart development server
• A QuickStart database
• A QuickStart test server that you cannot control
• A QuickStart test database that is separate from the QuickStart database
Guidewire bundles the QuickStart test server and test database for testing. These components are internally
controlled. You can use either the bundled QuickStart development server bundled with PolicyCenter or use an
external application server such as Tomcat. If you use the QuickStart method, then the default development
server is Jetty and the database is H2. Guidewire does not support the QuickStart application server or database
for a production environment.

Graphical Overview of Development and Production Environments 13


PolicyCenter 9.0.0 Installation Guide

14 Chapter 1: Introduction to Installation


chapter 2

Preparing a PolicyCenter Environment

You must install and configure necessary system components so that your network can support PolicyCenter.
Additionally, there are preparatory steps to follow to deploy a production instance of PolicyCenter.

IMPORTANT The versions of third-party products that Guidewire supports for this release are subject
to change without notice. See the Guidewire Platform Support Matrix for current system and patch
level requirements. The Guidewire Platform Support Matrix is available from the Guidewire Resource
Portal at https://guidewire.custhelp.com/app/resources/products/platform.

This topic includes:


• “Installation Environments Overview” on page 15
• “Creating Accounts to Run PolicyCenter” on page 16
• “Hiding Apache Version Information on Error Pages” on page 17
• “Configuring the Application Server for Guidewire Applications” on page 17
• “Configuring the Database Server for Guidewire Applications” on page 27
• “Development Workstation Requirements” on page 45
• “Web Client Information” on page 46
• “Installing Java” on page 47
• “Setting Environment Variables” on page 48
• “Documenting Your Environment” on page 49

Installation Environments Overview


PolicyCenter has a typical J2EE three-tier architecture: client, application server, and database server. For the
application to function, install and configure each tier correctly. Before you get started, have the appropriate soft-
ware versions to support PolicyCenter. Guidewire strongly recommends that you obtain support contracts with
vendors for all tiers of your application infrastructure.

Preparing a PolicyCenter Environment 15


PolicyCenter 9.0.0 Installation Guide

Although production environments can run on operating systems other than Windows, development environ-
ments must be on Windows. However, you can build PolicyCenter on a non-development Unix system prior to
deploying PolicyCenter.

Production Environments
Guidewire strongly recommends that you allocate dedicated hardware for the application server and database
server tiers. Reserve hardware solely for PolicyCenter. Using dedicated hardware is best for performance and for
isolating the cause of any issues that arise.
Although production environments can run on operating systems other than Windows, you must build
PolicyCenter on a Windows system prior to deploying PolicyCenter.
PolicyCenter requires a 64-bit operating system and JVM for a production installation.
To install a production environment, first review all of the information in “Preparing a PolicyCenter Environ-
ment” on page 15. Then proceed to “Installing a PolicyCenter Production Environment” on page 63.

Development Environments
Guidewire supports the use of either the bundled QuickStart application server or the Tomcat application server
for development environments.
For development, all builds must use the Oracle JDK. See “Development Workstation Requirements” on
page 45.
For all development environments, review the following topics:
• “Development Workstation Requirements” on page 45
• “Web Client Information” on page 46
• “Creating Accounts to Run PolicyCenter” on page 16 (Windows information only)
• “Installing Java” on page 47
• “Setting Environment Variables” on page 48
• “Documenting Your Environment” on page 49
If using the Tomcat application server in a development environment, also review:
• “Configuring the Application Server for Guidewire Applications” on page 17
• “Special Considerations for Configuring Tomcat” on page 22
If using an Oracle or SQL Server database server in a development environment, also review:
• “Configuring the Database Server for Guidewire Applications” on page 27
After reviewing the relevant development environment information, proceed to “Installing a PolicyCenter Devel-
opment Environment” on page 51.

See also
• “Development Workstation Requirements” on page 45

Creating Accounts to Run PolicyCenter


It is important that the software processes that support your PolicyCenter application run with the appropriate
permissions. How you set up these accounts depends on whether the application server environment is
UNIX-based or Windows:
• If your network servers are Windows systems, create a user with the Log on as a service right. Ensure that this
user is not a member of any groups. Then, start the application server process as this user to ensure that
PolicyCenter is run with the correct rights.

16 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

• If you run Tomcat on Microsoft Windows, install the PolicyCenter server as a Windows service. See
“Installing Tomcat as a Windows Service” on page 23 for more information.
• For a UNIX-based operating system, the PolicyCenter-related processes must run in non-privileged (user)
mode. A process in non-privileged mode can access only its own memory. To ensure that the PolicyCenter
processes run in the correct mode, create a specific user account on each server and run the corresponding
applications under these accounts.

Hiding Apache Version Information on Error Pages


By default, Apache HTTP server discloses the Apache version number in HTTP response headers and Apache
error pages. This can reveal valuable information to an attacker about possible vulnerabilities in the software. If
you are using Apache HTTP Server, Guidewire recommends that you customize your installation to not return
this information.
1. Open the Apache HTTP server httpd.conf file, located in the conf directory.

2. Change ServerSignature to Off.

3. Change ServerTokens to Prod.

4. Save httpd.conf.

5. Restart the Apache HTTP Server.

Configuring the Application Server for Guidewire Applications


The PolicyCenter application server relies on a third-party servlet container for execution and connection
services. There are some adjustments you must make to the supported application servers.
This topic includes:
• “Supported Uses of Application Servers” on page 17
• “General Guidelines for Application Server Installation” on page 18
• “Special Considerations for Clustered Application Server Environments” on page 18
• “Configuring the JVM for Environments Without Graphics” on page 19
• “JVM Heap Size Considerations” on page 19
• “Load Balancers and Guidewire Applications” on page 21
• “Optional Components Installed with Guidewire Applications” on page 21
• “Special Considerations for Configuring JBoss” on page 21
• “Special Considerations for Configuring Tomcat” on page 22
• “Configuring WebLogic for Guidewire Applications” on page 24
• “Configuring WebSphere for Guidewire Applications” on page 25

Supported Uses of Application Servers


Guidewire supports the following servers for production or development environments:
• For production environments, Guidewire supports JBoss, Tomcat, WebLogic, and WebSphere application
servers.
• For development environments, Guidewire provides the best support for either the bundled QuickStart appli-
cation server or the Tomcat application server.

Hiding Apache Version Information on Error Pages 17


PolicyCenter 9.0.0 Installation Guide

Guidewire also supports JBoss, WebLogic, and WebSphere application servers for development use. How-
ever, because these application servers do not reload resources modified in Studio without a rebuild and rede-
ploy, they are not ideal for development work.

See also
• For information about the specific application server versions Guidewire supports for PolicyCenter 9.0.0, see
the Guidewire Platform Support Matrix on the Guidewire Resource Portal at https://
guidewire.custhelp.com/app/resources/products/platform.
• For information on configuring the QuickStart application server, see “QuickStart Application Server” on
page 54.

General Guidelines for Application Server Installation


Do not include spaces in the installation path of the application server.
Run the application server on hardware supported by the application server provider. Guidewire can provide
assistance with hardware requirements for your production implementation.
Use only the JDK or JRE specified in the Guidewire Platform Support Matrix, or a higher maintenance release.
Tomcat requires the JRE only.
Do not run multiple Guidewire applications or multiple instances of a single Guidewire application under a
single JVM in a production environment. Guidewire does not support this configuration. Each Guidewire appli-
cation in a production environment must run in a JVM reserved for that application.
PolicyCenter synchronizes with the database clock. The application server and database server must be in the
same time zone. The maximum difference allowed between the application server and database server is 29
minutes.

Special Considerations for Clustered Application Server Environments


There are special considerations for running Guidewire applications in clustered environments.
This topic includes:
• “Guidewire Parameters for a Clustered Environment” on page 18
• “Disabling IPv6 in a Clustered Environment” on page 19
• “Heap Size and Memory in 32-Bit and 64-Bit Applications” on page 19
• “Operating System Limits on Heap Size” on page 20

See also
• “Understanding PolicyCenter Server Clustering” on page 113 in the System Administration Guide

Guidewire Parameters for a Clustered Environment


The config.xml file includes parameters to configure a clustered environment, including:
• ClusteringEnabled
• ClusterMemberPurgeDaysOld
• ClusterMemberRecordUpdateIntervalSecs
• ClusterStatisticsMonitorIntervalMins
• ConfigVerificationEnabled
• PDFMergeHandlerLicenseKey

See also
• “Clustering Parameters” on page 47 in the Configuration Guide

18 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

Disabling IPv6 in a Clustered Environment


Some JDKs do not function correctly with IPv6. Disable IPv6 on any application server hosting Guidewire appli-
cations.
To disable IPv6, set the following java option for your application server JVM:
java.net.preferIPv4Stack=true
• With Tomcat, add this option to the CATALINA_OPTS environment variable.
• With WebLogic, either add this option to the JAVA_OPTIONS environment variable or directly modify the
setDomainEnv.sh file for the domain hosting PolicyCenter.
• If you modify JAVA_OPTIONS, the option applies to all WebLogic instances on that server.
• If you modify setDomainEnv.sh, the option only applies to that domain. If you modify setDomainEnv.sh,
add the option to the line:
JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} -Dwlw.iterativeDev=${iterativeDevFlag}
-Dwlw.testConsole=${testConsoleFlag} -Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}"
• With WebSphere, add this option by using the Administrative Console. Navigate to Servers → Application servers
→ server. In the Server Infrastructure section, navigate to Java and process management → Process definition → Java
virtual machine and click Custom Properties. Then add the following option:
java.net.preferIPv4Stack=true

For more information on setting JVM options, see the documentation provided with your application server.

Configuring the JVM for Environments Without Graphics


For Unix and Linux environments that do not have graphics support, such as an X11 graphics environment, set
the Java Virtual Machine (JVM) to run in headless mode. Specify this mode by setting the JVM parameter
java.awt.headless to true on your application server. Setting java.awt.headless to true prevents the JVM
from attempting to access a native graphics environment that does not exist.

JVM Heap Size Considerations


The heap size determines how much memory the Java Virtual Machine (JVM) allocates to store an executing
Java program. Guidewire applications are memory intensive. Optimize performance by using large heaps.
This topic includes:
• “Heap Size and Memory in 32-Bit and 64-Bit Applications” on page 19
• “Operating System Limits on Heap Size” on page 20

See also
• “Changing Heap Size in Tomcat on Windows” on page 23
• “Increasing Heap Size for WebLogic” on page 24
• “Increasing Heap Size for WebSphere” on page 25
Refer to the documentation provided with your application server for more information.

Heap Size and Memory in 32-Bit and 64-Bit Applications

32-bit and 64-bit refer to the size of the pointer used to reference an address.
Production environments must use a 64-bit operating system and a 64-bit JVM. 64-bit JVMs inherently use more
memory to host the same number of objects. 32-bit JVMs have an inherent memory scalability limit that differs
significantly across platforms. This scalability limit makes those platforms unsuitable production platforms.
64-bit JVMs are a more scalable option.

Configuring the Application Server for Guidewire Applications 19


PolicyCenter 9.0.0 Installation Guide

Typically, a 64-bit JVM has an approximately 80% heap size overhead. For example, a 1024 MB heap for a
32-bit JVM would host the same amount of objects as a 1843 MB heap for a 64-bit JVM. Generally, non-produc-
tion systems work correctly with heap sizes of 1024MB for a 32-bit JVM and 2048 MB for a 64-bit JVM.
For more information on heap size and tuning your production application to optimal performance, contact
Guidewire Support.

Operating System Limits on Heap Size


Operating system heap size limitations are grouped by application server.
Note: The following tables that list limits on heap size serve only as a starting point for tuning optimal JVM
settings for your configuration. They are useful if you are installing PolicyCenter and want to start develop-
ment work. Since each deployment needs to be tuned for its dataset, the heap sizes depend on your usage
and configuration. Production systems require careful sizing. Consult Guidewire Services for assistance.
This topic includes:
• “JBoss, Tomcat, and WebLogic Heap Sizes” on page 20
• “WebSphere Heap Sizes” on page 20
• “JBoss, Tomcat, and WebLogic Heap Sizes” on page 20

JBoss, Tomcat, and WebLogic Heap Sizes

Operating system 32-bit heap size scales to: 64-bit heap size scales to:

Linux 2.7GB Very large


Windows 1.5 GB Very large

WebSphere Heap Sizes


Operating system 32-bit heap size scales to: 64-bit heap size scales to:

AIX 2 GB Very large


Linux 2.56 GB Very large
Windows 1.5 GB Very large

Although IBM recommends that the initial Java heap size for WebSphere not be set to the maximum Java heap
size, Guidewire recommends otherwise. The IBM recommendations are not optimal for PolicyCenter. With a
fixed heap, you avoid performance penalties from resizing the heap on the rising edge as the system load rises, or
on the falling edge as load drops off. WebSphere provides several garbage collection policies. Guidewire recom-
mends using the generational concurrent (gencon) garbage collection policy with equal minimum and maximum
heap size.
There is some variance across JVM technology with regard to memory allocation. Guidewire supports
WebSphere on the IBM JVM only. The IBM JVM manages the permanent space without the use of a permanent
size setting.

Single User Testing Heap Sizes


To avoid performance degradation caused by forcing the JVM to adjust between two heap size values at runtime,
set the initial and maximum values to be the same. The following table provides recommended heap settings for
testing, determined with single user scenarios in mind. For production, consult Guidewire Services.

JVM parameter Variable name 32-bit value 64-bit value

inital heap size Xms 1 GB 2 GB

20 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

JVM parameter Variable name 32-bit value 64-bit value

maximum heap size Xmx 1 GB 2 GB


maximum permanent generation size MaxPermSize 128 MB 256 MB

Load Balancers and Guidewire Applications


In general, Guidewire supports load balancing of user interface server requests, to the extent that load balancers
support session affinity. It is more difficult to load balance SOAP calls because the SOAP standard does not
provide a standard way to track session state across requests. However, some load balancers support IP affinity,
which allows for very coarse load balancing of SOAP requests on a per-system basis. PolicyCenter supports both
sessionless and sessioned SOAP calls, the latter of which require IP affinity.

Optional Components Installed with Guidewire Applications


If you plan to have PolicyCenter send email through business logic, have an SMTP-compatible email server
available, such as Microsoft Exchange or UNIX Sendmail. It is also helpful to have access to an SNMP-compat-
ible system monitoring tool, such as IBM Tivoli or HP OpenView.
Some internal monitoring tools are built into PolicyCenter. Beyond that, you can use any SNMP-compatible
system monitoring tool, such as IBM Tivoli or HP OpenView, if you are running on an x86/Tomcat platform.

Special Considerations for Configuring JBoss


JBoss requires special configurations to run it as the application server for PolicyCenter.
This topic includes:
• “Removing JBoss JARs” on page 21
• “Installing a JBoss Instance for Free-text Search” on page 21

Removing JBoss JARs


Remove modules/system/layers/base/org/codehaus/woodstox/main/stax2-api-3.1.1-redhat-3.jar
from your JBoss installation, if present. The stax2-api-3.1.1-redhat-3.jar conflicts with PolicyCenter in the
JBoss class loader. Not all JBoss versions include this JAR file.

Installing a JBoss Instance for Free-text Search

Enabling Guidewire free-text search requires that you install a different instance of JBoss than the instance that
runs your PolicyCenter application. In a production environment, Guidewire requires that you set up the separate
JBoss instance on a host that is separate from the one that hosts PolicyCenter. This separate instance of the appli-
cation server runs a full-text search engine, Apache Solr.
Whenever you install a separate JBoss instance for Guidewire free-text search, change the HTTP port to 8983.
The standard Solr port is 8983. You configure ports on JBoss in the following file:
JBOSS_HOME/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml

Edit the file, and change the port property for the WebServer service from 8080 to 8983, as the following
example shows.
<bean class="org.jboss.services.binding.ServiceBindingMetadata">
<property name="serviceName">jboss.web:service=WebServer</property>
<property name="port">8983</property>

See also
• “Setting Up Free-text Search for JBoss” on page 91
• “Installing a Tomcat Instance for Free-text Search” on page 24

Configuring the Application Server for Guidewire Applications 21


PolicyCenter 9.0.0 Installation Guide

• “Installing a WebSphere Instance for Free-text Search” on page 26

Special Considerations for Configuring Tomcat


This topic provides notes on installing Tomcat to run PolicyCenter. Log in as a system administrator to install
Tomcat.
This topic includes:
• “Removing Tomcat Examples” on page 22
• “Not Implementing the Tomcat Native Library” on page 22
• “Increasing the Maximum Concurrent Threads” on page 22
• “Disabling Session Persistence” on page 23
• “Installing Tomcat as a Windows Service” on page 23
• “Changing Heap Size in Tomcat on Windows” on page 23
• “Increasing Tomcat Heap Size on Windows when Tomcat Is Not a Service” on page 24
• “Installing a Tomcat Instance for Free-text Search” on page 24

Removing Tomcat Examples


Guidewire recommends that you remove the TOMCAT_HOME/webapps/examples directory from any production
Tomcat implementation. Some versions of the example scripts shipped with Tomcat have had security vulnera-
bilities reported.

Not Implementing the Tomcat Native Library


Guidewire recommends that you not implement the Tomcat Native Library. The major pitfall of using the library
is that it mixes Java code and C/C++ code in the same process. This mixture of coding languages requires the use
of the Java Native Interface (JNI), which is not optimal for performance. Guidewire has observed performance
degradation in tests with the Tomcat Native Library implemented.
The primary intent of the Tomcat Native Library is to execute some capabilities in native code versus Java. One
such capability is encryption, which is calculation intensive and not optimally suited for Java. If you want to use
encryption, consider offloading the encryption task to a dedicated component such as a hardware appliance,
Apache Web Server, or Microsoft Internet Information Server. These components are designed for such capabili-
ties and are therefore more secure. Additionally, having a dedicated component enables you to build a more
secure network organization with a DMZ.
The Tomcat server reports a message similar to the following upon startup if the Tomcat Native Library is not
implemented:
INFO: The Apache Tomcat Native library which allows optimal performance in production
environments was not found on the java.library.path:

Ignore this message.

Increasing the Maximum Concurrent Threads

By default, a Tomcat connector allows a maximum of 40 concurrent threads. Guidewire recommends that you set
the maximum number of concurrent threads to 200 instead.

To increase the maximum concurrent threads


1. Open the conf/server.xml file in the Tomcat installation directory.

2. Find the definition for the http connector. It looks similar to the following:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

22 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

3. Add the maxThreads="200" setting to the Connector definition as follows:


<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="200" />

4. Save server.xml.

5. Restart Tomcat to make these changes effective.

Disabling Session Persistence


By default, Tomcat is configured with persistent sessions, which means Tomcat will write to disk all HTTP
sessions which are in memory at the time the server is shut down.
When you restart the Tomcat server, it tries to restore the sessions. However, the session contents are meaningful
only to the old instance of PolicyCenter, so PolicyCenter throws an exception like the following:
SEVERE: IOException while loading persisted sessions: java.io.InvalidObjectException: Error
deserializing Key of "com.guidewire.commons.entity.Key":null
java.io.InvalidObjectException: Error deserializing Key of "com.guidewire.commons.entity.Key":null
at com.guidewire.commons.entity.Key.readResolve(Key.java:141)
...

You can configure Tomcat to disable session persistence.

To disable session persistence


1. Open the Tomcat conf/context.xml file in a text editor.

2. Uncomment the <Manager> element:


<Manager pathname="" />

3. Save context.xml.

Installing Tomcat as a Windows Service


If you plan on installing only one application that uses Tomcat, you can use the Microsoft Window Service
Installer.
The Windows Service Installer automatically configures Tomcat to run as a Windows Service. If you configure
PolicyCenter to run in Tomcat, Tomcat automatically runs as a Windows service. You can then set the server to
start automatically as Windows starts and use the standard Windows service management tools to manage the
PolicyCenter server.
Before the PolicyCenter application starts, the database server must already be up and running. Keep this order
issue in mind as you develop startup procedures and scripts.

Changing Heap Size in Tomcat on Windows


You can increase the Tomcat heap size in one of two ways, depending whether you have installed Tomcat as a
Windows service or not.
This topic includes:
• “Increasing Tomcat Service Heap Size on Windows” on page 23
• “Increasing Tomcat Heap Size on Windows when Tomcat Is Not a Service” on page 24

Increasing Tomcat Service Heap Size on Windows

1. Start the Tomcat Windows service.

2. From the Start menu, click Control Panel.

3. Click Administrative Tools.

Configuring the Application Server for Guidewire Applications 23


PolicyCenter 9.0.0 Installation Guide

4. Click Services.

5. Right-click the Tomcat service and click Properties.

6. Add the following to Start parameters:


-Xms1024m -Xmx1024m

If you have Tomcat installed, and Tomcat is not run as a Windows Service, set heap size for Tomcat by setting a
Windows environment variable.

Increasing Tomcat Heap Size on Windows when Tomcat Is Not a Service

1. From the Windows desktop, right-click My Computer.

2. Select Properties and click the Advanced tab.

3. Click the Environment Variables button.

4. Under System Variables, click New.

5. Set the Variable Name to CATALINA_OPTS.

6. Set the Variable Value to -Xms1024m -Xmx1024m.

7. Click OK until the properties settings closes.

Note: For values in step 6, consult “JVM Heap Size Considerations” on page 19.

Installing a Tomcat Instance for Free-text Search

Guidewire free-text search requires that you set up a different instance of Tomcat than the instance that runs your
PolicyCenter application. In a production environment, Guidewire requires that you set up the separate Tomcat
instance on a host separate from the one that hosts your PolicyCenter application. This separate instance of the
application server runs a full-text search engine, Apache Solr.
Whenever you install a separate Tomcat instance for Guidewire free-text search, change the port for the HTTP/
1.1 protocol to 8983. The standard Solr port is 8983. Edit the file TOMCAT_HOME/conf/server.xml, and change
the connector port for the HTTP/1.1 protocol from 8080 to 8983, as the following example shows.
Connector port="8983" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

See also
• “Setting Up Free-text Search for Tomcat” on page 93
• “Installing a JBoss Instance for Free-text Search” on page 21
• “Installing a WebSphere Instance for Free-text Search” on page 26

Configuring WebLogic for Guidewire Applications


There are special considerations for WebLogic when you install it as the application server for a Guidewire appli-
cation.

Increasing Heap Size for WebLogic

Use the USER_MEM_ARGS environment variable to specify arguments to WebLogic during application server
startup.

To increase the WebLogic heap size


1. Create an environment variable on your system named USER_MEM_ARGS.

24 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

2. For the value of USER_MEM_ARGS, enter:


-Xms256m -Xmx1024m -Dgw.server.mode=dev
The server mode entry is needed for reloading PCF pages. If you want to run the server in production mode,
remove the -Dgw.server.mode argument. By default, PolicyCenter starts in production mode on all applica-
tion servers except the bundled QuickStart server.

Configuring WebSphere for Guidewire Applications


There are special considerations for WebSphere when you install it as the application server for a Guidewire
application.
This topic includes:
• “Increasing Heap Size for WebSphere” on page 25
• “Adjusting Ping Parameters for WebSphere with Oracle” on page 25
• “WebSphere Database Cluster Management” on page 25
• “WebSphere Network Deployment” on page 26
• “Installing a WebSphere Instance for Free-text Search” on page 26
• “Changing the Port Number in WebSphere” on page 26

Increasing Heap Size for WebSphere

To support Guidewire applications in WebSphere, increase minimum heap size to 256 and maximum heap size to
1024.

To increase the WebSphere Heap Size


1. Open the WebSphere Administrative Console.

2. From the left menu, select Servers → Server Types → WebSphere application servers, and select your server from the
list on the right.
3. Under Server Infrastructure select Java and Process Management → Process Definition.

4. Under Additional Properties, select Java Virtual Machine.

5. Enter the following heap sizes, then click OK.


• For Initial heap size enter 256
• For Maximum heap size enter 1024
6. Click OK.

7. A message displays stating that changes have been made. Click Save.

Adjusting Ping Parameters for WebSphere with Oracle


If WebSphere times out while communicating with Oracle, set the following values:

Server Parameter Value


ping interval 2000
ping timeout 6000

WebSphere Database Cluster Management


Guidewire supports using WebSphere database cluster management, provided that you use the JDBC JAR file
bundled with PolicyCenter.

Configuring the Application Server for Guidewire Applications 25


PolicyCenter 9.0.0 Installation Guide

WebSphere Network Deployment


Guidewire certifies the base version of WebSphere, but supports WebSphere Network Deployment (ND).
Guidewire products do not require any ND functionality to run. Some IBM terminology conflicts with Guidewire
terminology:
• Guidewire Cache Coherency for Clustering – PolicyCenter provides cache coherency to support clustering by
maintaining an internal cache of objects for performance reasons. After PolicyCenter changes an object in the
cache for a single node in a cluster, PolicyCenter sends a message to invalidate the object in other node
caches. The Guidewire implementation of clustering for cache coherency is completely independent of the
application server.
• WebSphere ND Clustering – Clustering provided by WebSphere ND is different from PolicyCenter cache
coherency. WebSphere ND clustering is mostly about session replication, which is the capability to constantly
maintain a user’s session state across multiple computers in a cluster. Maintaining session state information is
useful in the event of failover, in which WebSphere transfers a user from one server to another. This function-
ality was intended to support lightweight session objects such as those found in online shopping carts.
Because Guidewire designed PolicyCenter for enterprise users, each session must preserve a large volume of
data. As a result, session replication is prohibitively performance intensive and Guidewire does not support it.
WebSphere ND provides the following features that you can use in conjunction with PolicyCenter.
• Deployment – WebSphere ND includes tools for automatically deploying configurations to servers in a
cluster. Guidewire supports these tools if used in conjunction with Guidewire Environment Specific Configu-
ration settings.
• Load balancing – WebSphere ND provides load balancing capabilities. See “Load Balancers and Guidewire
Applications” on page 21.

Installing a WebSphere Instance for Free-text Search

Guidewire free-text search requires that you install a different instance of WebSphere than the instance that runs
your PolicyCenter application. In a production environment, Guidewire requires that you set up the separate
WebSphere instance on a host that is separate from the one that hosts PolicyCenter. This separate instance of the
application server runs a full-text search engine, Apache Solr.
Whenever you install a separate WebSphere instance for Guidewire free-text search, change the HTTP port for
the default host and its virtual host to 8983. The standard Solr port is 8983. You configure ports on WebSphere
through the administrative console.

See also
• “Changing the Port Number in WebSphere” on page 26

Changing the Port Number in WebSphere


1. Start the application server.

2. Change the port for the default host in your WebSphere application server.

a. From the Administrative Console, navigate to Servers → Server Types → WebSphere application servers and select
your application server from the list of resources that you can administer.
The console displays the configuration page for your application server.
b. On the right underneath Communications, click Ports.

c. In the list of TCP/IP ports, click WC_defaulthost.

d. In the Port field, change the value from 9080 to 8983.

e. Click Apply.

f. In the Messages box, Click Save to apply the changes to the master configuration.

26 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

3. Change the port number for the virtual host in your WebSphere application server.

a. From the Administrative Console, navigate to Environment → Virtual hosts and click the name of your physi-
cal host name. The default name of your physical host is default_host.
The console displays the configuration page for your physical host.
b. On the right underneath Additional Properties, click Host Aliases.

c. Click New.

d. Enter the following values.

Field name Description

Host Name Enter an asterisk (*).


Port Enter 8983.

e. Click OK.

f. In the Messages box, Click Save to apply the changes to the master configuration.

4. Stop and start the application server.

Configuring the Database Server for Guidewire Applications


Guidewire recommends that you implement the guidelines contained in this topic as you install and configure the
database server. This topic includes:
• “Overview of Database Configuration for Guidewire Applications” on page 27
• “Configuring Database Permissions for Guidewire Applications” on page 28
• “Configuring Linguistic Search Collation” on page 28
• “Configuring the Behavior of Deferrable Indexes” on page 28
• “Configuring Compression for Databases” on page 29
• “Configuring Oracle for PolicyCenter” on page 34
• “Configuring SQL Server for PolicyCenter” on page 41

Overview of Database Configuration for Guidewire Applications


PolicyCenter 9.0.0 supports Oracle and SQL Server for production environments. See the Guidewire Platform
Support Matrix for information about which specific database server versions Guidewire supports for
PolicyCenter 9.0.0. The Guidewire Platform Support Matrix is available from the Guidewire Resource Portal at
https://guidewire.custhelp.com/app/resources/products/platform.

Run the database server on hardware supported by the database server provider. Guidewire can provide assis-
tance with hardware requirements for your production implementation. PolicyCenter depends heavily on
back-end database performance, which in turn depends on storage performance. Optimize the performance of
your database server.
For production systems, Guidewire recommends using a database server dedicated to PolicyCenter. Production
environments must use a 64-bit operating system and 64-bit database engine on the database server.
PolicyCenter synchronizes with the database clock. The application server and database server must be in the
same time zone. The maximum difference allowed between the application server and database server is 29
minutes.

Configuring the Database Server for Guidewire Applications 27


PolicyCenter 9.0.0 Installation Guide

Configuring Database Permissions for Guidewire Applications


PolicyCenter must be able to connect to your database through a user. Create a user called pcUser in your data-
base. PolicyCenter connects to the user named pcUser. The pcUser must have the correct permissions. Following
are the permissions required for each database:

Database Permissions Required

Oracle The pcUser must have the following permissions on the PolicyCenter Oracle database:
• create session
• create procedure
• create trigger
• create table
• create view
• create sequence
• query rewrite
• alter session
• select any dictionary

If your users want to see statspack data on the Server Tools Info Pages → Oracle Statspack screen, grant
the pcUser access to the PolicyCenter performance statistics (perfstat) tables. See “Oracle
Statspack” on page 285 in the System Administration Guide for more information.
SQL Server The pcUser must have the public and db_owner roles on the PolicyCenter SQL Server database.
PolicyCenter supports several different data management pages for performance analysis of the appli-
cation. To use these pages, the pcUser must be granted view server state in PolicyCenter. The
server login account must also have view database state permission on each PolicyCenter data
management view. The data management views all start with sys.dm_ prefix.

Configuring Linguistic Search Collation


You can configure how PolicyCenter searches and sorts search results. For example, you can configure whether
searching is accent-sensitive or accent-insensitive, or if it is case-sensitive or case-insensitive. See “Linguistic
Search and Sort” on page 159 in the Globalization Guide.

Configuring the Behavior of Deferrable Indexes


Guidewire defines performance-only indexes as those that are not unique and that do not include a table ID.
During staging table load, it is possible to configure PolicyCenter to drop performance-only indexes before
loading data into the staging table. Then, at completion of the data load, PolicyCenter recreates the indexes.
As it is possible to drop and then recreate these types of indexes, they are also known as deferrable indexes.
Dropping deferrable indexes can improve performance while loading data into staging tables.
It is possible to enable or disable the dropping of deferable indexes:
• For all tables, at the database (global) level, using the <loader> element in database-config.xml.
• For a named table, for one or more specified indexes on that table, using the <loader-table> and
<loader-index> subelements on the <loader> element.

Configuration settings at the table level override any configuration set at the database (global) level.
Both the <loader> element and its subelement <loader-table> contain a drop-deferrable-indexes attribute.
This attribute, for each element, takes one of the following values:
• disable
• enable
• enable_all

28 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

Although similar, the attribute behavior is slightly different depending on the level at which you set the attribute.

Element drop-deferrable-indexes

<loader> The drop-deferrable-indexes attribute on <loader> has the following meaning:


• disable – Disables the dropping of deferrable indexes at the global, database level for all staging
tables.
• enable – Enables the dropping of the deferrable indexes for one or more specified staging
tables. If set, then you must also specify one or more <loader-table> subelements on
<loader>.
• enable_all – Enables the dropping of deferrable indexes at the global, database level for all
staging tables.
<loader-table> The drop-deferrable-indexes attribute on <loader-table> has the following meaning:
• disable – Disables the dropping of deferrable indexes for the named staging table. Use to over-
ride a drop-deferrable-indexes attribute value of enable_all on <loader>, which enables the
dropping of deferrable indexes for all tables in the database.
• enable – Enables the dropping of deferrable indexes for this specific, named staging table. Use
the <loader-index> element on <loader-table> to specify one or more named indexes to drop.
• enable_all – Enables the dropping of all deferrable indexes for this specific, named staging
table.

The following example illustrates a possible configuration.


<loader before-gen-ids-callback-degree-of-parallelism="6"
before-insert-select-callback-degree-of-parallelism="6"
after-insert-select-callback-degree-of-parallelism="6"
insert-select-degree-of-parallelism="6"
fk-enable-degree-of-parallelism="6" row-counts-degree-of-parallelism="6"
drop-deferrable-indexes="disable">
<loader-table name="pc_transactionid" drop-deferrable-indexes="enable">
<loader-index keycolumns="TID"/>
</loader-table>
</loader>

Notice that for the configuration shown in the code sample:


• PolicyCenter disables drop-deferrable-indexes for all staging tables at the global <loader> configuration
level.
• PolicyCenter enables drop-deferrable-indexes for a specific table (pc_transactionid) at the
<table-loader> configuration level, for the specified index (TID).

See also
• “The Database Configuration File” on page 170 in the System Administration Guide
• “The loader Database Configuration Element” on page 177 in the System Administration Guide

Configuring Compression for Databases


You can configure compression for the databases you use with your Guidewire applications.
This topic includes:
• “Overview of Database Compression” on page 29
• “Configuring Compression for Oracle” on page 30
• “Configuring Compression for SQL Server” on page 32

Overview of Database Compression


Compression reduces the size of the database.
• The advantage of compression is reduced cost for storage and backups. Compression can also increase perfor-
mance by effectively making the database buffer caches larger.

Configuring the Database Server for Guidewire Applications 29


PolicyCenter 9.0.0 Installation Guide

• The disadvantage of compression is that the database requires more CPU time to compress and decompress
data. Furthermore, queries that require either a table scan or a full index scan will require fewer physical and
logical reads because more rows fit on a single data page.
Consult with Guidewire Support about whether compression will improve overall performance of your
PolicyCenter implementation.
The compression settings examples in the following topics demonstrate the syntax you can use to configure
compression. These examples are not provided as guidelines for compression settings for your environment.
A full discussion of table and index compression is beyond the scope of this document. Refer to documentation
from your database vendor for details about compression options.

Configuring Compression for Oracle


You can configure Oracle compression options for PolicyCenter by using the <ora-db-ddl> element of
database-config.xml. Compression options can apply to the entire database, to specific tables, or to specific
indexes of a table.
This topic includes:
• “Oracle Database Compression” on page 30
• “Oracle Table Compression” on page 30
• “Oracle Index Compression” on page 31

Oracle Database Compression


You can specify Oracle database compression options for PolicyCenter by using the <ora-compression>
element of <ora-db-ddl> in database-config.xml. The <ora-compression> element has the following syntax:
<database>
...
<upgrade>
<ora-db-ddl>
<ora-compression table-compression="NONE|BASIC|ADVANCED" index-compression="true|false">
</ora-db-ddl>
</upgrade>
</database>

The <ora-compression> element accepts the attributes table-compression and index-compression. You can
specify one or both attributes. Attributes that you specify for <ora-compression> apply to all tables and indexes
in the database.
The values that you can set for these two attributes are described in the topics that follow.

Oracle Table Compression


You can override options for all tables in the database by setting the table-compression attribute of the
<ora-compression> element to NONE, BASIC or ADVANCED. For general syntax, see the preceding topic.

You can override options for a specific table by adding an <ora-table-compression> element and setting the
table-compression attribute to NONE, BASIC or ADVANCED. The <ora-table-compression> element is contained
in an <ora-table-ddl> element within the <ora-db-ddl> element. For example:
<database>
...
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="pc_tableName">
<ora-table-compression table-compression="NONE|BASIC|ADVANCED" />
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
• A value of NONE specifies that the database or table is not compressed.

30 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

• A value of BASIC specifies that the database or table uses Oracle basic compression.
• A value of ADVANCED specifies that the database or table uses Oracle advanced compression.
Note: Oracle advanced compression is part of the Oracle Advanced Compression Option, which requires a
separate license. Refer to Oracle documentation for more information about compression.
The following example specifies advanced compression for the entire database and no compression for the
pc_Activity and pc_Workflow tables.
<database name="PolicyCenterDatabase" dbtype="oracle">
...
<upgrade>
<ora-db-ddl>
<ora-compression table-compression="ADVANCED" />
<ora-table-ddl table-name="pc_Activity">
<ora-table-compression table-compression="NONE" />
</ora-table-ddl>
<ora-table-ddl table-name="pc_Workflow">
<ora-table-compression table-compression="NONE" />
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>

Oracle Index Compression


You can set the index-compression attribute of the <ora-compression> and <ora-index-ddl> elements to true
or false.
An index-compression value of true specifies:
• Compression for all columns but the last for unique indexes
• Compression for all columns for non-unique indexes
Depending on which element you set, you can override compression for all indexes in a database, for all indexes
on a specific table, or for specific indexes.
• You can override compression options for all indexes in a database by specifying the index-compression
attribute of the <ora-compression> element. For general syntax, see the example in the preceding topic,
“Oracle Database Compression” on page 30.
• You can override compression options for all indexes on a specific table by including the index-compression
attribute on the <ora-table-compression> element. For example:
<database>
...
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="pc_tableName">
<ora-table-compression index-compression="true|false" />
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
• You can override options for a specific index by adding an <ora-index-ddl> element within the
<ora-table-ddl> element for the table that has the index. For example:
<database>
...
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="pc_tableName">
<ora-index-ddl index-compression="true|false" key-columns="column1,column2" />
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
Specify an index by setting the key-columns attribute of the <ora-index-ddl> element to a comma-delimited
list of key columns in order. Specify DESC after a column name for descending sort order on that column.
The following example specifies the following overrides:

Configuring the Database Server for Guidewire Applications 31


PolicyCenter 9.0.0 Installation Guide

• Index compression for the entire database


• No compression for the pc_Activity index that contains key columns PublicID and Retired in key posi-
tions one and two, respectively.
• No compression for any indexes on the pc_Workflow table.
<database>
...
<upgrade>
<ora-db-ddl>
<ora-compression index-compression="true">
<ora-table-ddl table-name="pc_Activity">
<ora-index-ddl key-columns="PublicID,Retired" index-compression="false" />
</ora-table-ddl>
<ora-table-ddl table-name="pc_Workflow">
<ora-table-compression index-compression="false" />
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>

IMPORTANT Oracle spatial indexes are not compressible. If you use the key-columns attribute to
specify a spatial index to compress, PolicyCenter reports an error. If the index is implied to be
compressed by the compression configuration of the database or table, PolicyCenter ignores the
compression setting for a spatial index.

Configuring Compression for SQL Server


You can configure Microsoft SQL Server compression options for PolicyCenter by using the <mssql-db-ddl>
element of database-config.xml. Compression options can apply to the entire database, to specific tables, or to
specific indexes of a table.
Note: You must have the Enterprise edition of SQL Server to have the SQL Server compression feature.
Refer to SQL Server documentation for more information about SQL Server compression options.
This topic includes:
• “SQL Server Database Compression” on page 32
• “SQL Server Table Compression” on page 33
• “SQL Server Index Compression” on page 33

SQL Server Database Compression


You can specify SQL Server database compression options for PolicyCenter by using the <mssql-compression>
element of <mssql-db-ddl> in database-config.xml:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-compression table-compression="NONE|PAGE|ROW" index-compression="NONE|PAGE|ROW">
</mssql-db-ddl>
</upgrade>
</database>

The <mssql-compression> element accepts the attributes table-compression and index-compression. You
can specify one or both attributes. Attributes that you specify for <mssql-compression> apply to all tables and
indexes in the database.
Settings for table-compression and index-compression can apply to the entire database, a table, or an index,
depending on the XML element to which the attribute is applied. In general, these values mean the following:
• A value of NONE specifies that the database or table is not compressed.
• A value of PAGE specifies that the database or table uses page-level compression. Page compression is applied
only when the page gets full. For page compression, the following operations happen in the following order:

32 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

• Row compression
• Prefix compression
• Dictionary compression
• A value of ROW specifies that the database or table uses row compression. Row compression drastically
reduces the metadata needed for variable-length columns.

SQL Server Table Compression


You can override options for a all tables in the database by setting the table-compression attribute of the
<mssql-compression> element to NONE, PAGE, or ROW.

For syntax and a description of the options for table-compression, see the preceding topic.
You can override options for a specific table by adding an <mssql-table-compression> element and setting the
table-compression attribute to NONE, PAGE, or ROW. The <mssql-table-compression> element is contained in
an <mssql-table-ddl> element within the <mssql-db-ddl> element. For example:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="pc_tableName">
<mssql-table-compression table-compression="NONE|PAGE|ROW" />
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

The following example specifies row table compression for the entire database, page compression for the
pc_Activity table, and no compression for the pc_Workflow table.
<database name="PolicyCenterDatabase" dbtype="sqlserver">
...
<upgrade>
<mssql-db-ddl>
<mssql-compression table-compression="ROW" />
<mssql-table-ddl table-name="pc_Activity">
<mssql-table-compression table-compression="PAGE" />
</mssql-table-ddl>
<mssql-table-ddl table-name="pc_Workflow">
<mssql-table-compression table-compression="NONE" />
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

SQL Server Index Compression


PolicyCenter uses a clustered primary key index. Since this index is actually the table data itself, PolicyCenter
uses the compression setting for the table for the primary key index.
The compression setting of a table is not automatically applied to its non-clustered indexes. You must configure
compression settings for indexes separately or in bulk.
• You can override compression options for all indexes in the database by setting the index-compression attri-
bute on the <mssql-compression> element to NONE, PAGE, or ROW.
For this syntax and a general description of the options for index-compression, see “SQL Server Database
Compression” on page 32.
• You can override compression options for all indexes on a specific table by setting the index-compression
attribute on the <mssql-table-compression> element. For example:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="pc_tableName">
<mssql-table-compression index-compression="NONE|PAGE|ROW" />
</mssql-table-ddl>
</mssql-db-ddl>

Configuring the Database Server for Guidewire Applications 33


PolicyCenter 9.0.0 Installation Guide

</upgrade>
</database>
• You can override options for a specific index by adding an <mssql-index-ddl> element within the
<mssql-table-ddl> element for the table that has the index.
• Specify an index by setting the key-columns attribute of the <mssql-index-ddl> element to a
comma-delimited list of key columns in order.
• Specify DESC after a column name for descending sort order on that column.
For example:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="pc_tableName">
<mssql-index-ddl key-columns="column1,column2" index-compression="true|false" />
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

The following example specifies the following:


• Row index compression for the entire database.
• No compression for the pc_Activity index that contains key columns PublicID and Retired in key posi-
tions one and two, respectively.
• Page compression for any indexes on the pc_Workflow table.
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-compression index-compression="ROW">
<mssql-table-ddl table-name="pc_Activity">
<mssql-index-ddl key-columns="PublicID,Retired" index-compression="NONE" />
</mssql-table-ddl>
<mssql-table-ddl table-name="pc_Workflow">
<mssql-table-compression index-compression="PAGE" />
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

Configuring Oracle for PolicyCenter


Guidewire recommends that you implement the guidelines in this topic as you install and configure the Oracle
database server to work with PolicyCenter.
Note: See the Guidewire Platform Support Matrix for information about which specific Oracle versions
Guidewire supports for PolicyCenter 9.0.0. The Guidewire Platform Support Matrix is available from the
Guidewire Resource Portal at https://guidewire.custhelp.com/app/resources/products/platform.
PolicyCenter requires Oracle Locator, which is included with Oracle Multimedia. Refer to Oracle MOS (My
Oracle Support) note How To Verify That Oracle Locator Is Installed (Doc ID 357943.1).
This topic includes:
• “Prerequisites to Installing on Oracle” on page 35
• “Preparing an Oracle Database for PolicyCenter” on page 35
• “Using Oracle Resource Consumer Groups for Slow Policy Queries” on page 36
• “Configuring PolicyCenter to Use Oracle SecureFile LOBs” on page 37
• “Configuring Table Partitioning for Oracle” on page 38
• “Configuring Index Partitioning for Oracle” on page 38
• “Configuring Oracle Date Interval Partitioning” on page 39
• “Configuring Oracle Adaptive Optimization for PolicyCenter” on page 40

34 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

• “Disabling Oracle Automatic Generation of Database Statistics” on page 40

Prerequisites to Installing on Oracle


Create a separate user and schema for each Guidewire application. Sharing a schema can result in naming
conflicts for primary key constraints and indexes.
Ensure that your Oracle database is running in an environment that optimizes storage performance while main-
taining storage maintainability. Oracle recommends you use the SAME (Stripe and Mirror Everywhere) strategy.
To learn more about the SAME strategy, consult the following:
http://www.oracle.com/technetwork/database/performance/opt-storage-conf-130048.pdf

Oracle Java Virtual Machine (JVM) must be installed on all Oracle databases hosting PolicyCenter. The only
exception is when the PolicyCenter application locale is English and you only require case-insensitive searches.
Ensure that Oracle initialization parameter java_pool_size is set to a value of above 50 MB.
Configure Oracle to use asynchronous IOs. Asynchronous IO significantly simplifies a database’s IO manage-
ment while increasing its performance. For performance reasons, tune your operating system to Oracle database
requirements. Oracle provides guidance on tuning your database based on:
• Operating system
• Available memory
• Database release
Consult Oracle documentation and support web site for information on how to tune your database.
The Oracle database supports server-side caching that can help increase PolicyCenter performance. The size of
the Oracle database cache is critical to supporting server-side caching. For internal tests, Guidewire uses a data-
base cache size of 3.6 GB or more. Consult the Oracle documentation for information on selecting a cache size
appropriate to your server computer’s architecture.
After your database is in production, you cannot easily modify the storage architecture. Guidewire recommends
that you test and tune your database’s storage performance prior to installing PolicyCenter. There are many tools
available for optimizing database performance, including an open source tool, IOzone (www.iozone.org).

Preparing an Oracle Database for PolicyCenter


1. Create a new database instance for PolicyCenter.
Guidewire recommends that you not share the PolicyCenter database with other data or applications.

IMPORTANT Guidewire currently supports single-byte character sets that are a strict superset of
ASCII, and AL32UTF8 or UTF8 for Unicode. Use only a supported character set with PolicyCenter. Refer
to your Oracle documentation for a complete list of supported character sets. WE8ISO8859P1 is a
single-byte character set that supports both Western European languages and American English.
AL32UTF8 and UTF8 are Oracle character sets supported for the storage of Unicode data, such as Asian
characters. If using the AL32UTF8 or UTF8 character set, the Oracle instance must be configured with
nls_length_semantics set to char. Otherwise, the database does not start.

2. Create one or more tablespaces to support the PolicyCenter logical tablespaces. Guidewire recommends that
you create a separate tablespace for each logical tablespace:

Logical Name Usage

ADMIN Stores system parameters.


OP Stores the main PolicyCenter data tables.
TYPELIST Stores system code tables.
INDEX Stores system indexes.

Configuring the Database Server for Guidewire Applications 35


PolicyCenter 9.0.0 Installation Guide

Logical Name Usage

STAGING Stores inbound staging data tables.


LOB Stores off-row LOB (large object) data. The LOB tablespace is optional. If you do not specify a physi-
cal tablespace for the LOB logical tablespace, then LOB data is stored in the tablespace mapped to
the OP logical tablespace.
PolicyCenter uses the LOB tablespace for new tables only. For an existing configuration in which the
PolicyCenter schema has been created, if you designate an LOB tablespace, PolicyCenter does not
move existing LOB columns to the LOB tablespace. If you add an LOB column to an existing table,
PolicyCenter does not put the column in the LOB tablespace. If you define a new table with LOB data,
PolicyCenter stores the LOB data in the designated LOB tablespace.
See “Configuring PolicyCenter to Use Oracle SecureFile LOBs” on page 37.

You can name your tablespaces anything you like in a production environment: either the same as the logical
tablespace names or entirely different. As you configure PolicyCenter, you map the tablespaces you created
to the PolicyCenter internal logical tablespaces.
For a development environment, use the same tablespace names as the logical names. The gwb dropDb com-
mand only works if the tablespace names match the default logical names.
3. Create a single database user, pcUser, in the PolicyCenter database.

4. Grant pcUser the following permissions:


• alter session
• create procedure
• create sequence
• create session
• create table
• create trigger
• create view
• query rewrite
• select any dictionary
If your users want to view statspack data on the PolicyCenter Info Pages interface, you also need to grant the
pcUser access to Statspack's (perfstat user) tables.

5. Grant quota on all the tablespaces listed in step 2 to the pcUser.

6. Set default tablespace for pcUser to the one being mapped to the OP logical tablespace.

7. If you run the database server and the application server on the same computer, be aware that Oracle adds
directories to the PATH environment variable. To prevent potential conflicts with PolicyCenter files,
Guidewire recommends that you edit your PATH variable and move the Oracle directories to the end, after the
PolicyCenter directories. Guidewire recommends that you do not run database and application servers on the
same computer in a production environment.
8. Test a connection to the database from a database client. Verify that all the tablespaces are visible.

Using Oracle Resource Consumer Groups for Slow Policy Queries

Note: The information in this topic is provided for implementations that experience slow policy queries. If
you do not experience slow policy queries, you do not need to define a resource consumer group for policy
queries.

36 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

Oracle provides resource plans and consumer groups to handle resources in the database. One useful feature is to
cancel a query based on the execution time. You can configure PolicyCenter to switch to a resource consumer
group that you define to perform policy searches. You can set this resource consumer group to have a time limit
and cancel SQL operations for policy searches that exceed the time limit.
PolicyCenter saves the initial resource consumer group detected when the application server is started and
reverts to that group following the policy query.
The requirements for using Oracle resource consumer groups for policy queries are:
• The <oracle-settings> attribute db-resource-mgr-cancel-sql is set in database-config.xml to a
resource consumer group defined in Oracle. For example:
<database name="ClaimCenterDatabase" dbtype="oracle">
...
<oracle-settings db-resource-mgr-cancel-sql="" />
...
</database>
• The Oracle resource manager plan is set at the system level.
• The pcUser has privileges to switch between the two resource groups.
PolicyCenter checks these conditions when the server starts.

Configuring PolicyCenter to Use Oracle SecureFile LOBs


PolicyCenter supports Oracle SecureFile LOBs for unstructured data. To configure PolicyCenter to use Secure-
File LOBs, modify the <database> block in database-config.xml. You can specify to use SecureFile LOBs for
all LOBs in the database or for specific tables. You can also configure whether to use caching and the LOB type.
The LOB type can be BASIC, SECURE, or SECURE_COMPRESSED. If not specified otherwise PolicyCenter uses
SecureFile LOBs.
To specify to use basic file LOBs for all LOBs in the database, add the following to the <database> block.
<ora-db-ddl>
<ora-lobs type="BASIC" caching="true|false"/>
</ora-db-ddl>

To specify to use compressed SecureFile LOBs for all LOBs in the database, add the following to the
<database> block.
<ora-db-ddl>
<ora-lobs type="SECURE_COMPRESSED" caching="true|false"/>
</ora-db-ddl>

To specify to use basic file LOBs for all LOBs on a particular table, add the <ora-lobs> element within the
<ora-table-ddl> block for the table.
<ora-db-ddl>
<ora-table-ddl name="pc_tablename">
<ora-lobs type="BASIC" />
</ora-table-ddl>
</ora-db-ddl>

If any LOBs are configured to be SecureFile LOBs, and the LOB tablespace is configured, it must be managed
with Automatic Segment Space Management. If the LOB tablespace is not configured, then the ADMIN, OP and
STAGING tablespaces must be managed with Automatic Segment Space Management.
To specify to use caching for LOBs, add the attribute caching="true" to the <ora-lobs> element.
PolicyCenter does not automatically convert LOBs if you change the configuration. You can convert the tables in
Oracle and then update the PolicyCenter configuration, and PolicyCenter will use the updated configuration for
new objects.
Refer to Oracle documentation for information about basic file, SecureFile, and compressed SecureFile LOBs.

Configuring the Database Server for Guidewire Applications 37


PolicyCenter 9.0.0 Installation Guide

Configuring Table Partitioning for Oracle


Table hash partitioning can improve performance of queries on large tables. To enable hash partitioning on a
table, add the <ora-table-hash-partitioning> element to the <ora-table-ddl> block of <ora-db-ddl> in
database-config.xml. For example:
<database name="PolicyCenterDatabase" dbtype="oracle">
...
<upgrade>
...
<ora-db-ddl>
<ora-table-ddl name="Table Name">
<ora-table-hash-partitioning hash-column="column name" num-partitions="number"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>

If a keyable table is partitioned, by default, PolicyCenter uses the ID column as the hash column. You can specify
a different column by using the hash-column attribute on <ora-table-hash-partitioning>. For non-keyable
tables, the hash-column attribute is required.
If a keyable table is partitioned, PolicyCenter also partitions the primary key index and the index on PublicID.
This index is on PublicID and Retired if the table is for a retireable entity.
By default, PolicyCenter uses 128 partitions. You can override this number by defining a num-partitions attri-
bute on <ora-table-hash-partitioning>.
Note: PolicyCenter creates partitions only when creating a table or index. PolicyCenter does not modify
existing tables or indexes. If a table is dropped and rebuilt during an upgrade, PolicyCenter partitions the
table if the table is configured to be partitioned. The schema verifier detects and flags if a table is config-
ured as partitioned but is not, or if it is not configured as partitioned but is partitioned.

Configuring Index Partitioning for Oracle


Index partitioning can improve performance of queries in large tables. You can use the DDL configuration
element <ora-index-partitioning> in database-config.xml to specify Oracle index partitioning.
The <ora-index-partitioning> XML element is a subelement of <ora-index-ddl>, which is itself a subele-
ment of <ora-table-ddl>. For example:
<database name="PolicyCenterDatabase" dbtype="oracle">
...
<upgrade>
...
<ora-db-ddl>
<ora-table-ddl name="Table Name">
<ora-index-ddl key-columns="column1,column2,...">
<ora-index-partitioning
partitioning-type="LOCAL|HASH|RANGE"
// The next two elements apply only to the RANGE partitioning type.
range-partitioning-column-list="column1,column2,...">
<ora-index-range-partition value-list=
"number1|’string1’,number2|’string2’,..."/>
<ora-index-range-partition value-list=
"number1a|’string1a’,number2a|’string2a’,..."/>
...
</ora-index-partitioning
</ora-index-ddl>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
• The attribute partitioning-type is required. This attribute can take the values LOCAL, HASH, or RANGE.
• LOCAL – The attribute partitioning-type is the only attribute allowed, and the index will be partitioned
as the table is partitioned.
• HASH – The index will be globally hash-partitioned on the leading key of the index by using the number of
partitions specified or the default number 128.

38 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

• RANGE – The index will be range-partitioned by using the range-partitioning-column-list columns


and the values specified in the ora-index-range-partition elements under this element.
The range-partitioning-column-list element takes a comma-delimited list of columns to use for
range-partitioning this index. This element requires the definition of one or more
ora-index-range-partition elements.
The ora-index-range-partition defines the value range for each partition in value-list. It defines a
comma-delimited, ordered list of literal values corresponding to the column list defined in
range-partitioning-column-list. Any single String value must be inside single quotation marks. The
entire list of values must be surrounded by double quotation marks. The values defined are used in the
SQL clause VALUES LESS THAN(value_list). Do not specify the last range, which will always be VALUES
LESS THAN (MAXVALUE[, MAXVALUE, ...]).

Note: PolicyCenter does not support indexes that are range-partitioned on a date column.
For example, the following database block defines an index range partitioning that uses five partitions and two
column values per partition. The final partition, created automatically by PolicyCenter, uses the following values
for the two columns defined in range-partitioning-column-list:
• ADDRESSBOOKUID – At least 'ab:830' and less than MAXVALUE
• RETIRED – At least 0 and less than MAXVALUE
<database name="pcDatabase" dbtype="oracle">
...
<upgrade degree-parallel-ddl="1" verifyschema="true">
<ora-db-ddl>
<tablespaces admin="pc_ADMIN" index="pc_INDEX" op="pc_OP"
staging="pc_STAGING" typelist="pc_TYPELIST"/>
<ora-table-ddl table-name="pc_CLAIM">
<ora-index-ddl key-columns="ADDRESSBOOKUID, RETIRED, SUBTYPE, ID">
<ora-index-partitioning partitioning-type="RANGE"
range-partitioning-column-list="ADDRESSBOOKUID, RETIRED">
<ora-index-range-partition value-list="'ab:20', 0"/>
<ora-index-range-partition value-list="'ab:40', 0"/>
<ora-index-range-partition value-list="'ab:60', 0"/>
<ora-index-range-partition value-list="'ab:830', 0"/>
</ora-index-partitioning>
</ora-index-ddl>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>

Configuring Oracle Date Interval Partitioning


You can configure PolicyCenter to use Oracle partitioning by date intervals.
To configure date interval partitioning on a table, add an <ora-table-date-interval-partitioning> element
within <ora-table-ddl>. The <ora-table-ddl> element is a subelement of <ora-table-ddl> in the
<database> element of database-config.xml. The <ora-table-date-interval-partitioning> element has
two attributes. Use the datecolumn attribute to specify a non-nullable timestamp column that PolicyCenter will
use to determine partition boundaries. Use the interval attribute to specify the period of time for each partition.
You can set interval to DAILY, WEEKLY, MONTHLY, QUARTERLY, or YEARLY. For example:
<database>
...
<ora-db-ddl>
<ora-table-ddl table-name="pc_table">
<ora-table-date-interval-partitioning datecolumn="updateTime" interval="MONTHLY">
</ora-table-ddl>
</ora-db-ddl>
</database>

PolicyCenter stores partitioned data in the operational tablespace.

Configuring the Database Server for Guidewire Applications 39


PolicyCenter 9.0.0 Installation Guide

Configuring Oracle Adaptive Optimization for PolicyCenter


Oracle 12c introduced a feature called adaptive optimization. Guidewire has conducted performance testing of
PolicyCenter with adaptive optimization enabled and has not observed significant performance improvement. If
you are upgrading from PolicyCenter 7 and notice any of the following regressions in your upgraded environ-
ment, you might want to disable adaptive optimization for PolicyCenter:
• long SQL parsing time
• very high number of SQL child cursors
• unexpected execution plans due to adaptive optimization
Although you can completely disable adaptive optimization at the database level, this might impact your integra-
tions and non-Guidewire schemas. So Guidewire provides a configuration option to control adaptive optimiza-
tion for PolicyCenter only.
You can disable adaptive optimization for PolicyCenter by configuring the adaptive-optimization attribute of
the <oracle-settings> element. Or you can set adaptive optimization for PolicyCenter to reporting-only mode.
In reporting-only mode, Oracle collects information required for adaptive optimization, but does not modify the
plan. You can view this information in the adaptive plan report.
You can set adaptive-optimization to the following values:
• REPORTING_ONLY – PolicyCenter sets both OPTIMIZER_ADAPTIVE_FEATURES and
OPTIMIZER_ADAPTIVE_REPORTING_ONLY to TRUE every time it initializes a connection.
• OFF – PolicyCenter sets both OPTIMIZER_ADAPTIVE_FEATURES and OPTIMIZER_ADAPTIVE_REPORTING_ONLY to
FALSE every time it initializes a connection.
For example:
<database>
...
<oracle-settings adaptive-optimization="OFF" />
...
</database>

If you do not specify a value for adaptive-optimization, PolicyCenter does not set the
OPTIMIZER_ADAPTIVE_FEATURES and OPTIMIZER_ADAPTIVE_REPORTING_ONLY Oracle parameters.

Disabling Oracle Automatic Generation of Database Statistics


Do not generate PolicyCenter database statistics from the database management system using Oracle automatic
statistics generation functionality. Use of this Oracle functionality can potentially create statistics that cause
PolicyCenter to select a bad plan for execution of SQL queries.
To disable the automatic generation of database statistics using Oracle, do one of the following:
• Disable the Oracle AutoTask “auto optimizer stats collection” automated task.
• Set the AUTOSTATS_TARGET preference to ORACLE. This action ensures that the automated task gathers
statistics for the Oracle Dictionary only.
These same issues can occur if you manually execute Oracle dbms_stats as well. Therefore, always use
PolicyCenter to generate database statistics, rather than using the statistics generation provided with Oracle.

See also
• “Database Statistics Generation for Oracle Databases” on page 220 in the System Administration Guide
• “Disable Sequence for Oracle Automatic Database Statistics Generation” on page 220 in the System
Administration Guide

40 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

Configuring SQL Server for PolicyCenter


Guidewire recommends that you implement the guidelines in this topic as you install and configure the SQL
Server database server to work with PolicyCenter.
Guidewire does not support Windows Integrated Security as an option while connecting to SQL Server.
See the Guidewire Platform Support Matrix for information about which specific SQL Server versions
Guidewire supports for PolicyCenter 9.0.0. The Guidewire Platform Support Matrix is available from the
Guidewire Resource Portal at https://guidewire.custhelp.com/app/resources/products/platform.
This topic includes:
• “Prerequisites to Installing on SQL Server” on page 41
• “Installing PolicyCenter on SQL Server” on page 42
• “Configuring SQL Server in Management Studio” on page 42
• “Creating a PolicyCenter Database in SQL Server” on page 42
• “Configuring Index Partitioning for SQL Server” on page 45
• “Final SQL Server Tests” on page 45

Prerequisites to Installing on SQL Server


Create a separate database for each Guidewire application. Sharing a database can result in naming conflicts for
primary key constraints and indexes.
PolicyCenter requires that the collation of the SQL Server database specifies CI, or case-insensitive. The
case-sensitivity setting affects table and column names, and PolicyCenter requires these names to be case-insen-
sitive. During startup, PolicyCenter checks that the SQL Server database is case-insensitive.
Decide whether to store all character data in single-byte format in varchar columns, or Unicode multi-byte
format stored in nvarchar columns. If using Unicode, such as for Japanese or Chinese, then the
<sqlserver-settings> subelement of the <database> element in database-config.xml must have the
unicodecolumns attribute set to true. Then, when the database tables are created the first time the application
server is started, all character columns are created with the nvarchar datatype.
The collation setting specifies sorting and comparison rules, and also the code page to use for single-byte data.
Microsoft still supports SQL Server collations (that start with SQL_) in addition to Windows collations, but
recommends using a Windows collation. Guidewire also recommends that you use a Windows collation. Choose
the collation setting carefully. Refer to Collation and International Terminology at:
http://msdn.microsoft.com/en-us/library/ms143726.aspx

for a full discussion. The version of Windows being used for the database and application server is a factor. Some
newer collations, such as Japanese_Bushu_Kakusu_100, are only available on Windows 2007 or later and not on
Windows 2003.
Creating a SQL Server database with files of sufficient size and parameters is important to future performance
and maintenance. A basic discussion can be found online in a Microsoft SQL Server topic “Designing Data-
bases” at:
http://msdn.microsoft.com/en-us/library/ms187099.aspx?ppud=4

For production systems Guidewire strongly recommends that you pre-allocate disk space rather than using the
SQL Server autogrowth feature. As a general guideline, estimate how big your database might grow in one year
and add 20%. Then, allocate enough total file space for this size. Monitor the size of the database and add space
during scheduled periods of lower activity. Set the maximum file size to be less than the size of the disk, so that
the disk does not fill up.
For your production database, work with your SAN (Storage Area Network) engineers early in implementation
to deliver production-realistic performance.

Configuring the Database Server for Guidewire Applications 41


PolicyCenter 9.0.0 Installation Guide

Guidewire recommends that you not share the SQL Server instance on which you are running PolicyCenter with
other data or applications.

Installing PolicyCenter on SQL Server


1. Configure SQL Server. See “Configuring SQL Server in Management Studio” on page 42.

2. Create a database for PolicyCenter. See “Creating a PolicyCenter Database in SQL Server” on page 42.

3. Modify the database-config.xml file so that the application correctly points to the database. See
“Deploying PolicyCenter to the Application Server” on page 81.
4. Restart the application server and test by opening PolicyCenter in a browser window.

Configuring SQL Server in Management Studio

To configure SQL Server to support PolicyCenter


1. Open SQL Server Management Studio.

2. In the Object Explorer, right-click the server node you plan to use for PolicyCenter and choose Properties. Typi-
cally, the node is the same as computer name.
The Server Properties dialog opens.
3. Select the Security page and check SQL Server and Windows Authentication Mode.

WARNING PolicyCenter does not run if authentication is set to Windows Authentication Mode only.

4. Select the Memory page.

5. Adjust the Maximum Server Memory to use at least 200 MB.

6. With a dedicated host computer running SQL Server, Microsoft recommends that you use the default settings
and have SQL Server manage memory. Consult the Microsoft documentation (http://
msdn2.microsoft.com/en-us/library/ms178067(d=ide).aspx) for an in-depth discussion of memory
options. Setting the maximum server memory to a particular value can cause performance problems.
7. Click OK to close the dialog.

8. Right-click the SQL Server Agent node and select Properties.

9. Select the General page.

10. Check Autostart SQL Server if it stops unexpectedly.

11. Click OK to close the dialog.

Creating a PolicyCenter Database in SQL Server


Guidewire requires that you follow these guidelines to create and configure an instance of a SQL Server database
for PolicyCenter.

IMPORTANT If you plan to create additional database instances to support multiple PolicyCenter
environments or other Guidewire products, consider applying the changes in the following procedure
to the model database. Use the model database as a template for the additional database instances.
Before you edit the model database, create a backup.

42 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

To create and configure a SQL Server instance for PolicyCenter


1. If you have not already done so, open SQL Server Management Studio. If you are creating a new database,
proceed to step 2.
If you are modifying the model database, expand Databases → System Databases, right-click model and select Prop-
erties, and skip to step 4.

2. Right-click the Databases node and select New Database. Or, your company’s database administrator can write a
CREATE DATABASE SQL statement to create the database.
Guidewire recommends that you not share the PolicyCenter database with other applications.
3. Enter a database name in the New Database dialog and click OK.

4. Optionally, create one or more filegroups to support the PolicyCenter logical tablespaces from the Filegroups
page. If you choose to use filegroups, create a separate filegroup for each logical tablespace:

Logical Name Usage

ADMIN Stores system parameters.


OP Stores the main PolicyCenter data tables.
TYPELIST Stores system code tables.
INDEX Stores system indexes.
STAGING Stores inbound staging data tables.
LOB Stores off-row LOB (large object) data. The LOB filegroup is optional. If you do not specify a filegroup
for the LOB logical tablespace, then LOB data is stored in the filegroup mapped to the OP logical
tablespace.
PolicyCenter uses the LOB filegroup for new tables only. For an existing configuration in which the
PolicyCenter schema has been created, if you designate an LOB filegroup, PolicyCenter does not
move existing LOB columns to the LOB filegroup. If you add an LOB column to an existing table,
PolicyCenter does not put the column in the LOB filegroup. If you define a new table with LOB data,
PolicyCenter stores the LOB data in the designated LOB filegroup.

With one exception, you can name the filegroups anything you like: either the same as the logical tablespace
names or entirely different. INDEX is a reserved name on SQL Server, so you can not map the logical
tablespace INDEX to a physical filegroup of the same name.
As you configure the PolicyCenter database connection, you can map the filegroups you created to the
PolicyCenter internal logical tablespaces. See “Specifying Filegroups for SQL Server” on page 67.
5. Select the Options page.

6. Choose your database collation if not using the SQL Server server default. The only requirement is that it is a
CI (case-insensitive) collation.
7. Validate that Auto Create Statistics and Auto Update Statistics are both set to True. During startup,
PolicyCenter checks that these properties are set to True and validates that the SQL Server database is
case-insensitive.
8. Validate that Auto Shrink is set to False. If set to True, poor performance can result.

9. Click OK.

10. Right-click Security and select New → Login.

11. On the Login - New dialog, select SQL Server Authentication if not already selected.

12. Specify a password and password policy options.

13. Click OK.

14. In Object Explorer, expand the database and open Security → Users.

Configuring the Database Server for Guidewire Applications 43


PolicyCenter 9.0.0 Installation Guide

15. Right-click Users and select New User.

16. Enter pcUser for the User name.

17. Enter the Login name that you created earlier.

18. Grant pcUser ownership of the PolicyCenter database by selecting db_owner in both Schemes owned by this user
and Database role membership panels.
19. Click OK.

20. PolicyCenter supports several different data management pages for performance analysis of the application.
To use these pages, the pcUser must be granted view server state and view database state on each
PolicyCenter data management view. The data management views all start with sys.dm_ prefix.
a. Right-click the database and select Properties.

b. Select the Permissions page.

c. Select pcUser.

d. Select the checkbox to grant view database state permission.

e. Click OK.

f. Right-click the server and select Properties.

g. Select the Permissions page.

h. Select the login associated with pcUser.

i. Select the checkbox to grant view server state permission.

j. Select the checkbox to grant create any database permission. This permission allows the gwb dropDb
command to recreate the database.
k. Click OK.

21. Guidewire recommends that you do not use the SQL Server autogrowth feature in a production system.
Instead, monitor the size of your database and increase the size of the database files as needed during periods
of lower activity. SQL Server enables the autogrowth feature by default.
To disable autogrowth

a. Right-click the database and select Properties.

b. Select the Files page.

c. For each database file, click the … button in the Autogrowth column.

d. Click the checkbox for Enable Autogrowth to deselect it.

e. Click OK.

f. Repeat step b through step e for each database file.

g. Click OK on the Database Properties screen.

22. PolicyCenter requires that the READ_COMMITTED_SNAPSHOT option is on.


To set this parameter

a. Click New Query.

b. In the query pane, enter:


ALTER DATABASE dbname
SET READ_COMMITTED_SNAPSHOT ON
WITH ROLLBACK IMMEDIATE
GO

44 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

c. Click Execute. SQL Server Management Studio informs you that the command completed successfully.
During startup, PolicyCenter checks that the READ_COMMITTED_SNAPSHOT option is on.

IMPORTANT The use of READ_COMMITTED_SNAPSHOT greatly increases resource requirements on the


tempdb database. Set tempdb to grow in 10% increments, and provide sufficient disk space for tempdb
to grow substantially. Performance can be improved if you dedicate separate I/O resources to tempdb.

23. Close SQL Server Management Studio. You do not need to save the READ_COMMITTED_SNAPSHOT query.

Configuring Index Partitioning for SQL Server


Index partitioning can improve performance of queries in large tables. The partition-scheme attribute of the
<mssql-index-ddl> element defines the partition scheme to use for the index. For example:
<database name="PolicyCenterDatabase" dbtype="oracle">
...
<upgrade>
...
<mssql-db-ddl>
<mssql-table-ddl name="Table Name">
<mssql-index-ddl partition-scheme="partition scheme" />
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

Define the partition scheme before starting PolicyCenter with the partition scheme attribute set. The referenced
partition scheme in the configuration must exist, or PolicyCenter reports a configuration error during startup.
When a SQL Server index is partitioned, that index is the clustering index for the table. Without a partition
scheme defined, the clustering index for a PolicyCenter table is the primary key index.
The partition scheme is treated as a filegroup during index creation, and the SQL Server data space system
catalog reports it almost the same as a filegroup.
The PolicyCenter database schema verifier checks that an index and the associated table are stored in the parti-
tion scheme configured in database-config.xml.
Refer to Microsoft documentation for information about how to create SQL Server partition schemes.

Final SQL Server Tests


Before continuing with other installation tasks, perform the following tests on your SQL Server installation:
• Check that your SQL Server environment is correct.
• Test that you can connect to the database using the pcUser credentials.
• Ensure that SQL Server starts automatically as the server starts.
• To test if your database is starting automatically, reboot your server and attempt to access the database from a
client.

Development Workstation Requirements


Each developer workstation is a contained environment that includes your company’s Guidewire applications
and the components needed to configure it. Guidewire recommends that the development workstation and envi-
ronment meet requirements beyond end-user workstations.
Guidewire recommends high-performance I/O systems for development, such as RAID-0 and SCSI or SSD
disks. Studio is a high I/O application. Installation of software that slows the I/O system, such as encryption or
continuous virus scans, can handicap development productivity.

Development Workstation Requirements 45


PolicyCenter 9.0.0 Installation Guide

See the Guidewire Platform Support Matrix for development workstation system requirements for PolicyCenter
9.0.0. The Guidewire Platform Support Matrix is available from the Guidewire Resource Portal at https://
guidewire.custhelp.com/app/resources/products/platform.

Web Client Information


PolicyCenter is a web application accessed through a web browser.
Note: See the Guidewire Platform Support Matrix for client system requirements for PolicyCenter 9.0.0.
The Guidewire Platform Support Matrix is available from the Guidewire Resource Portal at https://
guidewire.custhelp.com/app/resources/products/platform.

This topic includes:


• “Levels of Guidewire Support for Web Browsers” on page 46
• “Enabling DOM Storage” on page 46

Levels of Guidewire Support for Web Browsers


Guidewire has graded levels of support for web browsers. The grades of support are:
• Full – Guidewire successfully completed functional testing and performance tuning for the browser and fully
supports it.
• Partial – Guidewire completed some testing for the browser and found significant functional or performance
issues that Guidewire could not resolve. The browser might have a known issue that the browser vendor has
not committed to resolving. Browsers with partial support also include browsers that have not yet made it past
quality assurance but that Guidewire determines might be fine to use. For example, a newer version of a fully
supported browser could be partially supported until Guidewire can fully test the new version. The partial
support grade functions largely as a staging area while Guidewire verifies all facets of support.
• Unsupported – These are browsers that have significant functional or performance issues. Any browser that
does not fully support HTML5 and CSS3 is unsupported by Guidewire. Other less commonly used browsers,
such as Opera or Dolphin, could be unsupported because Guidewire has not tested them due to a lack of
demand. The unsupported grade functions as a collection of browsers that are unlikely to get any support in
the medium to long term.

Enabling DOM Storage


To preserve PolicyCenter user preferences between browser sessions, DOM storage must be enabled in Internet
Explorer. DOM storage is enabled by default.
Note: If DOM storage is disabled, after you log in, PolicyCenter displays a message:
Browser DOM Storage disabled: User preferences will not be persistent after page refresh in this browser version.

To enable DOM storage


1. In Internet Explorer, press Alt to open the menu.

2. Click Tools →Internet options.

3. Click Advanced.

4. Under Security, select the Enable DOM Storage check box.

5. Click OK.

46 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

Installing Java
The PolicyCenter application server and Guidewire Studio require a JVM (Java Virtual Machine).
This topic includes:
• “Supported Java Version” on page 47
• “The Dynamic Code Evolution Virtual Machine” on page 47

Supported Java Version


The version of the JVM depends on the servlet container and operating system on which the application server
runs. See the Guidewire Platform Support Matrix for specific version requirements. The Guidewire Platform
Support Matrix is available from the Guidewire Resource Portal at https://guidewire.custhelp.com/app/
resources/products/platform.

IMPORTANT Production environments must use a 64-bit operating system and 64-bit JVM.

To use a 64-bit Oracle JDK for development, add the startup parameter -XX:+UseCompressedOops to the JVM.
By default, Oracle JVMs provide both a client and a server mode. Guidewire supports only the server mode as it
yields much higher performance. How you set server mode depends on your application server.
• If using Oracle JVM with Tomcat, then add the -server flag to CATALINA_OPTS.
• If using Oracle JVM with WebLogic, then add the -server flag as an argument while launching the
WebLogic start script.
• If using the IBM JVM with WebSphere, the server mode is enabled by default. You probably do not need to
change any settings.
Refer to http://www.oracle.com/technetwork/java/javase/downloads/index.html for information on
downloading the JDK.

The Dynamic Code Evolution Virtual Machine


The Dynamic Code Evolution Virtual Machine (DCE VM) is a modified version of the Java HotSpot Virtual
Machine (VM). The DCE VM supports any redefinition of loaded classes at runtime. You can add and remove
fields and methods and make changes to the super types of a class using the DCE VM. The DCE VM is an
improvement to the HotSpot VM, which only supports updates to method bodies.
Guidewire strongly recommends the use of the DCE VM for development in the QuickStart environment.
Guidewire does not support the DCE VM for other application servers or in a production environment. Perfor-
mance of the Java Virtual Machine (JVM) might be impacted by the addition of the DCE VM.
The DCE VM is packaged as an executable JAR file. You can download the DCE VM JAR file and find instruc-
tions to install it at:
https://guidewire.hivelive.com/hives/7a7bd9d656/summary

Verifying the JVM is Not Running


Shut down any applications or processes that might be using the JVM before you run the DCE VM installer.
Ensure that there are no java.exe processes running.
1. On Windows, press Ctrl+Alt+Delete.

2. Click Start Task Manager.

3. Click the Processes tab.

Installing Java 47
PolicyCenter 9.0.0 Installation Guide

4. Check that java.exe is not listed. If it is, close any programs that might be using the JVM.

Installing the DCE VM

1. Download the DCE VM installer.

2. Click Windows button.

3. In the text box, type cmd but do not press Enter.

4. Right-click cmd.exe and click Run as administrator.

5. In the command window, navigate to the directory where you downloaded the DCE VM installer.

6. Enter the following command:


java -jar dcevm-installer.jar

7. On the installer window, specify the JDK that you are using for development of PolicyCenter.

8. Click Install. The installer replaces %JAVA_HOME%/jre/bin/client/jvm.dll and %JAVA_HOME%/jre/bin/


server/jvm.dll. The installer creates copies of the original jvm.dll files and names these files
jvm.dll.backup. The installer also adds dcevm.jar to %JAVA_HOME%/jre/lib/ext.
Once you have installed the DCE VM, you can confirm the installation by running the java -version
command. The output from the java -version command lists the Java HotSpot 64-bit Server VM after the Java
version information.

See also
• “Studio and the DCEVM” on page 94 in the Configuration Guide
• http://java.net/projects/dcevm/

Setting Environment Variables


After you install Java and Ant, set environment variables so that PolicyCenter can locate them. You might also
need to set an environment variable for your application server.
Make these environment variables available in the user environment in which you plan to run PolicyCenter. The
following table lists the variables to set for the different systems:

System Variable Example Values and Notes

Application server (all) JAVA_HOME C:\Program Files\Java\jdk1.7.0_17


The Java installer sets JAVA_HOME automatically, but Guidewire recom-
mends that you verify that it is set correctly.

48 Chapter 2: Preparing a PolicyCenter Environment


PolicyCenter 9.0.0 Installation Guide

System Variable Example Values and Notes

Application server (Tomcat) CATALINA_OPTS Specifies the minimum and maximum memory used by Tomcat. For
example, the following value for CATALINA_OPTS would set direct JVM
memory allocations to 1024 MB (initially) and 1024 MB (maximum), and
would allocate 128 MB of background processing memory:
-server -Xms1024M -Xmx1024M -XX:PermSize=128m
-XX:MaxPermSize=128M
Make your maximum JVM memory allocation (the –Xmx setting) the maxi-
mum likely available memory on the server. Guidewire tests have shown
that performance of garbage collections are best if the -Xms and -Xmx are
set to the same value. See “Operating System Limits on Heap Size” on
page 20 for a detailed discussion.
For more information on configuration options, run the following command
to view the built-in help for Java command line options:
java –X
Development environment, JAVA_HOME C:\Program Files\Java\jdk1.7.0_17
administration tools ANT_HOME C:\ant
Add Ant to Path C:\ant\bin

Before Continuing
Check that you established your environment correctly. Open a new command prompt and display your environ-
ment variables to check them.

Documenting Your Environment


After establishing your environment, take some time to document it in preparation for installing PolicyCenter.
Enter your configuration values in the following tables:

Database Configuration Value

Database Name
Server Name
Database server port
PolicyCenter database user name
Cache size
Block size

Application Server Environment Variables Value

The user name application runs under


ANT_HOME

JAVA_HOME
CATALINA_HOME

CATALINA_OPTS

Documenting Your Environment 49


PolicyCenter 9.0.0 Installation Guide

50 Chapter 2: Preparing a PolicyCenter Environment


chapter 3

Installing a PolicyCenter Development


Environment

The development environment enables you to customize PolicyCenter and rapidly view and test your customiza-
tions. Do not use a development environment for production.

IMPORTANT This topic only provides information for installing a PolicyCenter development environ-
ment. To install a production environment, first review “Preparing a PolicyCenter Environment” on
page 15 and then proceed to “Installing a PolicyCenter Production Environment” on page 63.

This topic includes:


• “Overview of Development Environment Options” on page 51
• “Using Multiple PolicyCenter Development Instances” on page 52
• “Installing the QuickStart Development Environment” on page 52
• “Installing a Tomcat Development Environment” on page 55
• “Using the QuickStart Database” on page 57
• “Using SQL Server or Oracle in a Development Environment” on page 58
• “Archiving in a Development Environment” on page 59
• “Enabling Reinsurance Management or Disabling Work Queue” on page 59
• “Installing Sample Data” on page 60

Overview of Development Environment Options


PolicyCenter supports a variety of development environment options depending on your business needs. You
can:
• Perform development work using the default bundled QuickStart application server. To deploy a QuickStart
development environment, see “Installing the QuickStart Development Environment” on page 52.

Installing a PolicyCenter Development Environment 51


PolicyCenter 9.0.0 Installation Guide

• Configure Tomcat to automatically load configuration changes that you make in Guidewire Studio. For
instructions, see “Installing a Tomcat Development Environment” on page 55.
• Work on the local configuration files, repackage the configured application into a WAR or EAR file, and
deploy it to a local or remote application server. Because you must repackage and redeploy a WAR or EAR
file after making configuration changes, Guidewire does not recommend this approach for a development
environment. See:
• “Installing a JBoss Production Environment” on page 81
• “Installing a WebSphere Production Environment” on page 84
• “Installing a WebLogic Production Environment” on page 83
Use the QuickStart method if you want to quickly install a development or demonstration PolicyCenter environ-
ment using the fewest steps.

Using Multiple PolicyCenter Development Instances


Occasionally, a developer might want to connect from one machine to multiple PolicyCenter instances running
on the same physical or virtual server. In this case, the port number differs for each instance, but the IP address
and domain name are the same between the two application instances.
Most containers hold the session ID in a cookie. The container gives the cookie a default name and associates the
cookie with a host name or IP address and a path. If you run multiple application servers for the same applica-
tion, each one generates a session cookie with the same host name and path. The session cookie does not include
the port number. Therefore, if you log into one application instance, the browser ends the session with any other
application servers having the same host and path, even if port numbers differ.
Note: This is not an issue if you run two different Guidewire applications on a single machine. The two
different applications run under different webapp paths.
To work around this issue, open the application instance sessions using different paths. For example, use the fully
qualified domain machine name for one application server and localhost for the second application server. The
browser does not associate the same cookie with an IP address and with a machine name.

Installing the QuickStart Development Environment


This topic describes using the PolicyCenter QuickStart development environment. The QuickStart method uses a
bundled and lightweight application server and database that are suitable for development and demonstration
purposes. Guidewire does not support the QuickStart method for a production environment.
This topic includes:
• “Advantages to Using the QuickStart Software” on page 52
• “QuickStart Development Environment Prerequisites” on page 53
• “Installing with QuickStart” on page 53
• “QuickStart Commands” on page 54
• “QuickStart Application Server” on page 54
• “Troubleshooting QuickStart” on page 55

Advantages to Using the QuickStart Software


The bundled lightweight application server and database provided with PolicyCenter make it possible to accom-
plish more work with less effort and in less time. The following are some specific benefits to using the Quick-
Start configuration with Guidewire Studio as the IDE (Integrated Development Environment):

52 Chapter 3: Installing a PolicyCenter Development Environment


PolicyCenter 9.0.0 Installation Guide

• Install and run PolicyCenter rapidly without any configuration.


• Configure PolicyCenter without needing to repackage WAR or EAR files.
• Import sample data and create new data through the user interface.
• View and experiment with the default functionality of PolicyCenter.
• Make changes to PolicyCenter using Guidewire Studio.
• Make changes to the product model and view the output.
The QuickStart application server (Jetty) is a fully certified servlet container that starts faster than production
application servers. It also provides an instantaneous view of configuration changes. The QuickStart server uses
the PolicyCenter configuration files from the file system, rather than requiring a packaged WAR or EAR file.
Therefore, developers can configure PolicyCenter without needing to repackage the application.
Note: If you do not want to use the QuickStart application server for development, you can configure
Tomcat to point to the configuration resources being edited by Guidewire Studio. For instructions, consult
“Installing a Tomcat Development Environment” on page 55. If you decide to use Tomcat, you must deploy
a WAR file for production purposes.

QuickStart Development Environment Prerequisites


• Your environment must meet the minimum requirements for a development workstation. See the Guidewire
Platform Support Matrix for current system and patch level requirements. The Guidewire Platform Support
Matrix is available from the Guidewire Resource Portal at https://guidewire.custhelp.com/app/
resources/products/platform.
• PolicyCenter requires Java with the Dynamic Code Evolution Virtual Machine (DCE VM) and Ant. If you do
not install the DCE VM, you will not be able to see dynamic changes to Gosu code. See “Installing Java” on
page 47 for installation guidelines.

Installing with QuickStart


This topic includes a procedure to install PolicyCenter with the QuickStart application server.
PolicyCenter uses a QuickStart database by default. See “Using the QuickStart Database” on page 57. You can
configure a PolicyCenter development environment to use an Oracle or SQL Server database instead. See “Using
SQL Server or Oracle in a Development Environment” on page 58 for instructions.
For instructions to install a QuickStart ContactManager development environment, see “Installing
ContactManager with QuickStart for Development” on page 37 in the Contact Management Guide.

To install PolicyCenter with the bundled QuickStart application server


1. Create an installation directory for PolicyCenter. This guide uses PolicyCenter as the directory name. Do
not use spaces in the installation directory path. Studio will not run from a directory with a space in its name.
2. Extract the contents of the PolicyCenter Zip file into the PolicyCenter directory. See “PolicyCenter Config-
uration Files” on page 93 in the Configuration Guide for a list of how the files are organized.
Note: Using a third-party tool such as 7-Zip may perform better than using the built-in Windows decom-
pression utility.
3. Open a command prompt to the PolicyCenter directory.

4. If you are reinstalling PolicyCenter and using a QuickStart database, drop the QuickStart database by running
gwb dropDb.

Installing the QuickStart Development Environment 53


PolicyCenter 9.0.0 Installation Guide

5. PolicyCenter uses the QuickStart database by default. You can configure where PolicyCenter stores the
QuickStart database files. See “Using the QuickStart Database” on page 57. If you want to use an Oracle or
SQL Server database in your development environment, see “Using SQL Server or Oracle in a Development
Environment” on page 58. Then continue with this procedure after you have created the database account and
configured PolicyCenter to connect to the database.
6. Start the QuickStart server with the following command:
gwb runServer
When the server has started, you see: *****PolicyCenter ready***** in the command window.
7. Open a browser and navigate to http://localhost:8180/pc and login with the default superuser.
• User name is su.
• Password is gw.

See also
• “Using the QuickStart Database” on page 57
• “Using SQL Server or Oracle in a Development Environment” on page 58
• “Enabling Reinsurance Management or Disabling Work Queue” on page 59
• “Installing Sample Data” on page 60
• “Application Logging” on page 21 in the System Administration Guide
• To integrate PolicyCenter with ContactManager, see “Integrating ContactManager with Guidewire Core
Applications” on page 43 in the Contact Management Guide.

QuickStart Commands
You launch many PolicyCenter commands by passing arguments to the gwb command, located in the
PolicyCenter installation directory. For a complete list of gwb commands, see “Command Reference” on
page 119.

QuickStart Application Server


The QuickStart application server is Jetty, a Java-based HTTP Server and Servlet Container. Jetty was released as
an open source project under the Apache 2.0 License and is fully-featured. Refer to http://jetty.mortbay.com
for details. The QuickStart application server is suitable for demonstration and development environments. The
QuickStart application server is not suitable nor supported for production environments.
PolicyCenter on the QuickStart server always runs in development mode. You cannot run PolicyCenter on the
QuickStart server in production mode.

See also
• “Server Modes” on page 48 in the System Administration Guide

Configuring QuickStart Ports


The PolicyCenter/modules/configuration/etc/jetty.properties file lists the ports used by the QuickStart
server. You can specify the port on which the server listens, a debug port, and the port to use to stop the server.
The PolicyCenter QuickStart application server listens on port 8180 by default.

IMPORTANT You cannot assign a port number between 8800 and 8900 to the QuickStart server.

54 Chapter 3: Installing a PolicyCenter Development Environment


PolicyCenter 9.0.0 Installation Guide

Troubleshooting QuickStart
If you have problems with QuickStart, consider the following:
Issue: You are unable to upgrade or to see changes after changing database tables.

Solution: First try restarting the server. If that does not work, then drop the database. If the server is running, then
stop the server by opening a command prompt, navigating to the PolicyCenter installation directory and
entering the following command:
gwb stopServer

Then, drop the database with the command gwb dropDb.

Issue: You experience port conflicts.

Solution: The QuickStart server listens on a default server port. The default server port might already be in use by
your organization. Consult with your IT department to verify which ports to use.

See also
“Configuring QuickStart Ports” on page 54

Installing a Tomcat Development Environment


Although the QuickStart Jetty application server is suitable for most development needs, some organizations
prefer to use Tomcat in their development environment. The following procedure enables you to create a
PolicyCenter development environment on Tomcat in which you can make configuration changes without having
to repackage the application.
To configure a Tomcat ContactManager development environment, see “Installing ContactManager with Tomcat
and SQL Server for Development” on page 39 in the Contact Management Guide.
Guidewire provides testing APIs in JAR files with names ending in -gunit.jar for use during configuration and
development. These APIs are only available when the application is running in development mode, or from
within Guidewire Studio. When WAR or EAR files are built, the testing API JAR files are excluded. If your
deployed code makes calls to any testing APIs, it causes ClassNotFoundExceptions and other problems and
prevents the application from running properly.

See also
• “Using Multiple PolicyCenter Development Instances” on page 52

Tomcat Development Environment Prerequisites


• Your environment must meet the minimum requirements for a development workstation. See the Guidewire
Platform Support Matrix for current system and patch level requirements. The Guidewire Platform Support
Matrix is available from the Guidewire Resource Portal at https://guidewire.custhelp.com/app/
resources/products/platform. Also see “Development Workstation Requirements” on page 45.
• PolicyCenter requires Java. See “Installing Java” on page 47 for installation guidelines.
• Do not include spaces in the path to your Tomcat installation.

Building a PolicyCenter Development Environment with Tomcat


The following procedures install a PolicyCenter development environment on Tomcat. If you want to set up a
production environment on Tomcat, see “Installing a Tomcat Production Environment” on page 82.
• “Creating and Deploying the PolicyCenter WAR file for Tomcat” on page 56
• “Testing the PolicyCenter Development Environment on Tomcat” on page 56

Installing a Tomcat Development Environment 55


PolicyCenter 9.0.0 Installation Guide

Creating and Deploying the PolicyCenter WAR file for Tomcat

To create and deploy the PolicyCenter WAR file


1. If you have not already done so, create an installation directory for PolicyCenter. This guide uses
PolicyCenter as the directory name.
2. Extract the contents of the PolicyCenter Zip file into the PolicyCenter installation directory.

Note: Using a third-party tool such as 7-Zip may perform better than using the built-in Windows decom-
pression utility.
3. If you are not using a version control system, make a read-only copy of the PolicyCenter directory. This
enables you to recover quickly from accidental changes that can prevent PolicyCenter from starting.
4. Create or modify the CATALINA_OPTS environment variable to include the following:
-Xms1024m -Xmx1024m -XX:MaxPermSize=128m -Dgw.server.mode=dev

5. Open a command prompt to the PolicyCenter installation directory.

6. If you are reinstalling PolicyCenter and using the QuickStart database, drop the database by running the gwb
dropDb command.
7. PolicyCenter uses the QuickStart database by default. You can configure where PolicyCenter stores the
QuickStart database files. See “Using the QuickStart Database” on page 57. If you want to use an Oracle or
SQL Server database in your development environment, see “Using SQL Server or Oracle in a Development
Environment” on page 58. Then continue with this procedure after you have created the database account and
configured PolicyCenter to connect to the database.
8. Run the following command:
gwb warTomcatDbcp
The gwb warTomcatDbcp command creates a pc.war file including JDBC drivers and places the WAR file in
the PolicyCenter\dist\war directory.
9. Deploy the package to Tomcat by copying the pc.war file to the webapps directory in your Tomcat server.

10. Use the Tomcat bin\startup.bat command to start Tomcat and allow it to explode the WAR file.
When Tomcat starts, it automatically recognizes the new application and unpacks the pc.war into a directory
structure within webapps. For this example, Tomcat creates a webapps\pc directory. Each time you deploy a
new copy of a pc.war file, delete the existing pc directory structure before you start Tomcat.
11. Delete the Tomcat webapps\pc\modules\configuration directory.

12. Create a symbolic link from the deployed PolicyCenter application on Tomcat to the
PolicyCenter\modules\configuration directory of the original PolicyCenter installation location.
Windows 7 and Vista: Use the mklink command to create the link, as in the example below:
mklink /d C:\apache-tomcat-7.0.39\webapps\pc\modules\configuration
C:\PolicyCenter\modules\configuration
Windows XP: Use the Windows SysInternals program Junction.exe to create the symbolic link. The
Junction.exe program is available at:
http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

13. Restart the Tomcat server.

Testing the PolicyCenter Development Environment on Tomcat

To test the PolicyCenter development environment on Tomcat


1. If it is not already running, start the Tomcat server.

56 Chapter 3: Installing a PolicyCenter Development Environment


PolicyCenter 9.0.0 Installation Guide

2. Open a browser to the PolicyCenter development environment URL. For example:


http://localhost:8080/pc
The login page includes a User name field. You change the User name field in this procedure.
3. Launch Guidewire Studio by running the following command from the PolicyCenter installation directory:
gwb studio

4. In the Project window, navigate to configuration → config → Localizations.

5. Double-click the display_languageCode.properties file for the locale you are using.
For example, open display_en_US.properties.
6. Select the Web.Login.Username display key.

7. Change the value of the Web.Login.Username display key in an obvious manner. For example, add several ques-
tion marks.
8. Click the Save All icon to save your changes.

9. Log into PolicyCenter with the su account. At this point the User name field is unchanged.

10. Press ALT+SHIFT+T to open the Server Tools page.

11. Select Internal Tools.

12. Select Reload.

13. Click Reload PCF Files.

14. Click Log Out. PolicyCenter redirects you to the login page.

15. Check for your change to the User name field. If you properly set up your development environment, the field
now displays with the new name you set to the Web.Login.Username display key. You can revert this change once
you have confirmed the successful configuration of your development environment.
After installing a PolicyCenter development environment with Tomcat, see the following topics for procedures
you might want to use to set up your development environment:
• “Using the QuickStart Database” on page 57
• “Using SQL Server or Oracle in a Development Environment” on page 58
• “Archiving in a Development Environment” on page 59
• “Enabling Reinsurance Management or Disabling Work Queue” on page 59
• “Installing Sample Data” on page 60
• “Application Logging” on page 21 in the System Administration Guide
• To integrate PolicyCenter with ContactManager, see “Integrating ContactManager with Guidewire Core
Applications” on page 43 in the Contact Management Guide.

Using the QuickStart Database


The QuickStart database is the H2 Database Engine. Guidewire includes the QuickStart database for the conve-
nience of those who need a lightweight solution for demonstration and configuration purposes. By default,
PolicyCenter uses the QuickStart database.

Limitations to the QuickStart Database


While the QuickStart database is convenient, Guidewire does not support using it for production. The following
are limitations to using the QuickStart database:

Using the QuickStart Database 57


PolicyCenter 9.0.0 Installation Guide

• The QuickStart database only supports one connection at a time. Therefore, you cannot have the server
running and look at the schema at the same time.
• You cannot test your cluster against the QuickStart database.
• The QuickStart database does not support all upgrades. Guidewire does not test upgrades on the QuickStart
database other than the process of creating a database.
To drop your QuickStart database, open a command prompt in the PolicyCenter installation directory and enter
gwb dropDb.

Modifying the QuickStart Database File Location


Guidewire uses /tmp/guidewire as the database file location and pc as the file prefix in the default configura-
tion. You can modify the database file location and prefix.

To modify the database file location and prefix


1. In a command window, navigate to the PolicyCenter installation directory.

2. Launch Guidewire Studio using the following command:


gwb studio

3. In the Project window, expand configuration → config and open database-config.xml.

4. Modify the value set to the jdbc-url parameter. The /tmp/guidewire/ portion of jdbc-url sets the file loca-
tion. The value after the location sets the file prefix.
<!-- H2 (meant for dev/quickstart use only!) -->
<database name="PolicyCenterDatabase" dbtype="h2">
<dbcp-connection-pool jdbc-url="jdbc:h2:mem:/tmp/guidewire/pc"/>
</database>

5. Click File → Save All.

Additional Quickstart References


• For more information about the QuickStart database and tools that you can download to view your schema,
see http://www.h2database.com.
• For development environment information, see “The Guidewire Development Environment” on page 87 in
the Configuration Guide.

Using SQL Server or Oracle in a Development Environment


You can use Oracle or SQL Server with the QuickStart application server instead of the QuickStart database.
Such a configuration can be used as a development environment only. Guidewire does not support using the
Quickstart server for a production environment.
You can also use Oracle or SQL Server with the Tomcat application server instead of the QuickStart database.
Such a configuration can be used as a development or production environment.
For instructions on creating a SQL Server or Oracle database instance, consult “Configuring the Database Server
for Guidewire Applications” on page 27. For instructions on configuring PolicyCenter to connect to the database,
consult “Configuring a Database Connection” on page 64.

58 Chapter 3: Installing a PolicyCenter Development Environment


PolicyCenter 9.0.0 Installation Guide

Archiving in a Development Environment


If you plan to use archiving in your production environment, enable archiving in your development environment
so you can design and test your custom implementation.

Enabling Archiving
The default config.xml file has archiving disabled, as set in the following parameter:
<param name="ArchiveEnabled" value="false"/>

If you want to enable archiving, set the value of ArchiveEnabled to true.

IMPORTANT Guidewire strongly recommends that you contact Customer Support before imple-
menting archiving.

Disabling Archiving
Archiving relies on Archive Policy Term and Restore Policy Term batch processing. If you do not want to enable
archiving, Guidewire recommends that you disable Archive Policy Term and Restore Policy Term batch
processing.
1. In a command window, navigate to the PolicyCenter installation directory.

2. Launch Guidewire Studio by using the following command:


gwb studio

3. In the Project window, navigate to configuration → config → workqueue, and then open work-queue.xml.

4. Comment out the following block by adding <!-- before the block and --> after it:
<work-queue workQueueClass="com.guidewire.pc.domain.archive.ArchivePolicyTermWorkQueue"
progressinterval="600000">
<worker instances="10"/>
</work-queue>
<work-queue workQueueClass="com.guidewire.pc.domain.archive.RestorePolicyTermWorkQueue"
progressinterval="600000">
<worker instances="10"/>
</work-queue>

5. Save your changes.

See also
• “Archiving Overview” on page 549 in the Application Guide

Enabling Reinsurance Management or Disabling Work Queue


Guidewire Reinsurance Management is available within PolicyCenter. However, Reinsurance Management is
licensed separately from PolicyCenter. Contact your Guidewire sales representative for information on how to
obtain Reinsurance Management. Contact your Guidewire support representative for instructions on how to
enable Reinsurance Management.
See “Reinsurance Management Concepts” on page 643 in the Application Guide.
If you do not enable Reinsurance Management, Guidewire recommends that you disable RICedingWorkQueue.

To disable RICedingWorkQueue
1. In a command window, navigate to the PolicyCenter directory in the PolicyCenter installation.

Archiving in a Development Environment 59


PolicyCenter 9.0.0 Installation Guide

2. Launch Guidewire Studio using the following command:


gwb studio

3. In Studio, open workqueue → work-queue.xml.

4. Comment out the following block by adding <!-- before the block and --> after it.
<work-queue workQueueClass="com.guidewire.pc.domain.reinsurance.RICedingWorkQueue"
progressinterval="30000">
<worker instances="1"/>
</work-queue>

5. Save your changes.

Installing Sample Data


PolicyCenter includes sample data for use in training, configuration and testing. Guidewire strongly recommends
that you not load sample data into a production system.
The PolicyCenter server must be in development mode to load sample data. The QuickStart server is always in
development mode. If you are using a Tomcat server in your development environment, start the server in devel-
opment mode. See “Building a PolicyCenter Development Environment with Tomcat” on page 55.
If you have already loaded a sample data set, you must drop the database before you load a different sample data
set.

To install sample data


1. Log into PolicyCenter with the su account.

2. Press ALT+SHIFT+T to open the Server Tools page.

3. Click Internal Tools.

4. Click PC Sample Data in the menu on the left.

5. Click Load for one or more of the following.


• Tiny – Provides a small amount of data. Load the Tiny data set for unit tests.
• Free-text Search – A separate additional data set of accounts and policies for testing and demonstrating
Guidewire free-text search.
Guidewire recommends that you set up and enable free-text search before you load free-text sample data.
PolicyCenter indexes the sample data automatically if you load the data after you set up and enable
free-text search. If you load free-text sample data before you set up and enable free-text search, you then
must perform an extra step to index the sample data.
For more information, see “Free-text Search Configuration” on page 362 in the Configuration Guide.
• Small – Includes all of the Tiny set plus a few sample accounts and policies. Load the Small data set for local
configuration.
• Large – Includes all of the Small set plus a full set of data. Load the Large data set for demonstrations, man-
ual quality assurance, and performance testing.
• Product x Job Status – Additional data set containing policies for every product in every job status allowed
by GUnit entity builders.
PolicyCenter now contains some sample data.
6. To load sample data for the location search API used by the catastrophe search from ClaimCenter, click Load
catastrophe sample policies (commercial property).

60 Chapter 3: Installing a PolicyCenter Development Environment


PolicyCenter 9.0.0 Installation Guide

To demonstrate the difference in rate calculation between written date and effective date, sample data for all
states beginning with the letter "N" are configured to use written date. Rates for those states are chosen based on
the current date and not the effective date of the policy. All other states are configured to use the effective date of
the policy. This has nothing to do with actual industry practices or state laws and is only intended as a demonstra-
tion.

See also
• For instructions on how to import or export administrative data, consult “Importing and Exporting Adminis-
trative Data” on page 227 in the System Administration Guide.
• “Using Gosu to Configure Sample Data” on page 61

Using Gosu to Configure Sample Data


The simplest way to configure sample data in PolicyCenter is to edit the Gosu in the gw.sampledata package.
The contents of a data set are in subpackages of gw.sampledata based on the typecode. For example, the
contents of the small data set are within gw.sampledata.small.The contents are further subdivided into collec-
tions by the kind of data. For instance, to alter account data in the small sample data set, edit
SmallSampleAccountData.gs.

A few guidelines for editing the data:


• The main SampleData class just invokes the appropriate data collections. Put the data in there.
• When generating data, use the helper methods in AbstractSampleDataCollection, creating your own as
necessary. Do not put complex logic in the collection itself.
• If you have frequently used constants, consider putting them in SampleDataConstants for reuse.

To configure the Gosu classes used to load sample data into PolicyCenter
1. Start Studio and the PolicyCenter server and connect Studio to PolicyCenter.

2. In Studio, expand configuration → Classes → gw → sampledata → tiny and open TinySampleCommunityData.gs.

3. Copy one entry from the // USER section and make changes, creating a new user.
var aapplegate = loadUser(bundle, "underwriter", "underwriter",
enigmaOrg, false, false, false, "aapplegate",
"aapplegate@enigma_fc.com", "Alice", "Applegate",
"213-555-8164", "143 Lake Ave. Suite 501",
"Pasadena", "CA", "91253", "US")

4. From the File menu, click Save Changes.

5. Log into PolicyCenter with the su account.

6. Press ALT+SHIFT+T to open the Server Tools page.

7. Select PC Sample Data.

8. Click Load for the Tiny dataset.

9. Logout and log back in as the new user to verify the user has been created, indicating your new sample data
has loaded correctly.

10.

Installing Sample Data 61


PolicyCenter 9.0.0 Installation Guide

62 Chapter 3: Installing a PolicyCenter Development Environment


chapter 4

Installing a PolicyCenter Production


Environment

Installing a PolicyCenter production environment is a multi-step process that requires you to perform several
procedures. The initial installation process can take from two hours to a full day.
This topic includes:
• “Unpacking the Configuration Files” on page 63
• “Configuring a Database Connection” on page 64
• “Deploying PolicyCenter to the Application Server” on page 81

See also
• “Installing a PolicyCenter Development Environment” on page 51

Unpacking the Configuration Files


Guidewire packages PolicyCenter as a Zip file. This file contains tools and files necessary to build a WAR or
EAR file to install on an application server, and contains the developer toolkit and other items.
Unpack the configuration files onto the workstation that you plan to use as the home base for your PolicyCenter
configuration. These directions assume you plan to maintain the configuration files on the administrative work-
station.

To unpack the PolicyCenter configuration environment


1. If you have not already done so, create an installation directory for PolicyCenter. This guide uses
PolicyCenter as the directory name. Do not use spaces in the installation directory path. Studio will not run
from a directory with a space in its name.

Installing a PolicyCenter Production Environment 63


PolicyCenter 9.0.0 Installation Guide

2. Extract the contents of the PolicyCenter Zip file into the PolicyCenter directory.

Note: Using a third-party tool such as 7-Zip may perform better than using the built-in Windows decom-
pression utility.
3. If you are not using a version control system, make a read-only copy of the PolicyCenter directory. This
enables you to recover quickly from accidental changes that can prevent PolicyCenter from starting.
At this point, you have a full set of PolicyCenter configuration files.
Guidewire recommends that you maintain your PolicyCenter configuration files in a change control system such
as Perforce or SVN. If you have such a system, add the PolicyCenter modules\configuration directory and
files to it at this point.

Configuring a Database Connection


This topic includes:
• “The <database> Element” on page 64
• “Mapping Logical Tablespaces to Physical Tablespaces” on page 66
• “Configuring Options for Individual Tables” on page 67
• “Defining Table Groups” on page 68
• “The JDBC URL Format” on page 68
• “Obfuscating the Database Password” on page 69
• “SQL Server JDBC Logging” on page 70
• “Configuring PolicyCenter to Use a JNDI Data Source” on page 71
• “Creating an Oracle JNDI Data Source on JBoss” on page 71
• “Creating a SQL Server JNDI Data Source on JBoss” on page 72
• “Creating an Oracle JNDI Data Source on Tomcat” on page 73
• “Creating a SQL Server JNDI Data Source on Tomcat” on page 74
• “Creating an Oracle JNDI Data Source on WebLogic” on page 74
• “Creating a SQL Server JNDI Data Source on WebLogic” on page 75
• “Creating an Oracle JNDI Data Source on WebSphere” on page 76
• “Creating a SQL Server JNDI Data Source on WebSphere” on page 78
After you have finished configuring the database connection, proceed to “Deploying PolicyCenter to the Appli-
cation Server” on page 81 for instructions on deploying PolicyCenter to the application server.

The <database> Element


The database-config.xml file stores connection and configuration parameters for the PolicyCenter database.
Set database connections by uncommenting and modifying the appropriate sample <database> element in
database-config.xml, accessible from Guidewire Studio under configuration → config.

The <database> element in database-config.xml has the following basic structure:


<database name="string" env="string" dbtype="oracle|sqlserver"
checker="true|false" addforeignkeys="true|false" printcommands="true|false">

// If using database connection pool managed by PolicyCenter


<dbcp-connection-pool jdbc-url="jdbc url" password-file="file name">
<reset-tool-params collation="collation"
oracle.tnsnames="Oracle TNS name" system.username="system username"
system.password="system.password"/>
</dbcp-connection-pool>

// If using a JNDI data source

64 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

<jndi-connection-pool datasource-name="JNDI data source name" />

// Oracle only
<oracle-settings query-rewrite="true|false" statistics-level-all="true|false"
stored-outline-category db-resource-mgr-cancel-sql >
<upgrade>
<ora-db-ddl>
<tablespaces admin="admin tablespace" index="index tablespace" op="op tablespace"
staging="staging tablespace" typelist="typelist tablespace" lob="lob tablespace" />
</ora-db-ddl>
</upgrade>

// SQL Server only


<sqlserver-settings jdbc-trace-level="JDBC trace level" jdbc-trace-file="JDBC trace file"
unicode-columns="true|false" />
<upgrade>
<mssql-db-ddl>
<mssql-filegroups admin="admin filegroup" index="index filegroup" op="op filegroup"
staging="staging filegroup" typelist="typelist filegroup" lob="lob filegroup" />
</mssql-db-ddl>
<upgrade>

<databasestatistics />
</database>

Some elements and attributes are not shown. These elements and attributes are described in other sections.
File database-config.xml contains a single root-level <database> element that takes the following attributes.

Attribute Required Default Sets


addforeignkey No true Used only for development and testing. Do not use this attribute in
production.
checker No false Boolean value that specifies whether PolicyCenter runs consistency
checks before it starts.
• Development environments – For development environments with
small data sets, you can enable consistency checks to run each
time the PolicyCenter server starts. Set the value of checker in
the database block to true to enable checks on server startup.
• Production environments – Running consistency checks upon
server startup can take a long time, impact performance severely,
and possibly time out on very large datasets. Set the value of
checker in the database block to false to disable checks on
server startup.
Recommendations:
• True – Guidewire recommends that you only set checker to true
in development environments with small test data sets.
• False – Guidewire recommends that you set checker to false
under most circumstances.
See also
• “Checking Database Consistency” on page 206 in the System
Administration Guide
• “Running Consistency Checks as Server Startup” on page 208 in
the System Administration Guide
dbtype Yes ... Database type, either h2 (for the QuickStart database), oracle or
sqlserver.
env No ... Optional environment variable. Use of the env attribute to set a
server environment enables you to provide different database config-
urations for different server environments. For example, you can set
up different database configurations for a production environment
and a test environment.
See “Using the Registry Server Element” on page 38 in the System
Administration Guide for more information.
name Yes ... A string identifying the database for which PolicyCenter uses this
connection specification.

Configuring a Database Connection 65


PolicyCenter 9.0.0 Installation Guide

Attribute Required Default Sets


printcommands No true Boolean value that specifies whether the server prints database
upgrade messages to the console upon startup.
By default, Guidewire sets the value of printcommands to true in the
base configuration. Do not set printcommands to false in a produc-
tion environment.
versionchecksonly No false Boolean value that specifies whether the PolicyCenter server runs
only database version checks at startup, without performing any
actual database upgrade steps.

To improve performance of certain pages in PolicyCenter such as the Desktop page, add the following configura-
tion to the <database> element in database-config.xml:
<databasestatistics ....>
<tablestatistics name="pc_userroleassign">
<histogramstatistics name="CreateTime" numbuckets="75"/>
</tablestatistics>
</databasestatistics>

Note: Guidewire requires that you provide a value for attribute numbuckets. The default value for the
number of buckets is 254 for the retired and subtype columns. For all other columns, PolicyCenter uses
75, the database default.

See also
• “Configuring the Database Server for Guidewire Applications” on page 27
• “Database Maintenance” on page 203 in the System Administration Guide

Mapping Logical Tablespaces to Physical Tablespaces


You can map the logical tablespaces required by PolicyCenter to either Oracle tablespaces or SQL Server file-
groups. For Oracle, mapping to tablespaces in database-config.xml is required. For SQL Server, mapping to
filegroups is optional. Create these physical tablespaces or filegroups when you set up your database. See
“Configuring the Database Server for Guidewire Applications” on page 27 for information on creating physical
tablespaces or filegroups for your database.

Specifying Tablespaces for Oracle


To specify tablespaces for Oracle, use the following syntax in your database configuration in
database-config.xml:
<database>
...
<upgrade>
<ora-db-ddl>
<tablespaces admin="admin tablespace" index="index tablespace" op="op tablespace"
staging="staging tablespace" typelist="typelist tablespace" lob="lob tablespace" />
</ora-db-ddl>
</upgrade>
</database>

To specify tablespaces for a particular table in Oracle, use the following syntax in your database configuration in
database-config.xml:
<database>
...
<upgrade>
<ora-db-ddl>
<tablespaces admin="admin tablespace" index="index tablespace" op="op tablespace"
staging="staging tablespace" typelist="typelist tablespace" lob="lob tablespace" />
<ora-table-ddl table-name="table name">
<ora-table-tablespaces table-tablespace="table tablespace" lob-tablespace="LOB tablespace"
index-tablespace="index tablespace"/>
</ora-table-ddl>
</ora-db-ddl>

66 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

</upgrade>
</database>

Specifying Filegroups for SQL Server


To specify filegroups for SQL Server, use the following syntax in your database configuration in
database-config.xml:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-filegroups admin="admin filegroup" index="index filegroup" op="op filegroup"
staging="staging filegroup" typelist="typelist filegroup" lob="lob filegroup" />
</mssql-db-ddl>
<upgrade>
</database>

To specify filegroups for a particular table in SQL Server, use the following syntax in your database configura-
tion in database-config.xml:
<database>
...
<upgrade>
<mssql-db-ddl>
<mssql-filegroups admin="admin filegroup" index="index filegroup" op="op filegroup"
staging="staging filegroup" typelist="typelist filegroup" lob="lob filegroup" />
<mssql-table-ddl table-name="table name">
<mssql-table-filegroups table-filegroup="table filegroup" lob-filegroup="LOB filegroup"
index-filegroup="index filegroup"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

Configuring Options for Individual Tables


You can configure DDL options for individual tables and indexes. Note however that DDL attributes of the
primary key backing index (on column named with suffix ID) cannot be specified in the configuration. These
attributes are defaulted by the DBMS.
This topic shows valid syntax in database-config.xml for configuring DDL options for each database type. All
options are shown for reference. Information about the DDL options is provided in other topics, listed at the end
of this topic.

Oracle
<database>
...
<upgrade>
<ora-db-ddl>
<tablespaces admin="admin tablespace" index="index tablespace" op="op tablespace"
staging="staging tablespace" typelist="typelist tablespace" lob="lob tablespace" />
<ora-compression table-compression="ADVANCED|BASIC|NONE" index-compression="true|false">
<ora-lobs type="BASIC|SECURE|SECURE_COMPRESSED" caching="true|false" />
<ora-table-ddl table-name="pc_tableName">
<ora-index-ddl key-columns="column1,column2" index-compression="true|false"
index-tablespace="index tablespace">
<ora-index-hash-partitioning locality="GLOBAL|LOCAL" num-partitions="number"/>
</ora-index-ddl>
<ora-lobs type="BASIC|SECURE|SECURE_COMPRESSED" caching="true|false" />
<ora-table-compression table-compression="NONE|OLTP" />
<ora-table-hash-partitioning hash-column="column name" num-partitions="number"/>
<ora-table-tablespaces table-tablespace="table tablespace" lob-tablespace="LOB tablespace"
index-tablespace="index tablespace"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>

SQL Server
<database>
...
<upgrade>

Configuring a Database Connection 67


PolicyCenter 9.0.0 Installation Guide

<mssql-db-ddl>
<mssql-filegroups admin="admin filegroup" index="index filegroup" op="op filegroup"
staging="staging filegroup" typelist="typelist filegroup" lob="lob filegroup" />
<mssql-table-ddl table-name="table name">
<mssql-index-ddl key-columns="column1,column2" index-compression="true|false"
index-filegroup="index filegroup"/>
<mssql-table-compression table-compression="NONE|PAGE|ROW"
index-compression="NONE|PAGE|ROW" />
<mssql-table-filegroups table-filegroup="table filegroup" lob-filegroup="LOB filegroup"
index-filegroup="index filegroup"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>

See also
• “Configuring Compression for Databases” on page 29
• “Configuring Oracle for PolicyCenter” on page 34
• “Configuring SQL Server for PolicyCenter” on page 41

Defining Table Groups


Table groups specify a set of tables on which to run database consistency checks. You can define zero or more
table groups.
When the PolicyCenter server starts, it checks that no table is listed more than once in a single table group defini-
tion and that each table listed exists. If a table is listed more than once in a group or does not exist, the
PolicyCenter server logs an error and stops.
To define a table group, add a <tablegroup> element to the database element in database-config.xml. The
<tablegroup> element has an env attribute, a name attribute and a tables attribute. The env attribute specifies
the environment for the table group. You can have different table groups set up for different environments. The
name attribute identifies the table group. The tables attribute defines which tables are in the table group. Tables
are listed in a comma-separated list. For example:
<database>
...
<tablegroup name=”MyTables” tables=”pc_sometable1, pc_someTable2, pc_someTable3”/>
...
</database>

See also
• “Checking Database Consistency” on page 206 in the System Administration Guide

Specifying Additional Database Parameters


To pass additional parameters required for your database connection, specify one or more name-value <param>
elements. Several parameters configure the connection pool, if you are using PolicyCenter to manage the
connection pool rather than a JNDI data source managed by the application server. Parameters that control the
connection pool are described in “The dbcp-connection-pool Database Configuration Element” on page 174 in
the System Administration Guide.

The JDBC URL Format


The jdbc-url attribute of the <dbcp-connection-pool> element stores connection information for the database.
Define a jdbc-url attribute unless you use a JNDI data source managed by the application server.
If you want to use a JNDI data source managed by the application server, skip to “Configuring PolicyCenter to
Use a JNDI Data Source” on page 71.

68 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

JDBC URL Format for Oracle

The JDBC URL for a standalone Oracle instance uses one of the following formats:
<dbcp-connection-pool jdbc-url="jdbc:oracle:thin:userName/password@serverName:port/OracleSID" />

or
<dbcp-connection-pool jdbc-url="jdbc:oracle:thin:userName/password@
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=serverName)(PORT=port))
(CONNECT_DATA=(SERVICE_NAME=OracleSID)))"/>

The server name can be specified using the computer name or IP address.

JDBC URL Format for SQL Server

The JDBC URL for SQL Server uses the following format:
<dbcp-connection-pool jdbc-url="jdbc:sqlserver://serverName[:port];
databaseName=pc;user=pcUser;password=password
[;applicationName=applicationName]"/>

Optional parameters are shown in brackets.


If your SQL Server instance listens on the default port, 1433, you can omit the port and preceding colon from the
JDBC URL. However, Microsoft recommends that you always specify the port value for security reasons. When
you specify the port number, the JDBC driver connects directly to SQL Server and does not make a request to
sqlbrowser.exe. If your SQL Server instance is listening to a different port than the default 1433, specify that
port number in the JDBC URL.
You can include an applicationName property on the JDBC URL connection string. If you set this value, the
server logs and Activity Monitor include it when identifying threads. If you do not specify an applicationName, the
PolicyCenter server creates one by concatenating pc, followed by the application version, including build
number. Finally, if you defined the SQL Server ADDL_CONN_DESCR system property, PolicyCenter appends this
value to the generated applicationName value.
PolicyCenter requires that the selectMethod on the JDBC URL connection be set to direct. This is the default
value, so you do not need to include this value in your JDBC URL. If you include selectMethod and set it to
cursor, the server does not start.

PolicyCenter defaults the value of the sendStringParametersAsUnicode property to be the correct, appropriate
value in the SQL Server JDBC URL connection. PolicyCenter does not override an existing value. If you set
sendStringParametersAsUnicode in database-config.xml, the server will validate the value to be correct.

Obfuscating the Database Password


You may not want to expose the password in the JDBC URL in database-config.xml. Guidewire provides the
following alternatives:
• “Using a Password File” on page 69
• “Using the Database Authentication Plugin” on page 70
• “Using a JNDI Data Source” on page 70

Using a Password File


You can place the password in an external file and reference this file from the database-config.xml file.

To use a password file


1. Add the password-file attribute to the <dbcp-connection-pool> element within the <database> element.

2. Set the value of password-file to the absolute path of the password file.

3. Replace the password value in the jdbc-url connection specification with a ${password} placeholder.

Configuring a Database Connection 69


PolicyCenter 9.0.0 Installation Guide

At run time, PolicyCenter reads the password from the file.


When you are done, your database specification looks similar to the following:
Oracle:
<database name="BillingCenterDatabase" driver="dbcp" dbtype="oracle">
<dbcp-connection-pool jdbc-url="jdbc:oracle:thin:USER/${password}@ORACLEDB:PORT:INSTANCE"
password-file="c:\secure\password.txt" />
</database>
SQL Server:
<database name="PolicyCenterDatabase" driver="dbcp"
dbtype="sqlserver">
<dbcp-connection-pool jdbc-url="jdbc:sqlserver://HOSTNAME:1433;databaseName=pc;user=pcUser;
password=${password}" password-file="c:\secure\password.txt" />
</database>

Using the Database Authentication Plugin


For an even higher level of security, Guidewire provides a database authentication plugin:
DBAuthenticationPlugin. You can use this plugin to define a custom method that returns the user name and
password in a format that the database system recognizes. For information on implementing this in your environ-
ment, see “Database Authentication Plugins” on page 199 in the Integration Guide.

Using a JNDI Data Source


You can configure PolicyCenter to use a JNDI data source on a JBoss, WebLogic or WebSphere application
server for your database connection. This data source uses a Java 2 Connector (J2C) authentication alias to store
the user name and password. See “Configuring PolicyCenter to Use a JNDI Data Source” on page 71 for details.

SQL Server JDBC Logging


During troubleshooting, Guidewire might request a trace log from the Microsoft JDBC driver. Do not turn on
trace logging in other circumstances as it places a heavy overhead on the system, and the files created can
quickly become very large.
Microsoft JDBC driver logging can be turned on at startup for PolicyCenter by specifying the jdbc-trace-file
and jdbc-trace-level attributes on the <sqlserver-settings> element:
<database ...>
<sqlserver-settings jdbc-trace-file="file name" jdbc-trace-level="trace level" />

</database>

The trace level is a string that corresponds to a valid trace level as documented at http://msdn.microsoft.com/
en-us/library/ms378517(SQL.90).aspx?ppud=4. The trace file can be specified, or defaults to
C:\temp\msjdbctrace%u.log. The trace file specified is a pattern documented at http://java.sun.com/j2se/
1.5.0/docs/api/java/util/logging/FileHandler.html. Using %h and %t puts the file in the Documents and
Settings directory under the name which is running the application server.

A page called Microsoft JDBC Driver Logging is available in the PolicyCenter Info Pages. This page enables you to start
and stop Microsoft driver logging on a running application server. Using this page might be a better option when
tracing a particular operation, in order to minimize system impact and size of the trace file. To turn tracing on,
choose a logging level, simple or XML logging format and a log file location. Click Set Logging Level. Messages
report the outcome of the operation.
If logging has already been enabled through database-config.xml or previous use of this page, then the logging
level resets to the new level. PolicyCenter flushes and closes any existing logging files before beginning the new
trace. If OFF is the chosen logging level, logging is turned off. Any existing logging files are flushed and closed.
The ability to control logging of the Microsoft JDBC driver through PolicyCenter only works when using the
internal connection pool, not when using an external JNDI data source connection pool.

70 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

Configuring PolicyCenter to Use a JNDI Data Source


PolicyCenter can use a Java Naming and Directory Interface (JNDI) data source managed by a JBoss, Tomcat,
WebLogic, or WebSphere application server. This enables you to configure database parameters, including
connection pool size, using the application server. Using a JNDI data source also provides you with another
secure alternative to placing the user name and password in the database-config.xml file.

IMPORTANT Guidewire only supports JNDI using the drivers bundled with PolicyCenter. Guidewire
does not support the XA versions of a data source.

During startup, PolicyCenter records the connection made through JNDI with an entry similar to the following in
the log:
INFO Looking up JNDI datasource 'jdbc/pcDataSource'...

To configure PolicyCenter to use a JNDI data source


1. Open database-config.xml from the Guidewire Studio Project window under configuration → config.

2. Remove the <dbcp-connection-pool> element.

3. Add a <jndi-connection-pool> element and specify the JNDI name you assign to the data source as a
datasource-name attribute.
When you are finished, the <database> element looks similar to the following:
<database name="PolicyCenterDatabase" dbtype="oracle|sqlserver">
<jndi-connection-pool datasource-name="jdbc/pcDataSource" />
...
</database>
This example is for a direct JNDI lookup. If you want to use an indirect JNDI lookup, use the format
java:comp/env/jdbc/DataSourceName for the datasource-name value, replacing DataSourceName with
the name you assigned to the data source.
4. Close and save the database-config.xml file.

5. Rebuild and install the PolicyCenter application EAR or WAR file. See “Deploying PolicyCenter to the
Application Server” on page 81 for instructions.
Before deploying PolicyCenter to the application server, create the JNDI data source on the application server.
See one of the following topics, depending on your application server and database type:
• “Creating an Oracle JNDI Data Source on JBoss” on page 71
• “Creating a SQL Server JNDI Data Source on JBoss” on page 72
• “Creating an Oracle JNDI Data Source on Tomcat” on page 73
• “Creating a SQL Server JNDI Data Source on Tomcat” on page 74
• “Creating an Oracle JNDI Data Source on WebLogic” on page 74
• “Creating a SQL Server JNDI Data Source on WebLogic” on page 75
• “Creating an Oracle JNDI Data Source on WebSphere” on page 76
• “Creating a SQL Server JNDI Data Source on WebSphere” on page 78

Creating an Oracle JNDI Data Source on JBoss


Guidewire bundles the Oracle 12.1.0.2.0 Production JDBC Thin Driver, pure Java, Type IV driver in
PolicyCenter/admin/lib/ojdbc7-12.1.0.2.0.jar.

To create an Oracle JNDI data source on JBoss


1. Start the JBoss application server.

2. Log in to the JBoss Admin Console.

Configuring a Database Connection 71


PolicyCenter 9.0.0 Installation Guide

3. Click Runtime.

4. Click Manage Deployments for the domain hosting PolicyCenter. For standalone installations, no domain is
shown.
5. Click Add.

6. Click Browse.

7. Select the ojdbc7-12.1.0.2.0-prod.jar file from the PolicyCenter admin/lib directory and click Next.

8. Click Save.

9. For managed domain operating mode, assign the JAR.

a. Click Assign.

b. Select main-server-group and ensure Enable ojdbc7-12.1.0.2.0-prod.jar is selected.

c. Click Save.

10. Click Configuration.

11. Select the profile to configure.

12. Click Subsystems → Connector → Datasources.

13. Click Add.

14. Enter a Name for the datasource.

15. Enter a JNDI Name. The JNDI name must use the pattern java:jboss/datasources/name. The JNDI name
must match the value of the datasource-name attribute of the <jndi-connection-pool> element in the
database-config.xml file.

16. Click Next.

17. Select the Oracle JDBC driver and click Next.

18. Enter the Connection URL, Username, and Password and click Done.

19. Click Validation and click Edit.

20. Select Background Validation.

21. Set Validation Millis to 5000.

22. Set Check Valid SQL to select 1 from dual.

23. Select the datasource and click Enable.

24. Select Connection and click Test Connection. If you do not receive a message that the JDBC connection was
successful, check your connection settings.

Creating a SQL Server JNDI Data Source on JBoss


To create a SQL Server JNDI data source on JBoss
1. Start the JBoss application server.

2. Log in to the JBoss Admin Console.

3. Click Runtime.

4. Click Manage Deployments for the domain hosting PolicyCenter. For standalone installations, no domain is
shown.
5. Click Add.

72 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

6. Click Browse.

7. Select the sqljdbc4-4.0.2206.100.jar file from the PolicyCenter admin/lib directory and click Next.

8. Click Save.

9. For managed domain operating mode, assign the JAR.

a. Click Assign.

b. Select main-server-group and ensure Enable sqljdbc4-4.0.2206.100.jar is selected.

c. Click Save.

10. Click Configuration.

11. Select the profile to configure.

12. Click Subsystems → Connector → Datasources.

13. Click Add.

14. Enter a Name for the datasource.

15. Enter a JNDI Name. The JNDI name must use the pattern java:jboss/datasources/name. The JNDI name
must match the value of the datasource-name attribute of the <jndi-connection-pool> element in the
database-config.xml file.

16. Click Next.

17. Select the SQL Server JDBC driver and click Next.

18. Enter the Connection URL, Username, and Password and click Done.

19. Click Validation and click Edit.

20. Select Background Validation.

21. Set Validation Millis to 5000.

22. Set Check Valid SQL to select 1 where 1 = 0.

23. Select the datasource and click Enable.

24. Select Connection and click Test Connection. If you do not receive a message that the JDBC connection was
successful, check your connection settings.

Creating an Oracle JNDI Data Source on Tomcat


Guidewire bundles the Oracle 12.1.0.2.0 Production JDBC Thin Driver, pure Java, Type IV driver in
PolicyCenter/admin/lib/ojdbc7-12.1.0.2.0.jar.

See http://commons.apache.org/proper/commons-dbcp/configuration.html for more info about config-


uring the data source.
1. Copy the ojdbc7-12.1.0.2.0-prod.jar file from the PolicyCenter/admin/lib directory to the lib direc-
tory within the Tomcat home. The ojdbc7-12.1.0.2.0-prod.jar file contains the APIs for connecting to the
PolicyCenter database.
2. Add a Resource entry to the context.xml file in the conf directory of the Tomcat instance. If the
context.xml file does not exist, create it. The Resource element must be a child of the top-level Context
element. The resource name must match the datasource-name attribute of the jndi-connection-pool
element in database-config.xml. For example:
<Resource name="jdbc/pcDataSource" auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:database user/database password@database server name:port/OracleSID"
username="database user" password="database password" maxTotal="20" maxIdle="10" maxWaitMillis="-1"/>

Configuring a Database Connection 73


PolicyCenter 9.0.0 Installation Guide

3. Add a resource-ref entry to the web.xml file in the conf directory of the Tomcat instance. For example:
<resource-ref>
<description>Oracle Datasource</description>
<res-ref-name>jdbc/Datasource name</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

4. Restart the Tomcat instance.

Creating a SQL Server JNDI Data Source on Tomcat


1. Copy the sqljdbc4-4.0.2206.100.jar file from the PolicyCenter/admin/lib directory to the lib direc-
tory within the Tomcat home. The sqljdbc4-4.0.2206.100.jar file contains the APIs for connecting to the
PolicyCenter database.
2. Add a Resource entry to the context.xml file in the conf directory of the Tomcat instance. If the
context.xml file does not exist, create it. The Resource element must be a child of the top-level Context
element. The resource name attribute must match the datasource-name attribute of the
jndi-connection-pool element in database-config.xml. For example:
<Resource name="jdbc/pcDataSource" auth="Container" type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://database server name:database server port;selectMethod=direct;
databaseName=database name;sendStringParametersAsUnicode=false;user=database user;
password=database password"
username="database user" password="database password" maxTotal="20" maxIdle="10" maxWaitMillis="-1"/>

3. Add a resource-ref entry to the web.xml file in the conf directory of the Tomcat instance. For example:
<resource-ref>
<description>SQL Server Datasource</description>
<res-ref-name>jdbc/Datasource name</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

4. Restart the Tomcat instance.

Creating an Oracle JNDI Data Source on WebLogic


Guidewire bundles the Oracle 12.1.0.2.0 Production JDBC Thin Driver, pure Java, Type IV driver in
PolicyCenter/admin/lib/ojdbc7-12.1.0.2.0.jar.

To copy the ojdbc7-12.1.0.2.0-prod.jar file to WebLogic


1. Copy the ojdbc7-12.1.0.2.0-prod.jar file from the PolicyCenter/admin/lib directory to the server/
lib directory within the WebLogic home. The ojdbc7-12.1.0.2.0-prod.jar file contains the APIs for
connecting to the PolicyCenter database.
2. Delete the ojdbc6.jar file from the WebLogic server/lib directory.

3. Add the ojdbc7-12.1.0.2.0-prod.jar file to the classpath of the WebLogic domain.


To modify the classpath for a single domain, open the WL_HOME/common/bin/commEnv script appropriate to
your operating system in a text editor. Then, prepend the absolute path to the ojdbc7-12.1.0.2.0-prod.jar
file, including file name, to the WEBLOGIC_CLASSPATH environment variable. The WebLogic server must be
restarted for this change to take effect.
To modify the classpath for all domains, open the setDomainEnv script appropriate to your operating system
in a text editor. Then, prepend the absolute path to the ojdbc7-12.1.0.2.0-prod.jar file to the
PRE_CLASSPATH environment variable. The WebLogic server must be restarted for this change to take effect.

4. Restart WebLogic.

74 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

To create the data source


1. Open the WebLogic Server Administration Console.

2. Choose Service → Data Source.

3. Click Lock & Edit.

4. Click New to create a Generic Data Source.

5. Enter a name and JNDI name for the data source. The JNDI name must match the value of the
datasource-name attribute of the <jndi-connection-pool> element in the database-config.xml file. The
JNDI name typically begins with jdbc/.
6. Select Oracle as the Database Type.

7. Select Oracle's Driver (Thin) for Service Connections.

8. Select Versions:9.0.1 and later for Database Driver and click Next.

9. Fill in connection properties for your environment and click Next. The WebLogic Server Administration
Console displays the Test Database Connection page.
10. Leave Driver Class Name as oracle.jdbc.OracleDriver.

11. Click Test Configuration. If you configured the connection properly and the database is running, WebLogic
displays the message “Connection test succeeded.”
12. Click Next.

13. Select the servers that use the data source.

14. Click Finish. The WebLogic Server Administration Console returns you to the Summary of JDBC Data Sources
page.
15. Click Activate Changes. WebLogic displays the message “All changes have been activated. No restarts are
necessary.”

Creating a SQL Server JNDI Data Source on WebLogic


To copy the sqljdbc4-4.0.2206.100.jar file to WebLogic
1. Copy the sqljdbc4-4.0.2206.100.jar file from the PolicyCenter/admin/lib directory to the server/lib
directory within the WebLogic home. The sqljdbc4-4.0.2206.100.jar file contains the APIs for
connecting to the PolicyCenter database.
2. Add the sqljdbc4-4.0.2206.100.jar file to the classpath of the WebLogic domain.
To modify the classpath for a single domain, open the WL_HOME/common/bin/commEnv script appropriate to
your operating system in a text editor. Then, prepend the absolute path to the sqljdbc4-4.0.2206.100.jar
file, including file name, to the WEBLOGIC_CLASSPATH environment variable. The WebLogic server must be
restarted for this change to take effect.
To modify the classpath for all domains, open the setDomainEnv script appropriate to your operating system
in a text editor. Then, prepend the absolute path to the sqljdbc4-4.0.2206.100.jar file to the
PRE_CLASSPATH environment variable. The WebLogic server must be restarted for this change to take effect.

To create the data source


1. Open the WebLogic Server Administration Console.

2. Click Service → Data Source.

3. Click New to create a Generic Data Source.

Configuring a Database Connection 75


PolicyCenter 9.0.0 Installation Guide

4. Enter a Name and JNDI Name for the data source. The JNDI name must match the value of the datasource-name
attribute of the <jndi-connection-pool> element in the database-config.xml file.
5. Select MS SQL Server as the Database Type.

6. Select Other as the Database Driver, and click Next.

7. Uncheck Supports Global Transactions, and click Next.

8. Specify connection properties for the SQL Server database, and click Next.

9. Enter com.microsoft.sqlserver.jdbc.SQLServerDriver for the Driver Class Name.

10. Specify the URL using the following format:


jdbc:sqlserver://servername:port;databasename=dbname;user=username

11. Fill in connection properties for your environment. If using a unicode database, set the property
sendStringParametersAsUnicode to true. If using a single-byte database, set
sendStringParametersAsUnicode to false.
12. Click Test Configuration. If you configured the connection properly and the database is running, WebLogic
displays the message “Connection test succeeded.”
13. Click Next.

14. Select the targets that use the data source.

15. Click Finish. The WebLogic Server Administration Console returns you to the Summary of JDBC Data Sources
page.
16. Click Activate Changes. WebLogic displays the message “All changes have been activated. No restarts are
necessary.”

Creating an Oracle JNDI Data Source on WebSphere


Guidewire bundles the Oracle 12.1.0.2.0 Production JDBC Thin Driver, pure Java, Type IV driver in
PolicyCenter/admin/lib/ojdbc7-12.1.0.2.0.jar.

To copy the ojdbc7-12.1.0.2.0-prod.jar file to WebSphere


Before you begin, copy the ojdbc7-12.1.0.2.0-prod.jar file from PolicyCenter/admin/lib to the
WebSphere WAS_HOME/lib/ext directory. The ojdbc7-12.1.0.2.0-prod.jar file contains the APIs for
connecting to the PolicyCenter database.

To create the JDBC provider


1. Open the WebSphere Administrative Console if not already open.

2. Choose Resources → JDBC → JDBC Providers.

3. Set the Scope to Cell.

4. Click New to create a new JDBC provider.

5. Select Oracle for the Database type.

6. Select Oracle JDBC Driver for the Provider type.

7. Select Connection pool data source for the Implementation type.

8. Supply a new Name for the JDBC provider, for example pcOracle.

9. Enter a Description for the JDBC provider if you want.

10. Click Next.

76 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

11. Specify the directory location of ojdbc7-12.1.0.2.0-prod.jar. Set the value to the WAS_HOME/lib/ext path
where you copied ojdbc7-12.1.0.2.0-prod.jar earlier.
12. Click Next.

13. Review the Summary page. Click Previous if you need to make changes. Otherwise, click Finish.

14. Click Save to apply your changes to the master configuration.


WebSphere returns you to the JDBC Providers page. At this point, you have completed the creation of the new
provider.

To create the data source


1. Open the WebSphere Administrative Console if not already open.

2. If you do not yet have a J2C (Java 2 Connector) authentication alias, create a new one.

a. Click Security → Global security.

b. Under Authentication click Java Authentication and Authorization → J2C authentication data.

c. Click New.

d. Enter the following.

Parameter Value
Alias A string specifying the alias name. The alias can be anything you like, for example pcAlias.
User ID A string specifying the user name.
Password A string specifying the password.

e. Click OK.

f. Click Save to save apply your changes to the master configuration.

g. Start the procedure to create the data source again, beginning with step 3.

3. Choose Resources → JDBC → JDBC Providers.

4. Set the Scope to Cell.

5. Select the JDBC provider that you defined for Oracle. WebSphere displays the Configuration tab.

6. Select Data Sources in the Additional Properties section. WebSphere displays the Data sources page.

7. Click New to create a new data source.

8. Enter a JNDI name for the data source. The JNDI name must match the value of the datasource-name attribute
of the <jndi-connection-pool> element in the database-config.xml file. See “Configuring PolicyCenter
to Use a JNDI Data Source” on page 71.
9. Click Next.

10. Set the URL value using the jdbc:oracle:thin:@hostname:port:ORACLE_SID format.

11. Select Oracle11g data store helper for the Data store helper class name.

12. Click Next.

13. Select an authentication alias for the Component-managed authentication alias.

14. Select an authentication alias for the Container-managed authentication alias.

15. Click Next. Review the information on the Summary page. Click Previous if you need to make changes. Other-
wise, click Finish.

Configuring a Database Connection 77


PolicyCenter 9.0.0 Installation Guide

16. Click Save to save apply your changes to the master configuration.

To configure data source properties


1. Open the WebSphere Administrative Console if it is not already open.

2. Choose Resources → JDBC → Data sources.

3. Click the data source that you just defined. WebSphere displays the Configuration tab.

4. Click WebSphere Application Server data source properties.

5. Set Statement cache size to 0.

6. Select Non-transactional data source.

7. Click OK.

8. Under Additional Properties, click Custom Properties.

9. At the top of the Custom properties page, click New.

10. Enter the Name commitOrRollbackOnCleanup.

11. Enter the Value rollback.

12. Click OK.

13. Click Save to apply your changes to the master configuration.

To test the connection


1. In the WebSphere Administrative Console, select Resources → JDBC → Data sources to return to the Data sources
page.
2. Select the checkbox next to your PolicyCenter data source.

3. Click Test Connection to verify that the connection works.

Creating a SQL Server JNDI Data Source on WebSphere


This section describes how to create a SQL Server JNDI data source on WebSphere.

To copy the sqljdbc4-4.0.2206.100.jar file to WebSphere


Before you begin, copy the sqljdbc4-4.0.2206.100.jar file from PolicyCenter/admin/lib to the WebSphere
lib/ext directory. The sqljdbc4-4.0.2206.100.jar file contains the APIs for connecting to the PolicyCenter
database.

To create the JDBC provider


1. Open the WebSphere Administrative Console if not already open.

2. Choose Resources → JDBC → JDBC Providers.

3. Set the Scope to Cell.

4. Click New to create a new JDBC provider.

5. Select SQL Server for the Database type.

6. Select Microsoft SQL Server JDBC Driver for the Provider type drop down and click OK.

7. Select Connection pool data source for the Implementation type.

8. Supply a new Name for the JDBC provider, for example pcSQLServer.

78 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

9. Enter a Description for the JDBC provider if you want.

10. Click Next.

11. Specify the directory location of sqljdbc4-4.0.2206.100.jar. Set the value to the WebSphere lib/ext
directory. For example, you might set it to:
C:\Program Files\IBM\WebSphere\AppServer\lib\ext
You can ignore that the greyed out Class path box lists the JAR name as sqljdbc.jar instead of
sqljdbc4-4.0.2206.100.jar.
You do not need to enter a value for the Native library path.
12. Click Next.

13. Review the Summary page. Click Previous if you need to make changes. Otherwise, click Finish.

14. Click Save to apply your changes to the master configuration.


WebSphere returns you to the JDBC Providers page. At this point, you have completed the creation of the new
provider.
15. Select the JDBC provider you just created.

16. Edit the Class path to change ${MICROSOFT_JDBC_DRIVER_PATH}/sqljdbc.jar to


${MICROSOFT_JDBC_DRIVER_PATH}/sqljdbc4-4.0.2206.100.jar.

17. Click OK.

18. Click Save to apply your changes to the master configuration.

To create the data source


1. Open the WebSphere Administrative Console if it is not already open.

2. If you do not yet have a J2C (Java 2 Connector) authentication alias, create a new one.

a. Click Global J2C authentication alias.

b. Click New.

c. Enter the following.

Parameter Value
Alias A string specifying the alias name. this can be anything you like, for example pcAlias.
User ID A string specifying the user name.
Password A string specifying the password.

d. Click OK.

e. Click Save to save apply your changes to the master configuration.

f. Start the procedure to create the data source again, beginning with step 3.

3. Choose Resources → JDBC → JDBC Providers.

4. Set the Scope to Cell.

5. Select the JDBC provider that you created for SQL Server.
WebSphere displays the Configuration tab.
6. Select Data Sources in the Additional Properties section.
WebSphere displays the Data sources page.
7. Click New to create a new data source.

Configuring a Database Connection 79


PolicyCenter 9.0.0 Installation Guide

Enter a JNDI name for the data source, such as jdbc/pcDataSource. The JNDI name must match the value of
the datasource-name attribute of the <jndi-connection-pool> element in the database-config.xml file.
See “Configuring PolicyCenter to Use a JNDI Data Source” on page 71.
8. Click Next.

9. Enter the Database name.

10. If using a different port to connect to the database than the default of 1433, change the Port number value.

11. Enter the Server name for the server hosting SQL Server.

12. Uncheck the box for Use this data source in container managed persistence (CMP).

13. Click Next.

14. Select an authentication alias for the Component-managed authentication alias.

15. Select an authentication alias for the Container-managed authentication alias.

16. Click Next. Review the information on the Summary page. Click Previous if you need to make changes. Other-
wise, click Finish.
17. Click Save to save apply your changes to the master configuration.

To configure data source properties


1. Open the WebSphere Administrative Console if it is not already open.

2. Choose Resources → JDBC → Data sources.

3. Click the data source you created for SQL Server.

4. Under Additional Properties, click WebSphere Application Server data source properties.

5. Set the Statement cache size to 0.

6. Select the Non-transactional data source checkbox.

7. Click OK.

8. Click Save to apply your changes to the master configuration.

9. Click the data source you created for SQL Server.

10. Under Additional Properties, click Custom Properties.

11. Check the property sendStringParametersAsUnicode. If you are using unicode columns (nvarchar), then this must
be set to true. If you are not using nvarchar, but single byte varchar columns, this must be set to false. Your
application server will not start up if this setting is incorrect. If you need to change the value, click the prop-
erty name.
12. At the top of the Custom properties page, click New.

13. Enter the Name commitOrRollbackOnCleanup.

14. Enter the Value rollback.

15. Click OK.

16. Click Save to apply your changes to the master configuration.

To test the connection


1. In the WebSphere Administrative Console, select Resources → JDBC → Data sources to return to the Data sources
page.
2. Select the checkbox next to your PolicyCenter data source.

80 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

3. Click Test Connection to verify that the connection works.

Deploying PolicyCenter to the Application Server


Deploying PolicyCenter requires creating a WAR or EAR file and installing the package on an application server.
These instructions are for creating a production PolicyCenter environment. For instructions to create a develop-
ment PolicyCenter environment, see “Installing a PolicyCenter Development Environment” on page 51.
This topic includes:
• “Installing a JBoss Production Environment” on page 81
• “Installing a Tomcat Production Environment” on page 82
• “Installing a WebLogic Production Environment” on page 83
• “Installing a WebSphere Production Environment” on page 84

Installing a JBoss Production Environment


To deploy PolicyCenter to JBoss, add any additional servlets, then generate and deploy the WAR file. For
instructions to deploy the WAR file, refer to the JBoss Enterprise Application Platform Administration and
Configuration Guide.
Perform the steps described in the following sections:
• “Setting Java Options for JBoss” on page 81
• “Adding servlet definitions for JBoss” on page 81
• “Generating the PolicyCenter WAR file for JBoss” on page 82

Setting Java Options for JBoss


If you are running JBoss in a 64-bit JVM, you might need to increase the heap size to prevent JBoss from
running out of memory. The specific values used for JAVA_OPTS in this example might not be suitable for your
environment. Contact Guidewire if you need assistance.
You can specify the Java options in the JBoss run.bat or run.sh file as described in this procedure or by
creating a JAVA_OPTS environment variable.
1. Open the JBoss bin/run.bat or bin/run.sh file.

2. Add a line similar to the following:


set JAVA_OPTS=-Xms512M -Xmx1024M -XX:MaxPermSize=512M -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true -server

3. Save the file.

Adding servlet definitions for JBoss


1. Start Studio by running the following command from the PolicyCenter directory:
gwb studio

2. Expand configuration → deploy → WEB-INF and open web.xml.

3. Add servlet definitions as needed. See the defined servlets for an example.

4. Add a servlet-mapping definition for each servlet that you add. See the defined servlet mappings for an
example.
5. Save your changes.

Deploying PolicyCenter to the Application Server 81


PolicyCenter 9.0.0 Installation Guide

Review the post-installation tasks in “Additional PolicyCenter Setup Tasks” on page 87. Then proceed to
“Starting PolicyCenter on JBoss” on page 115.

Generating the PolicyCenter WAR file for JBoss

You can build the PolicyCenter WAR file for JBoss with or without JDBC drivers. Run gwb warJbossDbcp to
build the WAR file with JDBC drivers and have PolicyCenter manage the database connection pool. Run gwb
warJbossJndi to build the WAR file without JDBC drivers and use a JNDI database connection managed by
JBoss. See “Using a JNDI Data Source” on page 70.
1. Open a command window.

2. Navigate to PolicyCenter.

3. Run one of the following commands:


gwb warJbossDbcp
gwb warJbossJndi
Both commands generate the PolicyCenter WAR file in the PolicyCenter dist/war directory.
4. Deploy the package to JBoss according to the instructions for deploying an application included with JBoss.

Installing a Tomcat Production Environment


Tomcat requires a WAR package file. Before you deploy to Tomcat, check that you have defined the
CATALINA_OPTS variable with a value of:
-Xms1024M -Xmx1024M -XX:PermSize=128m -XX:MaxPermSize=128M

Perform the steps described in the following sections:


• “Adding Servlet Definitions for Tomcat” on page 82
• “Generating and Deploying the PolicyCenter WAR File for Tomcat” on page 82

Adding Servlet Definitions for Tomcat


You might want to add definitions for additional servlets to the web.xml file.
1. In Studio, expand configuration → deploy → WEB-INF and open web.xml.

2. Add a servlet-mapping definition for each servlet that you add. See the defined servlet mappings for an
example.
3. Save web.xml.

Generating and Deploying the PolicyCenter WAR File for Tomcat

You can build the PolicyCenter WAR file for Tomcat with or without JDBC drivers. Run gwb warTomcatDbcp to
build the WAR file with JDBC drivers for use with Tomcat and have PolicyCenter manage the database connec-
tion pool. Run gwb warTomcatJndi to build the WAR file without JDBC drivers and use a JNDI database
connection managed by Tomcat. See “Using a JNDI Data Source” on page 70.
1. Open a command window.

2. Navigate to the PolicyCenter directory.

3. Run one of the following commands:


gwb warTomcatDbcp
gwb warTomcatJndi
Both commands generate the PolicyCenter WAR file in the PolicyCenter dist/war directory.
4. Deploy the package to Tomcat by copying the pc.war file to the webapps directory in your Tomcat server.

82 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

When Tomcat starts up, it automatically recognizes PolicyCenter and unpacks the pc.war into a directory
structure within Tomcat\webapps. For this example, Tomcat creates a Tomcat\webapps\pc directory. Each
time you deploy a new copy of a pc.war file, delete the pre-existing pc directory structure created by the old
pc.war file.
Review the post-installation tasks in “Additional PolicyCenter Setup Tasks” on page 87. Then proceed to
“Starting PolicyCenter on Tomcat on Windows” on page 115.

Installing a WebLogic Production Environment


For WebLogic, PolicyCenter is packaged into a WebLogic-specific EAR file. This topic explains the steps
needed to configure WebLogic and deploy an EAR file.
Perform the steps described in the following sections:
• “Adding Servlet Definitions for WebLogic” on page 83
• “Generating the PolicyCenter EAR file for WebLogic” on page 83
• “Installing the EAR file on WebLogic” on page 84
• “Automatic Versus Manual Startup on WebLogic” on page 84

Adding Servlet Definitions for WebLogic


You might want to add definitions for additional servlets to the web.xml file.
1. Start Studio by running the following command from the PolicyCenter directory:
gwb studio

2. Expand configuration → deploy → WEB-INF and open web.xml.

3. Add servlet definitions as needed. See the defined servlets for an example.

4. Add a servlet-mapping definition for each servlet that you add. See the defined servlet mappings for an
example.
5. Save web.xml.

Using HTTP Authentication on WebLogic


To authenticate using HTTP authentication on WebLogic, add the following inside the
<security-configuration> element of the WebLogic config.xml:
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>

Generating the PolicyCenter EAR file for WebLogic

You can build the PolicyCenter EAR file for WebLogic with or without JDBC drivers. Run gwb
earWeblogicDbcp to build the EAR file with JDBC drivers and have PolicyCenter manage the database connec-
tion pool. Run gwb earWeblogicJndi to build the EAR file without JDBC drivers and use a JNDI database
connection managed by WebLogic. See “Using a JNDI Data Source” on page 70.
1. Open a command prompt.

2. Navigate to the PolicyCenter directory.

3. Run one of the following commands:


gwb earWeblogicDbcp
gwb earWeblogicJndi
Both commands generate the PolicyCenter EAR file in the PolicyCenter dist/ear directory.

Deploying PolicyCenter to the Application Server 83


PolicyCenter 9.0.0 Installation Guide

Installing the EAR file on WebLogic

1. If WebLogic is not already running, start it now. If WebLogic is running, restart it.

2. After the server is running, point your browser to http://localhost:7001/console.

Note: Port 7001 is the default port for WebLogic. If you configured WebLogic with a different port number,
then change the port number in the address to the correct one.
3. Log in with your user name and password. The default WebLogic user name and password is weblogic.

4. On the left side of the user interface, under Domain Structure, click Deployments.

5. On the next screen, above Domain Structure, click Lock & Edit.

6. Within the main panel, under Deployments, click Install.

7. Navigate to the EAR file you generated and click Next.

8. Select Install this deployment as an application and click Next.

9. In the Source accessibility section of the next screen, select I will make the deployment accessible from the following loca-
tion.

10. For the location, enter the path to the PolicyCenter webapps directory and click Next.

11. Click Yes, take me to the deployment’s configuration screen and click Finish.

12. Review your configuration, and click Activate Changes located on the left side of the screen, above Domain Struc-
ture.

Automatic Versus Manual Startup on WebLogic


If you have configured WebLogic to automatically start (or restart) applications, WebLogic starts PolicyCenter
automatically on startup or on restart if the WebLogic server ever goes down. However, if you have not config-
ured WebLogic to automatically start (or restart) applications, then start PolicyCenter manually. See “Starting
PolicyCenter on WebLogic” on page 115.

Installing a WebSphere Production Environment


To deploy a production instance of PolicyCenter on WebSphere, first add a welcome file list and add any neces-
sary servlets to web.xml. Then, generate the WebSphere-specific PolicyCenter EAR file and install the EAR file
on WebSphere.
Guidewire only supports externally managed data sources using JDBC drivers shipped with PolicyCenter and
not the JDBC drivers that might be installed by default with the application server.
Perform the steps described in the following sections:
• “Adding a welcome-file-list” on page 84
• “Generating the PolicyCenter EAR File for WebSphere” on page 85
• “Installing the PolicyCenter EAR file on WebSphere” on page 85

Adding a welcome-file-list
Add a welcome-file-list to the PolicyCenter web.xml file so WebSphere can find the index.html file.
Pointing your browser to http://localhost:9080/pc does not work. Point to http://localhost:9080/pc/
Start.do.

1. Start Studio by running the following command from the PolicyCenter directory:
gwb studio

2. Expand configuration → deploy → WEB-INF and open web.xml.

84 Chapter 4: Installing a PolicyCenter Production Environment


PolicyCenter 9.0.0 Installation Guide

3. At the bottom of the file, just before the </web-app> tag, add the following:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

4. Add servlet definitions as needed. See the defined servlets for an example.

5. Add a servlet-mapping definition for each servlet that you add. See the defined servlet mappings for an
example.
6. Save your changes and close web.xml.

Generating the PolicyCenter EAR File for WebSphere

You can build the PolicyCenter EAR file for WebSphere with or without JDBC drivers. Use gwb
earWebsphereDbcp if you are going to have PolicyCenter manage the database connection pool. Run gwb
earWebsphereJndi to build the EAR file without JDBC drivers and use a JNDI database connection managed by
WebSphere. See “Using a JNDI Data Source” on page 70.
1. Open a command window.

2. Navigate to the PolicyCenter directory.

3. Run one of the following commands:


gwb earWebsphereDbcp
gwb earWebsphereJndi
These commands build the EAR file and place it in PolicyCenter\dist\ear. The commands package the
version of web.xml from the PolicyCenter\modules\configuration\deploy\WEB-INF directory.

Installing the PolicyCenter EAR file on WebSphere


1. If WebSphere is not already running, start the application server.

2. Open the WebSphere Administrative Console.

3. Click Applications → New Application.

4. Click New Enterprise Application.

5. Click Browse and select the PolicyCenter EAR file in the PolicyCenter/dist/ear directory.

6. Click Next.

7. Select Fast Path.

8. Click Next.

9. Accept the default installation options.

10. Click Next.

11. On the Map modules to servers page, verify that your targeted server or cluster is selected.

12. Click Next.

13. On the Metadata for modules page, click Next.

14. On the Summary page, review your selections for accuracy. Click Previous to change any settings.

15. Click Finish.

16. Click Save to apply the changes to the master configuration.

17. Click the pc application.

Deploying PolicyCenter to the Application Server 85


PolicyCenter 9.0.0 Installation Guide

18. Under Detail properties, click Class loading and update detection.

19. Under Class loader order, verify Classes loaded with local class loader first (parent last) is selected.

20. Under WAR class loader policy, verify Single class loader for application is selected.

21. Click OK.

22. Click Save to apply the changes to the master configuration.

23. If using JNDI, remove the JDBC JAR files (such as ojdbc<version>.jar or sqljdbc<version>.jar) from
the exploded deployment in <WAS Profile>/installedApps/DefaultCell/pc.ear/pc.war/WEB-INF/lib.

After you have finished the procedure to install the PolicyCenter EAR file on WebSphere, review post-installa-
tion tasks in “Additional PolicyCenter Setup Tasks” on page 87. Then, proceed to “Starting PolicyCenter on
WebSphere” on page 115.

86 Chapter 4: Installing a PolicyCenter Production Environment


chapter 5

Additional PolicyCenter Setup Tasks

This topic describes required and optional setup tasks. You perform these tasks after you complete the initial
installation of your PolicyCenter development or production environment and deploy PolicyCenter to your appli-
cation server.
The patch installation step is required. The remaining steps are optional.
This topic includes:
• “Required Patch Installation” on page 87
• “Free-text Search Setup” on page 88
• “Changing the Superuser Password” on page 100
• “Generating Java API Libraries” on page 100
• “Enabling Integration between ClaimCenter and PolicyCenter” on page 101
• “Enabling Integration between BillingCenter and PolicyCenter” on page 105
• “Archiving in a Production Environment” on page 110
• “Enabling Rating Management” on page 110
• “Installing Reinsurance Management or Disabling Work Queue” on page 111
• “Upgrading Product Model of Old LOB Extension Packs” on page 111
• “Configuring Single Sign-on Authentication” on page 112
• “Starting PolicyCenter on the Application Server” on page 115
• “Connecting to PolicyCenter with a Web Client” on page 116
• “Configuring Windows Accessibility for Firefox” on page 116
• “Additional Installation Information” on page 116

Required Patch Installation


To complete your PolicyCenter 9.0.0 installation, you must install PolicyCenter 9.0.0 Patch 1. See the
PolicyCenter 9.0.0 release notes for detailed instructions.

Additional PolicyCenter Setup Tasks 87


PolicyCenter 9.0.0 Installation Guide

Free-text Search Setup


Guidewire supports deployment of the full-text search engine that free-text search depends on in JBoss, Tomcat,
WebLogic, and WebSphere application servers. The full-text search engine is a special distribution of Apache
Solr, tailored by Guidewire to work with free-text search. This special distribution is called the Guidewire Solr
Extension.
This topic includes:
• “Free-text Search Setup Overview” on page 88
• “Setting Up Free-text Search for Embedded Operation” on page 90
• “Setting Up Free-text Search for JBoss” on page 91
• “Setting Up Free-text Search for Tomcat” on page 93
• “Setting Up Free-text Search for WebLogic” on page 94
• “Setting Up Free-text Search for WebSphere” on page 95
• “Setting Up the Free-text Batch Load Command” on page 98

See also
• “Free-text Search Configuration” on page 362 in the Configuration Guide.
• For specific versions of application servers Guidewire that supports, see the Guidewire Platform Support
Matrix on the Guidewire Resource Portal, at https://guidewire.custhelp.com/app/resources/
products/platform.

Free-text Search Setup Overview


PolicyCenter free-text search depends on a full-text search engine, the Guidewire Solr Extension. Guidewire
supports running the Guidewire Solr Extension in a JBoss, Tomcat, WebLogic, or WebSphere application server
in a production environment. In a development environment, Guidewire supports running the Guidewire Solr
Extension in the bundled Quickstart server, if you configure free-text search for embedded operation.

See also
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Operating Options for Production and Development


In a production environment, you must configure the free-text search for external operation. With external oper-
ation in a production environment, the Guidewire Solr Extension must run in a different instance of the applica-
tion server than the instance that runs your PolicyCenter application.
In a development environment, you can configure free-text search for external or embedded operation. With
external operation in a development environment, the Guidewire Solr Extension runs in a different instance of
the application server than the instance that runs your PolicyCenter application. With embedded operation, the
Guidewire Solr Extension runs automatically as part of the PolicyCenter application in the application server
instance that runs PolicyCenter, not as a separate application.
You can configure free-text search for external or embedded operation in development environments installed on
a Tomcat application server or on the bundled QuickStart application server. You can configure free-text search
only for external operation in development environments installed on other supported application servers.
Production environments support only external operation regardless of application server.

Simplified Free-text Search Setup With Embedded Operation


In a development environment, set up the free-text search for embedded operation to simplify your setup proce-
dure. With embedded operation you can avoid the following set-up tasks that external operation requires:

88 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

• Setting up a separate application server instance for the Guidewire Solr Extension
• Setting up the free-text batch load command
With embedded operation, your only set-up task involves changes to the solrserver-config.xml file. This
configuration file tells the free-text feature in PolicyCenter how to operate and interact with the Guidewire Solr
Extension.

See also
• “Setting Up Free-text Search for Embedded Operation” on page 90

The Guidewire Solr Extension


Guidewire provides a special distribution of the Apache Solr full-text search engine, the Guidewire Solr Exten-
sion. Guidewire provides the Guidewire Solr Extension in a Zip file located in your installation of PolicyCenter
at:
PolicyCenter/solr/pc-gwsolr.zip

The Guidewire Solr Extension runs as a web application in a JBoss, Tomcat, WebLogic, or WebSphere applica-
tion server. If you configure the Guidewire Solr Extension for embedded operation, it operates as part of
PolicyCenter, not as a separate web application.

WARNING Do not use any distribution of the Apache Solr full-text search engine other than the one
that Guidewire provides as the Guidewire Solr Extension.

The Guidewire Solr Home Directory


In the instructions that follow, you create an installation directory for the Guidewire Solr Extension. The installa-
tion directory is known as the Guidewire Solr home directory. Guidewire requires that you create the Guidewire
Solr home directory on the host where you installed the separate application server instance for it.
Note: Do not create a Guidewire Solr home directory if you configure free-text search for embedded opera-
tion.
The default parameter settings and configuration files for free-text search assume the following directories for
the Guidewire Solr home directory:
• On Unix – /opt/gwsolr
• On Windows – C:\opt\gwsolr
The instructions that follow use /opt/gwsolr for the Guidewire Solr home directory. If you use a different direc-
tory than one of those listed above, you must perform additional configuration steps.

The Free-text Batch Load Command


The free-text search feature provides a command-line utility to extract policy data from the PolicyCenter rela-
tional database and load the extracted data into the Guidewire Solr Extension. In the instructions that follow, you
unpack the files from the Guidewire Solr WAR file, which the free-text batch load command depends on.
Note: Do not set up and configure the free-text batch load command if you configure free-text search for
embedded operation. Instead, use the Solr Data Import batch process.
The free-text batch load command also depends on a Unix-compatible sort binary that performs character-value
sorting. The batch load command builds intermediate index documents from policy data in PolicyCenter. The
batch load command sorts the intermediate documents during its process of collating and compiling the final
index documents that it loads into the Guidewire Solr Extension. Guidewire supports cygwin on Windows.

Free-text Search Setup 89


PolicyCenter 9.0.0 Installation Guide

In the instructions that follow, you first perform a procedure to set up free-text search for JBoss, Tomcat,
WebLogic, or WebSphere. Then, regardless of application server, you perform a separate, follow-on procedure to
set up the free-text batch load command.
If you set up a development environment for PolicyCenter, you can avoid setting up the free-text batch load
command. Instead, use the Free-text Search page from the Server Tools tab to perform the same function. Also, the
Free-text Search page has a function to confirm that the policy data in the Guidewire Solr Extension matches the
policy data in the application database. Use the consistency checking function after you run the batch load
command to verify changes to the command that you are developing and testing.

See also
• “Setting Up the Free-text Batch Load Command” on page 98
• “Configuring the Free-text Batch Load Command” on page 375 in the Configuration Guide
• For information on the Free-text Search page, see “Free-text Search” on page 314 in the System Administration
Guide.

Setting Up Free-text Search for Embedded Operation


Set up free-text search for embedded operation for preliminary testing with small amounts of test data. For final
testing with larger volumes of data and to prepare for production, set up free-text search for external operation.
You can set up free-text search for embedded operation in development environments only.

Setting up free-text search for embedded operation on QuickStart


You can set up free-text search in a development environment on QuickStart for embedded operation only.
1. In the Project window in Studio, navigate to configuration → config → solr, and then open
solrserver-config.xml.

2. Verify that the file contains a <solrserver> element that matches the following:
<solrserver name="embedded" type="embedded">
<param name="provision" value="true"/>
<param name="solrroot” value="/opt/gwsolr"/>
</solrserver>

3. In the <document> element, change the servername attribute to embedded.


<document name="policy" archive="false" servername="embedded"/>

4. Save your changes to the solrserver-config.xml file.

5. Open a command prompt in the PolicyCenter installation directory and run the following command:
gwb packageSolr

6. Proceed to “Enabling Free-text Search in PolicyCenter” on page 366 in the Configuration Guide.

Setting up free-text search for embedded operation on Tomcat


You can setup free-text search in a development environment on Tomcat for embedded or external operation. For
embedded operation, you must include the gwsolrzip parameter in the solrserver element to specify the abso-
lute path to the pc-gwsolr.zip file in your PolicyCenter home directory.
1. In the Project window in Studio, navigate to configuration → config → solr, and then open
solrserver-config.xml.

2. Verify that the file contains a <solrserver> element that matches the following:
<solrserver name="embedded" type="embedded">
<param name="provision" value="true"/>
<param name="solrroot” value="/opt/gwsolr"
<param name="gwsolrzip" value="/dev/PolicyCenter/solr/pc-gwsolr.zip">
</solrserver>

90 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

3. In the <document> element, change the servername attribute to embedded.


<document name="policy" archive="false" servername="embedded"/>

4. Save your changes to the solrserver-config.xml file.

5. Open a command prompt in the PolicyCenter installation directory and run the following command:
gwb packageSolr

6. Proceed to “Enabling Free-text Search in PolicyCenter” on page 366 in the Configuration Guide.

See also
• To setup free-text search for external operation on Tomcat, see “Setting Up Free-text Search for Tomcat” on
page 93.

Setting Up Free-text Search for JBoss


PolicyCenter free-text search requires that you install an instance of JBoss separate from the instance that runs
your PolicyCenter application. In a production environment, the separate instances of JBoss must be on separate
computers.
1. Add a JBoss deployment descriptor file to the pc-gwsolr.war file.

a. In the Project window in Studio, navigate to configuration → config → solr.

b. Create a file named jboss-deployment-structure.xml, with the following content.


<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<dependencies>
<module name="org.slf4j"/>
<module name="org.slf4j.ext"/>
<module name="org.slf4j.slf4j-jdk14"/>
<module name="org.slf4j.jcl-over-slf4j"/>
<module name="org.slf4j.log4j-over-slf4j"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
You safely can ignore the warning in the Studio XML editor that the value for the xmlns attribute is not a
URI registered with Studio.
2. Repackage the Guidewire Solr Extension by running the following command from the PolicyCenter direc-
tory:
gwb packageSolr

3. On the host where the JBoss instance for free-text search resides, create an installation directory for the
Guidewire Solr Extension. For example:
• On Unix – /opt/gwsolr/pc
• On Windows – C:\opt\gwsolr\pc
This topic uses /opt/gwsolr/pc as the directory name.
4. Extract the file PolicyCenter/solr/pc-gwsolr.zip from the host where your PolicyCenter application
resides to the folder you created on the host where JBoss resides.
5. If you extracted pc-gwsolr.zip to a directory other than /opt/gwsolr/pc in step 3, or if you are using
Windows, update an environment entry in web.xml to reflect your install location:
a. Extract the web application deployment descriptor, web.xml, from pc-gwsolr.war by running the follow-
ing command:
jar -xf pc-gwsolr.war WEB-INF/web.xml

b. Open WEB-INF/web.xml for editing.

Free-text Search Setup 91


PolicyCenter 9.0.0 Installation Guide

c. Change the value for the solr/home entry to match the directory in which you installed the Guidewire
Solr Extension. If you are using Windows, change the value to a Windows path, including the drive desig-
nator:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>C:\opt\gwsolr\pc\solr</env-entry-value>
</env-entry>

d. Save your changes.

e. Repackage web.xml into pc-gwsolr.war by running the following command:


jar -uvf cc-gwsolr.war WEB-INF/web.xml

f. Delete the WEB-INF directory.

6. Change the HTTP port number for JBoss:

a. Edit the following file:


JBOSS_HOME/standalone/configuration/standalone.xml

b. Change the port property for the HTTP port value to 8983, as the following example shows.
<socket-binding-group name="standard-sockets" default-interface="public"
port-offset="${jboss.socket.binding.port-offset:0}">
...
<socket-binding name="http" port="8983"/>
...
</socket-binding-group>
The standard port for the Guidewire Solr Extension is 8983.
c. Save your changes.

7. Start JBoss by running the following command from the JBOSS_HOME/bin/ directory:
standalone

8. Add two logging modules to JBoss and deploy the Guidewire Solr Extension:

a. From a separate command window in the JBOSS_HOME/bin directory, start the JBoss command line inter-
face by running the following command:
jboss-cli -c

b. Add the logging modules by running the following JBoss commands:


On Unix
module add --name=org.slf4j.slf4j-jdk14
--resources=/opt/gwsolr/pc/logging_jars/slf4j-jdk14-1.7.12.jar --dependencies=org.slf4j
module add --name=org.slf4j.log4j-over-slf4j
--resources=/opt/gwsolr/pc/logging_jars/log4j-over-slf4j-1.7.12.jar
--dependencies=org.slf4j,org.slf4j.slf4j-jdk14
On Windows
module add --name=org.slf4j.slf4j-jdk14
--resources=C:\opt\gwsolr\pc\logging_jars\slf4j-jdk14-1.7.12.jar --dependencies=org.slf4j
module add --name=org.slf4j.log4j-over-slf4j
--resources=C:\opt\gwsolr\pc\logging_jars\log4j-over-slf4j-1.7.12.jar
--dependencies=org.slf4j,org.slf4j.slf4j-jdk14

c. Deploy the Guidewire Solr Extension by running the following JBoss command:
• On Unix – deploy /opt/gwsolr/pc/pc-gwsolr.war
• On Windows – deploy c:\opt\gwsolr\pc\pc-gwsolr.war

d. Exit the command line interface by typing q.

9. Examine the log file JBOSS_HOME/standalone/log/server.log to be certain that the Guidewire Solr Exten-
sion started successfully.
The application started successfully if you see a number of log entries related to the directory in which you
installed the Guidewire Solr Extension in step 3.

92 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

10. In a browser, open the administrative user interface for the Guidewire Solr Extension by entering the
following URL:
http://hostName:8983/pc-gwsolr

11. Verify that you see links to administrative pages for each entity type that is searchable in PolicyCenter with
free-text search.
For example, click Core Admin to see information for the pc_policy_active core.
12. Proceed to “Setting Up the Free-text Batch Load Command” on page 98.

See also
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Setting Up Free-text Search for Tomcat


PolicyCenter free-text search requires that you set up an instance of Tomcat separate from the instance that runs
your PolicyCenter application. In a production environment, the separate instances of Tomcat must be on sepa-
rate computers.
1. On the host where the Tomcat instance for free-text search resides, create an installation directory to use as
the Guidewire Solr home directory. For example:
• On Unix – /opt/gwsolr/pc
• On Windows – C:\opt\gwsolr\pc
This topic uses /opt/gwsolr/pc as the Guidewire Solr home directory name.
2. Extract the file PolicyCenter/solr/pc-gwsolr.zip from the host where your PolicyCenter application
resides to the folder you created on the host where Tomcat resides.
3. If you installed the Guidewire Solr Extension in a directory other than /opt/gwsolr/pc in step 1, or if you are
using Windows:
a. From the directory in which you installed the Guidewire Solr Extension, open the following file for edit-
ing:
pc-gwsolr/WEB-INF/web.xml

b. Change the value for the solr/home entry to match the directory in which you installed the Guidewire
Solr Extension. If you are using Windows, or change the value to a Windows path, including the drive des-
ignator:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>C:\opt\gwsolr\pc\solr</env-entry-value>
</env-entry>

c. Save your changes.

4. If you installed the Guidewire Solr Extension in a directory other than /opt/gwsolr/pc in step 1, or you are
using Windows:
a. Edit the file c:\opt\gwsolr\pc\pc-gwsolr.xml

b. Change the value for the docBase attribute to match the directory in which you installed the Guidewire
Solr Extension. If you are using Windows, include the drive designator.
<Context docBase="C:\opt\gwsolr\pc\pc-gwsolr" debug="0" crossContext="true">

c. Save your changes.

5. Copy the file c:\opt\gwsolr\pc\pc-gwsolr.xml to the directory TOMCAT_HOME/conf/Catalina/localhost.

Note: If the Catalina/localhost directory does not exist, create it.

Free-text Search Setup 93


PolicyCenter 9.0.0 Installation Guide

6. Change the HTTP port number for Tomcat:

a. Edit the following file:


TOMCAT_HOME/conf/server.xml

b. Change the port property for the HTTP port value to 8983, as the following example shows.
<Connector port="8983" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
The standard port for the Guidewire Solr Extension is 8983.
c. Save your changes.

IMPORTANT Copy only the logging files specified below.

7. Copy the following logging files from \opt\gwsolr\pc\logging_jars to TOMCAT_HOME\lib:


• jcl-over-slf4j-1.7.12.jar – Jakarta commons logging over SLF4J
• jul-to-slf4j-1.7.12.jar – Java Logging to SLF4J
• log4j.properties – Log4j properties
• log4j-1.2.17.jar – Log4j API
• slf4j-api-1.7.12.jar – SLF4J API
• slf4j-ext-1.7.12.jar – SLF4J Extensions
• slf4j-log4j12-1.7.12.jar – SLF4J to Log4j
8. Start Tomcat by doing one of the following from the TOMCAT_HOME/bin directory:
• If you want Tomcat to operate normally, run the following command.
startup
• If you want to access the Guidewire Solr Extension with a remote debugger, run the following command.
catalina jpda start
Then, you can connect a remote debugging session through port 8000.
9. Examine the log file TOMCAT_HOME/logs/catalina to ensure the Guidewire Solr Extension web application
started successfully.
The application started successfully if you see a number of log entries related to pc-gwsolr.
10. In a browser, open the administrative user interface for the Guidewire Solr Extension web application by
entering the following URL:
http://hostName:8983/pc-gwsolr

11. Verify that you see links to administrative pages for each entity type that is searchable in PolicyCenter with
free-text search.
For example, click Core Admin to see information for the pc_policy_active core.
12. Proceed to “Setting Up the Free-text Batch Load Command” on page 98.

See also
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Setting Up Free-text Search for WebLogic


PolicyCenter free-text search requires that you install an instance of WebLogic separate from the instance that
runs your PolicyCenter application. In a production environment, the separate instances of WebLogic must be on
separate computers.
1. On the host where the WebLogic instance for free-text search resides, create an installation directory to use as
the Guidewire Solr home directory. For example:

94 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

• On Unix – /opt/gwsolr/pc
• On Windows – C:\opt\gwsolr\pc
This this topic uses /opt/gwsolr/pc as the directory name.
2. Extract the file PolicyCenter/solr/pc-gwsolr.zip from the host where your PolicyCenter application
resides to the folder you created on the host where WebLogic resides.
3. Within the autodeploy directory in the WebLogic instance, create a subdirectory pc-gwsolr.

4. Extract the contents of /opt/gwsolr/pc/pc-gwsolr.war to autodeploy/pc-gwsolr.

5. If you installed the Guidewire Solr Extension in a directory other than /opt/gwsolr/pc in step 1, or if you are
using Windows:
a. From the directory in which you installed the Guidewire Solr Extension, open the following file for edit-
ing:
autodeploy/pc-gwsolr/WEB-INF/web.xml

b. Change the value for the solr/home entry to match the directory in which you installed the Guidewire
Solr Extension. If you are using Windows, or change the value to a Windows path, including the drive des-
ignator:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>C:\opt\gwsolr\pc\solr</env-entry-value>
</env-entry>

c. Save your changes.

6. Create a lib folder in WebLogic_Home\pc and place the following logging JAR file there:
• jcl-over-slf4j-1.7.5.jar – Jakarta commons logging over SLF4J
The logging JAR file is provided in the logging_jars folder at the root of the pc-gwsolr.zip file.

IMPORTANT Install only the logging JAR specified above.

7. Copy the logging JAR jcl-over-slf4j-1.7.5.jar to the WEBLOGIC_DOMAIN_DIR/lib folder.

8. Start the WebLogic instance by running the command WEBLOGIC_DOMAIN_DIR/startWebLogic.

9. Proceed to “Setting Up the Free-text Batch Load Command” on page 98.

See also
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Setting Up Free-text Search for WebSphere


PolicyCenter free-text search requires that you install an instance of WebSphere separate from the instance that
runs your PolicyCenter application. In a production environment, the separate instances of WebSphere must be
on separate computers.
1. On the host where the WebSphere instance for free-text search resides, create an installation directory to use
as the Guidewire Solr home directory. For example:
• On Unix – /opt/gwsolr/pc
• On Windows – C:\opt\gwsolr\pc
This topics uses /opt/gwsolr/pc as the directory name.
2. Extract the file PolicyCenter/solr/pc-gwsolr.zip from the host where your PolicyCenter application
resides to the folder you created on the host where WebSphere resides.

Free-text Search Setup 95


PolicyCenter 9.0.0 Installation Guide

3. On Windows, edit the file GWSOLR_HOME\pc\pc-gwsolr.xml, and add the drive specifier to the front of the
path in the docBase attribute, as the following example shows.
<Context docBase="C:\opt\gwsolr\pc\pc-gwsolr.war" debug="0" crossContext="true">

4. Check the web application deployment descriptor in autodeploy/pc-gwsolr/WEB-INF/web.xml for the defi-
nition of the solr.home environment variable:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/opt/gwsolr/pc/solr</env-entry-value>
</env-entry>
If you installed the Zip file in a directory other than /opt/gwsolr, you must now change the path in the
<env-entry-value> XML element to match the actual install directory path.

5. Create a lib folder in WebSphere_Home\appserver\profiles and place the following logging JAR files
there:
• slf4j-api-1.7.5.jar – SLF4J API
• slf4j-ext-1.7.5.jar – SLF4J Extensions
• slf4j-jdk14-1.7.5.jar – SLF4J Java logging binding
• jcl-over-slf4j-1.7.5.jar – Jakarta commons logging over SLF4J
• log4j-over-slf4j-1.7.5.jar – Log4j logging over SLF4J
Logging JAR files are provided in the logging_jars folder at the root of the pc-gwsolr.zip file.

IMPORTANT Install only the logging JARs specified above.

6. Start WebSphere:
• On Unix – WEBSPHERE_HOME/bin startServer.sh server1
• On Windows – Start → All Programs → IBM WebSphere → Application Server → Profiles → AppSrv01 → Start the server

7. In a browser, open the WebSphere administrative console and log in:


http://localhost:9060/ibm/console/login.do

8. Change the port for the default host in your WebSphere application server and for its virtual host.
PolicyCenter assumes the Solr port is 8983. If you want to use a different port number, change the port num-
ber in the PolicyCenter file solrserver-config.xml.
a. From the Administrative Console, navigate to Servers → Server Types → WebSphere application servers and click
the name of your application server from the list. The default name of your application server is server1.
The console displays the configuration page for your application server.
b. On the right underneath Communications, click Ports.

c. In the list of TCP/IP ports, click WC_defaulthost.

d. In the Port field, change the value from 9080 to 8983.

e. Click Apply.

f. In the Messages box, Click Save to apply the changes to the master configuration.

g. From the Administrative Console, navigate to Environment → Virtual hosts and click the name of your virtual
host. The default name of your virtual host is default_host.
The console displays the configuration page for your virtual host.
h. On the right underneath Additional Properties, click Host Aliases.

i. Click New.
The console displays the configuration page for your new virtual host alias.

96 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

j. Enter the following values.

Field name Description

Host Name Enter an asterisk (*).


Port Enter 8983.

k. Click Apply.

l. In the Messages box, Click Save to apply the changes to the master configuration.

9. Install the Guidewire Solr Extension web application:

a. Log in to the WebSphere administrative console.

b. Navigate to Applications → New application and click New Enterprise Application.

c. Under Local file system, click Browse….

d. In the dialog, navigate to the file /opt/gwsolr/pc/pc-gwsolr.war and select it. Then, click Open.

e. Click Next.
After a moment, a screen appears that asks how you want to install the application.
f. Select the Fast Path radio button and then click Next.
After a moment, a screen appears with steps listed along the left.
g. Click Step 3, to skip past Step 1 and Step 2 and click Next.
The console displays an application resource warning, ADMA8019E, which you can ignore safely.
h. Click Continue.
The console displays the page for step 4, where you map web modules to virtual hosts.
i. Click Next to accept the mapping of the pc-gwsolr.war web module to the default_host virtual host.
The console displays the page for step 5.
j. In the Context Root field, enter /pc-gwsolr.

k. Click Next, and on the page for step 6, click Finish.


WebSphere installs the Guidewire Solr Extension web application. The Administration Console displays
messages while the installation process progresses. When the installation completes successfully, you see
the following:
Application pc-solr_war installed successfully.

l. Click Save to apply the changes to the master configuration.

10. From the Administrative Console, install the necessary shared libraries from the WAR file:

a. In the left navigation, expand the Environment node and click Shared Libraries.

b. Create a shared library, and then list all the logging JAR files preceded by ${USER_INSTALL_ROOT}:
${USER_INSTALL_ROOT}\lib\slf4j-api-1.7.5.jar
${USER_INSTALL_ROOT}\lib\slf4j-ext-1.7.5.jar
${USER_INSTALL_ROOT}\lib\slf4j-jdk14-1.7.5.jar
${USER_INSTALL_ROOT}\lib\jcl-over-slf4j-1.7.5.jar
${USER_INSTALL_ROOT}\lib\log4j-over-slf4j-1.7.5.jar

c. Expand the Applications node. Click Application Types → WebSphere Enterprise Applications. In the right pane, click
pc-gwsolr → Shared Library References.

d. In the Module list, select pc-gwsolr.war. Click the Reference Shared Libraries button. Select the library you
created in step b, and then click the right arrow button to move it from the Available list to the Selected list.

Free-text Search Setup 97


PolicyCenter 9.0.0 Installation Guide

11. From the Administrative Console, change the class loading order

a. Click WebSphere Enterprise Applications → pc-gwsolr → Class loading and update detection → Detail Properties tab.

b. In the right pane, click Class loading and update detection.

c. Modify class loading by selecting the Classes loaded with local class loader first (parent last) and Single class loader
for application radio buttons.

d. Click OK.

12. Log out of the administrative console and stop and start the application server.

13. Examine the log file WEBSPHERE_HOME/profiles/AppSrv01/logs/server1/SystemOut.log to assure


WebSphere initialized the Guidewire Solr web application successfully.
WebSphere initialized the application successfully if you see a log entries similar to the following:
[timeStamp] 00000009 SolrResourceL I org.apache.solr.core.SolrResourceLoader locateSolrHome
No /solr/home in JNDI
[timeStamp] 00000009 SolrResourceL I org.apache.solr.core.SolrResourceLoader locateSolrHome using
system property solr.solr.home: /opt/gwsolr/pc/solr
[timeStamp] 00000009 SolrServlet I org.apache.solr.servlet.SolrServlet init SolrServlet.init() done
[timeStamp] 00000009 servlet I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I:
[pc-gwsolr_war] [/pc-gwsolr] [SolrServer]: Initialization successful.

14. In a browser, open the administrative user interface for the Guidewire Solr Extension web application by
entering the following URL:
http://hostName:8983/pc-gwsolr

15. Verify that you see links to administrative pages for each entity type that is searchable in PolicyCenter with
free-text search.
For example, click Core Admin to see information for the pc_policy_active core.
16. Proceed to “Setting Up the Free-text Batch Load Command” on page 98.

See also
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Setting Up the Free-text Batch Load Command


Follow these instructions only after you successfully set up free-text search for JBoss, Tomcat, WebLogic, or
WebSphere. On Windows, ensure a Unix-compatible sort binary that performs character-value sorting is avail-
able. Guidewire supports cygwin on Windows.
Note: Do not set up and configure the free-text batch load command if you configure free-text search for
embedded operation. Instead, use the Solr Data Import batch process.
The configuration files that you modify during set up, including the batch load command itself, are located in the
following directory:
/opt/gwsolr/pc/solr/policy_active/conf

Most of the setup information for the free-text batch load command is located in a configuration file for your
database brand. The configuration filename has the format:
batchload-config-databaseBrand.xml

The configuration parameters that you may need to modify include:


• xsi:noNamespaceSchemaLocation – Location of the XSD for batch load configuration files. You must
modify this parameter if your Guidewire Solr home directory is other than /opt/gwsolr.
• absolutePathToWorkDir – Location of a working directory, possibly on a remote host, for collating and
compiling large volumes of index documents for the full-text search engine. Generally in a production envi-
ronment, you modify this parameter. Otherwise, the working directory is within the Guidewire Solr home
directory. Assure the directory you specify has sufficient high-performance disk space.

98 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

• absolutePathToSortTmpDir – Location of a working directory into which the sort binary writes its interme-
diate files. This directory may be the same as or different from the directory specified by
absolutePathToWorkDir.
• absolutePathToSortExe – Location of a sort binary. You must modify this parameter if you use a binary
other than /bin/sort on Unix or c:\cygwin\bin\sort.exe on Windows.
• dataSource – Connection information for the PolicyCenter relational database. You must modify this param-
eter to specify the network location of the database and the username and password.
• absolutePathToPostprocessorExe – Locates the postprocess shell script of batch file that the batch load
command calls after extracting data from the PolicyCenter relational database. You must modify this param-
eter if your Guidewire Solr home directory is other than /opt/gwsolr.

To set up the free-text batch load command


1. Navigate to the Guidewire Solr home directory.

2. Extract the files from the Guidewire Solr WAR file as you would any Zip file, to the following location, using
full directory paths:
opt/gwsolr/pc/exploded
The free-text batch load command depends on access to JAR files within the WAR file.
3. Switch to the configuration directory, opt/gwsolr/pc/solr/policy_active/conf.

4. Edit the batchload shell script or batch file, and modify the CONFIGFILE environment variable to locate the
appropriate batch load configuration file for your database brand. For example, if your database brand is
Oracle:
On Unix
CONFIGFILE=$GWSOLR_HOME/solr/policy_active/conf/batchload-config-oracle.xml
On Windows
set CONFIGFILE=%GWSOLR_HOME%\solr\policy_active\conf\batchload-config-oracle.xml

5. Open the batch load configuration file that you specified in step 4 and do all of the following:

a. If you use a directory for the Guidewire Solr home directory other than /opt/gwsolr, modify the
xsi:noNamespaceSchemaLocation attribute of the <document> element.
b. Review the following elements for possible changes.
On Unix
<param name="absolutePathToWorkDir" value="/opt/gwsolr/pc/solr/policy_active/conf/workDir"/>
<param name="absolutePathToSortExe" value="/bin/sort"/>
On Windows
<param name="absolutePathToWorkDir" value="c:\opt\gwsolr\pc\solr\policy_active\conf\workDir"/>
<param name="absolutePathToSortExe" value="c:\cygwin\bin\sort.exe"/>

c. Modify the attributes of the <dataSource> element to match the values for your database. For example, if
your database brand is Oracle:
<dataSource name="ds_orcl" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin://@grinch:11201:gwDiaAsc" user="su" password="gw"/>

d. If you use a directory for the Guidewire Solr home directory other than /opt/gwsolr, modify the
absolutePathToPostprocessorExe attribute of the <postprocessor> element.
6. On Windows, edit postprocess.bat and modify the CoreUtils environment variable to locate the sort
binary. For example:
set CoreUtils C:\opt\cygwin

7. If use a directory for the Guidewire Solr home directory other than /opt/gwsolr:

a. Open the file data-config.xml.

Free-text Search Setup 99


PolicyCenter 9.0.0 Installation Guide

b. Change the value of the url attribute on the <entity> element to match the location of your Guidewire
Solr home directory. For example:
<entity name="policy"
processor="XPathEntityProcessor"
orEach="/CONTAINER_ELEM/POLICY"
url="/opt/gwsolr/pc/solr/policy_active/conf/workDir/policy"
stream="true">

8. Restart the application server to pick up the changes.

9. Run the batchload command to test the setup.

10. Examine the status response to verify your setup.


A problem-free load gives the same positive counts for Total Rows Fetched and Total Documents Processed.
11. Proceed to “Enabling Free-text Search in PolicyCenter” on page 366 in the Configuration Guide.

See also
• “Free-text Batch Load Command” on page 245 in the System Administration Guide
• “Configuring the Free-text Batch Load Command” on page 375 in the Configuration Guide
• “Free-text Search System Architecture” on page 362 in the Configuration Guide

Changing the Superuser Password


PolicyCenter automatically creates an unrestricted superuser named su with full permissions. The default pass-
word for this superuser is gw. You create other users with the superuser account. Guidewire strongly recommends
that when you start PolicyCenter for the first time, log in to PolicyCenter as user su and change this password.

To change the superuser password


1. Open a browser window.

2. Set the URL to the following:


http://server:port/pc/PolicyCenter.do
For example, if connecting on your local computer, use:
http://localhost:8080/pc/PolicyCenter.do

3. Log into PolicyCenter as user su with password gw.

4. Click the Preferences link on the Desktop and change the password for user su.

At this point, you have a running PolicyCenter server. However, there is no data in the installation and you have
none of the tools available to manage the PolicyCenter server process. Before you use PolicyCenter, follow the
processes defined in “Generating Java API Libraries” on page 100, and “Connecting to PolicyCenter with a Web
Client” on page 116.

See also
• To learn how to change which user is the superuser, see “Changing the Unrestricted User” on page 20 in the
System Administration Guide.

Generating Java API Libraries


PolicyCenter provides Java APIs that you can use to integrate your own applications with PolicyCenter. These
APIs are sometimes collectively referred to as the toolkit.
Generate these APIs when you first install PolicyCenter. Because the toolkit contains the PolicyCenter APIs,
regenerate the toolkit after every data model change.

100 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

To generate the Java APIs


1. From a command prompt, navigate to the PolicyCenter installation directory.

2. Execute the following command: gwb genJavaApi.

This command generates the java-api directory within the top-level PolicyCenter directory.

See also
• “Integration Overview” on page 23 in the Integration Guide

Enabling Integration between ClaimCenter and PolicyCenter


This topic includes procedures to enable claim search integration from PolicyCenter and policy search integra-
tion from ClaimCenter.
PolicyCenter includes a Gosu plugin that interfaces with a ClaimCenter web service provided with ClaimCenter.
This plugin enables PolicyCenter to retrieve claim information from ClaimCenter.
ClaimCenter publishes the following web services in the base configuration:
• gw.webservice.cc.cc800.pcintegration.PCClaimSearchIntegrationAPI
• gw.webservice.cc.cc900.pcintegration.PCClaimSearchIntegrationAPI

To enable claim search integration from PolicyCenter, see “Configuring ClaimCenter to Get Policy Information
from PolicyCenter” on page 101.
To enable policy search integration from ClaimCenter, see “Configuring PolicyCenter to Get Claim Information
from ClaimCenter” on page 103.
To enable large loss notification integration, see “Enabling Large Loss Notification Integration” on page 104.
This topic includes procedures to enable claim search integration from PolicyCenter and policy search integra-
tion from ClaimCenter.

Configuring ClaimCenter to Get Policy Information from PolicyCenter


ClaimCenter includes a Gosu plugin that interfaces with a specialized PolicyCenter web service provided with
PolicyCenter. PolicyCenter publishes the following web services in the base configuration:
• gw.webservice.pc.pc800.ccintegration.CCPolicySearchIntegration
• gw.webservice.pc.pc900.ccintegration.CCPolicySearchIntegration

The ClaimCenter plugin implements methods on IPolicySearchAdapter: searchPolicies,


retrievePolicyFromPolicySummary, retrievePolicySummaryFromPolicy, and retrievePolicyFromPolicy.
The PolicyCenter web service returns objects that look like ClaimCenter policy entities, so implementation of the
plugin is relatively straightforward. The web service performs the conversion by translating to and from the
SOAP objects used to communicate with the web service.
Note: These instructions describe how to set up ClaimCenter 9 to integrate with both PolicyCenter 9 and
PolicyCenter 8. If you are integrating ClaimCenter 9 with PolicyCenter 8, use the instructions in the
PolicyCenter 8 documentation for the PolicyCenter side of the integration.
1. Start the PolicyCenter server.

2. Launch ClaimCenter Studio.


From a command prompt, navigate to the installation directory for ClaimCenter and type gwb studio.

3. In the Studio Project window, navigate to configuration → config → Plugins → registry, and then open
IPolicySearchAdapter.gwp.

Enabling Integration between ClaimCenter and PolicyCenter 101


PolicyCenter 9.0.0 Installation Guide

4. Click Remove to remove the demonstration implementation,


gw.plugin.policy.impl.PolicySearchPluginDemoImpl.

5. Click Add and select Add Gosu Plugin.


6. Enter one of the following for the Gosu Class field, depending on the version of PolicyCenter that you are inte-
grating with ClaimCenter:
• PolicyCenter 8 – gw.plugin.pcintegration.pc800.PolicySearchPCPlugin
• PolicyCenter 9 – gw.plugin.pcintegration.pc900.PolicySearchPCPlugin

Note: The pc800 plugin implementation class might indicate that it is deprecated. Ignore this indicator. This
class is the correct one to use to integrate with PolicyCenter 8.
7. In the Studio Project window, navigate to configuration → config → suite, and then open suite-config.xml.

8. Remove the comment markers <!-- and --> from the line for the PolicyCenter URL:
<!--<product name="pc" url="http://localhost:8180/pc"/>-->

9. Update the PolicyCenter URL to match your server and port.

10. In the Studio Project window, navigate to configuration → config, and then open config.xml.

11. Set the PolicyCenter URL in the PolicySystemURL configuration parameter. For example, add the following
line to this file:
<param name="PolicySystemURL" value="http://localhost:8180/pc""/>

12. In the Studio Project window, expand configuration → gsrc and then navigate to wsi.remote.gw.webservice.pc.

13. Open one of the following web service files, depending on the version of PolicyCenter that you are inte-
grating with ClaimCenter:
• PolicyCenter 8 – pc800.wsc
• PolicyCenter 9 – pc900.wsc

Note: The ${pc} variable for each of the defined web services is defined in suite-config.xml.

14. Ensure that the PolicyCenter server is running. Then select all the web services in Resources and click Fetch
. You must refresh the web services, even if you have made no changes to them.
15. In the same editor on the Settings tab is the configuration provider class. This class,
wsi.remote.gw.webservice.pc.PCConfigurationProvider, is used by the plugin to define the user name
and password that ClaimCenter uses to connect with PolicyCenter.
In the base configuration, ClaimCenter defines the user name su and password gw in this class. Guidewire
recommends that you change this user name in this class. Then add a new user to PolicyCenter with the same
user name and password that you specify in PCConfigurationProvider. That new user must have the
soapadmin permission, plus at least the permissions needed to view and edit policies.
There is an example of how to configure a user name and password with ContactManager that is similar to the
ClaimCenter configuration for PolicyCenter. See “Configuring ClaimCenter-to-ContactManager Authentica-
tion” on page 65 in the Contact Management Guide.
16. To test the integration, restart the ClaimCenter server. Then start the New Claim wizard and search for a
Personal Auto or Workers' Compensation policy.

Configuring Conversion of Objects Retrieved from PolicyCenter


The conversion of objects received from PolicyCenter is configurable in the pc-to-cc-data-mapping.xml file.
ClaimCenter Studio provides different versions of this file corresponding to your version of PolicyCenter.
• PolicyCenter 8 – In the Project window, navigate to configuration → config → datamapping → pc → 800 →
pc-to-cc-data-mapping.xml.

102 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

• PolicyCenter 9 – In the Project window, navigate to configuration → config → datamapping → pc → 900 →


pc-to-cc-data-mapping.xml.

The only object that ClaimCenter sends to PolicyCenter is a PCSearchCriteria object. This object is created and
populated from the ClaimCenter search criteria by using Gosu. Configuration of this object must be done in
Gosu.
Changes to the pc-to-cc-data-mapping.xml file are not picked up automatically by the plugin. After changing
the file, restart your ClaimCenter server.

Configuring PolicyCenter to Get Claim Information from ClaimCenter


These instructions describe how to set up PolicyCenter 9 to integrate with both ClaimCenter 9 and ClaimCenter
8. If you are integrating PolicyCenter 9 with ClaimCenter 8, use the instructions in the ClaimCenter 8 documen-
tation for the ClaimCenter side of the integration.
1. Start the ClaimCenter server.

2. Launch PolicyCenter Studio.


From a command prompt, navigate to the installation directory for PolicyCenter, and type gwb studio.

3. In the Studio Project window, navigate to configuration → config → suite, and then open suite-config.xml.

4. Remove the comment markers <!-- and --> from the line for the ClaimCenter URL:
<!--<product name="cc" url="http://localhost:8080/cc"/>-->

5. Update the ClaimCenter URL to match your server and port.

6. In the Studio Project window, expand configuration → gsrc and then navigate to wsi.remote.gw.webservice.cc.

7. Open one of the following web service files, depending on the version of ClaimCenter that you are inte-
grating with PolicyCenter:
• ClaimCenter 8 – cc800.wsc
• ClaimCenter 9 – cc900.wsc

Note: The ${cc} variable for the defined web service is defined in suite-config.xml.

8. Ensure that the ClaimCenter server is running. Then select the web service in Resources and click Fetch .
You must refresh the web service, even if you have made no changes to it.
9. In the same editor on the Settings tab is the configuration provider class. This class,
wsi.remote.gw.webservice.cc.CCConfigurationProvider, defines the user name and password that
PolicyCenter uses to connect with ClaimCenter.
In the base configuration, PolicyCenter uses the user name su and password gw. Guidewire recommends that
you change this user name and password in CCConfigurationProvider and then create a corresponding user
with the same user name and password in ClaimCenter. That new user must have the soapadmin permission,
plus at least the permissions needed to view and edit claims and policies.
There is an example of how to configure a user name and password with ContactManager that is similar to the
PolicyCenter configuration for ClaimCenter. See “Configuring PolicyCenter-to-ContactManager Authentica-
tion” on page 66 in the Contact Management Guide.
10. In the Studio Project window, navigate to configuration → config → Plugins → registry, and then open
IClaimSearchPlugin.gwp.

11. Click Remove Plugin to remove the following demonstration implementation:


gw.plugin.claimsearch.impl.GWDemoClaimSearchPlugin

12. Click Add Plugin and select Add Gosu Plugin.

Enabling Integration between ClaimCenter and PolicyCenter 103


PolicyCenter 9.0.0 Installation Guide

13. Enter one of the following plugin implementation classes in the Gosu Class field, depending on the version of
ClaimCenter that you are integrating with PolicyCenter:
• ClaimCenter 8 – gw.plugin.claimsearch.cc800.GWClaimSearchPlugin
• ClaimCenter 9 – gw.plugin.claimsearch.cc900.GWClaimSearchPlugin

Note: The cc800 plugin implementation class might indicate that it is deprecated. Ignore this indicator. This
class is the correct one to use to integrate with ClaimCenter 8.0.0 and later.
14. In the Project window, navigate to configuration → config, and then open config.xml.

15. Set the ClaimSystemURL parameter to the ClaimCenter URL.


Before configuration, the ClaimSystemURL is set to an empty string. In the base configuration, the
ClaimCenter URL is:
http://localhost:8080/cc/ClaimCenter.do

16. Restart PolicyCenter to pick up these changes.

See also
• “PolicyCenter Exit Points to ClaimCenter and BillingCenter” on page 546 in the Integration Guide

Enabling Large Loss Notification Integration


In the base configuration, ClaimCenter does not enable integration with a policy system for large loss notifica-
tion.
Perform the following instructions in ClaimCenter Studio to enable this behavior with PolicyCenter. To success-
fully complete all the steps, the PolicyCenter server must be running. The ClaimCenter server does not need to
be running. After performing these instructions, you must restart the ClaimCenter server for the changes to take
effect.

To enable large loss notification integration between ClaimCenter 9 and PolicyCenter 9


1. Launch ClaimCenter Studio.
From a command prompt, navigate to the installation directory for ClaimCenter and type gwb studio.

2. In the Studio Project window, navigate to configuration → config → Rule Sets → Preupdate → TransactionSetPreupdate.

3. Select the check box for the rule TPU05000 - Large Loss Notification to enable that rule.

4. Navigate to configuration → config → Rule Sets → EventMessage → EventFired and select the check box for the rule
EFR06000 - Policy System Notification to enable that rule.
5. Navigate to configuration → config → Messaging, and then open messaging-config.xml.

6. In the editor, select the following messaging destination:


ID-69, Name=Java.MessageDestination.PolicySystemNotification.Name

7. Enable this message destination by clearing the Disabled check box at the top right of the editor.

8. In the Studio Project window, navigate to configuration → config → Plugins → registry, and then open
policySystemNotificationTransport.gwp.

9. In the editor, clear the Disabled check box.

10. In the Studio Project window, navigate to configuration → config → Plugins → registry, and then open
IPolicySystemNotificationPlugin.gwp.

11. Click Remove Plugin to remove the following demonstration implementation:


gw.plugin.policy.impl.StandAlonePolicySystemNotificationPlugin

12. Click Add Plugin and select Add Gosu Plugin.

104 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

13. Enter the following for the Gosu Class field:


gw.plugin.policy.notification.pc900.PCPolicySystemNotificationPlugin

14. If you have not already done so, update suite-config.xml to enable ClaimCenter to work with PolicyCenter.
Also, if necessary, change the URL for the PolicyCenter server to the URL used in your configuration.
a. In the Studio Project window, navigate to configuration → config → suite, and then open suite-config.xml.

b. If present, remove the comment markers <!-- and --> from the line defining the PolicyCenter URL:
<!--<product name="pc" url="http://localhost:8180/pc"/>-->

c. If necessary, update the PolicyCenter URL to match your server and port.

15. If you have not already done so, set the PolicyCenter URL in the PolicySystemURL configuration parameter:

a. In the Studio Project window, navigate to configuration → config, and then open config.xml.

b. Set the PolicyCenter URL in the PolicySystemURL configuration parameter. For example, add the follow-
ing line to this file:
<param name="PolicySystemURL" value="http://localhost:8180/pc""/>

16. Verify that the PolicyCenter server is running.

17. In the ClaimCenter Studio Project window, navigate to configuration → gsrc and then to
wsi.remote.gw.webservice.pc.

18. Double-click pc900.wsc to open this web service collection in the editor.

19. Select the web service ${pc}/ws/gw/webservice/pc/pc900/ccintegration/


ClaimToPolicySystemNotificationAPI?wsdl.

Note: The ${pc} part of this path is the PolicyCenter URL defined in suite-config.xml.

20. Click Fetch to refresh the web service.


21. In the same editor on the Settings tab is the configuration provider class. This class,
wsi.remote.gw.webservice.pc.PCConfigurationProvider, defines the user name and password that
ClaimCenter uses to connect with PolicyCenter.
For information on setting the user name and password in this class, see step 15 in the previous instructions
describing how to configure ClaimCenter to retrieve policy information from PolicyCenter.
22. Restart the ClaimCenter server for these changes to take effect.

Test your integration


In a development system, test the integration by adding a claim to ClaimCenter with a loss that exceeds the
threshold for that type of claim. If the integration works correctly, PolicyCenter adds a referral reason and an
activity for that policy.

Enabling Integration between BillingCenter and PolicyCenter


This topic applies if you have both PolicyCenter and BillingCenter installed and want to integrate them to share
information. If you are not integrating PolicyCenter with BillingCenter, skip this topic.

Enabling Integration between BillingCenter and PolicyCenter 105


PolicyCenter 9.0.0 Installation Guide

Integration Features

The default installations of PolicyCenter and BillingCenter support integration between the two applications.
The integration enables PolicyCenter and BillingCenter to exchange information about accounts, policies,
producers, producer codes, and billing. When the integration is enabled, the payment screen in PolicyCenter
displays payment plans retrieved from BillingCenter. Your payment plan selection is transmitted to BillingCenter
and saved with the policy period. Accounts and policy periods are shared between BillingCenter and
PolicyCenter. BillingCenter sends delinquency notices to PolicyCenter. The PolicyCenter user interface displays
links that enable you to view data in BillingCenter.

Plugins and Web Services


BillingCenter includes a Gosu plugin that interfaces with a specialized PolicyCenter web service provided with
PolicyCenter 8 and PolicyCenter 9.
PolicyCenter publishes the following web services in the base configuration for use by BillingCenter:
• gw.webservice.pc.pc900.job.PolicyRenewalAPI
• gw.webservice.pc.pc900.job.CancellationAPI
• gw.webservice.pc.pc800.job.PolicyRenewalAPI
• gw.webservice.pc.pc800.job.CancellationAPI

PolicyCenter includes Gosu plugins that interface with BillingCenter web services provided with BillingCenter.
These plugins enable PolicyCenter to send information to and retrieve information from BillingCenter.
BillingCenter publishes the following web services in the base configuration for use by PolicyCenter:
• gw.webservice.policycenter.bc900.BillingAPI
• gw.webservice.policycenter.bc900.BillingSummaryAPI
• gw.webservice.bc.bc900.BCAPI
• gw.webservice.bc.bc900.PaymentInstrumentAPI
• gw.webservice.policycenter.bc801.BillingAPI
• gw.webservice.policycenter.bc801.BillingSummaryAPI
• gw.webservice.bc.bc801.BCAPI
• gw.webservice.bc.bc801.PaymentInstrumentAPI

When PolicyCenter starts, it sends Producer, ProducerCode, Account, and Policy entity instances to
BillingCenter. Therefore, you must start BillingCenter before PolicyCenter.

See also
• For detailed information, see“Billing Integration” on page 489 in the Integration Guide and “Billing System
Integration” on page 799 in the Application Guide.

Enabling the PolicyCenter Plugin in BillingCenter


1. In a command prompt, navigate to the BillingCenter installation directory, and then type the following
command:
gwb studio

2. In Studio, navigate in the Project window to configuration → config → Plugins → registry, and then open
IPolicySystemPlugin.gwp.

3. Set Gosu Class to gw.plugin.pas.pc900.PCPolicySystemPlugin.

4. Add user name and password parameters.

a. To the far right of Parameters, click Add .


b. For the Name of the parameter, enter username.

c. For the Value of the parameter, enter the superuser user name su.

106 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

d. To the far right of Parameters, click Add .


e. For the Name of the parameter, enter password.

f. For the Value of the parameter, enter the superuser password gw.

5. In the Project window, navigate to configuration → config → suite and double-click suite-config.xml.

6. Remove the comment markers <!-- and --> from the line for the PolicyCenter URL:
<!--<product name="pc" url="http://localhost:8180/pc"/>-->

7. If necessary, update the PolicyCenter URL to match your server and port.

8. In the Studio Project window, expand configuration →


gsrc and then navigate to
wsi.remote.gw.webservice.pc. Open one of the following web service collection files, depending on the
version of PolicyCenter that you are integrating with BillingCenter:
• pc900.wsc
• pc800.wsc

Note: The ${pc} variable for each of the defined web services is defined in suite-config.xml.
9. Ensure that the PolicyCenter server is running.

10. Select all the web services in Resources and click Fetch . You must refresh the web services, even if you have
made no changes to them.
11. Shut down the PolicyCenter server.

Starting BillingCenter
1. In a command prompt, navigate to the BillingCenter installation directory and type the following command:
gwb runServer

2. After BillingCenter is ready, open a supported web browser and enter the URL to BillingCenter. In the default
configuration, the web address is:
http://localhost:8580/bc/BillingCenter.do

3. Log in as user su with password gw.

4. For testing, development, or demonstration purposes, load sample data.

a. Press ALT+SHIFT+T to open the Server Tools screen.

b. Click Sample Data in the sidebar menu.

c. On the Sample Data screen, click Import.

d. After the data set loads, in the Options menu , click Return to BillingCenter.

Enabling BillingCenter Plugins in PolicyCenter


1. At a command prompt, navigate to the PolicyCenter installation directory, and then start Studio for
PolicyCenter by using the following command:
gwb studio

2. In the Project window in Studio, navigate to configuration → config → Plugins → registry, and then open
IBillingSummaryPlugin.gwp.

3. Change Gosu Class to one of the following, depending on the version of BillingCenter that you are integrating
with:
gw.plugin.billing.bc900.BCBillingSummaryPlugin
gw.plugin.billing.bc800.BCBillingSummaryPlugin

Enabling Integration between BillingCenter and PolicyCenter 107


PolicyCenter 9.0.0 Installation Guide

4. In the same Project window folder, open IBillingSystemPlugin.gwp.

5. Change Gosu Class to one of the following, depending on the version of BillingCenter that you are integrating
with:
gw.plugin.billing.bc900.BCBillingSystemPlugin
gw.plugin.billing.bc800.BCBillingSystemPlugin

6. In the Project window, navigate to configuration → config, and then open config.xml.

7. Set the BillingSystemURL parameter to the BillingCenter URL. Before configuration, the
BillingSystemURL is set to the null string. In a default installation, the BillingCenter URL is:
http://localhost:8580/bc/BillingCenter.do
This configuration parameter defines the URL for an exit point. Exit points are configured in config.xml and
not in suite-config.xml. The configuration parameters in suite-config.xml support integration between
Guidewire applications through web services. The exit point configuration parameters in config.xml support
integration between web browsers.
See “PolicyCenter Exit Points to ClaimCenter and BillingCenter” on page 546 in the Integration Guide.
8. If archiving is enabled in BillingCenter, set BillingSystemArchiveEnabled to true.

9. In the Studio Project window, navigate to configuration → config → suite, and then open suite-config.xml.

10. Remove the comment markers <!-- and --> from the line for the BillingCenter URL:
<!--<product name="bc" url="http://localhost:8580/bc"/>-->

11. If necessary, update the BillingCenter URL to match your server and port.

12. In the Studio Project window, expand configuration →


gsrc and then navigate to
wsi.remote.gw.webservice.bc. Open one of the following web service collection files, depending on the
version of BillingCenter that you are integrating with PolicyCenter:
• bc900.wsc
• bc800.wsc

Note: The ${bc} variable for each of the defined web services is defined in suite-config.xml.

13. Ensure that the BillingCenter server is running. Then, in PolicyCenter Studio, select all the web services in
Resources and click Fetch .
Note: You must refresh the web services, even if you have made no changes to them.
14. In the same editor on the Settings tab is the configuration provider class. This class,
wsi.remote.gw.webservice.bc.BCConfigurationProvider, is used by the bc900 and bc800 plugins to
define the user name and password that PolicyCenter uses to connect with BillingCenter.
In the base configuration, PolicyCenter defines the user name pu and password gw in this class. Guidewire
recommends that you change the user name and password defined in this class. Then add a new user to
BillingCenter with the same user name and password that you specify in BCConfigurationProvider. That
new user must have the soapadmin permission, plus at least the permissions needed to view policies and
accounts.
There is an example of how to configure a user name and password with ContactManager that is similar to the
PolicyCenter configuration for BillingCenter. See “Configuring PolicyCenter-to-ContactManager Authenti-
cation” on page 66 in the Contact Management Guide.

Starting PolicyCenter
Whenever PolicyCenter is integrated with BillingCenter, on startup, PolicyCenter sends Producer,
ProducerCode, Account, and Policy entity instances to BillingCenter. Therefore, you must start BillingCenter
before PolicyCenter, so BillingCenter is available to receive this data. See “Starting BillingCenter” on page 107.
1. In a command prompt, navigate to the installation directory for PolicyCenter.

108 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

2. Start the PolicyCenter server by entering the following command:


gwb runServer

3. After PolicyCenter is ready, open a supported web browser and navigate to PolicyCenter. In the default instal-
lation, the web address is:
http://localhost:8180/pc/PolicyCenter.do

4. For testing, development or demonstration purposes, load sample data.

a. Log in as user su with password gw.

b. Type ALT+SHIFT+T.

c. Click the Internal Tools tab.

d. Click PC Sample Data in the sidebar.

e. Click Load to load one of the sample data sets.

f. After the data set loads, click the Options menu , and then click Return to PolicyCenter.

Verifying the BillingCenter Integration


When you enabled the integration, PolicyCenter sent Producer, ProducerCode, Account, and Policy entity
instances to BillingCenter. Now, you must verify that BillingCenter has these entity instances.
1. Verify that policies were transferred from PolicyCenter to BillingCenter.

a. In PolicyCenter, navigate to Search tab → Policies and click Policies.

b. In the Search Policies screen, enter enough data to search for a policy.
For example, if the small sample data set is loaded, enter Ray in the First Name field, Newton in the Last Name
field, and 100-002541 in the Producer Code field.
c. Select a policy number and copy it.

d. In BillingCenter, click the drop-down button on the Policy tab, and then paste the policy number in the Pol-
icy # box.

e. Click Search. BillingCenter displays a list of matching policies.

f. In the Policy column, click the link to the policy. BillingCenter displays the Summary page for that policy.

2. Verify that accounts were transferred from PolicyCenter to BillingCenter.

a. In PolicyCenter, select an account number and copy it.

b. In BillingCenter, select the drop-down button on the Account tab, and then paste the account number into
the Account # box.
c. Click Search. BillingCenter displays a list of matching accounts.

d. In the Account column, click the link to the account. BillingCenter displays the Summary page for that
account.
3. Verify that producers and producer codes were transferred from PolicyCenter to BillingCenter.

a. In PolicyCenter, click an account number to jump to the Account File Summary page for the account.

b. Copy the Producer Code on that account.

c. In BillingCenter, select Search → Producers.

d. Paste the producer code in the Producer Code field.

e. Click Search.

Enabling Integration between BillingCenter and PolicyCenter 109


PolicyCenter 9.0.0 Installation Guide

BillingCenter displays a list of matching producers. In the Name column, click the link to the producer to
see the producer Summary page.

Archiving in a Production Environment


If you plan to use archiving in your production environment, enable archiving. Otherwise, disable batch
processing related to archiving.

Enabling Archiving
The default config.xml file has archiving disabled, as set in the following parameter:
<param name="ArchiveEnabled" value="false"/>

If you want to enable archiving, set the value of ArchiveEnabled to true.

IMPORTANT Guidewire strongly recommends that you contact Customer Support before imple-
menting archiving.

Disabling Archiving
Archiving relies on Archive Policy Term and Restore Policy Term batch processing. If you do not want to enable
archiving, Guidewire recommends that you disable Archive Policy Term and Restore Policy Term batch
processing.
1. In a command window, navigate to the PolicyCenter installation directory.

2. Launch Guidewire Studio by using the following command:


gwb studio

3. In the Project window, navigate to configuration → config → workqueue, and then open work-queue.xml.

4. Comment out the following block by adding <!-- before the block and --> after it:
<work-queue workQueueClass="com.guidewire.pc.domain.archive.ArchivePolicyTermWorkQueue"
progressinterval="600000">
<worker instances="10"/>
</work-queue>
<work-queue workQueueClass="com.guidewire.pc.domain.archive.RestorePolicyTermWorkQueue"
progressinterval="600000">
<worker instances="10"/>
</work-queue>

5. Save your changes.

See also
• “Archiving Overview” on page 549 in the Application Guide

Enabling Rating Management


Guidewire Rating Management is available within PolicyCenter. However, Rating Management is licensed sepa-
rately from PolicyCenter. Contact your Guidewire sales representative for information on how to obtain Rating
Management. Contact your Guidewire support representative for instructions on how to enable Rating Manage-
ment.
After you have enabled Rating Management, you must enable the rating plugin that works with Rating Manage-
ment.

110 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

See also
• “Guidewire Rating Management and PCRatingPlugin” on page 387 in the Integration Guide
• “Rating Management Concepts” on page 559 in the Application Guide

Installing Reinsurance Management or Disabling Work Queue


Guidewire Reinsurance Management is available within PolicyCenter. However, Reinsurance Management is
licensed separately from PolicyCenter. Contact your Guidewire sales representative for information on how to
obtain Reinsurance Management. Contact your Guidewire support representative for instructions on how to
enable Reinsurance Management.
See “Reinsurance Management Concepts” on page 643 in the Application Guide.
If you do not enable Reinsurance Management, Guidewire recommends that you disable RICedingWorkQueue.

To disable RICedingWorkQueue
1. In a command window, navigate to the PolicyCenter directory in the PolicyCenter installation.

2. Launch Guidewire Studio using the following command:


gwb studio

3. In Studio, open workqueue → work-queue.xml.

4. Comment out the following block by adding <!-- before the block and --> after it.
<work-queue workQueueClass="com.guidewire.pc.domain.reinsurance.RICedingWorkQueue"
progressinterval="30000">
<worker instances="1"/>
</work-queue>

5. Save your changes.

Upgrading Product Model of Old LOB Extension Packs


If you need to add a pre-8.0.4 Line of Business extension pack to your PolicyCenter 9.0.0 installation, you can
upgrade the extension pack. The gwb upgradeProductModelStructure command upgrades product model files
to the 9.0.0 structure without requiring a full configuration upgrade of PolicyCenter. The command also
upgrades audit schedule pattern classes and code identifiers for all product model patterns.

To upgrade the extension pack


1. Make a backup copy of the product model directory. The command destructively modifies the target direc-
tory.
2. Open a command line window to the PolicyCenter directory.

3. Run the gwb upgradeProductModelStructure -DtargetPath=target_path command. The target_path is


the path to the configuration directory: modules/configuration.

Installing Reinsurance Management or Disabling Work Queue 111


PolicyCenter 9.0.0 Installation Guide

Configuring Single Sign-on Authentication


You can configure PolicyCenter to use single sign-on (SSO) authentication. PolicyCenter then forwards users
from the application URL to an authentication provider which checks the users credentials and then forwards
back to PolicyCenter. PolicyCenter generates a unique Cross-Site Request Forgery (CSRF) token for each user
session. The CSRF token is included in each request and used by the server to verify the legitimacy of the user
request.
The following configuration is a basic example. You can use this example to develop more complicated authenti-
cation features, such as redirecting users to different failure pages depending on the failure reason and so forth.

To configure SSO authentication


1. Create a Gosu class CustomAuthServlet.gs.

a. Open Studio.

b. In the Studio Project window, expand configuration.

c. Right-click gsrc and click New → Package.

d. Enter a package name for upgrade purposes, such as companyName.auth.

e. Right-click the package and click New → Gosu Class.

f. Enter CustomAuthServlet as the name for the class and click OK.

g. Enter the following class definition:


package companyName.auth

uses com.guidewire.pl.system.dependency.PLDependencies
uses com.guidewire.pl.system.service.context.ServiceToken
uses com.guidewire.pl.system.server.Version
uses com.guidewire.pl.web.controller.WebServlet
uses javax.servlet.http.HttpServletResponse
uses javax.servlet.http.HttpServletRequest
uses javax.servlet.http.HttpServlet
uses gw.servlet.ServletUtils
uses javax.security.auth.login.LoginException
uses gw.servlet.Servlet
uses gw.plugin.Plugins
uses gw.plugin.baseurlbuilder.IBaseURLBuilder

@Servlet( \ path : String ->path.matches( "/ssosaml" ) )


class CustomAuthServlet extends HttpServlet {
override function doPost(req: HttpServletRequest, resp: HttpServletResponse) {
var user:User = ServletUtils.getAuthenticatedUser(req, true);
if (user != null) {
redirectToIndex(req, resp);
return;
}

// try to login
try {
PLDependencies.LoginManager.login(req);
} catch (e : LoginException) {
respondUnauthorized(req,resp);
return;
}

var serviceToken:ServiceToken = PLDependencies.CommonDependencies.ServiceToken;


if (serviceToken == null || !serviceToken.AuthenticatedUser) {
respondUnauthorized(req,resp);
} else {
// store token
req.getSession(false).setAttribute(WebServlet.SERVICE_TOKEN_SESSION_ATTR, serviceToken);
redirectToIndex(req, resp);
}

return;
}

112 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

private function respondUnauthorized(req:HttpServletRequest, resp:HttpServletResponse) {


print("User is unauthorized")
redirectToError(req, resp);
}

private function redirectToIndex(req:HttpServletRequest, resp:HttpServletResponse) {


print("User is authorized. Send to index page.")
var plugin:IBaseURLBuilder = (IBaseURLBuilder) Plugins.get("BaseURLBuilderPlugin");
var pcStartupPageEP = "PolicyCenterStartupPageEP"
resp.sendRedirect(plugin.getApplicationBaseURL(req) + "/" + pcStartupPageEP + ".do");
}

private function redirectToError(req:HttpServletRequest, resp:HttpServletResponse) {


print("User is unauthorized. Send to Default Failure page.")
var plugin:IBaseURLBuilder = (IBaseURLBuilder) Plugins.get("BaseURLBuilderPlugin");
var defaultFailureEP = "DefaultFailureEP"
resp.sendRedirect(plugin.getApplicationBaseURL(req) + "/" + defaultFailureEP + ".do");
}
}

2. Expand configuration → config → servlets and open servlets.xml.

3. Add your custom servlet to the list. For example:


<servlet class="companyName.auth.CustomAuthServlet"/>

4. Add an AuthServicePlugin.gs Gosu class to your custom authentication package.


package companyName.auth

uses gw.plugin.security.AuthenticationServicePlugin
uses gw.plugin.security.AuthenticationServicePluginCallbackHandler
uses gw.plugin.security.AuthenticationSource
uses gw.plugin.security.UserNamePasswordAuthenticationSource
uses java.lang.IllegalArgumentException
uses javax.security.auth.login.FailedLoginException

class AuthServicePlugin implements AuthenticationServicePlugin {


var _handler: AuthenticationServicePluginCallbackHandler;
override function authenticate(p0: AuthenticationSource): String {
if (p0 typeis UserNamePasswordAuthenticationSource == false) {
throw new IllegalArgumentException("Authentication source type " + p0.getClass().getName() +
"is not known to this plugin");
}
var uNameSource:UserNamePasswordAuthenticationSource = (UserNamePasswordAuthenticationSource) p0 ;
var username = uNameSource.Username;
var userPublicId = _handler.findUser(username);
if (userPublicId == null) { throw new FailedLoginException("Bad user name " + username);}
return userPublicId;
}

override function setCallback(p0: AuthenticationServicePluginCallbackHandler) {


_handler = p0;
}
}

5. Add an AuthSourceCreator.gs Gosu class to your custom authentication package.


package companyName.auth

uses gw.plugin.security.AuthenticationSourceCreatorPlugin
uses gw.plugin.security.AuthenticationSource
uses javax.servlet.http.HttpServletRequest
uses gw.plugin.security.UserNamePasswordAuthenticationSource

class AuthSourceCreator implements AuthenticationSourceCreatorPlugin {


override function createSourceFromHTTPRequest(p0: HttpServletRequest): AuthenticationSource {

var source:AuthenticationSource;
var userName:String = p0.getParameter ("username");
var password:String = p0.getParameter("password");

print("userName\t" + userName)
print("password\t" + password)

source = new UserNamePasswordAuthenticationSource(userName, password);

return source;

}
}

Configuring Single Sign-on Authentication 113


PolicyCenter 9.0.0 Installation Guide

In your code, check for errors and throw InvalidAuthenticationSourceData if there are errors.
6. Associate AuthServicePlugin.gs to the AuthenticationServicePlugin plugin.

a. Expand configuration → config → Plugins → registry and open AuthenticationServicePlugin.gwp.

b. Click to remove the default plugin.


c. Click and select Add Gosu Plugin.
d. For Gosu Class enter the AuthServicePlugin.gs class, including the fully qualified package.

7. Associate AuthSourceCreator.gs to the AuthenticationSourceCreatorPlugin plugin.

a. Open AuthenticationSourceCreatorPlugin.gwp.

b. Click to remove the default plugin.


c. Click and select Add Gosu Plugin.
d. For Gosu Class enter the AuthSourceCreator.gs class, including the fully qualified package.

8. Create an entry point for the entry page.

a. Expand configuration → config → Page Configuration → pcf, right-click entrypoints and click New → PCF file.

b. Enter PolicyCenterStartupPageEP for the file name.

c. Select Entry Point for the file type and click OK.

d. Select the entry point.

e. Set location to PolicyCenterStartupPage().

f. Set authenticationRequired to false.

9. Create an entry point for the default failure page.

a. Right-click entrypoints and click New → PCF file.

b. Enter DefaultFailureEP for the file name.

c. Select Entry Point for the file type and click OK.

d. Select the entry point.

e. Set location to DefaultFailurePage().

f. Set authenticationRequired to false.

10. Create a BaseURLBuilderPlugin.

a. Right-click configuration → config → Plugins → registry and click New → Plugin.

b. Enter BaseURLBuilderPlugin for the name.

c. Enter IBaseURLBuilder for the interface and click OK.

d. Click and select Add Java Plugin.


e. Enter com.guidewire.pl.web.render.html.BaseURLBuilderImpl for the Java Class.

11. Include the following form on an HTML page for testing.


<form name="input" action="http://localhost:8080/pc/service/ssosaml" method="post">
Username: <input type="text" name="username">
Password: <input type="text" name="password">

<input type="submit" value="Submit">


</form>

114 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

Starting PolicyCenter on the Application Server


Select the topic below for your application server type to learn how to start PolicyCenter:
• “Starting PolicyCenter on JBoss” on page 115
• “Starting PolicyCenter on Tomcat on Windows” on page 115
• “Starting PolicyCenter on WebLogic” on page 115
• “Starting PolicyCenter on WebSphere” on page 115
PolicyCenter can run in development, test, or production mode and at different run levels. For more information,
see “Server Modes” on page 48 in the System Administration Guide.

Starting PolicyCenter on JBoss


PolicyCenter starts when you start JBoss. Use the run command in the JBoss bin directory to start JBoss.
Entering the run command without any parameters launches JBoss using the default server configuration.

Starting PolicyCenter on Tomcat on Windows


PolicyCenter starts when you start Tomcat. To start the Tomcat server on Windows, run the following script:
Tomcat/bin/startup.bat

By default, Tomcat starts up in a new window. If it encounters errors, the new window might automatically close
too quickly for you to read any error messages. In this case, you can run Tomcat in the same command window
by editing the startup script. Locate the line in the script that runs Tomcat:
startup.bat: call "%EXECUTABLE%" start %CMD_LINE_ARGS%

Change the start option in the command to run. Save the script, and then run it again. Tomcat then runs in the
same command window, which you can use to view any error messages.

Starting PolicyCenter on WebLogic


To start PolicyCenter on WebLogic
1. Start the WebLogic Admin Server if it is not already running.

2. Open the WebLogic Administration Console.

3. Under Domain Structure, click Deployments.

4. Select the checkbox for PolicyCenter.

5. Click Start → Servicing all requests. The WebLogic Administration Console informs you of the deployments that
you selected to be started.
6. Click Yes.

7. Navigate to and select the PolicyCenter application. WebLogic identifies PolicyCenter by the name that you
gave to the deployed EAR file.
8. Click Deploy Application.
This step launches the PolicyCenter server. The application start process could take a few minutes to com-
plete.

Starting PolicyCenter on WebSphere


To start PolicyCenter on WebSphere
1. Open the WebSphere Administrative Console.

Starting PolicyCenter on the Application Server 115


PolicyCenter 9.0.0 Installation Guide

2. Click Applications → Application Types → WebSphere enterprise applications.

3. Select the checkbox next to the PolicyCenter application, abbreviated by default as pc.
If PolicyCenter is already running, and you want to restart PolicyCenter, restart WebSphere.
If PolicyCenter is not running, click Start. PolicyCenter might take a few minutes to start.

IMPORTANT Guidewire does not support stopping and restarting the PolicyCenter server with the
WebSphere Application Server (WAS) tools alone. Instead, to stop the PolicyCenter server, shut down
the WebSphere server itself.

Connecting to PolicyCenter with a Web Client


Users connect to PolicyCenter through a web browser. The URL for PolicyCenter or ContactManager includes
the server name, port, and application name. For example:
http://appserver1:8080/pc/PolicyCenter.do

The following list shows default port numbers used by the application servers supported by PolicyCenter. You
can configure the application server to listen on a different port than the default.
QuickStart 8180
JBoss 8080
Tomcat 8080
WebLogic 7001
WebSphere 9080

Supply users with a user name and password along with the URL for your installation.
See “Web Client Information” on page 46 for a list of required software and hardware for client computers
accessing PolicyCenter.

Configuring Windows Accessibility for Firefox


When a user clicks in a cell in an editable list view, the dotted border around actionable elements, such as links,
cells and radio buttons, is not visible. However, if the user tabs into the same list view, the dotted border is
visible. Firefox checks a Windows accessibility setting to determine this behavior.

To always enable the dotted border around actionable elements


1. Click Start → Control Panel → Ease of Access Center → Make the keyboard easier to use.

2. Click Underline keyboard shortcuts and access keys.

3. Click OK.

4. Restart Firefox.

Additional Installation Information


The following topics link to sources for more information.

116 Chapter 5: Additional PolicyCenter Setup Tasks


PolicyCenter 9.0.0 Installation Guide

Integrating PolicyCenter with ContactManager


To integrate PolicyCenter with ContactManager, see “Integrating ContactManager with Guidewire Core Appli-
cations” on page 43 in the Contact Management Guide.

Running PolicyCenter in a Clustered Environment


Running PolicyCenter in a clustered environment requires an in depth understanding of PolicyCenter configura-
tion files. See “Understanding PolicyCenter Server Clustering” on page 113 in the System Administration Guide.

Additional Installation Information 117


PolicyCenter 9.0.0 Installation Guide

118 Chapter 5: Additional PolicyCenter Setup Tasks


chapter 6

Command Reference

PolicyCenter includes a number of command line tools that you can use for help with build and administrative
tasks on your PolicyCenter server.
Because of their simplicity and power, command line tools are the preferred method of controlling server
behavior, loading data, and generating tools in the PolicyCenter configuration environment. These commands
can be configured using familiar files, are invoked using standard developer tools, and are compatible with a
wide spectrum of development environments.

See also
• “Command Prompt Tools” on page 317 in the System Administration Guide

Command Reference 119


PolicyCenter 9.0.0 Installation Guide

The following table provides a summary of the PolicyCenter build tools.

Command Action

Core application tools


gwb gwTasks Displays all Guidewire gwb command options.
gwb clean Deletes the build directories.
gwb compile Compiles and copies resources for the QuickStart application server.
gwb runServer Starts the bundled QuickStart application server.
To start the server in development mode using socket debugging, use the
command gwb runServer --debug-socket --no-suspend.
To start the server in development mode in a suspended state using
socket debugging, use the command gwb runServer --debug-socket.
To start the server in development mode using shared memory debug-
ging, use the command gwb runServer --debug-shmem.
To start the server in development mode in a suspended state using
shared memory debugging, use the command gwb runServer
--debug-shmem --no-suspend.
gwb stopServer Stops the bundled QuickStart application server.
gwb studio Starts Guidewire Studio.
gwb version Prints the product version.

120 Chapter 6: Command Reference


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb dropDB -Denv=<env> Prepares a new database for use by the Guidewire application. It will act
upon the database configured in database-config.xml, or as optionally
specified by the -Denv="env" parameter.
Use caution when using this command. If the database has any objects
before the command is run, the objects are all dropped and not available
for recovery except from a database backup.
You can pass additional parameters to this command by configuring the
<reset-tools-params> element underneath the
<dbcp-connection-pool> element of the <database> element in
database-config.xml.

You can pass additional parameters to this command by adding the


parameters to the <reset-tools-params> subelement in
database-config.xml as shown below:
<database>
<dbcp-connection-pool>
<reset-tool-params
system-username="user"
system-password="pass"/>
</dbcp-connection-pool>
</database>
SQL Server
The command drops and creates a new database. It creates any file-
groups named within the <database> element. The database files will be
physically located where the server would put them by default. If speci-
fied, the collate attribute specifies the database collation. Otherwise, the
default collation of the database server will be used. The command SET
READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE is issued on
the new database. Since a CREATE DATABASE command is used, attributes
of the model system database of the server are inherited.
The dropDB command will create any file groups listed in the upgrade ele-
ment of the database configuration. This does not happen on Oracle.
However, the dropDB command will not drop a database with file groups. If
you have file groups configured, first drop the database using the Man-
agement Studio. Then you can run dropDB to create the database with file
groups.
Oracle
A Guidewire database corresponds to an Oracle schema: a user and all
the objects owned by that user. So, for Oracle, this command drops all
objects owned by the schema owner, and only the user is left with the
required permissions. The dropDB command requires SQLPlus, available
with the Oracle client installation. Include ORACLE_HOME\bin in the PATH,
so that dropDB can locate SQLPlus.
The system-username and system-password attributes of the
<reset-tools-params> element must be specified so that the required
permissions are available for these actions.
EAR tools
gwb earWeblogicDbcp Builds the EAR file for WebLogic including JDBC drivers. Use gwb
earWeblogicDbcp if you are going to have PolicyCenter manage the data-
base connection pool.
gwb earWeblogicJndi Builds the EAR file for WebLogic without JDBC drivers. Use gwb
earWeblogicJndi only if you are going to use a JNDI database connec-
tion managed by WebLogic.
See also
“Using a JNDI Data Source” on page 70.

Command Reference 121


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb earWebsphereDbcp Builds the EAR file for WebSphere including JDBC drivers. Use gwb
earWebsphereDbcp if you are going to have PolicyCenter manage the
database connection pool.
gwb earWebsphereJndi Builds the EAR file for WebSphere without JDBC drivers. Use gwb
earWebsphereJndi only if you are going to use a JNDI database connec-
tion managed by WebSphere.
See also
“Using a JNDI Data Source” on page 70.
WAR tools
gwb warJbossDbcp Builds the generic WAR file for JBoss including JDBC drivers. Use gwb
warJbossDbcp if you are going to have PolicyCenter manage the data-
base connection pool.
You can include the Boolean parameter config.war.dictionary=true to
also generate the PolicyCenter Data Dictionary and Security Dictionary
while building the WAR file. Use the following command:
gwb warJbossDbcp -Dconfig.war.dictionary=true
When config.war.dictionary=true, the command creates a
dictionary folder within the WAR file. The dictionary folder contains
data and security folders. These folders contain the Data Dictionary and
Security Dictionary respectively. To view a dictionary, open index.html in
the data or security folder.
gwb warJbossJndi Builds the generic WAR file for JBoss without JDBC drivers. Use gwb
warJbossJndi only if you are going to use a JNDI database connection
managed by JBoss.
You can include the Boolean parameter config.war.dictionary=true to
also generate the PolicyCenter Data Dictionary and Security Dictionary
while building the WAR file. Use the following command:
gwb warJbossJndi -Dconfig.war.dictionary=true
When config.war.dictionary=true, the command creates a
dictionary folder within the WAR file. The dictionary folder contains
data and security folders. These folders contain the Data Dictionary and
Security Dictionary respectively. To view a dictionary, open index.html in
the data or security folder.
See also
“Using a JNDI Data Source” on page 70.
gwb warTomcatDbcp Builds the generic WAR file for Tomcat including JDBC drivers. Use gwb
warTomcatDbcp if you are going to have PolicyCenter manage the data-
base connection pool.
You can include the Boolean parameter config.war.dictionary=true to
also generate the PolicyCenter Data Dictionary and Security Dictionary
while building the WAR file. Use the following command:
gwb warTomcatDbcp -Dconfig.war.dictionary=true
When config.war.dictionary=true, the command creates a
dictionary folder within the WAR file. The dictionary folder contains
data and security folders. These folders contain the Data Dictionary and
Security Dictionary respectively. To view a dictionary, open index.html in
the data or security folder.

122 Chapter 6: Command Reference


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb warTomcatJndi Builds the generic WAR file for Tomcat without JDBC drivers. Use gwb
warTomcatJndi only if you are going to use a JNDI database connection
managed by JBoss.
You can include the Boolean parameter config.war.dictionary=true to
also generate the PolicyCenter Data Dictionary and Security Dictionary
while building the WAR file. Use the following command:
gwb warTomcatJndi -Dconfig.war.dictionary=true
When config.war.dictionary=true, the command creates a
dictionary folder within the WAR file. The dictionary folder contains
data and security folders. These folders contain the Data Dictionary and
Security Dictionary respectively. To view a dictionary, open index.html in
the data or security folder.
See also
“Using a JNDI Data Source” on page 70.
Change verification tools
gwb verifyResources Checks PCF files, XML schemas, and type loaders for errors.

gwb zipChangedConfig -DoutputFile Creates a ZIP file containing all files that are changed from the base con-
filename.zip [-DappRootDirectory figuration.
PolicyCenter Home] [-Dexclude
"directory1;directory2"] Specify the output filename with the -DoutputFile parameter.
You can also specify an application root directory by setting the
-DappRootDirectory parameter. If you do not set -DappRootDirectory,
the tool uses the PolicyCenter installation directory as the root. The
tool saves the output file relative to the application root. This file must not
already exist.
Specify any directories to exclude by setting the -Dexclude parameter,
which takes a quoted, semicolon delimited, list of directories to exclude.
Note that you can only exclude directories, and cannot exclude files.
Integration tools
gwb ccTypelistGen Runs the ClaimCenter Typelist Generator to help you synchronize your
ClaimCenter line of business model with your PolicyCenter product
model.
See also
“PolicyCenter Product Model Import into ClaimCenter” on page 546 in the
Integration Guide.
gwb genFromWsc Builds WSC meta-information. Run this command whenever there are
new .wsc files containing web service URLs available to generate the web
service stub code. Places all WSC files in the configuration module.
gwb genWsiLocal Generate the WSDL for WSI web services in gsrc/wsi/local.
Plugin development tools
gwb genJavaApi Builds the Java API libraries to the PolicyCenter/java-api directory.
See also
“Regenerating Integration Libraries and WSDL” on page 30 in the
Integration Guide.
gwb pluginStudio Starts IntelliJ IDEA with OSGi Editor. This is a specially-configured
instance of IntelliJ IDEA and included with PolicyCenter. You can use this
IDE for Java plugin development.
See also
“OSGi Plugin Deployment with IntelliJ IDEA with OSGi Editor” on
page 672 in the Integration Guide.
Project tools

Command Reference 123


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb cleanIdea Deletes the PolicyCenter Studio project files (.iml, .idea).
gwb idea Builds the PolicyCenter Studio project.
gwb codegen Generates metadata classes, page configuration classes, permission
classes, localization classes, xml classes, and entity role constraints
classes.
User interface tools
gwb webResources Generates expanded, debuggable CSS files from the Sass files that
define style rules for PolicyCenter.
See also
“Modifying Style and Theme Elements” on page 333 in the Configuration
Guide.
gwb updateTheme Applies style and image changes to PolicyCenter.
See also
“Modifying Style and Theme Elements” on page 333 in the Configuration
Guide.
Upgrade tools
gwb upgrade Runs configuration upgrade.
gwb upgradeProductModelStructure Upgrades a 7.0.x or 8.0.x product model structure to the current 8.0.x
-DtargetPath=target_path structure. Use this command to upgrade the product model directory
specified by targetPath to the current 8.0.x product model hierarchy.
Before running this command, Guidewire recommends that you make a
backup copy of the specified product model directory as the command
destructively modifies the target directory.
The targetPath argument is case-sensitive.
Globalization tools
gwb diffDisplayKeys A display key difference tool that does the following:
• Compares each locale configured on the server against the master dis-
play key list.
• Generates a file that contains a list of any missing keys.

See also
“Localizing Typecodes” on page 47 in the Globalization Guide.
gwb exportLocalizations Exports a translation file from PolicyCenter into a file.
-Dexport.file="translation_file"
-Dexport.language="export_language" The -Dexport.file parameter specifies the destination file.
• If you leave the import translation file in the same location, then enter
only the name of the file to import.
• If you move the translation file to a different location, then enter an
absolute path or a relative path to the file from the root of the installa-
tion directory.
The -Dexport.language parameter specifies the destination language to
export. The -Dexport.language parameter must match a PolicyCenter
LanguageType typecode, such as fr or ja.

See also
“Localizing Typecodes” on page 47 in the Globalization Guide.

124 Chapter 6: Command Reference


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb importLocalizations Imports a translation file into the configuration.
-Dimport.file="translation_file"
-Dimport.language=destination_language The -Dimport.file parameter specifies the file that contains the transla-
tions. It must be in the same format as an export file from Studio.
The -Dimport.language parameter specifies the destination language for
the translations. The language must match a PolicyCenter LanguageType
typecode, such as fr or ja.
See also
“Localizing Typecodes” on page 47 in the Globalization Guide.
gwb installLocalizedPack Installs or upgrades a language module.
-Dmodule.file=ZipFileName
-Dinstall.type={install|upgrade} See also
“Installing Display Languages” on page 23 in the Globalization Guide.
gwb genPhoneMetadata Regenerates phone metadata in config/phone/data. Run this com-
mand if you have modified the phone metadata XML files
Documentation generation and other tools
gwb genDataDictionary Generates the Data Dictionary and Security Dictionary.
-DoutputFormat={html|xml}
The Data Dictionary includes physical fields in the database and virtual
fields in the data model.
The Security Dictionary includes application permission keys, system per-
missions, and roles.
Generate the dictionaries the first time you unzip PolicyCenter. Regener-
ate the dictionaries each time you update the data model.
Run the gwb genJavaApi command before regenerating the security and
data dictionaries.
The DoutputFormat parameter is optional. If this parameter is omitted, the
default output format is HTML.
You can also generate the dictionaries in HTML format while building a
WAR file. See the descriptions for WAR tools in this command list for
instructions.
Set DoutputFormat to html to generate HTML:
PolicyCenter/dictionary/data/index.html
PolicyCenter/dictionary/security/index.html
Set DoutputFormat to xml to generate XML:
PolicyCenter/build/dictionary/data/entityModel.xml
PolicyCenter/build/dictionary/data/entityModel.xsd
PolicyCenter/build/dictionary/security/securityDictionary.xml
PolicyCenter/build/dictionary/security/securityDictionary.xsd
See also
“Regenerating the Data Dictionary and Security Dictionary” on page 35 in
the Configuration Guide
gwb genDataMapping -Dsplit={true|false} Builds the data mapping files. Data mapping files represent fields present
in the physical database. None of the virtual fields are represented.
Set -Dsplit=true to build the files split out by table and typelist.
Set -Dsplit=false to build the data mapping files with all tables and
typelists concatenated.
gwb genEntityModelXml Generates the Data Dictionary in XML format with an associated DTD so
the XML document can be translated.
See also
“Regenerating the Data Dictionary and Security Dictionary” on page 35 in
the Configuration Guide.
gwb getImportAdminDataXsd Regenerates the XSD files for importing administrative data.
gwb genPcfMapping Builds the PCF mappings.

Command Reference 125


PolicyCenter 9.0.0 Installation Guide

Command Action
gwb genRuleReport Generates an XML report describing the existing business rules.
See also
“Generating a Rule Repository Report” on page 47 in the Rules Guide.
gwb gosudoc Generates Gosu API reference of the APIs available from Gosu within
Studio. This command produces documentation at PolicyCenter/build/
gosudoc/index.html.

See also
“Gosu Generated Documentation (Gosudoc)” on page 38 in the Gosu
Reference Guide.
gwb packageSolr Regenerates the Solr ZIP file.

126 Chapter 6: Command Reference

You might also like