← All courses
DevOps · Free course

Enterprise Wisej.NET: Architecture to Cloud

This is the capstone of the advanced track: everything it takes to architect, build and operate enterprise Wisej.NET systems, then ship them to the cloud. It's a wide course — fourteen modules and roughly twenty-one hours — covering both the engineering and the technical leadership around it. You'll work through enterprise architecture and governance, Wisej.NET 4 modernization and migration strategy, advanced session, tenant and concurrency design, and a real data layer with EF Core, transactions and repositories. From there it moves into high-volume data UX, real-time pipelines and imports, advanced modal workflow orchestration, custom controls and widget wrappers, a secure JavaScript interop model, and a full security architecture with SSO and audit. The final stretch covers observability and profiling, containers, load balancing and release engineering, hybrid/PWA/offline apps, and AI-assisted development — ending in a capstone delivery. It's for senior developers and architects taking Wisej.NET to enterprise scale.

The advanced Wisej.NET track — enterprise architecture, multi-tenancy, security and observability, then containerize, scale and ship with CI/CD pipelines that just work.

Start this free course

Also available in: DeutschFrançaisItalianoEspañol

Curriculum

Module 1: Enterprise Wisej.NET Architecture, Technical Leadership, and Governance

Module 1 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Enterprise Architecture walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Architecture decisions, project standards, team workflow, code review gates. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonSet up the EnterpriseOps architecture baseline · 8 min

    Set up the EnterpriseOps architecture baseline — a guided Module 1 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Build the EnterpriseOps Command Center as a system a team can maintain. In this Wisej.NET course, each screen is supported by explicit responsibilities, so future changes have a clear place to go.

    Ask who will understand this screen after its original author leaves. Architecture makes dependencies and decisions visible, reducing the knowledge a new developer must reconstruct before making a safe change.

    Use the solution structure to express ownership, and decision records to explain tradeoffs. Review gates and conventions keep those boundaries consistent; debt tracking makes exceptions visible instead of letting them become accidental standards.

    Separate interface, domain, services, data, and integrations in the solution baseline. Record why these boundaries exist in the first architecture decision record, so reviewers can compare new code against an agreed design.

    Keep the dashboard layout in the Wisej.NET Designer while services own business decisions. Designers can adjust the grid and key performance indicators without moving workflow logic into visual controls.

    Follow the dashboard request into the service layer. A one-line click handler delegates the operation, which makes the screen's role obvious and lets the same business behavior be exercised without clicking through the interface.

    The long handler is a review failure because it bypasses the service boundary. Catching that before merge prevents another screen from establishing its own version of business rules that should be shared.

    Submit evidence that another developer can follow: the structure, its first decision record, standards, a reference screen, and the review checklist. Together they show both the intended architecture and how the team will preserve it.

    An architecture is useful when the team can apply it consistently. The reference screen and review rules turn a private design preference into a shared, testable way of working.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 1 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — EnterpriseOps Baseline & ADR-001 · 45 min

    Objective: Create the EnterpriseOps Command Center solution baseline. Add projects or folders for UI, shared controls, domain, application services, data access, integrations, security, diagnostics, resources, and deployment. Add an Architecture Decision Record folder and write ADR-001 for the chosen solution structure. Deliverables: Solution/folder structure screenshot or tree; ADR-001 solution structure decision; Team coding standards page; Reference screen naming and service-boundary example; Code review checklist applied to the first screen.

Module 2: Wisej.NET 4 Project Modernization and Migration Strategy

