Monash University · FACULTY OF SOFTWARE DEVELOPMENT

FIT3178 Chap.4 Web Services, Concurrency and Firebase

- one subject, every graph, every model, every mark
5 Chapters2-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 4 of 8 · FIT3178

Web Services, Concurrency and Firebase

A web-service feature crosses five separate gates: the request must be constructed correctly, transport must complete, the response status must be acceptable, the payload must decode, and the result must still matter to the current screen.

Treating these as one success callback makes error handling vague and frequently lets stale work overwrite newer user intent.

Build a request from a typed endpoint description where practical. Keep authentication and sensitive parameters out of logs. Validate the response before decoding, but do not confuse a 2xx status with valid domain content. A server can omit required fields or return logically impossible values.

Map transport structures into a local model only after validation, and retain an error category useful for both user communication and diagnosis.

Concurrency introduces ordering. A task may finish after navigation, after a new query or after cancellation. Interface updates belong on the appropriate actor or main execution context, while decoding and transformation should not block interaction.

Attach work to a lifecycle or explicit owner, cancel it when obsolete and compare a result with the request identity before applying it.

Firebase or another cloud platform adds shared state and eventual observation. Decide whether local edits are optimistic, how conflicts are resolved and what the user sees when offline.

A listener can deliver initial state followed by changes, so applying every event as an append may duplicate items. Security rules and authentication are part of the data boundary; hiding a collection in the interface is not access control.

Worked case: a shared task list shows cached items immediately, starts a cloud listener and marks the view as synchronising. Each item has a stable identifier and update time.

Local edits are queued and visibly pending. When a remote change arrives, the merge compares identity and version rather than list position. A deleted task is not resurrected merely because an old network completion arrives later.

For evidence, demonstrate normal response, malformed payload, offline launch, cancellation and conflict. Explain what the user can safely infer in each state.

A spinner without a failure route does not prove asynchronous design, and a cloud screenshot does not prove consistent ownership. The strongest portfolio narrative traces one remote value from endpoint to decoded model, merge rule and visible state.

Separate an error taxonomy from the words eventually shown to the user.

No connection, timeout, unauthorised response, incompatible server response, invalid domain data and obsolete completion require different developer actions even when two of them share a concise retry message. Preserve enough structured information for logging and recovery without revealing credentials or payloads.

A generic catch that reports something went wrong erases the very distinction needed to test and repair the boundary.

Use a two-request race as the minimum concurrency rehearsal. Start query A, then query B; complete B successfully before A. The interface must remain on B when A finally completes. Repeat with A failing after B succeeds and with navigation occurring before either finishes.

Write the cancellation and identity rule first, then observe it. For a cloud listener, add one deletion and one local pending edit so the merge policy proves more than repeated appends.

End the service trace at visible state rather than at decoding. Specify whether the screen now shows cached, synchronising, current, pending, unauthorised or failed information and what action is possible.

Then trace backward to the validated domain result that justifies that label. This bidirectional check catches interfaces that display certainty the data layer has not established and data layers whose useful distinctions disappear into one generic loading flag.

In this chapter

What this chapter covers

  • 01

    request lifecycle

  • 02

    asynchronous task

  • 03

    cloud consistency

  • 04

    turn remote responses into validated local state while making latency and failure explicit

  • 05

    A successful HTTP response is not proof of valid domain data, current screen relevance or durable cloud agreement.

Worked example · free

Merge cache and cloud state

Q [5 marks]. AskSia original practice weighting: Cached tasks appear before a delayed remote snapshot containing an edit and deletion.
  • 1Fix stable identities.
  • 1Mark cached state.
  • 1Validate the response.
  • 1Apply conflict rules.
  • 1Reject stale completion.
Render cache as provisional, merge by identifier and version, and ensure older task completions cannot recreate a deleted item.
Sia tip — Write the merge rule before handling callbacks.
Glossary

Key terms

request lifecycle
Construction, transmission, response validation, decoding and completion of a network operation.
asynchronous task
Work whose completion occurs later and must not block or surprise the interface lifecycle.
cloud consistency
The rules governing when local and remote clients observe updates and conflicts.
FAQ

Web Services, Concurrency and Firebase FAQ

What is the key decision in Web Services, Concurrency and Firebase?

Turn remote responses into validated local state while making latency and failure explicit.

Which failure path matters most?

A successful HTTP response is not proof of valid domain data, current screen relevance or durable cloud agreement.

Are the worked cases official portfolio tasks?

No. They are AskSia-authored practice aligned to the current teaching sequence.

What should be shown in discussion?

Show the state or responsibility trace, the changed condition and evidence that the repair works.

Study strategy

Assessment move

Rebuild the state or dependency map from memory, run the worked change, then explain the first assumption that fails.

Working through Web Services, Concurrency and Firebase in FIT3178? Sia is AskSia’s AI Software Development tutor — ask any FIT3178 Web Services, Concurrency and Firebase question and get a clear, step-by-step explanation grounded in how FIT3178 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 69 of your Monash University subjects - and 1,000+ Bibles across every Australian university.
Sia - your FIT3178 tutor, unlimited, worked the way the exam marks it
The full 2-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works
Unlock the full FIT3178 Bible + 69 Monash University subjects
$0.99 Trial