into a complete cloud integra on. • One result → persistent storage → asynchronous events → desktop subscriber. ti fi 7 ti • Seven Tasks, one nal Pull Request.
publish. Every assigned Lambda supports GET to retrieve a stored result by UUID. A Java desktop application subscribes to MQTT and publishes an ACK. Keep your original computation and input contract working. 9
→ Done as work advances. Close each native sub-issue (TASK) only when its criteria are met. After all seven Tasks are closed, submit ONE PR. Title: A04 - <LambdaName> | Body: A04 Story: #<parent> 11
receives HTTP and routes to Lambda. Lambda — executes your Java computation. DynamoDB — stores structured results by UUID. S3 — stores a JSON object; SNS — publishes a notification. SQS — holds a message until a consumer processes it. 15
PR body must include: A04 Story: #272 Evidence: curl, JUnit, (DynamoDB, S3, SNS, SQS, AWS IoT Core, HiveMQ, desktop receipt, ACK)... All seven native sub-issues closed before final PR. 22
HTTP + JSON is a language-independent contract. Java, Python, JavaScript, curl, or an AI tool can call the same URL. POST computes and publishes; GET retrieves a saved result by UUID. The client language does not change the backend. 24
a protocol, not a Java-only library. One published event can reach many connected subscribers. Java: Eclipse Paho • Python: Paho MQTT • JS: MQTT.js. 31
csc5100/events/temperature Matches: csc5100/events/robot-distance Matches: csc5100/events/gaze-clusters It receives new matching publications, NOT all historical results. REST GET by UUID is for retrieving saved results. 32
simultaneously. All subscribe to csc5100/events/#. Send ONE TemperatureLambda POST request. Watch the same JSON event arrive in three languages. HiveMQ public broker is for demonstration, not private data. 36
your assigned Lambda. Parse JSON; display the result and UUID. Publish an application ACK to csc5100/status/<uuid> at QoS 1. MQTT QoS 1 delivery is NOT the same as app-level processing ACK. Test the client and provide evidence in your final PR. 37
same HTTP APIs can be wrapped as AI-accessible tools. An MCP server can expose tools such as calculate_robot_distance. The MCP server calls our existing REST endpoints. 39
Services • MCP is an open standard that allows AI applications to discover and use external tools and data. • An MCP server exposes operations (tools) that an AI application can invoke. • These tools can connect to existing REST APIs, databases, or other services. • MCP provides an interface for AI applications to use them. • Key idea: Our existing Lambda services can become tools for AI applications without rewriting their core functionality. 40
Copyright. These slides may be used only as study material for CSC 5100 within the California State University system. They may not be distributed or used for any other purpose.