Module 2 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Modernization & Migration walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Upgrade planning, compatibility analysis, incremental migration, regression safety. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonPlan a Wisej.NET 4 migration dossier · 8 min

    Plan a Wisej.NET 4 migration dossier — a guided Module 2 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Plan the move to Wisej.NET 4 around the existing TicketOps behavior. The goal is to modernize the platform while keeping the workflows users rely on available and verifiably correct.

    Treat every framework, theme, or deployment change as a separate risk to verify. A successful build proves code compiles; business continuity also requires checking visible behavior and retaining a practical way back.

    Inventory the existing dependencies before choosing an upgrade sequence. Compatibility checks and resource mappings explain what must change; regression tests tell you whether each incremental step preserves the workflows you intended to protect.

    For this lab, prepare a migration plan for the TicketOps Console. For each change, record the current behavior, the target behavior, the risk, the evidence you will collect, and a rollback plan.

    Move through the seven steps only when their checks succeed. A fallback at each stage limits how much work must be undone and helps locate which change introduced a regression.

    Notice that compilation succeeds while the theme is visibly wrong. Use that failed visual comparison to stop the migration, restore the prior state, correct the mapping, and repeat the same check.

    Check that the corrected screen still opens in the Wisej.NET Designer. The mapped theme mixin should provide the appearance while the screen remains maintainable through the same design workflow.

    All ten regression flows now pass on Wisej.NET 4. This is evidence that the selected workflows retained their behavior; keep those checks with the migration so later changes can be compared against the same baseline.

    The handoff should explain what changed, what could fail, how ten workflows were checked, and how to roll back. The decision memo connects that evidence to the recommendation to proceed.

    Approve the migration because the checks support it. A repeatable regression suite and a usable rollback plan give the team a basis for release decisions beyond a successful compilation.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 2 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Migration Dossier & Risk Matrix · 45 min

    Objective: Create a migration dossier for the Intermediate TicketOps Console and extend it into the Advanced project baseline. Include current-state inventory, target-state inventory, risk matrix, screen regression plan, and rollback strategy. Deliverables: Migration inventory table; Compatibility/risk matrix; Regression test plan for ten key flows; Rollback plan; Modernization decision memo.

Module 3: Advanced Session, State, Tenant, and Concurrency Design

Module 3 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Session, Tenant & Concurrency walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Session ownership, tenant isolation, optimistic concurrency, static-state audits. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonMake EnterpriseOps tenant-aware · 8 min

    Make EnterpriseOps tenant-aware — a guided Module 3 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Trace a work order through sessions, tenants, and concurrent edits. This module makes state ownership explicit so the EnterpriseOps interface cannot accidentally mix one user's work with another user's context.

    Sharing a server does not mean sharing user state. Decide which values belong to a session, tenant, tab, or job before storing them; an incorrect scope can expose data as well as corrupt a workflow.

    Combine session and tenant context with a correlation identifier to follow an operation. Then review static fields and tab state, while optimistic concurrency detects whether another writer changed the record before this save.

    Read identity and tenant from the trusted session context. The tenant guard must reject cross-tenant access even when a browser control submits a different identifier; changing a visible field cannot grant access.

    Design the conflict dialog to explain why the edit is stale. Reload, Compare, and Cancel should offer understandable next steps, so users can resolve the mismatch without believing their changes were silently accepted.

    Edit the same work order in two sessions and let the first save win. The second save should detect its stale version and open the conflict flow instead of overwriting the newer record.

    Show where context enters commands, where static state was reviewed, and how concurrency failures reach the dialog. These artifacts should let a reviewer follow ownership from the session through the attempted save.

    For every stored value, be able to name its owner and lifetime. That answer determines whether it is safe to reuse, share, or discard when a session or tab changes.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 3 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Tenant Context & Optimistic Concurrency · 45 min

    Objective: Extend EnterpriseOps with tenant selection, tenant-aware services, correlation IDs, and optimistic concurrency on work orders. Create a conflict dialog that explains stale edits and offers Reload, Compare, and Cancel paths. Deliverables: Tenant-aware SessionContext; CommandContext with correlation ID; Static-state audit report; Optimistic concurrency implementation; Conflict-resolution dialog.

Module 4: Real Data Architecture: EF Core, Transactions, Repositories, and Commands

