Mastering Guidewire InsuranceSuite Core
Guidewire Architecture
Guidewire's Core Architecture
Guidewire InsuranceSuite is an enterprise application built on the Java Virtual Machine (JVM). This means it can run on any system that supports Java, providing a stable, cross-platform environment. The suite is structured as a classic multi-tier application, which separates different concerns of the software into distinct layers. This design is common in large-scale systems because it makes them easier to manage, scale, and update.
At its heart, the suite consists of three core applications: PolicyCenter, ClaimCenter, and BillingCenter. While each serves a unique business function, they are not completely separate programs. Instead, they are built on a common foundation, sharing core components and data structures.
The Shared Platform
Guidewire's power comes from its 'Shared Platform' architecture. Think of this platform as the chassis and engine of a car. It provides all the essential, non-negotiable components: the data model, user authentication, business rules engine, and core workflows. The individual applications—PolicyCenter, ClaimCenter, and BillingCenter—are like different car models built on that same chassis. Each one adds its specific features and bodywork, but they all rely on the same underlying engineering.
This approach ensures consistency. An address or a contact is represented the same way whether you are viewing it in a policy or a claim. This shared foundation is crucial because it allows the three applications to work together seamlessly as a unified suite. Application-specific logic is kept separate in modules dedicated to policy, claims, or billing functions, but they all draw from the same central platform.
Guidewire's architecture is logically divided into three primary tiers. This separation makes the system modular and helps developers specialize in different areas.
-
UI Layer: The user interface is defined by XML files called Page Configuration Files (
.pcf). These files describe the layout of screens, fields, and buttons. They don't contain business logic; they only determine what the user sees and interacts with. -
Business Logic Layer: This is where the application's intelligence resides. It's written in Gosu, a statically-typed programming language designed specifically for Guidewire. Gosu code defines the rules for validation, assignment, and workflows. For example, the logic to determine if a claim requires a special investigator lives here.
-
Data Layer: This layer defines the structure of the data. It's also based on XML files, specifically Entity files (
.eti). Each entity file describes an object, like aClaimor aPolicy, its attributes (e.g.,ClaimNumber), and its relationships to other objects. Guidewire reads these metadata files and automatically generates the necessary database tables and APIs to interact with them.
These three logical tiers run on an application server like Apache Tomcat or JBoss, which manages web requests and executes the Gosu business logic. The application server, in turn, communicates with a relational database (like SQL Server or Oracle) where all the data is permanently stored.
Inside the File System
When you work with a Guidewire application, its structure is reflected in the file system. The code and configuration are organized into specific directories that map directly to the architectural layers. Understanding this structure is key to modifying or extending the application.
| Directory | Purpose |
|---|---|
config/ | Contains the core configuration for the Shared Platform. This includes the base data model (.eti files), display keys, and system-wide settings. Changes here affect all applications. |
modules/ | Holds application-specific configurations. You'll find subdirectories like pc/, cc/, and bc/ here, each containing entities, PCF files, and Gosu classes unique to that application. |
pcf/ (inside modules) | The home for all Page Configuration (.pcf) files that define the user interface screens, forms, and menus. |
resources/ | A place for static resources, such as images, property files, and other assets used by the application. |
The key takeaway is Guidewire's metadata-driven approach. XML files in the
configandmodulesdirectories define the what (the data structure and UI layout), while Gosu classes define the how (the business logic and processes).
This structure allows for a clear separation of concerns. A UI developer can work on PCF files without needing to understand the database schema, while a data architect can modify entities without touching the UI code. All the pieces come together, managed by the application server, to form a complete insurance processing system.