How danieloh30/agentic-ai-java-workshop works
This repository is a hands-on workshop for building an enterprise incident-management platform with Java agentic patterns. The user-facing journey is to submit an incident for triage or analysis, receive a recommendation and updated incident status, and—across later exercises—add planning, evidence, voting, event processing, and reliable response controls. The map covers the principal lab generations and documented capabilities. Edges are limited to excerpted service calls and README-described behavior; unsampled internal wiring is left unasserted.
Main entry points: IncidentManagementService.java Incident service · PlanIncidentService.java Planning service · IncidentManagementResource.java Incident API · IncidentProcessingWorkflow.java Processing workflow
Components 20
Incident Intake
- Incident API
lab/src/main/java/com/incidentmanagement/resource/IncidentManagementResource.java - Incident service
lab/src/main/java/com/incidentmanagement/service/IncidentManagementService.java - Incident record
lab/src/main/java/com/incidentmanagement/model/IncidentInfo.java
Agent Workflows
- Triage workflow
lab/src/main/java/com/incidentmanagement/agentic/workflow/TriageWorkflow.java - Processing workflow
lab/src/main/java/com/incidentmanagement/agentic/workflow/IncidentProcessingWorkflow.java - Analysis workflow
lab/src/main/java/com/incidentmanagement/agentic/workflow/IncidentAnalysisWorkflow.java - Analysis specialists
lab/src/main/java/com/incidentmanagement/agentic/agents
Production Processing
- Planning service
part2/lab/src/main/java/com/incidentmanagement/service/PlanIncidentService.java - Plan and execute
part2/lab/src/main/java/com/incidentmanagement/agentic/workflow/PlanExecuteFlow.java - Deployment evidence
part2/lab/src/main/java/com/incidentmanagement/evidence/DeploymentEvidence.java - Voting service
part2/lab/src/main/java/com/incidentmanagement/service/VotingIncidentService.java - Consensus workflow
part2/lab/src/main/java/com/incidentmanagement/agentic/workflow/ConsensusWorkflow.java - Event processing
part2/lab/src/main/java/com/incidentmanagement/messaging/IncidentEventConsumer.java - Resolution outcomes
part2/lab/src/main/java/com/incidentmanagement/messaging/ResolutionStore.java
Response Reliability
- Response worker
part3/lab/src/main/java/com/incidentmanagement/service/ResponseWorker.java - Response guardrails
part3/lab/src/main/java/com/incidentmanagement/policy/RecommendationChecks.java - Approval service
solutions/06-hitl-observability/src/main/java/com/incidentmanagement/service/ApprovalService.java - Approval proposal
solutions/06-hitl-observability/src/main/java/com/incidentmanagement/model/ApprovalProposal.java - Quality evaluation
part3/lab/src/main/java/com/incidentmanagement/service/EvaluationService.java
Other components
- Incident operator
Connections 15
- Incident operator → Incident API: submits incident
- Incident API → Incident service: routes request
- Incident service → Incident record: loads and updates
lab/src/main/java/com/incidentmanagement/service/IncidentManagementService.java - Incident service → Processing workflow: runs analysis
lab/src/main/java/com/incidentmanagement/service/IncidentManagementService.java - Incident service → Triage workflow: runs triage
lab/src/main/java/com/incidentmanagement/service/IncidentManagementService.java - Processing workflow → Analysis specialists: coordinates specialists
lab/src/main/java/com/incidentmanagement/agentic/workflow/IncidentProcessingWorkflow.java - Incident service → Analysis workflow: selects analysis
lab/src/main/java/com/incidentmanagement/service/IncidentManagementService.java - Planning service → Plan and execute: runs planning
part2/lab/src/main/java/com/incidentmanagement/service/PlanIncidentService.java - Planning service → Deployment evidence: summarizes evidence
part2/lab/src/main/java/com/incidentmanagement/service/PlanIncidentService.java - Voting service → Consensus workflow: runs voting
part2/lab/src/main/java/com/incidentmanagement/service/VotingIncidentService.java - Event processing → Resolution outcomes: stores outcomes
- Response worker → Response guardrails: checks recommendations
- Approval service → Approval proposal: persists proposals
solutions/06-hitl-observability/src/main/java/com/incidentmanagement/service/ApprovalService.java - Incident operator → Approval service: decides proposal
- Quality evaluation → Response guardrails: checks recommendations
part3/lab/src/main/java/com/incidentmanagement/service/EvaluationService.java