Module 4 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Real Data Architecture walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Production data access, transactions, service boundaries, command/query split. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonWire EF Core behind service boundaries · 8 min

    Wire EF Core behind service boundaries — a guided Module 4 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Replace the demonstration data layer with real persistence while preserving the screen's service contract. The important change is where transactions and failures are handled, not how many database details the form learns.

    Represent the user's intent as a command, then let the service decide how to persist it. This keeps database querying and business decisions out of controls and gives the operation one place to enforce its rules.

    Define the Entity Framework Core boundary and database context lifetime before implementing the command. Separate reads from transactional writes where appropriate, and translate persistence failures into results the interface can present meaningfully.

    ApproveWorkOrderCommand returns a CommandResult describing the outcome. The form presents that result to the user. Because the save operation is separate from the form, you can test it without creating a user interface.

    Replace the fake work order service with the real implementation. Keep the approval handler's delegation unchanged; this demonstrates that the interface depends on the operation's contract rather than a particular storage mechanism.

    Try an invalid state transition. The operation rolls back, records an audit entry, and returns a useful message. Then try a valid transition and confirm that the transaction commits successfully.

    Document the data boundary and context lifetime alongside the command, transaction example, and error mapping. A reviewer should be able to identify both the successful commit path and the behavior after a rejected operation.

    The form should understand the requested action and its result. Keeping storage decisions behind the service allows the data implementation to evolve without turning every screen into a database integration point.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 4 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — EF Core Repository & Command Pipeline · 45 min

    Objective: Replace fake WorkOrderService persistence with an EF Core-backed implementation or a production-shaped repository abstraction. Implement Create, Update, Approve, Search, and Audit operations with transaction boundaries and mapped errors. Deliverables: Data access boundary diagram; DbContext lifetime decision; Command and result classes; Transaction example; Error mapping table.

Module 5: High-Volume Data UX, Server Filtering, and Batch Operations

Module 5 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the High-Volume Data UX walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Large grids, paging, filtering, sorting, batch edits, user feedback. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonBuild the Enterprise Work Queue · 8 min

    Build the Enterprise Work Queue — a guided Module 5 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Design the work queue for the amount of data people will actually use. This module connects server queries to navigation and batch feedback so a large dataset remains a manageable workflow.

    Loading every record ties the first useful screen to the size of the entire dataset. Start with the user's search and current page so the interface can provide useful work without waiting for everything.

    Page and filter on the server, returning only the fields the grid needs. Preserve the user's view state separately, and treat batch operations as commands with explicit partial results rather than a single all-purpose success message.

    WorkQueueQuery returns a page of WorkQueueRow records inside a PagedResult. The first screen loads only that page. It does not need to load the entire work queue before the user can begin.

    Arrange filters, saved views, paging, and the batch action in the designable work queue. These controls should help users narrow the set, return to a familiar view, and understand which records an action will affect.

    Reassign three rows and inspect the one that fails. Progress should account for the whole operation, while the per-row report distinguishes successful changes from the remaining item and offers a clear retry path.

    Submit the query service and projection with the saved view and batch workflow. Add performance observations that explain the chosen page behavior, so reviewers can connect the design to its measured effect.

    Bound the data you load and explain every batch outcome. Users need to know both where they are in the queue and what happened to each record they asked to change.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 5 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Enterprise Work Queue & Batch Actions · 45 min

    Objective: Create an Enterprise Work Queue screen with server-side filters, saved views, paging, sort persistence, and a batch reassignment action. Add progress and a per-row result report for partial failures. Deliverables: Paged query service; Search projection model; Saved view definition; Batch reassignment workflow; Performance notes.

Module 6: Real-Time Systems, Background Pipelines, Notifications, and Imports

Module 6 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Background Pipelines walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Background jobs, progress, notifications, cancellation, queues, server push. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonBuild the Import Center job pipeline · 8 min

    Build the Import Center job pipeline — a guided Module 6 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Build the Import Center around jobs with their own lifecycle. The screen observes progress, while the pipeline continues independently enough to survive a user leaving and returning to the application.

    A job cannot depend on a screen remaining open. Store its status where observers can find it, define safe cancellation, and keep session-specific updates separate from the work itself so one user's departure does not erase progress.

    Use a job model and queue to describe work independently of its observers. Wisej.NET task and update mechanisms support execution and feedback, while notifications and retry policies make completion and recoverable failures explicit.

    The import job publishes milestones through a sink instead of reaching directly into a page. It checks cancellation between batches, giving the pipeline controlled stopping points and letting different observers consume the same progress.

    Use the queue, progress view, notification bell, and details panel to observe the job. Keep execution in services so opening a different page changes what the user sees without becoming the owner of the import.

    Close the session during the import, then return and recover the job's status. The final report should still identify individual row errors, demonstrating that progress and results belong to the job rather than the original page.

    Provide the job and status models with the queue, progress observer, notification panel, and retry policy. Explain how these parts reconnect after a session ends so recovery is part of the design.

    Treat a screen as one observer of a longer-lived operation. Once the job owns its status and results, users can leave and return without losing the explanation of what happened.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 6 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Import Center Job Queue · 45 min

    Objective: Build an Import Center with a job queue, progress observer, cancellation, retryable row processing, notifications, and a job detail screen. Demonstrate recovery after closing and reopening the session. Deliverables: Job model and status store; Background queue abstraction; Progress observer UI; Notification panel; Retry and cancellation policy.

