layout | title | sched-activation |
---|---|---|
course |
Week 2, Day 1 |
class="active" |
Levels of skill ({{ site.data.bibliography.anderson2000.title }}, right hand column of table, "2000"):
- Remember (Level 1, Simplest)
- Understand (Level 2)
- Apply (Level 3)
- Analyze (Level 4)
- Evaluate (Level 5)
- Create (Level 6, most complete)
Every course outcome has a specified level of understanding and every week has one or two outcomes. The reading guides for each day highlight the parts of each reading that are most important for that week's outcome.
Source: {{ site.data.bibliography.helland2013.title }}, Fig. 3. Copyright ACM, 2013.
For the following use case:
- Purchaser searches a book title using Google/Bing/Yahoo, gets list of 20 links.
- Clicks on link to book in Amazon, gets page for that book.
- Clicks to see the book's cover.
- Adds book to shopping cart.
- Signs in to Amazon account.
- Buys book by clicking on "1-Click" button, which automatically sends book to purchaser's home address.
Assume the above figure describes the Amazon book site. For each of the above steps, which boxes (if any) in the figure take part? When a box participates, what does it do?
Which of these services has the smallest response time in its SLA (Service Level Agreement)?
Example: Assume the fifth step said, "Buys book and sends to friend's address from address book". The boxes might participate this way:
- Session State (within Service) records user's id.
- Service requests address book from from application data cache, selects friend's address.
- Service sends book stock ID and shipping address to shipping service (in "Other service" box). Shipping service works asynchronously---the user does not wait, the service proceeds in the background, emailing the user once it's complete.
- Other …
On an unsigned sheet of paper, briefly complete:
- I most want to see the class start doing …
- I most want to see the class continue doing …
- I most want to see the class stop doing …
Read the following before coming to the next class:
[{{ site.data.bibliography.helland2013.title }}]({{ site.data.bibliography.helland2013.url }}), from "A quick refresher on simple queuing theory" (p. 55) up to but not including "The drive toward commonality in computing" (p. 58).
The short queuing theory part that begins the reading is optional.
{% if site.courseId != '474-14-1' %}
Plumbing and concierge == cluster-level infrastructure.
'partitioning' in his sense we call 'sharding'.
{% endif %}
Key points to look for:
- Why the lower-level services have such tight service requirements.
- What is the purpose of the session state?
- What does the back-end do?
- For "Styles of back-end processing" (pp. 57--58), the key point for now is that there are a range of styles. In the second half of the course (after the midterm) we will go into these in much more detail.