Xenhey.BPM.Core.Net8 1.0.88

There is a newer version of this package available.
See the version list below for details.
dotnet add package Xenhey.BPM.Core.Net8 --version 1.0.88
                    
NuGet\Install-Package Xenhey.BPM.Core.Net8 -Version 1.0.88
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xenhey.BPM.Core.Net8" Version="1.0.88" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Xenhey.BPM.Core.Net8" Version="1.0.88" />
                    
Directory.Packages.props
<PackageReference Include="Xenhey.BPM.Core.Net8" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Xenhey.BPM.Core.Net8 --version 1.0.88
                    
#r "nuget: Xenhey.BPM.Core.Net8, 1.0.88"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Xenhey.BPM.Core.Net8@1.0.88
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Xenhey.BPM.Core.Net8&version=1.0.88
                    
Install as a Cake Addin
#tool nuget:?package=Xenhey.BPM.Core.Net8&version=1.0.88
                    
Install as a Cake Tool

Xenhey-Tool-For-Your-Business

Xenhey is a workflow + process-driven integration tool that ships a runtime DLL via NuGet and can connect to Azure services (Service Bus, Event Hubs, Azure SQL, ADX, Storage, etc.), while configuraiton of all rules uses REST operations for AI readiness.


What Xenhey is (in plain English)

Xenhey is an integration runtime + workflow engine packaged as a NuGet-deployed DLL that you drop into your .NET service (API, Worker, Function, etc.). Once installed, it provides:

  • A standard way to connect to multiple Azure resources (messaging, data, storage, analytics)
  • A workflow/process layer that orchestrates steps like “ingest → validate → enrich → route → persist → report”
  • A consistent REST interface for running workflows and retrieving operational/analytics reporting (everything is “a REST call”)

Think of it as: “A plug-in integration runtime that turns Azure resources into reusable workflow steps—without rewriting custom connectors every time.”


Core building block: the NuGet runtime DLL

Why a NuGet runtime matters

Shipping Xenhey as a NuGet package means:

  • Fast adoption: dev teams add one dependency instead of pulling multiple SDKs + writing glue code

  • Consistent patterns: same retry policies, logging, error handling, telemetry, auth

  • Versioned capability: connector improvements roll out like normal package upgrades

  • Host flexibility: can run inside:

    • ASP.NET Web API
    • Azure Functions (isolated worker)
    • Worker Service
    • Container Apps / AKS microservices

What the runtime “does” at startup

The Xenhey runtime typically:

  1. Loads configuration (JSON/YAML/appsettings/Key Vault)

  2. Registers connectors (Service Bus, Event Hub, SQL, ADX, Storage, Azure Document Search, All Openapi systems etc.)

  3. Wires cross-cutting concerns:

    • Managed Identity / service principal auth
    • retries + backoff
    • circuit breakers
    • structured logging + correlation IDs
    • metrics + tracing (App Insights / OpenTelemetry)
  4. Exposes workflow endpoints via REST


The workflow/process-driven model

Xenhey is not “just a connector library.” The key is the workflow engine:

Workflow = a chain of steps

A workflow is a named process made of steps such as:

  • Trigger step

    • HTTP request
    • Service Bus subscription message
    • Event Hub batch
    • Blob-created event
  • Transform step

    • mapping fields
    • JSON normalization
    • schema enforcement
  • Route step

    • based on rules (x-api-key-based routing)
    • push to Service Bus topic, Event Hub, SQL, ADX, Storage
    • The ability to extent via new conectors to more workflows
  • Persist step

    • SQL insert/merge
    • ADX ingestion
    • store blob/file + metadata
  • Report step

    • produce workflow run summary
    • expose the output via REST

Why “process-driven” matters

This design makes Xenhey good for repeatable enterprise workflows:

  • onboarding pipelines
  • ingestion pipelines
  • event-to-data lake patterns
  • “fan-out” to multiple sinks (SQL + ADX + Storage)
  • auditing and traceability across steps