Module 7: Advanced Workflow UX: Wizards, Modal Orchestration, and Compensation

Module 7 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Workflow UX walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Complex business flows, typed results, undo/compensation, resumable workflows. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonBuild the Escalation Wizard · 8 min

    Build the Escalation Wizard — a guided Module 7 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Build the escalation wizard around the business workflow it represents. Its pages collect decisions, while a separate operation coordinates the effects and explains what remains true when one step fails.

    A multi-step workflow can save data and trigger other effects that do not share one transaction. Separate the visible wizard from that coordination so the interface does not promise an all-or-nothing outcome it cannot guarantee.

    Model wizard state and typed results, then list the failure paths. Compensation describes how to handle effects already completed, while resumable state lets the workflow continue from an understood position rather than starting blindly again.

    EscalationCommand performs the operation and returns a WorkflowResult. The wizard uses that result to update the screen. Keep the workflow separate so its behavior can be tested without running the wizard.

    Collect the six steps into one escalation command. Keep page layout designable and let services validate the business decision, so changing the wizard's presentation does not redistribute its rules across the pages.

    The escalation is already persisted when notification fails. Preserve that fact and record the compensation rather than claiming the entire workflow rolled back; the result must describe the partial outcome users and operators need to handle.

    Provide the wizard flow, workflow service, typed objects, failure matrix, and compensation example together. A reviewer should be able to follow a successful escalation and explain each possible interruption without guessing.

    A reliable workflow reports which effects happened and what recovery remains. Explicit compensation makes a partial outcome manageable instead of hiding it behind an inaccurate transaction promise.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 7 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Escalation Wizard & Compensation · 45 min

    Objective: Create an Escalation Wizard that collects reason, attachments, approver, due date, and notification options. Implement orchestration in a service, not in the wizard pages, and add compensation for a simulated notification failure. Deliverables: Wizard screen flow; Workflow service; Typed command/result objects; Failure path matrix; Compensation example.

Module 8: Custom Controls, Extensions, Widget Wrappers, Reusable Components

Module 8 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Custom Controls walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Reusable controls, third-party widget wrappers, custom properties/events, resource packaging. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonBuild a StatusTimeline control & chart widget · 8 min

    Build a StatusTimeline control & chart widget — a guided Module 8 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Create reusable controls with a clear contract for their callers. This module combines a native timeline and a wrapped chart, showing how consistent properties and events keep implementation details out of consuming screens.

    Choose a programming interface that makes valid usage obvious. A reusable component should expose the decisions its caller needs, with useful defaults, rather than requiring every screen to understand its internal widget or resources.

    Select a UserControl, inherited control, or widget wrapper according to the behavior you are packaging. Include resources, event definitions, and designer defaults in that package so reuse covers design time as well as runtime.

    The timeline accepts items through one explicit method, and the chart reports a segment click through a named event. These small contracts let screens provide data and respond to intent without depending on rendering details.

    Place both controls from the Toolbox and inspect their design-time samples. Sample rendering helps compose the screen, but it must remain safe without live business data or runtime service calls.

    Follow a chart click into the named server event, then observe the blocked-script case. A useful fallback keeps the surrounding screen understandable when the external widget cannot load instead of leaving an unexplained empty area.

    Deliver both components with their resources, event contract, and a usage screen. The example should teach a caller how to supply data and handle events without reading the wrapper's internal implementation.

    Judge reuse by the consuming screen's simplicity. A clear component contract and safe defaults reduce repeated setup and make correct behavior easier to preserve across the application.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 8 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — StatusTimeline Control & Chart Widget · 45 min

    Objective: Build a reusable StatusTimeline control and a wrapped chart/visualization Widget for work-order history. Expose C# properties, server events, embedded resources, and a design-time sample mode. Deliverables: StatusTimeline UserControl; Widget wrapper or custom control; Embedded resource package; Event contract document; Usage example screen.

Module 9: JavaScript Object Model, Browser APIs, and Secure Interop Contracts

