information architecture...the star trek problem •“star trek ii: the wrath of khan is a movie”...
TRANSCRIPT
![Page 1: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/1.jpg)
INFORMATION ARCHITECTURE
![Page 2: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/2.jpg)
DATA AND REALITY
![Page 3: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/3.jpg)
DATA AND REALITY
SECOND EDITION THIRD EDITION
![Page 4: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/4.jpg)
"La Trahison des Images" ("The Treachery of Images")
By René Magritte, 1898-1967. The work is now owned by and exhibited at LACMA.
![Page 5: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/5.jpg)
Customer
id: NumberPK
name: String
email: String
Ce n'est pas un client
![Page 6: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/6.jpg)
THE SYMBOL IS NOT THE THING
• We don’t put people in our databases.
• We put representations of people in our databases.
![Page 7: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/7.jpg)
TYPE:
1. Set of allowed values
2. Operations on those values
![Page 8: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/8.jpg)
TYPE:
1. Set of allowed values
Decision process to determine if a value is a member
2. Operations on those values
![Page 9: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/9.jpg)
ENUMERATED TYPE
We can list all the allowed values
Decision process just checks for membership in the set.
E.g., Boolean or rows of a table
![Page 10: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/10.jpg)
ENCODED TYPE
• Some types are hard to enumerate.
• Very big sets: E.g., all rational numbers.
• Sets subject to redefinition: E.g., Addresses, Names, other social constructs
• We encode these in primitive values
![Page 11: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/11.jpg)
COMMON ENCODINGS
Data type Representation
Name String
Height 16-bit 2’s complement
Salary 16-bit 2’s complement
![Page 12: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/12.jpg)
THE TROUBLE WITH ENCODING
• The decision procedure becomes checking syntax
• “Does this value meet the syntax for encoding?”
• Rather than “Is this value a member of this type?”
• Opens door to incorrect acceptance or rejection of values
![Page 13: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/13.jpg)
https://www.xkcd.com/327/
THIS IS A TYPE ERROR
![Page 14: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/14.jpg)
ATTRIBUTE TYPES
• Height isa Integer?
• Lacks unit
• Allows too many operations
• Allows too many values… what does a negative height mean?
![Page 15: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/15.jpg)
ANOTHER BROKEN ATTRIBUTE TYPE
• Money isa double?
• Imprecise operations, will lose or manufacture money
• Imprecise representation
• Lacks currency, so allows illegal conversions and combinations
• Allows too many operations.
• What does $5 𝑚𝑜𝑑 3 mean?
• Please don’t ever do this.
![Page 16: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/16.jpg)
YET ANOTHER BROKEN ATTRIBUTE TYPE
• Datetime isa long?
• Allows too many operations.
• Allows incorrect closure under subtraction. 𝑇𝑖𝑚𝑒 − 𝑇𝑖𝑚𝑒 → 𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛
• Is it wall clock (goes backward, jumps forward)?
• Is it system time?
• What time zone?
![Page 17: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/17.jpg)
PITFALLS OF SYNTAX
Data type Representati
on
Sample value Pitfall
Name String -
→→
Canonicalization.
Duplicates.
Height 16-bit 2’s
complement
190 Inches?
Meters? Pixels?
Salary 16-bit 2’s
complement
2.5 ‘Height’ x
‘Salary’ == ???
![Page 18: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/18.jpg)
MY RECURRING THEME
• Focus on the behavior.
• What are valid operations on the attributes?
• Can you make a useful type equation about the attributes?
E.g., does 𝑃𝑒𝑟𝑠𝑜𝑛. 𝑎𝑔𝑒 × 𝑃𝑒𝑟𝑠𝑜𝑛. ℎ𝑒𝑖𝑔ℎ𝑡 yield anything meaningful?
What about 𝐿𝑖𝑛𝑒𝐼𝑡𝑒𝑚. 𝑞𝑢𝑎𝑛𝑡𝑖𝑡𝑦 × 𝐿𝑖𝑛𝑒𝐼𝑡𝑒𝑚. 𝐼𝑡𝑒𝑚𝑃𝑟𝑖𝑐𝑒?
![Page 19: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/19.jpg)
ATTRIBUTE VERSUS RELATIONSHIP
Customer
idPK
name: String
email: String
Customer Name
idPK
nameId
emailId
namePK
emailPK
![Page 20: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/20.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
Movie
title: String
![Page 21: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/21.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
• It is available on Blu-ray and DVD
Movie
title: String
Format1..*
![Page 22: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/22.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
• It is available on Blu-ray and DVD
• DVDs are region-coded
Movie
title: String
Format1..*
Region
![Page 23: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/23.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
• It is available on Blu-ray and DVD
• DVDs are region-coded
• Blu-rays are region-coded with different regions
Movie
title: String
Format1..*
Region
DvdRegion BlueRayRegion
![Page 24: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/24.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
• It is available on Blu-ray and DVD
• DVDs are region-coded
• Blu-rays are region-coded with different regions
Movie
title: String
Format1..*
Region
DvdRegion BlueRayRegion
![Page 25: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/25.jpg)
THE STAR TREK PROBLEM
• “Star Trek II: The Wrath of Khan is a movie”
• It is available on Blu-ray and DVD
• DVDs are region-coded
• Blu-rays are region-coded with different regions
• “I want all Star Trek movies with the original cast.”
• “I want all Star Trek movies not in the JJ Abrams timeline.”
• Now track inventory of each format of disc in each store location (entity == type of disc)
• Now track digital licenses issues for online viewing (entity == individual playback)
Movie
title: String
Format1..*
Region
DvdRegion BlueRayRegion
![Page 26: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/26.jpg)
THE STAR TREK PROBLEM
• Precise, normalized models exist to exclude invalid values.
• Hard to use when previously unknown or invalid dimensions come into play.
• Grouping or collecting in new ways requires new attributes,
which means more precision in the model.
![Page 27: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/27.jpg)
TAKEAWAYS
• Data is not reality
• We represent parts of reality in our systems
• Models exist to represent data
• But they also exclude whatever can’t be represented
![Page 28: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/28.jpg)
SOME DIFFICULT IDEAS
![Page 29: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/29.jpg)
SOME DIFFICULT IDEAS
• Data duplication is OK. Just make sure you can reconcile the duplicates.
![Page 30: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/30.jpg)
SOME DIFFICULT IDEAS
• Data duplication is OK. Just make sure you can reconcile the duplicates.
• There is no “natural” data model
![Page 31: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/31.jpg)
SOME DIFFICULT IDEAS
• Data duplication is OK. Just make sure you can reconcile the duplicates.
• There is no “natural” data model
• Relational, KVS, hierarchic, network, document, graph… they’re all just ways to group
attributes into entities.
![Page 32: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/32.jpg)
SOME DIFFICULT IDEAS
• Data duplication is OK. Just make sure you can reconcile the duplicates.
• There is no “natural” data model
• Relational, KVS, hierarchic, network, document, graph… they’re all just ways to group
attributes into entities.
• Each one is optimized for certain kinds of transaction and query patterns
![Page 33: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/33.jpg)
SOME DIFFICULT IDEAS
• Data duplication is OK. Just make sure you can reconcile the duplicates.
• There is no “natural” data model
• Relational, KVS, hierarchic, network, document, graph… they’re all just ways to group
attributes into entities.
• Each one is optimized for certain kinds of transaction and query patterns
• Too much normalization impedes future adaptability
![Page 34: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/34.jpg)
IDENTIFIERS AND OWNERSHIP
![Page 35: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/35.jpg)
STUDY IN IDENTIFIERS
Subscriptions
RepeatingDelivery
{ item party scheduleType }
Suppose we need details about “123123123”
How do we know what system to call?
![Page 36: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/36.jpg)
“NAKED” IDENTIFIERS HAVE IMPLICIT CONTEXT
Must have code that knows how to get details:
• Host
• Port
• Protocol
• Type of query
• Format of results
Also assumes just one authority for details
![Page 37: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/37.jpg)
USE EXPLICIT CONTEXT
• Make context explicit to allow multiple authorities: URL or URN
• Enable many sources
• Standardize the media type or representation
• Use logical names, not application or service names
• Proxies and rewrite rules can keep the URLs functioning
![Page 38: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/38.jpg)
BETTER
Subscriptions
RepeatingDelivery
{“item”: “https://example.com/skus/123123123”,“party”: “https://example.com/people/99349394”,“schedule”: “schedule:weekly”
}
![Page 39: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/39.jpg)
REQUIRED FIELDS
![Page 40: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/40.jpg)
REQUIRED FOR WHAT?
• Recall: data model determines what to exclude
• Changing requirements harder to support with more restrictions on data
![Page 41: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/41.jpg)
EXAMPLE: PROX CARD TABLE FOR BIKE SHARING
Field Type Constraint
User_id String Not null
Card_type String Not null, enumerated
Status String Not null, enumerated
Name String Not null
For each “not null,” can you think of a valid use (or future change) that it disallows?
![Page 42: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/42.jpg)
“IS VALID” METHODS
• Again: “is valid” for what operation?
• “Valid” implies policy
• Recall: Contextualize downstream
![Page 43: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/43.jpg)
EXAMPLE: INSIDE A COMMERCE SYSTEM
public interface Item {String getName(int version);void setName(int version, String name);
String getDescription(int version);void setShortDescription(int version, String shortDescription);
boolean isValid(int version);
void publishItem(int version); int getLatestVersion();int[] getAllVersions();…
}
![Page 44: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/44.jpg)
EXAMPLE: INSIDE A COMMERCE SYSTEM
Item ServiceCreateItemContent Creation
![Page 45: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/45.jpg)
ContentCreation
Items
create
id
save
save
save
publish
make new version
save
publish
save
Merchant
create
edit
publish
revise
edit
publish
EXAMPLE: EXPECTED INTERACTION
![Page 46: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/46.jpg)
ContentCreation
Items
create
id
save
publish
SecretCMS
Merchant
create
idcreate
edit
publish save
save
WHAT REALLY HAPPENED
![Page 47: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/47.jpg)
INTERFACE SEGREGATION
public interface Item {String getName(int version);void setName(int version, String name);
String getDescription(int version);void setShortDescription(int version, String shortDescription);
boolean isValid(int version);
void publishItem(int version); int getLatestVersion();int[] getAllVersions();…
}
![Page 48: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/48.jpg)
INTERFACE SEGREGATION – IN CODE
public interface Versions<T> {<T> getLatestVersion();List<T> getAllVersions();void publish(T details);...
}
public interface Item {String getName();String getShortDescription();...
}
![Page 49: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/49.jpg)
<<service>>
Items
PublishItem GetItem
INTERFACE SEGREGATION – AT SERVICE LEVEL
• Caller uses the interface it needs
• Caller isn’t aware both are from
same component
![Page 50: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/50.jpg)
<<service>>
Items
PublishItem GetItem
<<service>>
Cache
GetItem
INTERFACE SEGREGATION – AT SERVICE LEVEL
• Caller uses the interface it needs
• Caller isn’t aware both are from
same component
• Allows intermediation or
substitution
![Page 51: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/51.jpg)
SPLITTING NOUNS
![Page 52: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/52.jpg)
COGS
Distribution
Stocking
Presentation
Pricing
Delivery
Inventory
DON’T GET FOOLED AGAIN
• People thought of “SKU” as
a real thing, forgot that it’s
an abstraction
• Many attributes needed for
diverse purposes.
![Page 53: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/53.jpg)
“ITEM MASTER”
Assortment
Extract
Ingestion/Cleansing
ItemMaster
ItemFeed
scheduled
Dept, Class, Subclass, SKU Dept, Class, Subclass, SKU
SKUs
scheduled
Promotions
WeeklyFlier
OnlineStore
& many more
SKUs
![Page 54: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/54.jpg)
FOR SELLING DIGITAL GOODS
COGS
Distribution
Stocking
Presentation
Pricing
Delivery
Inventory
COGS
Distribution
Stocking
Presentation
Pricing
Delivery
Inventory
Entitlements
![Page 55: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/55.jpg)
FOR MARKETPLACE
COGS
Distribution
Stocking
Presentation
Pricing
Delivery
Inventory
COGS
Distribution
Stocking
Presentation
Pricing
Delivery
Inventory
![Page 56: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/56.jpg)
BETTER
• Use SKU strictly as an identifier (preferably with a URL)
• Offer interfaces to exchange a SKU for display attributes, shipping attributes, etc.
• Allow pre-packaged aggregates: sku-delivery-shipping, sku-pricing, etc.
• Decouple systems from the parts of SKU they don’t need.
• E.g., warehouse doesn’t care about 27 different images of the product.
![Page 57: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/57.jpg)
CHALLENGE FOR MICROSERVICES
• Instinct: Create “Noun” based services
• Leads to the “Entity Service” antipattern
http://www.michaelnygard.com/blog/2018/01/services-by-lifecycle/
http://www.michaelnygard.com/blog/2017/12/the-entity-service-antipattern/
![Page 58: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/58.jpg)
ACTIVITY: MODEL THE STUFF SUBSCRIBERS CAN GET
• Might be something delivered to their home or business
• Might be a service that someone performs for them (e.g., dog walking)
• Requires recurring payment
• Will be delivered periodically, maybe on different schedule than payment
• Should be attractive and help convert browsers to subscribers
![Page 59: Information Architecture...THE STAR TREK PROBLEM •“Star Trek II: The Wrath of Khan is a movie” •It is available on Blu-ray and DVD •DVDs are region-coded •Blu-rays are](https://reader035.vdocuments.net/reader035/viewer/2022063004/5f841e855076ca1172449fe9/html5/thumbnails/59.jpg)
ACTIVITY: MODEL THE STUFF SUBSCRIBERS CAN GET
1. Start listing all the attributes you can think of.
2. Now think about common use cases:
What does a subscriber need to see when browsing?
What does a vendor need to set up?
What about a CSR handling an upset customer call?
3. Group your attributes by use case.
4. Now, finally, think of good names for those groups.