0% found this document useful (0 votes)
7 views

IntegrationDataManager

Uploaded by

Siranjivi C
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

IntegrationDataManager

Uploaded by

Siranjivi C
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Guidewire PolicyCenter™

for Guidewire Cloud

Integration Data Manager


Release: 2024.02
© 2024 Guidewire Software, Inc.
For information about Guidewire trademarks, visit https://www.guidewire.com/legal-notices.
Guidewire Proprietary & Confidential — DO NOT DISTRIBUTE

Product Name: Guidewire PolicyCenter for Guidewire Cloud


Product Release: 2024.02
Document Name: Integration Data Manager
Document Revision: 06-November-2024
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

Contents
Support............................................................................................................................................................ 5

1 Integration Data Manager........................................................................................................................7

2 Basic concepts...................................................................................................................................... 11

3 Prerequisites and getting access........................................................................................................ 13

4 Workflow example................................................................................................................................. 15

5 Setting up Integration Data Manager clients.......................................................................................17

6 Security...................................................................................................................................................21

7 Configuration......................................................................................................................................... 23

8 Troubleshooting.....................................................................................................................................25

Contents 3
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

4 Contents
Support

For assistance, visit the Guidewire Community.

Guidewire customers
https://community.guidewire.com
Guidewire partners
https://partner.guidewire.com
chapter 1

Integration Data Manager

Integration Data Manager (IDM) is a JSON document storage service for integration developers. Integration Data
Manager makes it easy to store third-party data for use with InsuranceSuite, and allows users to view this data or use it
in business logic without having to change the InsuranceSuite data model. This process simplifies the InsuranceSuite
configuration and makes it easier to perform upgrades.
Note: IDM no longer supports retrieving multiple documents at the same time. The GET /pools/{poolId}/
documents endpoint is disabled. You must use the getDocument endpoint instead.

In addition, included usage limits may apply to the products and capabilities in this release. See Guidewire Cloud
Platform Specifications and Limits (located on Guidewire Community) for more information.

Why is IDM needed?


It is common to enrich InsuranceSuite data with data from third-party systems: For example:
• Information on a policyholder may be supplemented by a credit report from a credit agency.
• Vehicle data may be enriched with external data about the vehicle's driver, prior accidents, and prior insurance
policies.
• A building may be enriched by a risk assessment which indicates natural hazards or the distance from a fire station.
In both of these cases, an integration enriches a small amount of information from InsuranceSuite with data
retrieved from a third-party system.
This information needs to be stored before it can be shown to the user. However, extending the InsuranceSuite data
model for external data has disadvantages:
• It complicates the core data model with non-system of record data.
• Data model changes and associated Gosu can complicate upgrades.
• It interleaves data managed by InsuranceSuite with data managed by a third-party system, which complicates data
governance.

How is the IDM approach different?


IDM stores the third party data outside the InsuranceSuite data model. This helps maintain a separation between
InsuranceSuite system-of-record data which is managed by InsuranceSuite, and non system-of-record data which is
managed by an external system.
IDM enables a streamlined user experience for accessing data without the need to log into multiple systems or
dynamically retrieve it from the external system. This approach simplifies the core system configuration, which then
simplifies platform updates and improves data governance.
Integration Data Manager 7
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

IDM is well suited for storing data from an external system which enriches claims, policies, buildings and people. Use
cases include fraud scoring reports, credit score reports, building risk reports, police reports, credit reports, prefill data
and car rental information.
Features:
• Data pools can be created for different use cases. Each pool can have its own JSON schema and retention policy.
• Integration Gateway apps can be granted access to individual pools.
• Pool and schema-level configuration lifecycle is managed by Guidewire Lifecycle Management (LCM).
• Data isolation - documents can be shared across Integration Gateway apps within the same project with appropriate
permissions. Documents are partitioned by tenant, project, and environment while pool and schema information is
accessible across environments within the same tenant and project.
• Documents are protected against update (read-only), since InsuranceSuite is not the system of record. Data can be
written, read and deleted but it cannot be edited.
• A retention period can be specified for documents within a pool.
• IDM clients are provided for InsuranceSuite and for Integration Gateway.
• Integration Gateway access to pools is managed through an administration user interface.
• IDM can be used in conjunction with the Assessment API to associate assessment documents in IDM with core
InsuranceSuite entities.

How does IDM compare with other ways of storing data?

Integration Data Manager Integration Gateway Key Value InsuranceSuite


Store
Usage. Store short-term transient data Store of system of
for integrations. record claim, policy, and
billing data.
Goal. Store for data from third-party systems outside Short-term store of data for Store of system of
InsuranceSuite that simplifies InsuranceSuite integration purposes. record claim, policy, and
configuration, data governance, and billing data.
development operations.
Example uses. • Credit report. Accumulating items for a batch
integration.
• Car rental information.
• Verisk reports.
• Hazard reports.
• Policy snapshots from other systems.