Connectors Xenhey supports (conceptually)

Azure Service Bus (queue/topic/subscription)

Xenhey connector typically supports:

  • Send message (with headers, correlation, scheduled delivery)
  • Receive/peek/lock/complete/abandon/dead-letter
  • Topic publish with routing properties
  • Retry + DLQ handling baked into workflow policies

Use case: orchestrate business workflows reliably (exactly-once-ish patterns, idempotency, compensations).


Azure Event Hubs

Xenhey connector typically supports:

  • Publish events in batches
  • Consume events with checkpoints
  • Attach metadata (partition key, event properties)
  • Stream-oriented ingestion into ADX or other stores

Use case: telemetry-style ingestion, high-throughput streaming into analytics.


Azure SQL Database

Xenhey connector typically supports:

  • Parameterized queries
  • bulk insert/merge patterns
  • stored procedure execution
  • transactional steps within a workflow
  • idempotency keys to avoid duplicate writes

Use case: operational persistence, reporting tables, integration state.


Azure Data Explorer (ADX / Kusto)

Xenhey connector typically supports:

  • ingest JSON/CSV/parquet
  • KQL query execution
  • “workflow telemetry” tables (e.g., runs/errors/latency)
  • time-series analytics reporting

Use case: near-real-time analytics + powerful KQL reporting.


Azure Storage (Blob / Table / Queue / Files)

Xenhey connector typically supports:

  • write blobs + metadata tags
  • read blobs for processing
  • table storage for lightweight state + audit records
  • queue storage for simple buffering (if used)

Use case: durable payload storage, replay, audit trail, cheap state store.


“All reporting is REST calls” — what that really means

Xenhey’s philosophy is typically:

  1. Every workflow run produces structured run data (start/end, steps, success/failure, durations)
  2. That data is persisted (SQL/ADX/Storage Table) in a standardized format
  3. Xenhey exposes reporting through REST endpoints like:
  • GET /api/workflows → list workflows
  • POST /api/workflows/{name}/run → trigger a workflow
  • GET /api/runs?workflow=name&from=&to= → list runs
  • GET /api/runs/{runId} → full run details (step-by-step)
  • GET /api/runs/{runId}/logs → correlated logs
  • GET /api/metrics?workflow=name → aggregates (success rate, latency, throughput)
  • GET /api/resources/health → connection checks to SB/EH/SQL/ADX/Storage

That means consumers (Power BI, dashboards, admin portals, SRE tooling) don’t need direct DB/Kusto access—they just call the API.


Operational value (why this is better than “custom glue code”)

Standardization

  • One consistent integration pattern across many Azure services
  • Same authentication method (Managed Identity strongly preferred)
  • Same error model (validation vs transient vs fatal)
  • Same retry/backoff strategy

Governance + security

  • Centralized policies:

    • allowed resources
    • approved topics/hubs/tables
    • RBAC-controlled access
  • Secrets handled properly (Key Vault, MI) instead of config sprawl

  • Clear audit trails: who ran what workflow, what data moved where

Observability (SRE-friendly)

  • Correlation ID from REST request → Service Bus message → SQL/ADX writes
  • Unified telemetry: step duration, connector latency, failure reasons
  • Easy “run replay” if blob payload + run metadata are retained

Typical runtime architecture (high-level)

Host app (your API or Function)

  • references Xenhey NuGet runtime DLL
  • reads config
  • Xenhey registers connectors
  • Xenhey loads workflow definitions
  • exposes REST endpoints
  • writes run history + metrics to SQL/ADX
  • logs to App Insights

Your consumer UI / Power BI / admin portal

  • never calls Azure resources directly

  • calls Xenhey REST endpoints for:

    • run workflows
    • query run history
    • fetch metrics / reports

Xenhey Workflow – Rules-Driven, API-Secured

