The SIM-Reporting-Service is a TypeScript/Node.js report generation engine built on Azure Durable Functions. It processes report requests from a Service Bus queue, fetches data from SQL Server, renders PDF and CSV reports using EJS templates and Playwright Chromium, stores them in Azure Blob Storage, and publishes notifications for email delivery via the downstream SIM-Telemetry-JS notification service. This course provides a comprehensive deep dive into the SIM-Reporting-Service and its place within the broader SIM platform. You will learn the event-driven microservices architecture connecting SIM-Telemetry (.NET), SIM-Reporting-Service (Node.js), and SIM-Telemetry-JS (Node.js), including the four-factory pipeline design, Durable Functions orchestration, and Service Bus messaging patterns. Beyond architecture, the course covers practical operational knowledge: end-to-end data flows, error handling and retry behavior, security architecture with dual-layer PII encryption, CI/CD deployment pipelines, incident response runbooks, and the testing strategy. You will also learn how to extend the system by adding new report types and notification types, set up local development environments, and diagnose common production failures. Whether you are onboarding to the team, preparing for on-call duties, or deepening your understanding of Azure-based IoT reporting systems, this course equips you with the knowledge to work confidently with the SIM-Reporting-Service.
SIM Platform System Overview & Architecture
What are the three independently deployed services in the SIM platform, and what...
The SIM platform uses Azure Event Hubs for high-throughput telemetry forwarding ...
Why does the SIM platform use Azure Service Bus (rather than Event Hubs) for the...
SIM-Reporting-Service Deep Dive
Interactive: Report Pipeline Simulator
What are the four factories in the SIM-Reporting-Service pipeline, and what does...
The SIM-Reporting-Service orchestrator chains three activity functions sequentia...
What is the purpose of the 30-second `page.waitForTimeout(30000)` call in the PD...
Discuss: Adding a New Report Type
Data Flow & Error Handling
What happens when the SIM-Reporting-Service queue trigger encounters an error du...
In SIM-Telemetry's orchestrator, when an activity function fails, the exception ...
Which of the following are actual error handling behaviors in the SIM platform? ...
Infrastructure, Security & Operations
How does the SIM platform protect user PII (email addresses, phone numbers) acro...
The `IsOrchestrationEnabled` feature toggle in SIM-Telemetry switches between Du...
You receive a P2 alert that monthly water reports are not being delivered. What ...
Discuss: Incident Response for Report Failures
Testing & Onboarding
What is the current test coverage situation across the three SIM platform servic...
When adding a new notification type, you must define the enum in both .NET (SIM-...
Which testing priority should be addressed FIRST for the SIM platform, and why?
Showing course outline. Copy to your collection to start learning.