Module 9 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Secure Interop walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Advanced JS interop, client events, browser capabilities, contract validation. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonAdd a command palette with secure interop · 8 min

    Add a command palette with secure interop — a guided Module 9 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Add browser capabilities through an explicit contract with the server. The command palette illustrates how JavaScript can improve interaction while the Wisej.NET application retains responsibility for permissions and accepted operations.

    Define what each cross-boundary request means before wiring callbacks. A named operation and documented payload are easier to validate and evolve than loose values whose meaning depends on a particular page or script.

    Connect the application object model, client events, and remote methods through the interoperation contract. Check browser capabilities and widget lifecycle timing so a valid command is not attached to an unavailable feature or nonexistent widget.

    Send a ClientCommandRequest with a named payload to RunClientCommand. The server validates the request before running anything. A command arriving from the browser is a request, not permission to execute it.

    Build the palette host and capability panel, then attach the script after the widget exists. This order gives the script a real target and makes unavailable browser features visible rather than failing during initialization.

    Open the command palette with Control K, enter approve, and press Enter. The server rejects the command because permission is missing. The palette helps the user find commands; authorization remains on the server.

    Provide the interoperation contract alongside the palette script, callbacks, capability panel, and security notes. A reviewer should be able to trace each browser request to the validation and authorization that govern its execution.

    Treat each browser-server crossing as a small programming interface. Clear inputs, permissions, and results make the enhancement easier to maintain without confusing client convenience with server authority.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 9 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Command Palette & Capability Panel · 45 min

    Objective: Add an advanced keyboard command palette and browser capability panel. Use JavaScript to collect browser features and trigger server-side commands, then enforce permissions server-side before running the command. Deliverables: Interop contract document; Command palette script; Server callback methods; Browser capability panel; Security review notes.

Module 10: Security Architecture: Identity, SSO, Authorization, Audit, and Secure Deployment

Module 10 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Security Architecture walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Identity integration, permission model, audit trails, safe HTML, secure configuration. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonAdd identity, authorization & audit · 8 min

    Add identity, authorization & audit — a guided Module 10 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Connect identity, permissions, audit, and deployment into one security design. EnterpriseOps must explain who is acting, what they may do, and how the system records both accepted and rejected requests.

    Signing in establishes identity, but each sensitive operation still needs a permission decision. Enforce that decision in the executing service so every caller faces the same rule, regardless of how the screen is configured.

    Map OpenID Connect and single sign-on identity into the claims your permission service needs. Combine service authorization with audit and review HTML-enabled output, because identity integration alone does not secure every data and action boundary.

    Follow the permission demand through the tenant guard and role store. This is the enforcement path: it checks the operation against trusted context rather than accepting the interface's assumption that the user is allowed.

    Make the audit screen show who requested which permission, under which tenant, and with what result. Recording granted and denied demands lets operators distinguish legitimate activity from failed access attempts.

    The export button is wrongly enabled, but the service still rejects the missing permission. Confirm that the denial is audited: a presentation mistake should neither authorize the export nor hide the attempted operation.

    Submit identity mapping, the permission matrix, service implementation, audit screen, and hardening checklist. These should connect an identity claim to a concrete allowed or denied action and its recorded evidence.

    Keep identity and permission as separate questions throughout the design. Knowing who a user is helps evaluate a request, but the executing service must still decide whether that action is permitted.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 10 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Identity, Authorization & Audit · 45 min

    Objective: Add enterprise authentication simulation, claims-to-permission mapping, tenant-role enforcement, service-level authorization, safe HTML review, export approval, and audit logging for sensitive actions. Deliverables: Identity mapping design; Permission matrix; Permission service implementation; Audit log screen; Security hardening checklist.

Module 11: Observability, Diagnostics, Performance, and Session Profiling