flowchart TD
    A[Client / System / UI] -->|REST Call<br/>x-api-key| B[Xenhey REST API]

    B --> C[API Gateway Layer<br/>Auth + Throttling]
    C -->|Validate x-api-key| D[Workflow Runtime Engine]

    D --> E[Load Workflow Definition]
    E --> F[Load Rules JSON<br/>from Config / Storage / Key Vault]

    F --> G[Rule Evaluation Engine]
    G -->|Apply Routing & Validation Rules| H{Decision Point}

    %% Messaging paths
    H -->|Async Workflow| I[Azure Service Bus<br/>Queue / Topic]
    H -->|Streaming Events| J[Azure Event Hub]

    %% Data persistence paths
    H -->|Transactional Data| K[Azure SQL Database]
    H -->|Analytics / Time-Series| L[Azure Data Explorer ADX]
    H -->|Payload / Audit Storage| M[Azure Storage<br/>Blob / Table]

    %% Execution tracking
    I --> N[Workflow Step Execution]
    J --> N
    K --> N
    L --> N
    M --> N

    %% Observability
    N --> O[Telemetry & Logging]
    O --> P[Application Insights / OpenTelemetry]

    %% Reporting
    N --> Q[Persist Run Metadata<br/>Status, Duration, Errors]
    Q --> R[Reporting API Layer]

    R -->|REST Response| S[Admin UI / Power BI / Consumers]

    %% Error handling
    N -->|Failure| T[Retry / Dead-Letter / Compensation]
    T --> Q

What this diagram communicates (talk track)

1️⃣ Secure API entry

  • All workflow execution and reporting is exposed via REST
  • Every call is authenticated using an x-api-key
  • Optional throttling, IP allowlists, or RBAC can sit at the API layer

2️⃣ Rules are JSON-driven

  • Workflow behavior is not hardcoded

  • Rules are defined in JSON (routing, validation, thresholds, destinations)

  • Rules can be stored in:

    • Azure Storage
    • Azure SQL
    • Azure App Config
    • Azure Key Vault (secured)

Example rule intent:

  • “If eventType = Billing → send to Service Bus + SQL”
  • “If telemetry → Event Hub + ADX”
  • “If payload > 5MB → Blob Storage”

3️⃣ Workflow runtime orchestration

  • Xenhey runtime evaluates rules

  • Determines:

    • which Azure service to call
    • sync vs async execution
    • retry and failure behavior
  • Same runtime, different workflows — purely config-driven


4️⃣ Multi-target Azure integration

From the same workflow execution:

  • Service Bus → business workflows
  • Event Hub → high-throughput streams
  • Azure SQL → operational data
  • ADX → analytics and observability
  • Storage → raw payloads and audit trails

5️⃣ Built-in observability and reporting

  • Every step emits:

    • execution time
    • success/failure
    • correlation ID
  • Telemetry flows to App Insights / OpenTelemetry

  • Run metadata is persisted and exposed via REST reporting APIs

  • No direct DB or Kusto access needed for consumers


6️⃣ Failure handling is first-class

  • Retries, DLQs, and compensations are workflow-aware
  • Failures are still reported via REST
  • Enables replay and forensic analysis

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.96 107 5/12/2026
1.0.95 103 5/12/2026
1.0.94 113 5/12/2026
1.0.93 150 3/4/2026
1.0.92 114 3/3/2026
1.0.91 109 3/3/2026
1.0.90 182 2/23/2026
1.0.89 114 2/23/2026
1.0.88 124 2/7/2026
1.0.87 131 2/7/2026
1.0.86 118 2/7/2026
1.0.85 125 2/7/2026
1.0.84 122 2/7/2026
1.0.83 126 2/7/2026
1.0.82 132 2/7/2026
1.0.81 348 12/18/2025
1.0.80 249 12/4/2025
1.0.79 245 12/3/2025
1.0.78 235 12/3/2025
1.0.77 353 8/6/2025
Loading failed

A Worfklow Solution usng configuration over code to connect to resources in Azure Cloud.