Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | winter-zamora |
View: | 31 times |
Download: | 3 times |
Informatics 43 – May 28, 2015
Architectural Styles and Patterns
A named, commonly used set of
Components – subsets of functionality (we are concerned with what a component does, not how it is implemented) – aka modules
And Connections – function calls, shared memory, network traffic (message passing), sequencing, roles
Styles from last lecture
• Client – server
• Typically, the client and the server are separate computers that communicate over a network.
• Layered
• Typically, the modules in the various layers are all on one computer. Modules on one layer are implemented by calling functions from the layer below.
• Model View Controller
• Particularly useful for building flexible user interfaces.
3-tier architecture
3-tier architecture
3-tier architecture
n-tier architecture
Does Facebook only have one server?
Facebook has over 1 billion users!
Facebook has LOTS and LOTS of servers.
>180,000 servers across multiple data centers.
Non-Functional Requirements
Performance: Scalability: Availability: Security: Privacy: Reliability: Portability:
It's fast.
Uptime.
It's not privacy.
It's fast even with lots of users.
It's not security.
Don't delete my data by accident.
Works on different platforms(operating systems, web browsers, phones, etc.)
What do software architects do?
Figure out non-functional requirements Figure out what the components should be and
how they communicate. Instruct programmers Design tests Code (yes, software architects code)
But wait, there’s more
Pipes-and-filters
Unix command example
tr 'A-Z' 'a-z' <fnord.txt |
tr -cs 'a-z' '\n' | sort | uniq | comm -23 - /usr/share/dict/words
tr “translate” uppercase to lower case
tr turn everything except lowercase to newline
sort puts words in alphabetical order
uniq gets rid of duplicates
comm compares to words in dictionary and prints what’s not in the dictionary
But wait, there’s still more
Event driven
But wait, there’s more
Database-centric
“Where do they find the time?”
Clay Shirky: Cognitive Surplus
http://blip.tv/web2expo/web-2-0-expo-sf-2008-clay-shirky-862384