Data retention. Retention period can vary from hours to days. Maximum of ninety days. No control over third-
Retention period is configured for each data party retention. Data is
pool (a pool is used to store data of a specific retained indefinitely
type). until claim is purged or
archived.
Integration Gateway Each Integration Gateway app needs to be Any Integration Gateway app
app data access. granted access to a particular pool. can access data in the key value
store for the tenant.
Maximum object size Maximum 400Kb.
that can be stored.
Schema Supported. Schemas are defined for each pool. No. Not available.
management. Schemas can be used to enforce the quality of
the stored data. Schemas can also be accessed
from different Guidewire services.

8 Integration Data Manager


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

Integration Data Manager Integration Gateway Key Value InsuranceSuite


Store
How are documents Documents are retrieved by document ID. Documents are retrieved by
found? document ID.
Is querying by No. Key value store allows a single
attribute supported? attribute to be set when writing
the document. Key value store
can be queried to find
documents matching that
attribute.
Claim and policy When an IDM document is stored it can be Documents are retrieved by Not available.
association. associated with a claim or policy entity using the document ID.
ClaimCenter or PolicyCenter assessment APIs.
Subsequently all IDM documents associated
with a claim or policy entity can be found.

Integration Data Manager 9


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

10 Integration Data Manager


chapter 2

Basic concepts

Pool
A pool is created to store data for a particular purpose. A pool is a logical collection of documents of the same type.
Each pool has a name, a retention period for documents in the pool, and a JSON schema. The schema is used to
understand the structure of the document and to enforce the integrity of documents stored in the pool. The schema is
versioned. Each document is associated with a single version of the schema.

Schema
The schema is a JSON document that defines the structure of JSON documents in the pool. Schemas are versioned and
numbered. When a document is written to a pool it is validated against the pool's latest schema unless a particular
schema version is specified. Each schema has a size limit of 400KB.

Document
A document is a JSON object. Each document is stored in a pool and must be associated with a particular schema
version.

Basic concepts 11
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

12 Basic concepts
chapter 3

Prerequisites and getting access

Prerequisites
• You must be on Hakuba (2023.06) or later.

Getting access
Customers need to be onboarded for Integration Data Manager by filing the following cloud operations ticket:
IDM-0010: Integration Data Manager.
The following groups will be enabled in the customer's IdP(s):
gwa.any_planet_class.flexistore.admin
Access to everything (pools, schemas and documents) for a single tenant.

gwa.lower.flexistore.admin
In development environments, access to everything (pools, schemas and documents) for a single tenant.

You then need to create the same groups and assign users as appropriate in the your IdP.
You can only use the IDM administration user interface in a non-production environment. The IDM administration user
interface is used to edit configuration data (pools and schemas). Configuration data in a production environment cannot
be edited.
Note:

To use IDM successfully, you must switch the Guidewire Cloud (GCH) context to select a planet that has an
IDM-assigned package. IDM requires you to be in a planet that has an assigned package. Customers can assign
the package to the planet in the Lifecycle Manager.

Prerequisites and getting access 13


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

14 Prerequisites and getting access


chapter 4

Workflow example

IDM configurations can be managed using either the administration user interface, or by using the REST API. You can
use the administration user interface to grant access to the pool for the Integration Gateway app.
Design time:
1. Fulfill prerequisites - onboard for IDM by filing a ticket and creating a draft package.
2. Set up configuration resources, including the pools and schemas that will organize the documents to be stored.
This can be done through the administration user interface or the IDM REST API:
a. Upload a JSON schema for the pool. Enable validation of document written to the pool (if required).
Note: If a JSON schema is not available, a file with an empty schema containing {} can be
uploaded.
b. Grant one or more Integration Gateway apps access to the pool through the administration user interface
Pool Detail screen.
3. If a schema changes then the schema must be updated through the administration user interface or the REST API.
Run-time:
1. The Integration Gateway app will retrieve documents from the third party source and store a JSON representation
of those documents in the pool.
2. Each document must comply with the schema for the pool. If a document does not comply, the update will result
in an error or a warning depending on the pool schema validation setting.
3. The Integration Gateway app will write documents to the pool. If there are multiple versions of the schema and
the document to be written only complies with an older schema version, the schema version must be specified in
the post document API call. Otherwise the latest schema version is assumed.
4. When the document is written to IDM, a document ID is returned, which is required to retrieve the document.
You can also search for all document IDs based on a “secondary attribute”.
5. Typically the Integration Gateway app will make a call to ClaimCenter or PolicyCenter’s assessment API to
provide it with standardized information about the assessment along with the document ID.
6. xCenter can then retrieve the document using the document ID and the platform client.
7. This information can then be used in business logic or passed to an embedded Jutro page or PCF page for display.

