SAIF.Data.Guidewire overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Data.Guidewire is a .NET Framework 4.6.2 class library of five typed HTTP clients — Activity, Claim, Financial, Provider, and Worker data — that call Guidewire ClaimCenter and ContactManager (AddressBook) REST APIs on behalf of SAIF.Data, SAIF.Domain, and SAIF.Services, and it ships inside the SAIF.SAIFCode.Core NuGet package.
Purpose¶
- Provide async, typed client interfaces (
IActivityDataApiClient,IClaimDataApiClient,IFinancialDataApiClient,IProviderDataApiClient,IWorkerDataApiClient) and their implementations over Guidewire ClaimCenter/ContactManager REST data APIs. - Centralize base-URL resolution, HTTP Basic authentication, and Polly-backed response caching in a shared
HttpClientBaseso each concrete client only declares its endpoint paths and DTOs. - Define the request/response DTOs for each Guidewire API surface under
Models/**andContracts/**. - It is consumed by
SAIF.Data(which registers the clients viaAddDataClientsand derivesCCClaimApiServicefromHttpClientBase),SAIF.Domain, andSAIF.Services.
Responsibilities¶
- Resolve each client's base URL from environment configuration (
UrlKey) and its Basic-auth credentials from secure configuration (AuthKey), decrypted with aSystemHashUtilsystem hash, throughHttpClientBase. - Cache GET/POST responses through a Polly policy looked up in
IReadOnlyPolicyRegistry<string>, configurable perIDataClientConfiguration(UseCache,CachePolicyKey,MaxCacheDuration). - Serialize and deserialize Guidewire request/response payloads for claims, activities, financials, provider addresses, and worker data.
- Supply
IDataClientConfiguration/DataClientConfiguration, the configuration contractSAIF.Data'sContainerBuilderExtensions.AddDataClientsuses to register these clients.
Key components¶
HttpClientBase: shared abstract base providing URL/AuthKey resolution, Basic authentication, and Polly-cached GET/POST helpers.HttpClientHelper: shared HTTP/JSON helper utilities, including theJSON_DATE_FORMATconstant.IDataClientConfiguration/DataClientConfiguration: the configuration contract (SystemType,SystemName,UseCache,CachePolicyKey,MaxCacheDuration) supplied to every client.ActivityDataApiClient,ClaimDataApiClient,FinancialDataApiClient,ProviderDataApiClient,WorkerDataApiClient: the five concrete Guidewire clients, each with a correspondingI*DataApiClientinterface.Models/**andContracts/**: per-API request/response DTOs (ActivityDataApi,ClaimDataApi,FinancialDataApi,ProviderDataApi,Shared,WorkerDataApi).
Related documentation¶
Sources¶
Data/SAIF.Data.Guidewire/SAIF.Data.Guidewire.csprojData/SAIF.Data.Guidewire/Clients/HttpClientBase.csData/SAIF.Data.Guidewire/Clients/HttpClientHelper.csData/SAIF.Data.Guidewire/Clients/DataClientConfiguration.csData/SAIF.Data/Configuration/ContainerBuilderExtensions.csData/SAIF.Data/Queries/Claims/CCClaimApiService.csCore/SAIF.Core/SAIF.SAIFCode.Core.nuspec