Module 11 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Observability walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Health, logs, metrics, traces, client/server timing, memory/session growth. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonInstrument EnterpriseOps end to end · 8 min

    Instrument EnterpriseOps end to end — a guided Module 11 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Give operators enough evidence to understand EnterpriseOps without stepping through its code. Diagnostics, correlated logs, and explicit performance budgets connect a reported symptom to the operation and environment that produced it.

    The runbook must answer what version is running, where it runs, and how to investigate an error. Capture that information deliberately so diagnosis does not depend on reproducing the production problem inside a debugger.

    Use structured fields and a correlation identifier to join the evidence for one operation. Health checks, diagnostic snapshots, timing budgets, and session memory observations answer different questions, so keep each signal's purpose clear.

    The operation timer attaches the correlation identifier to its log entry, making related work traceable. The diagnostic snapshot exposes a deliberately safe set of fields so support information does not become an accidental secret dump.

    Build the diagnostics page around version, node, configuration flags, and budgets. Restrict access by role and redact secrets so the page helps authorized operators without exposing the application's confidential configuration.

    The slow query takes two thousand three hundred forty milliseconds, and its log shows a page size of five thousand. Use that evidence to correct the oversized request, then check that the measured budget returns to an acceptable state.

    Submit the diagnostic page with sample structured logs, correlation propagation, budgets, and memory findings. The package should demonstrate how an operator moves from a visible failure to relevant evidence rather than merely listing metrics.

    Make production behavior explain itself through safe evidence. When logs, diagnostics, and the runbook agree, support can investigate the running system without relying on a developer's private knowledge.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 11 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Observability & Session Profiling · 45 min

    Objective: Add observability to EnterpriseOps: structured logging, correlation IDs, diagnostics page, health status, performance timing panel, and a session-memory review checklist. Simulate a slow query and show how it is diagnosed. Deliverables: Diagnostics page; Structured log example; Correlation ID propagation; Performance budget table; Memory/session audit notes.

Module 12: Cloud, Containers, Load Balancing, and Release Engineering

Module 12 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Release Engineering walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    IIS, Kestrel, reverse proxies, containers, sticky sessions, health checks, CI/CD, runbooks. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonPackage EnterpriseOps for the cloud · 8 min

    Package EnterpriseOps for the cloud — a guided Module 12 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Prepare the Command Center for a release that operators can verify and reverse. Hosting, routing, configuration, and health checks must work together before a deployment can be considered ready for users.

    Choose hosting with its operational consequences in view. Identity, WebSocket connections, logs, configuration, and scaling all cross the deployment boundary, so a local success does not by itself prove the hosted system is ready.

    Compare Internet Information Services, Kestrel behind a reverse proxy, cloud hosting, and Docker against the same requirements. Health checks, session affinity, and continuous integration and delivery still need explicit configuration whichever target you select.

    Package the environment settings as a deployment contract, explaining which values operators must provide. End the runbook with a rollback procedure so reversing a release is planned before the first deployment begins.

    Use the release dashboard to connect the runbook steps with node health and deployment actions. HealthCheck.json provides the node signal, while Deploy and Rollback represent distinct operational decisions that require visible results.

    When node B fails its health check, route traffic away and restore version two point four point one. Observe that node A's sessions continue, demonstrating the specific failure and recovery path shown in this deployment.

    Provide architecture and configuration details with the health check, release runbook, rollback procedure, and basic verification checklist. Together they should let another operator deploy the system and verify the recovery path.

    A shipped Command Center includes the means to operate it. Keep configuration, health evidence, and rollback instructions with the release so delivery does not depend on the original developer being present.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 12 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Cloud Deployment Package & CI/CD · 45 min

    Objective: Create a deployment package for EnterpriseOps with environment-specific configuration, HealthCheck.json, smoke test checklist, sample container notes, reverse-proxy notes, sticky-session/load-balancer guidance, and rollback runbook. Deliverables: Deployment architecture diagram; Environment configuration table; HealthCheck.json; Release runbook; Rollback and smoke test checklist.

Module 13: Hybrid, PWA, Offline, and Device-Aware Wisej.NET Applications

