Xenhey.BPM.Core.Net8
1.0.88
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
<PackageReference Include="Xenhey.BPM.Core.Net8" Version="1.0.88" />
<PackageVersion Include="Xenhey.BPM.Core.Net8" Version="1.0.88" />
<PackageReference Include="Xenhey.BPM.Core.Net8" />
paket add Xenhey.BPM.Core.Net8 --version 1.0.88
#r "nuget: Xenhey.BPM.Core.Net8, 1.0.88"
#:package Xenhey.BPM.Core.Net8@1.0.88
#addin nuget:?package=Xenhey.BPM.Core.Net8&version=1.0.88
#tool nuget:?package=Xenhey.BPM.Core.Net8&version=1.0.88
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:
Loads configuration (JSON/YAML/appsettings/Key Vault)
Registers connectors (Service Bus, Event Hub, SQL, ADX, Storage, Azure Document Search, All Openapi systems etc.)
Wires cross-cutting concerns:
- Managed Identity / service principal auth
- retries + backoff
- circuit breakers
- structured logging + correlation IDs
- metrics + tracing (App Insights / OpenTelemetry)
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:
- Every workflow run produces structured run data (start/end, steps, success/failure, durations)
- That data is persisted (SQL/ADX/Storage Table) in a standardized format
- Xenhey exposes reporting through REST endpoints like:
GET /api/workflows→ list workflowsPOST /api/workflows/{name}/run→ trigger a workflowGET /api/runs?workflow=name&from=&to=→ list runsGET /api/runs/{runId}→ full run details (step-by-step)GET /api/runs/{runId}/logs→ correlated logsGET /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 | Versions 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. |
-
net8.0
- Azure.AI.FormRecognizer (>= 4.1.0)
- Azure.AI.OpenAI (>= 2.1.0)
- Azure.Data.Tables (>= 12.11.0)
- Azure.Identity (>= 1.14.0)
- Azure.Messaging.EventGrid (>= 4.28.0)
- Azure.Messaging.EventHubs (>= 5.11.5)
- Azure.Messaging.ServiceBus (>= 7.18.2)
- Azure.Storage.Blobs (>= 12.23.0)
- Azure.Storage.Files.Shares (>= 12.21.0)
- Cake.Powershell (>= 4.0.0)
- CsvHelper (>= 33.0.1)
- DotLiquid (>= 2.3.18)
- Microsoft.ApplicationInsights (>= 2.22.0)
- Microsoft.Azure.DocumentDB.Core (>= 2.22.0)
- Microsoft.Azure.EventGrid (>= 3.2.1)
- Microsoft.Azure.Management.Fluent (>= 1.38.1)
- Microsoft.Azure.Management.ResourceManager.Fluent (>= 1.38.1)
- Microsoft.Azure.ServiceBus (>= 5.2.0)
- Microsoft.Graph (>= 5.68.0)
- Newtonsoft.Json (>= 13.0.3)
- PayPal (>= 1.9.1)
- PDFsharp (>= 6.1.1)
- RestSharp (>= 112.1.0)
- StackExchange.Redis (>= 2.8.24)
- Stripe.net (>= 47.2.0)
- System.Configuration.ConfigurationManager (>= 9.0.1)
- Twilio (>= 7.8.2)
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 |
A Worfklow Solution usng configuration over code to connect to resources in Azure Cloud.