Class XBRApi
Provides the main entry point for accessing all Xperiflow Business Rules functionality.
Namespace: Workspace.XBR.Xperiflow
Assembly: Xperiflow.dll
public static class XBRApi
Examples
Basic usage patterns for each subsystem:
// ETL Operations
var etlManager = XBRApi.Etl.GetTabularEtlManager(si);
var processedData = etlManager.ExtractTransformLoad(sourceData);
// File System Operations
var fileSystemClient = XBRApi.MetaFileSystem.GetMetaFileSystemClient(si, connectionKey);
fileSystemClient.WriteFileAsync("data/results.json", jsonData).Result;
// Routine Management
var routineClient = XBRApi.Routines.GetRoutineClient(si);
var instance = routineClient.CreateRoutineInstanceAsync("DataProcessor", "1.0.0").Result;
// Utility Functions
var convertedDate = XBRApi.Utilities.ConvertToUserTime(si, utcDateTime);
Advanced workflow combining multiple subsystems:
// Create a comprehensive data processing workflow
var sessionInfo = /* your session info */;
var connectionKey = /* your connection key */;
// 1. Setup clients for different subsystems
var routineClient = XBRApi.Routines.GetRoutineClient(sessionInfo);
var fileSystemClient = XBRApi.MetaFileSystem.GetMetaFileSystemClient(sessionInfo, connectionKey);
var etlManager = XBRApi.Etl.GetTabularEtlManager(sessionInfo);
// 2. Create a routine instance for the workflow
var instance = routineClient.CreateRoutineInstanceAsync(
"DataProcessingWorkflow",
"2.1.0",
"Monthly Data Processing"
).Result;
// 3. Execute the processing routine
var run = instance.CreateMethodRunAsync(
"process_monthly_data",
inputParams: new JObject { ["month"] = "2023-12" },
storeArtifacts: true
).Result;
// 4. Monitor and retrieve results
run.WaitForCompletionAsync().Wait();
var artifacts = run.GetArtifactsAsync().Result;
// 5. Process results using ETL if needed
foreach (var artifact in artifacts)
{
var data = artifact.GetDataAsync().Result;
var transformedData = etlManager.Transform(data);
// Store processed results
fileSystemClient.WriteFileAsync($"processed/{artifact.Key}.json", transformedData).Result;
}
Remarks
The Workspace.XBR.Xperiflow.XBRApi class serves as the central access point for all Xperiflow Business Rules functionality, similar to how the OneStream BRApi provides access to OneStream platform capabilities. It provides a unified interface for interacting with various subsystems including ETL operations, file system management, routine execution, and utility functions.
Key Subsystems Available:
-
**Workspace.XBR.Xperiflow.XBRApi.Etl**ETL (Extract, Transform, Load) operations for data processing
-
**Workspace.XBR.Xperiflow.XBRApi.MetaFileSystem**File system operations for data storage and retrieval
-
**Workspace.XBR.Xperiflow.XBRApi.Routines**Routine management and execution capabilities
-
**Workspace.XBR.Xperiflow.XBRApi.Utilities**Common utility functions and helpers
-
**Workspace.XBR.Xperiflow.XBRApi.MetaDB**Database operations and metadata management
-
**Workspace.XBR.Xperiflow.XBRApi.WebSdk**Xperiflow REST API C# SDK
Usage Patterns:
The API follows a consistent pattern where each subsystem provides factory methods to create appropriately configured clients for specific operations. This design ensures proper dependency injection and resource management while maintaining a clean, discoverable API surface.
Thread Safety:
All subsystem APIs are designed to be thread-safe and can be accessed concurrently from multiple threads without additional synchronization.
Properties
WebSdk
Provides access to the Xperiflow REST API. This is a C# SDK wrapper around the Xperiflow REST API.
public static XBRApiWebSdk WebSdk { get; }
Remarks
Use with caution. This is considered a "lower-level" API that has a higher probability of breaking changes from release to release. The team does their best to minimize breaking changes but from time-to-time we may introduce a breaking change in a minor release. Breaking changes will primarily only be introduced in major releases. We will do our best to document these changes as part of release notes.
All Xperiflow-based AI Solutions are built on top of the Web SDK. This means that you can leverage the same underlying functionality that powers many of the AI Solutions wihtin your own custom solutions.
Etl
Provides access to ETL (Extract, Transform, Load) operations and data processing capabilities.
public static XBRApiEtl Etl { get; }
Remarks
Use this property to access ETL managers for processing tabular data, performing data transformations, and managing data workflows.
MetaFileSystem
Provides access to file system operations and data storage capabilities.
public static XBRApiMetaFileSystem MetaFileSystem { get; }
Remarks
Use this property to access file system clients for reading, writing, and managing files and directories within the Xperiflow ecosystem.
MetaDB
Provides access to database operations and metadata management capabilities.
public static XBRApiMetaDB MetaDB { get; }
Remarks
Use this property to access database clients for executing queries, managing metadata, and performing database-related operations.
Routines
Provides access to routine management and execution capabilities.
public static XBRApiRoutines Routines { get; }
Remarks
Use this property to access routine clients for creating, managing, and executing routine instances, their associated runs and artifacts.
Utilities
Provides access to common utility functions and helper methods.
public static XBRApiUtilities Utilities { get; }
Remarks
Use this property to access utility functions for date/time conversions, text processing, and other common operations needed in business rule development.
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object,System.Object)
System.Object.GetHashCode
System.Object.GetType
System.Object.MemberwiseClone
System.Object.ReferenceEquals(System.Object,System.Object)
System.Object.ToString