Module 13 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the Hybrid & Offline walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    Connected/offline modes, local data, device APIs, sync conflict patterns, field scenarios. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonPrototype Field Technician mode · 8 min

    Prototype Field Technician mode — a guided Module 13 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Extend the Command Center to field work where connectivity and device capabilities differ. The design must explain which actions need a connection and how locally recorded work becomes part of the shared system later.

    A mobile, tablet, kiosk, or disconnected workflow changes how users interact and when data is available. Keep one application model, but decide deliberately how each shape exposes tasks and handles missing connectivity.

    Separate Wisej.NET Hybrid connected operation from a local offline application and its synchronization responsibilities. Device services, local SQLite storage, the synchronization queue, and a progressive web application shell address different parts of that design.

    Represent each offline action as a command with explicit synchronization state. Put device access behind a service abstraction so business operations can describe pending work without knowing the specific camera, scanner, or platform implementation.

    Build Field Technician mode with a device-aware layout, cached work orders, and a local completion queue. The queue makes unfinished synchronization visible instead of treating a local completion as already accepted by the server.

    On reconnection, the technician's completed order conflicts with the dispatcher's cancellation. Present both versions so the conflict can be resolved explicitly; neither side should disappear simply because synchronization arrived later.

    Document the connected and offline architecture with device services, queue state, conflict handling, and field usability checks. The package should show how work survives disconnection and how disagreements are resolved after reconnection.

    Field readiness means more than fitting the screen onto a phone. The application must communicate local progress, pending synchronization, and conflicts so users understand what the shared system has actually accepted.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 13 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Field Technician Offline Mode · 45 min

    Objective: Design and prototype a Field Technician mode for EnterpriseOps. Add device-aware layout, offline work-order cache, local completion queue, reconnect sync simulation, and conflict display. Deliverables: Hybrid/offline architecture note; Device service abstraction; Offline queue model; Sync conflict screen; Field-mode usability checklist.

Module 14: AI-Assisted Development, MCP-Ready Documentation, and Capstone Delivery

Module 14 of Enterprise Wisej.NET: Architecture to Cloud — the advanced Wisej.NET track. Read the lesson guide and the lab / exam guide, watch the AI & Capstone Delivery walkthrough, pass the knowledge check, then complete the hands-on lab in the EnterpriseOps Command Center.

  1. ReadingLesson Guide · 14 min

    AI-assisted coding discipline, documentation access, review prompts, final enterprise defense. What this means for an advanced Wisej.NET team — and how to read this module.

    Read the lesson guide (PDF)

  2. ReadingLab / Exam Guide · 12 min

    What you'll build in the hands-on lab, the suggested approach, and the required deliverables.

    Read the lesson guide (PDF)

  3. Video lessonDeliver the enterprise capstone · 8 min

    Deliver the enterprise capstone — a guided Module 14 walkthrough, built step by step in the EnterpriseOps Command Center. Runs right here in the player.

    Narration transcript

    Finish the capstone with evidence that the team can defend its design and release decisions. Artificial intelligence can help produce code and documentation, but the completed package must still demonstrate reviewed behavior and operational readiness.

    Generated code is a draft whose production consequences belong to the team. Review architecture, security, and operations with the same standards as handwritten code rather than letting a plausible answer stand in for verified behavior.

    Ground prompts in project rules and documentation, including the Model Context Protocol documentation endpoint. Review generated changes and prepare an architecture defense so the capstone demonstrates understood decisions rather than merely an impressive demonstration.

    Start each assistance session with the project rules and the relevant documented programming interfaces. This gives the draft a concrete boundary, but reviewers must still verify that every proposed call exists and respects those rules.

    Assemble prompts, the documentation index, review checklist, demonstration script, and readiness statement. These artifacts should explain how the work was guided, what was checked, and which claims the demonstration is intended to prove.

    The generated change invents a programming interface and stores state in a static field. Catch both during review before merge: one breaks the documented contract, while the other may give session data the wrong lifetime.

    Submit the prompt library, generated-code review checklist, documentation index, demonstration script, and readiness statement as one defensible package. Each readiness claim should point to a reviewed decision or a demonstrated result.

    Defend the Command Center by explaining its boundaries, failures, and operational evidence. Assistance can accelerate the work, but the team should be able to justify the system without relying on the tool that drafted it.

  4. ReadingAI Coding Exercise · 20 min

    Build this module's EnterpriseOps sample with ChatGPT or Claude from a ready-made prompt that points the model at this module's specification, then review, run and extend what it gives you — including against our own reference build on GitHub.

    Read the lesson guide (PDF)

  5. Knowledge checkModule 14 Knowledge Check · 12 min · Pass mark 80%
  6. Hands-on labLab — Capstone Package & Defense · 45 min

    Objective: Finalize the capstone package. Add AI usage notes, prompt library, documentation links, code review checklist, final demo script, architecture defense deck outline, and production readiness statement. Deliverables: AI prompt library; Generated-code review checklist; Project documentation index; Capstone demo script; Production readiness statement.