Workflow example 15
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

16 Workflow example
chapter 5

Setting up Integration Data Manager


clients

This section contains instructions for setting up a connection between an Integration Gateway or InsuranceSuite client
and Integration Data Manager.

Integration Data Manager URLs

super-galaxy region value


centaurus amer https://integrationdatamanager.​api.​omega2-andromeda.​guidewire.​net/
copeland apac https://integrationdatamanager.​api.​omega2-circinus.​guidewire.​net/
pandora emea https://integrationdatamanager.​api.​omega2-cartwheel.​guidewire.​net/

Setting up an Integration Gateway client


Guidewire provides an Integration Gateway component that makes it easier to call Integration Data Manager from an
Integration Gateway route. The component must first be included in your build.gradle.

implementation("com.guidewire.camel:gw-camel-idm:${integrationGatewayVersion}")

To configure the component, you must set the appropriate region URL for Integration Data Manager in
route.properties. For example:

gw.camel.idm.url=https://integrationdatamanager.api.omega2-andromeda.guidewire.net/

See the table above for a list of all the region URLs.
Note: The gw-camel-flexistore component is deprecated and will soon be unsupported. Instead, use the gw-
camel-idm component.

Integration Data Manager component methods are listed below:

idm:{API name}/{method name}

documents
retrieveDocumentMetadataFirstPage
createDocument
deleteAllDocuments
retrieveDocument
updateDocumentMetadata

Setting up Integration Data Manager clients 17


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

You must set the expected headers for the component. These headers are CamelIdm.poolId and
CamelIdm.schemaVersion.

A sample route to create a document is shown below.

@Override
public void configure() throws Exception {
rest().id("check-idm-create-document")
.post("/check/idm-create-document")
.consumes("application/json")
.produces("application/json")
.description("Checks storing IDM document to given poolId")
.param().dataType("string").type(RestParamType.query).name("poolId").endParam()
.param().dataType("integer").type(RestParamType.query).name("schemaVersion").endParam()
.param().type(RestParamType.body).name("document").endParam()
.to("direct:check-idm-create-document");

from("direct:check-IDM-create-document")
.process(exchange -> {
Map<String, Object> headers = exchange.getIn().getHeaders();
ObjectNode bodyAsObjectNode = (ObjectNode) new ObjectMapper().readTree((InputStream)
exchange.getIn().getBody());
DefaultMessage outbound = new DefaultMessage(exchange);
outbound.setBody(bodyAsObjectNode);
exchange.setMessage(outbound);
exchange.getIn().setHeader("poolId", headers.get("poolId"));
exchange.getIn().setHeader("schemaVersion", headers.get("schemaVersion"));
})
.toD("idm:documents/createDocument?poolId=${header.poolId}&schemaVersion=$
{header.schemaVersion}&inBody=document")
.process(exchange -> {
String response = new ObjectMapper().writeValueAsString(exchange.getIn().getBody());
exchange.getIn().setBody(response);
});
}

A sample route to retrieve a document is shown below.

@Override
public void configure() throws Exception {
rest().id("check-idm-retrieve-document")
.get("/check/idm-retrieve-document")
.produces("application/json")
.description("Checks retrieve document from IDM")
.param().dataType("string").type(RestParamType.query).name("poolId").endParam()
.param().dataType("string").type(RestParamType.query).name("documentId").endParam()
.to("direct:check-idm-retrieve-document");

from("direct:check-idm-retrieve-document")
.toD("idm:documents/retrieveDocument?poolId=${header.poolId}&documentId=${header.documentId}")
.process(exchange -> {
String response = new ObjectMapper().registerModule(new
JavaTimeModule()).writeValueAsString(exchange.getIn().getBody());
exchange.getIn().setBody(response);
});
}

Setting up an InsuranceSuite client


Guidewire provides an Integration Data Manager client class that can be used to connect to Integration Data Manager.
You must set the external property flexistore.url so that the client knows which Integration Data Manager server to
connect to. For a local deployment you can set this property in config.properties.

idm.url = https://idm.api.dev.ccs.guidewire.net/api/v1

Using Helios, the property values are set at the super-galaxy level for PolicyCenter, ClaimCenter, BillingCenter, and
ContactManager. The same value is applicable for all tenants unless it is overwritten at a different Helios layer.
A sample call to create a document is shown below:

uses gw.api.idm.idmClient

var documentContent = "{}"


var schemaVersion = 1
var poolId = "testPool"
var idmClient = idmClient.getInstance()
var documentContent = idmClient.createDocument(poolId, schemaVersion, documentContent)

18 Setting up Integration Data Manager clients


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

A sample call to retrieve a document is shown below:

uses gw.api.idm.idmClient

var poolId = "testPool"


var docId = "e98353f3-5c33-484b-88dd-1fbe330e0c12"
var idmClient = idmClient.getInstance()
var documentContent = idmClient.retrieveDocument(poolId, docId)

Using a secondary attribute to retrieve documents


Integration Data Manager allows a secondary attribute to be set when writing a document. You can then retrieve
documents (with multiple document IDs) based on this secondary attribute.
As an InsuranceSuite client, when you create a document using the POST endpoint the secondary attribute can be
included as an optional query parameter. There is a corresponding GET endpoint for finding all document IDs
associated with the secondary endpoint (searchKey).
The same functionality is available for an Integration Gateway client:

.toD("idm:documents/createDocument?poolId=${header.poolId}&schemaVersion=${header.schemaVersion}&searchKey=$
{header.searchKey}&inBody=document")

.toD("idm:documents/getDocumentsBySearchKey?poolId=${header.poolId}&searchKey=${header.searchKey}&pageLimit=$
{header.pageLimit}&forward=${header.forward}")

Setting up Integration Data Manager clients 19


Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

20 Setting up Integration Data Manager clients


chapter 6

Security

Granting InsuranceSuite access to IDM


InsuranceSuite planets need to be granted access to the IDM service before InsuranceSuite can write or read IDM
documents. When you file the ticket: “IDM-0010: Onboard Tenant for Integration Data Manager”, that ticket grants
access to the corresponding InsuranceSuite environments. Note that InsuranceSuite has access to all pools for that
tenant star system and does not need to be granted access to individual pools.

Granting Integration Gateway access to an IDM pool


An Integration Gateway app needs to be granted access to a pool before it can read from it or write to it. This is done
using the IDM configuration user interface:
1. Log in to Guidewire Cloud Home.
2. From the list of pools that have been defined, choose Edit Pool.
3. Choose Grant Access To Pool.
4. From the drop-down list, choose the Integration Gateway application which is to be granted access.

Security 21
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

22 Security
chapter 7

Configuration

IDM pool configuration


IDM contains the following concepts:
• Pool
• Schema
• Document
A pool is a set of documents which comprise a logical set and conform to some schema. A schema is JSON schema
version of documents in a pool (a schema is versioned). A document is a JSON object which belongs to a pool and
conforms to a schema in the pool.
You must configure IDM before you can start working with it. Follow the steps below to configure IDM pools over the
administration user interface:
1. Create a pool by using the IDM administration user interface to call the endpoint POST /pools/{poolId}.
2. Set up new schema in the pool by using the IDM Administration user interface to call the endpoint POST /
pools/{poolId}/schemas. The payload is a JSON schema document.

Integration Gateway configuration


You must set up the configuration properties in route.properties for each app that needs access to IDM.

Configuration 23
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

24 Configuration
chapter 8

Troubleshooting

Issue Reason
Does a document have to Each document is stored within a pool. The pool can be configured so that every new document
conform to its associated added to the pool either is or isn't validated against its schema.
schema?
IP not allowed error. Confirm the URL that is being used to connect to the service. The URL must be a production IDM
server for the appropriate region. Often the wrong region is being used, or an internal development
server is specified. This is usually the case with an Integration Gateway implementation where the
URL must be specified in the configuration file. For an InsuranceSuite app, this issue only occurs if
the URL was overwritten in Helios.

Cannot access IDM through There is currently a bug in GCH that is preventing the gwa.lower.flexistore.admin group
GCH with the gwa.lower. permission from working correctly. As a workaround, the user must have access to an additional
flexistore.admin group group until the issue is resolved. The user will need the group gwa.pd_lower.flexistore.
permission. admin to access the tile in GCH as well as gwa.lower.flexistore.admin to access the IDM
service.

The table below contains the list of IDM API error responses.

Error code Reason


401 Authentication token with the proper scope access must be used.

403 Project mismatch error - insurer project specified in the deploymentId must match the required project scope.

403 Planet class mismatch error - planet specified in the deploymentId must match the required planet scope.
planet_class.lower is used for non-production planets.

403 Pool scope mismatch error - trying to access a pool without the required pool-level scope.

403 Tenant mismatch error - tenant specified in the deploymentId must match the required tenant scope.

409 Conflict - when creating a pool, there may be an existing pool for the project already created in another package.

500 Size limit exceeded when retrieving multiple documents - the maximum payload size for a request is 10MB. If the
combination of files being retrieved is larger than 10MB, the request will need to be broken up into multiple requests.

Troubleshooting 25
Guidewire PolicyCenter for Guidewire Cloud 2024.02 Integration Data Manager

26 Troubleshooting

You might also like